| 26352 | #endif |
| 26353 | } |
| 26354 | static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) { |
| 26355 | #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1 |
| 26356 | PyObject *module = __Pyx__ImportDottedModule_Lookup(name); |
| 26357 | if (likely(module)) { |
| 26358 | PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec); |
| 26359 | if (likely(spec)) { |
| 26360 | PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing); |
| 26361 | if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) { |
| 26362 | Py_DECREF(spec); |
| 26363 | spec = NULL; |
| 26364 | } |
| 26365 | Py_XDECREF(unsafe); |
| 26366 | } |
| 26367 | if (likely(!spec)) { |
| 26368 | PyErr_Clear(); |
| 26369 | return module; |
| 26370 | } |
| 26371 | Py_DECREF(spec); |
| 26372 | Py_DECREF(module); |
| 26373 | } else if (PyErr_Occurred()) { |
| 26374 | PyErr_Clear(); |
| 26375 | } |
| 26376 | #endif |
| 26377 | return __Pyx__ImportDottedModule(name, parts_tuple); |
| 26378 | } |
| 26379 | |
| 26380 | /* FastTypeChecks */ |
| 26381 | #if CYTHON_COMPILING_IN_CPYTHON |
no test coverage detected