mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 18:07:44 +03:00 
			
		
		
		
	Merge branch 'release/4.42.0b1' into master
This commit is contained in:
		
						commit
						b1a3a69428
					
				| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
[run]
 | 
			
		||||
source = src/dependency_injector
 | 
			
		||||
source = dependency_injector
 | 
			
		||||
omit = tests/unit
 | 
			
		||||
plugins = Cython.Coverage
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10
									
								
								.github/workflows/publishing.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/publishing.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -15,11 +15,11 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.11
 | 
			
		||||
          python-version: 3.12
 | 
			
		||||
      - run: pip install tox
 | 
			
		||||
      - run: tox
 | 
			
		||||
        env:
 | 
			
		||||
          TOXENV: 3.11
 | 
			
		||||
          TOXENV: 3.12
 | 
			
		||||
 | 
			
		||||
  linters:
 | 
			
		||||
    name: Run linters
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +31,7 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.11
 | 
			
		||||
          python-version: 3.12
 | 
			
		||||
      - run: pip install tox
 | 
			
		||||
      - run: tox
 | 
			
		||||
        env:
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.11
 | 
			
		||||
          python-version: 3.12
 | 
			
		||||
      - run: python setup.py sdist
 | 
			
		||||
      - uses: actions/upload-artifact@v3
 | 
			
		||||
        with:
 | 
			
		||||
| 
						 | 
				
			
			@ -110,7 +110,7 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.11
 | 
			
		||||
          python-version: 3.12
 | 
			
		||||
      - run: pip install -r requirements-doc.txt
 | 
			
		||||
      - run: pip install awscli
 | 
			
		||||
      - run: pip install -e .
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										13
									
								
								.github/workflows/tests-and-linters.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/tests-and-linters.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -9,7 +9,7 @@ jobs:
 | 
			
		|||
    runs-on: ubuntu-20.04
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        python-version: [2.7, 3.5, 3.6, 3.7, pypy2.7, pypy3.9]
 | 
			
		||||
        python-version: [3.7]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ jobs:
 | 
			
		|||
    runs-on: ubuntu-latest
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        python-version: [3.8, 3.9, "3.10", 3.11]
 | 
			
		||||
        python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
| 
						 | 
				
			
			@ -40,15 +40,16 @@ jobs:
 | 
			
		|||
    name: Run tests with coverage
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    env:
 | 
			
		||||
      DEPENDENCY_INJECTOR_DEBUG_MODE: 1
 | 
			
		||||
      # Cython's version <3 issue with tracing: "error: no member named 'use_tracing' in 'struct _PyCFrame'"
 | 
			
		||||
      # DEPENDENCY_INJECTOR_DEBUG_MODE: 1
 | 
			
		||||
      COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
 | 
			
		||||
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.11
 | 
			
		||||
      - run: pip install tox cython
 | 
			
		||||
          python-version: 3.12
 | 
			
		||||
      - run: pip install tox cython==0.29.37
 | 
			
		||||
      - run: make cythonize
 | 
			
		||||
      - run: tox
 | 
			
		||||
        env:
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +65,7 @@ jobs:
 | 
			
		|||
      - uses: actions/checkout@v3
 | 
			
		||||
      - uses: actions/setup-python@v4
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: 3.11
 | 
			
		||||
          python-version: 3.12
 | 
			
		||||
      - run: pip install tox
 | 
			
		||||
      - run: tox
 | 
			
		||||
        env:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -73,3 +73,5 @@ src/dependency_injector/providers/*.so
 | 
			
		|||
 | 
			
		||||
# Workspace for samples
 | 
			
		||||
.workspace/
 | 
			
		||||
 | 
			
		||||
.vscode/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,3 +20,4 @@ Dependency Injector Contributors
 | 
			
		|||
+ Ngo Thanh Loi (Leonn) (loingo95)
 | 
			
		||||
+ Thiago Hiromi (thiromi)
 | 
			
		||||
+ Felipe Rubio (krouw)
 | 
			
		||||
+ Anton Petrov (anton-petrov)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
Copyright (c) 2022, Roman Mogylatov
 | 
			
		||||
Copyright (c) 2024, Roman Mogylatov
 | 
			
		||||
All rights reserved.
 | 
			
		||||
 | 
			
		||||
Redistribution and use in source and binary forms, with or without
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,13 @@ that were made in every particular version.
 | 
			
		|||
From version 0.7.6 *Dependency Injector* framework strictly
 | 
			
		||||
follows `Semantic versioning`_
 | 
			
		||||
 | 
			
		||||
4.42.0b1
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
- Add support of Python 3.12.
 | 
			
		||||
- Drop support of Python 2.7, 3.5, and 3.6.
 | 
			
		||||
- Regenerate C sources using Cython 0.29.37.
 | 
			
		||||
 | 
			
		||||
4.41.0
 | 
			
		||||
------
 | 
			
		||||
- Add support of Python 3.11.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
cython==0.29.32
 | 
			
		||||
cython==0.29.37
 | 
			
		||||
pytest
 | 
			
		||||
pytest-asyncio
 | 
			
		||||
tox
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +11,7 @@ mypy
 | 
			
		|||
pyyaml
 | 
			
		||||
httpx
 | 
			
		||||
fastapi
 | 
			
		||||
pydantic
 | 
			
		||||
pydantic==1.10.17
 | 
			
		||||
numpy
 | 
			
		||||
scipy
 | 
			
		||||
boto3
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
# TODO: unpin 3.5.0 when this bug is fixed: https://github.com/sphinx-doc/sphinx/issues/8885
 | 
			
		||||
sphinx<3.5.0
 | 
			
		||||
sphinx
 | 
			
		||||
 | 
			
		||||
# TODO: unpin jinja2 after sphinx update to 4+
 | 
			
		||||
jinja2<3.1
 | 
			
		||||
jinja2
 | 
			
		||||
 | 
			
		||||
-e git+https://github.com/rmk135/sphinxcontrib-disqus.git#egg=sphinxcontrib-disqus
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,3 @@
 | 
			
		|||
flask
 | 
			
		||||
aiohttp
 | 
			
		||||
flask==2.1.3
 | 
			
		||||
werkzeug==2.2.2
 | 
			
		||||
aiohttp==3.9.0b1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										5
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								setup.py
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -104,16 +104,13 @@ setup(name="dependency-injector",
 | 
			
		|||
          "License :: OSI Approved :: BSD License",
 | 
			
		||||
          "Operating System :: OS Independent",
 | 
			
		||||
          "Programming Language :: Python",
 | 
			
		||||
          "Programming Language :: Python :: 2",
 | 
			
		||||
          "Programming Language :: Python :: 2.7",
 | 
			
		||||
          "Programming Language :: Python :: 3",
 | 
			
		||||
          "Programming Language :: Python :: 3.5",
 | 
			
		||||
          "Programming Language :: Python :: 3.6",
 | 
			
		||||
          "Programming Language :: Python :: 3.7",
 | 
			
		||||
          "Programming Language :: Python :: 3.8",
 | 
			
		||||
          "Programming Language :: Python :: 3.9",
 | 
			
		||||
          "Programming Language :: Python :: 3.10",
 | 
			
		||||
          "Programming Language :: Python :: 3.11",
 | 
			
		||||
          "Programming Language :: Python :: 3.12",
 | 
			
		||||
          "Programming Language :: Python :: Implementation :: CPython",
 | 
			
		||||
          "Programming Language :: Python :: Implementation :: PyPy",
 | 
			
		||||
          "Framework :: AsyncIO",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
"""Top-level package."""
 | 
			
		||||
 | 
			
		||||
__version__ = "4.41.0"
 | 
			
		||||
__version__ = "4.42.0b1"
 | 
			
		||||
"""Version number.
 | 
			
		||||
 | 
			
		||||
:type: str
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* Generated by Cython 0.29.32 */
 | 
			
		||||
/* Generated by Cython 0.29.37 */
 | 
			
		||||
 | 
			
		||||
#ifndef PY_SSIZE_T_CLEAN
 | 
			
		||||
#define PY_SSIZE_T_CLEAN
 | 
			
		||||
| 
						 | 
				
			
			@ -9,8 +9,8 @@
 | 
			
		|||
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
 | 
			
		||||
    #error Cython requires Python 2.6+ or Python 3.3+.
 | 
			
		||||
#else
 | 
			
		||||
#define CYTHON_ABI "0_29_32"
 | 
			
		||||
#define CYTHON_HEX_VERSION 0x001D20F0
 | 
			
		||||
#define CYTHON_ABI "0_29_37"
 | 
			
		||||
#define CYTHON_HEX_VERSION 0x001D25F0
 | 
			
		||||
#define CYTHON_FUTURE_DIVISION 0
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#ifndef offsetof
 | 
			
		||||
| 
						 | 
				
			
			@ -78,16 +78,20 @@
 | 
			
		|||
  #define CYTHON_FAST_THREAD_STATE 0
 | 
			
		||||
  #undef CYTHON_FAST_PYCALL
 | 
			
		||||
  #define CYTHON_FAST_PYCALL 0
 | 
			
		||||
  #if PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
 | 
			
		||||
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
 | 
			
		||||
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
 | 
			
		||||
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
 | 
			
		||||
  #endif
 | 
			
		||||
  #undef CYTHON_USE_TP_FINALIZE
 | 
			
		||||
  #define CYTHON_USE_TP_FINALIZE 0
 | 
			
		||||
  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
 | 
			
		||||
  #undef CYTHON_USE_DICT_VERSIONS
 | 
			
		||||
  #define CYTHON_USE_DICT_VERSIONS 0
 | 
			
		||||
  #undef CYTHON_USE_EXC_INFO_STACK
 | 
			
		||||
  #define CYTHON_USE_EXC_INFO_STACK 0
 | 
			
		||||
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
 | 
			
		||||
    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
 | 
			
		||||
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
 | 
			
		||||
  #endif
 | 
			
		||||
#elif defined(PYSTON_VERSION)
 | 
			
		||||
  #define CYTHON_COMPILING_IN_PYPY 0
 | 
			
		||||
| 
						 | 
				
			
			@ -203,7 +207,7 @@
 | 
			
		|||
    #undef CYTHON_USE_PYLONG_INTERNALS
 | 
			
		||||
    #define CYTHON_USE_PYLONG_INTERNALS 0
 | 
			
		||||
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
 | 
			
		||||
    #define CYTHON_USE_PYLONG_INTERNALS 1
 | 
			
		||||
    #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
 | 
			
		||||
  #endif
 | 
			
		||||
  #ifndef CYTHON_USE_PYLIST_INTERNALS
 | 
			
		||||
    #define CYTHON_USE_PYLIST_INTERNALS 1
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +246,7 @@
 | 
			
		|||
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
 | 
			
		||||
  #endif
 | 
			
		||||
  #ifndef CYTHON_USE_DICT_VERSIONS
 | 
			
		||||
    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
 | 
			
		||||
    #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
 | 
			
		||||
  #endif
 | 
			
		||||
  #if PY_VERSION_HEX >= 0x030B00A4
 | 
			
		||||
    #undef CYTHON_USE_EXC_INFO_STACK
 | 
			
		||||
| 
						 | 
				
			
			@ -365,9 +369,6 @@
 | 
			
		|||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
 | 
			
		||||
  #define Py_OptimizeFlag 0
 | 
			
		||||
#endif
 | 
			
		||||
#define __PYX_BUILD_PY_SSIZE_T "n"
 | 
			
		||||
#define CYTHON_FORMAT_SSIZE_T "z"
 | 
			
		||||
#if PY_MAJOR_VERSION < 3
 | 
			
		||||
| 
						 | 
				
			
			@ -445,6 +446,11 @@
 | 
			
		|||
#endif
 | 
			
		||||
  #define __Pyx_DefaultClassType PyType_Type
 | 
			
		||||
#endif
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
 | 
			
		||||
  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
 | 
			
		||||
#else
 | 
			
		||||
  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef Py_TPFLAGS_CHECKTYPES
 | 
			
		||||
  #define Py_TPFLAGS_CHECKTYPES 0
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -552,11 +558,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
 | 
			
		|||
#endif
 | 
			
		||||
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
 | 
			
		||||
  #define CYTHON_PEP393_ENABLED 1
 | 
			
		||||
  #if defined(PyUnicode_IS_READY)
 | 
			
		||||
  #if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    #define __Pyx_PyUnicode_READY(op)       (0)
 | 
			
		||||
  #else
 | 
			
		||||
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
 | 
			
		||||
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
 | 
			
		||||
  #else
 | 
			
		||||
  #define __Pyx_PyUnicode_READY(op)       (0)
 | 
			
		||||
  #endif
 | 
			
		||||
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
 | 
			
		||||
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
 | 
			
		||||
| 
						 | 
				
			
			@ -565,14 +571,14 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
 | 
			
		|||
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
 | 
			
		||||
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
 | 
			
		||||
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
 | 
			
		||||
  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
 | 
			
		||||
  #if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
 | 
			
		||||
  #else
 | 
			
		||||
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
 | 
			
		||||
    #else
 | 
			
		||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define CYTHON_PEP393_ENABLED 0
 | 
			
		||||
| 
						 | 
				
			
			@ -2610,18 +2616,18 @@ static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UIN
 | 
			
		|||
 | 
			
		||||
/* GetModuleGlobalName.proto */
 | 
			
		||||
#if CYTHON_USE_DICT_VERSIONS
 | 
			
		||||
#define __Pyx_GetModuleGlobalName(var, name)  {\
 | 
			
		||||
#define __Pyx_GetModuleGlobalName(var, name)  do {\
 | 
			
		||||
    static PY_UINT64_T __pyx_dict_version = 0;\
 | 
			
		||||
    static PyObject *__pyx_dict_cached_value = NULL;\
 | 
			
		||||
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
 | 
			
		||||
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
 | 
			
		||||
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
			
		||||
}
 | 
			
		||||
#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
 | 
			
		||||
} while(0)
 | 
			
		||||
#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
 | 
			
		||||
    PY_UINT64_T __pyx_dict_version;\
 | 
			
		||||
    PyObject *__pyx_dict_cached_value;\
 | 
			
		||||
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
			
		||||
}
 | 
			
		||||
} while(0)
 | 
			
		||||
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
 | 
			
		||||
#else
 | 
			
		||||
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
 | 
			
		||||
| 
						 | 
				
			
			@ -3013,14 +3019,22 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
 | 
			
		|||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
/* TypeImport.proto */
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportType_proto
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType_proto
 | 
			
		||||
enum __Pyx_ImportType_CheckSize {
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Error = 0,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Warn = 1,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Ignore = 2
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportType_proto_0_29_37
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType_proto_0_29_37
 | 
			
		||||
#if __STDC_VERSION__ >= 201112L
 | 
			
		||||
#include <stdalign.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
 | 
			
		||||
#define __PYX_GET_STRUCT_ALIGNMENT_0_29_37(s) alignof(s)
 | 
			
		||||
#else
 | 
			
		||||
#define __PYX_GET_STRUCT_ALIGNMENT_0_29_37(s) sizeof(void*)
 | 
			
		||||
#endif
 | 
			
		||||
enum __Pyx_ImportType_CheckSize_0_29_37 {
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Error_0_29_37 = 0,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Warn_0_29_37 = 1,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Ignore_0_29_37 = 2
 | 
			
		||||
};
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType_0_29_37(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_37 check_size);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* GetVTable.proto */
 | 
			
		||||
| 
						 | 
				
			
			@ -3107,7 +3121,7 @@ static int __pyx_Generator_init(void);
 | 
			
		|||
static int __Pyx_check_binary_version(void);
 | 
			
		||||
 | 
			
		||||
/* VoidPtrImport.proto */
 | 
			
		||||
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig);
 | 
			
		||||
static int __Pyx_ImportVoidPtr_0_29_37(PyObject *module, const char *name, void **p, const char *sig);
 | 
			
		||||
 | 
			
		||||
/* InitStrings.proto */
 | 
			
		||||
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
 | 
			
		||||
| 
						 | 
				
			
			@ -6769,8 +6783,8 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
 | 
			
		|||
    } else {
 | 
			
		||||
      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    }
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    __Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_9));
 | 
			
		||||
    __pyx_t_9 = 0;
 | 
			
		||||
    __Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_10));
 | 
			
		||||
| 
						 | 
				
			
			@ -6877,7 +6891,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
 | 
			
		|||
        }
 | 
			
		||||
        __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        __Pyx_GOTREF(__pyx_t_1);
 | 
			
		||||
        if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        __pyx_t_10 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        __Pyx_GOTREF(__pyx_t_10);
 | 
			
		||||
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -10297,7 +10311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
 | 
			
		|||
 * 
 | 
			
		||||
 *     return instance
 | 
			
		||||
 */
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
 | 
			
		||||
    __pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
 | 
			
		||||
 | 
			
		||||
    /* "providers.pxd":661
 | 
			
		||||
| 
						 | 
				
			
			@ -11635,7 +11649,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -11808,7 +11822,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -11929,7 +11943,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -12025,7 +12039,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -12121,7 +12135,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object___t
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -12217,7 +12231,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -12313,7 +12327,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_object____object____object__
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -12531,7 +12545,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
 | 
			
		|||
 | 
			
		||||
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
 | 
			
		||||
  __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
 | 
			
		||||
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
 | 
			
		||||
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  return 0;
 | 
			
		||||
  __pyx_L1_error:;
 | 
			
		||||
| 
						 | 
				
			
			@ -12650,149 +12664,99 @@ static int __Pyx_modinit_type_import_code(void) {
 | 
			
		|||
  /*--- Type import code ---*/
 | 
			
		||||
  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __Pyx_GOTREF(__pyx_t_1);
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Provider),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Provider = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Provider)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Object),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Object = (struct __pyx_vtabstruct_19dependency_injector_9providers_Object*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Object->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Object)) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Self),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Self = (struct __pyx_vtabstruct_19dependency_injector_9providers_Self*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Self->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Self)) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Delegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Delegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Delegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Delegate)) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Aggregate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Aggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Aggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Aggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Aggregate)) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Dependency),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Dependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dependency)) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ExternalDependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency)) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Callable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Coroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption)) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption)) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Configuration),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Factory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Singleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_List),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Dict),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Resource),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Container),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Selector),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ItemGetter),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_MethodCaller),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Injection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_NamedInjection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_OverridingContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
 | 
			
		||||
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
			
		||||
  __Pyx_RefNannyFinishContext();
 | 
			
		||||
  return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -12812,12 +12776,12 @@ static int __Pyx_modinit_variable_import_code(void) {
 | 
			
		|||
  /*--- Variable import code ---*/
 | 
			
		||||
  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __Pyx_GOTREF(__pyx_t_1);
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
			
		||||
  __Pyx_RefNannyFinishContext();
 | 
			
		||||
  return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -13002,7 +12966,7 @@ if (!__Pyx_RefNanny) {
 | 
			
		|||
  Py_INCREF(__pyx_b);
 | 
			
		||||
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  Py_INCREF(__pyx_cython_runtime);
 | 
			
		||||
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
 | 
			
		||||
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  /*--- Initialize various global constants etc. ---*/
 | 
			
		||||
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
 | 
			
		||||
| 
						 | 
				
			
			@ -13612,7 +13576,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
 | 
			
		|||
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __Pyx_CyFunction_USED
 | 
			
		||||
#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
 | 
			
		||||
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
 | 
			
		||||
#else
 | 
			
		||||
    if (likely(PyCFunction_Check(func)))
 | 
			
		||||
| 
						 | 
				
			
			@ -13743,10 +13707,8 @@ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
 | 
			
		|||
        Py_DECREF(retval);
 | 
			
		||||
        __Pyx_RaiseTooManyValuesError(expected);
 | 
			
		||||
        return -1;
 | 
			
		||||
    } else {
 | 
			
		||||
        return __Pyx_IterFinish();
 | 
			
		||||
    }
 | 
			
		||||
    return 0;
 | 
			
		||||
    return __Pyx_IterFinish();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ExtTypeTest */
 | 
			
		||||
| 
						 | 
				
			
			@ -14412,9 +14374,14 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
 | 
			
		|||
        self = PyTuple_GetItem(args, 0);
 | 
			
		||||
        if (unlikely(!self)) {
 | 
			
		||||
            Py_DECREF(new_args);
 | 
			
		||||
#if PY_MAJOR_VERSION > 2
 | 
			
		||||
            PyErr_Format(PyExc_TypeError,
 | 
			
		||||
                         "unbound method %.200S() needs an argument",
 | 
			
		||||
                         cyfunc->func_qualname);
 | 
			
		||||
#else
 | 
			
		||||
            PyErr_SetString(PyExc_TypeError,
 | 
			
		||||
                            "unbound method needs an argument");
 | 
			
		||||
#endif
 | 
			
		||||
            return NULL;
 | 
			
		||||
        }
 | 
			
		||||
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
 | 
			
		||||
| 
						 | 
				
			
			@ -14489,7 +14456,10 @@ static PyTypeObject __pyx_CyFunctionType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -14768,13 +14738,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
 | 
			
		|||
    }
 | 
			
		||||
    PyErr_SetObject(type, value);
 | 
			
		||||
    if (tb) {
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY
 | 
			
		||||
        PyObject *tmp_type, *tmp_value, *tmp_tb;
 | 
			
		||||
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
 | 
			
		||||
        Py_INCREF(tb);
 | 
			
		||||
        PyErr_Restore(tmp_type, tmp_value, tb);
 | 
			
		||||
        Py_XDECREF(tmp_tb);
 | 
			
		||||
#else
 | 
			
		||||
#if CYTHON_FAST_THREAD_STATE
 | 
			
		||||
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
 | 
			
		||||
        PyObject* tmp_tb = tstate->curexc_traceback;
 | 
			
		||||
        if (tb != tmp_tb) {
 | 
			
		||||
| 
						 | 
				
			
			@ -14782,6 +14746,12 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
 | 
			
		|||
            tstate->curexc_traceback = tb;
 | 
			
		||||
            Py_XDECREF(tmp_tb);
 | 
			
		||||
        }
 | 
			
		||||
#else
 | 
			
		||||
        PyObject *tmp_type, *tmp_value, *tmp_tb;
 | 
			
		||||
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
 | 
			
		||||
        Py_INCREF(tb);
 | 
			
		||||
        PyErr_Restore(tmp_type, tmp_value, tb);
 | 
			
		||||
        Py_XDECREF(tmp_tb);
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
bad:
 | 
			
		||||
| 
						 | 
				
			
			@ -16032,7 +16002,10 @@ static PyTypeObject __pyx_CoroutineAwaitType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -16184,7 +16157,10 @@ static PyTypeObject __pyx_CoroutineType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -16259,7 +16235,11 @@ static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) {
 | 
			
		|||
    } else
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE)
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C00A6
 | 
			
		||||
    if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) {
 | 
			
		||||
#else
 | 
			
		||||
    if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
 | 
			
		||||
#endif
 | 
			
		||||
        return __Pyx_NewRef(obj);
 | 
			
		||||
    } else
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -16408,9 +16388,7 @@ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
 | 
			
		|||
    PyGILState_STATE state;
 | 
			
		||||
    if (nogil)
 | 
			
		||||
        state = PyGILState_Ensure();
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
    else state = (PyGILState_STATE)-1;
 | 
			
		||||
#endif
 | 
			
		||||
    else state = (PyGILState_STATE)0;
 | 
			
		||||
#endif
 | 
			
		||||
    __Pyx_PyThreadState_assign
 | 
			
		||||
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
 | 
			
		||||
| 
						 | 
				
			
			@ -16850,16 +16828,18 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/* TypeImport */
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportType
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
 | 
			
		||||
    size_t size, enum __Pyx_ImportType_CheckSize check_size)
 | 
			
		||||
  #ifndef __PYX_HAVE_RT_ImportType_0_29_37
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType_0_29_37
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType_0_29_37(PyObject *module, const char *module_name, const char *class_name,
 | 
			
		||||
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_37 check_size)
 | 
			
		||||
{
 | 
			
		||||
    PyObject *result = 0;
 | 
			
		||||
    char warning[200];
 | 
			
		||||
    Py_ssize_t basicsize;
 | 
			
		||||
    Py_ssize_t itemsize;
 | 
			
		||||
#ifdef Py_LIMITED_API
 | 
			
		||||
    PyObject *py_basicsize;
 | 
			
		||||
    PyObject *py_itemsize;
 | 
			
		||||
#endif
 | 
			
		||||
    result = PyObject_GetAttrString(module, class_name);
 | 
			
		||||
    if (!result)
 | 
			
		||||
| 
						 | 
				
			
			@ -16872,6 +16852,7 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
 | 
			
		|||
    }
 | 
			
		||||
#ifndef Py_LIMITED_API
 | 
			
		||||
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
 | 
			
		||||
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
 | 
			
		||||
#else
 | 
			
		||||
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
 | 
			
		||||
    if (!py_basicsize)
 | 
			
		||||
| 
						 | 
				
			
			@ -16881,22 +16862,37 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
 | 
			
		|||
    py_basicsize = 0;
 | 
			
		||||
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
			
		||||
        goto bad;
 | 
			
		||||
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
 | 
			
		||||
    if (!py_itemsize)
 | 
			
		||||
        goto bad;
 | 
			
		||||
    itemsize = PyLong_AsSsize_t(py_itemsize);
 | 
			
		||||
    Py_DECREF(py_itemsize);
 | 
			
		||||
    py_itemsize = 0;
 | 
			
		||||
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
			
		||||
        goto bad;
 | 
			
		||||
#endif
 | 
			
		||||
    if ((size_t)basicsize < size) {
 | 
			
		||||
    if (itemsize) {
 | 
			
		||||
        if (size % alignment) {
 | 
			
		||||
            alignment = size % alignment;
 | 
			
		||||
        }
 | 
			
		||||
        if (itemsize < (Py_ssize_t)alignment)
 | 
			
		||||
            itemsize = (Py_ssize_t)alignment;
 | 
			
		||||
    }
 | 
			
		||||
    if ((size_t)(basicsize + itemsize) < size) {
 | 
			
		||||
        PyErr_Format(PyExc_ValueError,
 | 
			
		||||
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
			
		||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
			
		||||
            module_name, class_name, size, basicsize);
 | 
			
		||||
        goto bad;
 | 
			
		||||
    }
 | 
			
		||||
    if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
 | 
			
		||||
    if (check_size == __Pyx_ImportType_CheckSize_Error_0_29_37 && (size_t)basicsize != size) {
 | 
			
		||||
        PyErr_Format(PyExc_ValueError,
 | 
			
		||||
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
			
		||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
			
		||||
            module_name, class_name, size, basicsize);
 | 
			
		||||
        goto bad;
 | 
			
		||||
    }
 | 
			
		||||
    else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
 | 
			
		||||
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_0_29_37 && (size_t)basicsize > size) {
 | 
			
		||||
        PyOS_snprintf(warning, sizeof(warning),
 | 
			
		||||
            "%s.%s size changed, may indicate binary incompatibility. "
 | 
			
		||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
			
		||||
| 
						 | 
				
			
			@ -17119,7 +17115,7 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
 | 
			
		|||
 | 
			
		||||
/* CLineInTraceback */
 | 
			
		||||
  #ifndef CYTHON_CLINE_IN_TRACEBACK
 | 
			
		||||
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
 | 
			
		||||
static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
 | 
			
		||||
    PyObject *use_cline;
 | 
			
		||||
    PyObject *ptype, *pvalue, *ptraceback;
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
			
		||||
| 
						 | 
				
			
			@ -17466,7 +17462,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
 | 
			
		|||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
 | 
			
		||||
            if (unlikely(Py_SIZE(x) < 0)) {
 | 
			
		||||
                goto raise_neg_overflow;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -17700,7 +17696,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
 | 
			
		|||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
 | 
			
		||||
            if (unlikely(Py_SIZE(x) < 0)) {
 | 
			
		||||
                goto raise_neg_overflow;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -18025,7 +18021,10 @@ static PyTypeObject __pyx_GeneratorType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -18078,9 +18077,9 @@ static int __Pyx_check_binary_version(void) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/* VoidPtrImport */
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportVoidPtr
 | 
			
		||||
#define __PYX_HAVE_RT_ImportVoidPtr
 | 
			
		||||
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig) {
 | 
			
		||||
  #ifndef __PYX_HAVE_RT_ImportVoidPtr_0_29_37
 | 
			
		||||
#define __PYX_HAVE_RT_ImportVoidPtr_0_29_37
 | 
			
		||||
static int __Pyx_ImportVoidPtr_0_29_37(PyObject *module, const char *name, void **p, const char *sig) {
 | 
			
		||||
    PyObject *d = 0;
 | 
			
		||||
    PyObject *cobj = 0;
 | 
			
		||||
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
/* Generated by Cython 0.29.32 */
 | 
			
		||||
/* Generated by Cython 0.29.37 */
 | 
			
		||||
 | 
			
		||||
#ifndef PY_SSIZE_T_CLEAN
 | 
			
		||||
#define PY_SSIZE_T_CLEAN
 | 
			
		||||
| 
						 | 
				
			
			@ -9,8 +9,8 @@
 | 
			
		|||
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
 | 
			
		||||
    #error Cython requires Python 2.6+ or Python 3.3+.
 | 
			
		||||
#else
 | 
			
		||||
#define CYTHON_ABI "0_29_32"
 | 
			
		||||
#define CYTHON_HEX_VERSION 0x001D20F0
 | 
			
		||||
#define CYTHON_ABI "0_29_37"
 | 
			
		||||
#define CYTHON_HEX_VERSION 0x001D25F0
 | 
			
		||||
#define CYTHON_FUTURE_DIVISION 0
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#ifndef offsetof
 | 
			
		||||
| 
						 | 
				
			
			@ -78,16 +78,20 @@
 | 
			
		|||
  #define CYTHON_FAST_THREAD_STATE 0
 | 
			
		||||
  #undef CYTHON_FAST_PYCALL
 | 
			
		||||
  #define CYTHON_FAST_PYCALL 0
 | 
			
		||||
  #if PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
 | 
			
		||||
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
 | 
			
		||||
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
 | 
			
		||||
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
 | 
			
		||||
  #endif
 | 
			
		||||
  #undef CYTHON_USE_TP_FINALIZE
 | 
			
		||||
  #define CYTHON_USE_TP_FINALIZE 0
 | 
			
		||||
  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
 | 
			
		||||
  #undef CYTHON_USE_DICT_VERSIONS
 | 
			
		||||
  #define CYTHON_USE_DICT_VERSIONS 0
 | 
			
		||||
  #undef CYTHON_USE_EXC_INFO_STACK
 | 
			
		||||
  #define CYTHON_USE_EXC_INFO_STACK 0
 | 
			
		||||
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
 | 
			
		||||
    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900)
 | 
			
		||||
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
 | 
			
		||||
  #endif
 | 
			
		||||
#elif defined(PYSTON_VERSION)
 | 
			
		||||
  #define CYTHON_COMPILING_IN_PYPY 0
 | 
			
		||||
| 
						 | 
				
			
			@ -203,7 +207,7 @@
 | 
			
		|||
    #undef CYTHON_USE_PYLONG_INTERNALS
 | 
			
		||||
    #define CYTHON_USE_PYLONG_INTERNALS 0
 | 
			
		||||
  #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
 | 
			
		||||
    #define CYTHON_USE_PYLONG_INTERNALS 1
 | 
			
		||||
    #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
 | 
			
		||||
  #endif
 | 
			
		||||
  #ifndef CYTHON_USE_PYLIST_INTERNALS
 | 
			
		||||
    #define CYTHON_USE_PYLIST_INTERNALS 1
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +246,7 @@
 | 
			
		|||
    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
 | 
			
		||||
  #endif
 | 
			
		||||
  #ifndef CYTHON_USE_DICT_VERSIONS
 | 
			
		||||
    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
 | 
			
		||||
    #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
 | 
			
		||||
  #endif
 | 
			
		||||
  #if PY_VERSION_HEX >= 0x030B00A4
 | 
			
		||||
    #undef CYTHON_USE_EXC_INFO_STACK
 | 
			
		||||
| 
						 | 
				
			
			@ -365,9 +369,6 @@
 | 
			
		|||
  #endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
 | 
			
		||||
  #define Py_OptimizeFlag 0
 | 
			
		||||
#endif
 | 
			
		||||
#define __PYX_BUILD_PY_SSIZE_T "n"
 | 
			
		||||
#define CYTHON_FORMAT_SSIZE_T "z"
 | 
			
		||||
#if PY_MAJOR_VERSION < 3
 | 
			
		||||
| 
						 | 
				
			
			@ -445,6 +446,11 @@
 | 
			
		|||
#endif
 | 
			
		||||
  #define __Pyx_DefaultClassType PyType_Type
 | 
			
		||||
#endif
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
 | 
			
		||||
  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
 | 
			
		||||
#else
 | 
			
		||||
  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef Py_TPFLAGS_CHECKTYPES
 | 
			
		||||
  #define Py_TPFLAGS_CHECKTYPES 0
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -552,11 +558,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
 | 
			
		|||
#endif
 | 
			
		||||
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
 | 
			
		||||
  #define CYTHON_PEP393_ENABLED 1
 | 
			
		||||
  #if defined(PyUnicode_IS_READY)
 | 
			
		||||
  #if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    #define __Pyx_PyUnicode_READY(op)       (0)
 | 
			
		||||
  #else
 | 
			
		||||
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
 | 
			
		||||
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
 | 
			
		||||
  #else
 | 
			
		||||
  #define __Pyx_PyUnicode_READY(op)       (0)
 | 
			
		||||
  #endif
 | 
			
		||||
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
 | 
			
		||||
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
 | 
			
		||||
| 
						 | 
				
			
			@ -565,14 +571,14 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
 | 
			
		|||
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
 | 
			
		||||
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
 | 
			
		||||
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, ch)
 | 
			
		||||
  #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
 | 
			
		||||
  #if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
 | 
			
		||||
  #else
 | 
			
		||||
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
 | 
			
		||||
    #else
 | 
			
		||||
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
 | 
			
		||||
    #endif
 | 
			
		||||
  #else
 | 
			
		||||
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define CYTHON_PEP393_ENABLED 0
 | 
			
		||||
| 
						 | 
				
			
			@ -2721,18 +2727,18 @@ static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UIN
 | 
			
		|||
 | 
			
		||||
/* GetModuleGlobalName.proto */
 | 
			
		||||
#if CYTHON_USE_DICT_VERSIONS
 | 
			
		||||
#define __Pyx_GetModuleGlobalName(var, name)  {\
 | 
			
		||||
#define __Pyx_GetModuleGlobalName(var, name)  do {\
 | 
			
		||||
    static PY_UINT64_T __pyx_dict_version = 0;\
 | 
			
		||||
    static PyObject *__pyx_dict_cached_value = NULL;\
 | 
			
		||||
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
 | 
			
		||||
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
 | 
			
		||||
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
			
		||||
}
 | 
			
		||||
#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
 | 
			
		||||
} while(0)
 | 
			
		||||
#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
 | 
			
		||||
    PY_UINT64_T __pyx_dict_version;\
 | 
			
		||||
    PyObject *__pyx_dict_cached_value;\
 | 
			
		||||
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
 | 
			
		||||
}
 | 
			
		||||
} while(0)
 | 
			
		||||
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
 | 
			
		||||
#else
 | 
			
		||||
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
 | 
			
		||||
| 
						 | 
				
			
			@ -3282,14 +3288,22 @@ static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it);
 | 
			
		|||
static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, int eq);
 | 
			
		||||
 | 
			
		||||
/* TypeImport.proto */
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportType_proto
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType_proto
 | 
			
		||||
enum __Pyx_ImportType_CheckSize {
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Error = 0,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Warn = 1,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Ignore = 2
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportType_proto_0_29_37
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType_proto_0_29_37
 | 
			
		||||
#if __STDC_VERSION__ >= 201112L
 | 
			
		||||
#include <stdalign.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
 | 
			
		||||
#define __PYX_GET_STRUCT_ALIGNMENT_0_29_37(s) alignof(s)
 | 
			
		||||
#else
 | 
			
		||||
#define __PYX_GET_STRUCT_ALIGNMENT_0_29_37(s) sizeof(void*)
 | 
			
		||||
#endif
 | 
			
		||||
enum __Pyx_ImportType_CheckSize_0_29_37 {
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Error_0_29_37 = 0,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Warn_0_29_37 = 1,
 | 
			
		||||
   __Pyx_ImportType_CheckSize_Ignore_0_29_37 = 2
 | 
			
		||||
};
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType_0_29_37(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_37 check_size);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* GetVTable.proto */
 | 
			
		||||
| 
						 | 
				
			
			@ -3388,7 +3402,7 @@ static int __Pyx_check_binary_version(void);
 | 
			
		|||
static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig);
 | 
			
		||||
 | 
			
		||||
/* VoidPtrImport.proto */
 | 
			
		||||
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig);
 | 
			
		||||
static int __Pyx_ImportVoidPtr_0_29_37(PyObject *module, const char *name, void **p, const char *sig);
 | 
			
		||||
 | 
			
		||||
/* InitStrings.proto */
 | 
			
		||||
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
 | 
			
		||||
| 
						 | 
				
			
			@ -10279,7 +10293,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
 | 
			
		|||
  __Pyx_RefNannySetupContext("_independent_resources", 0);
 | 
			
		||||
  switch (__pyx_generator->resume_label) {
 | 
			
		||||
    case 0: goto __pyx_L3_first_run;
 | 
			
		||||
    case 1: goto __pyx_L11_resume_from_yield;
 | 
			
		||||
    case 1: goto __pyx_L12_resume_from_yield;
 | 
			
		||||
    default: /* CPython raises the right error here */
 | 
			
		||||
    __Pyx_RefNannyFinishContext();
 | 
			
		||||
    return NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -10487,7 +10501,7 @@ static PyObject *__pyx_gb_19dependency_injector_10containers_16DynamicContainer_
 | 
			
		|||
      /* return from generator, yielding value */
 | 
			
		||||
      __pyx_generator->resume_label = 1;
 | 
			
		||||
      return __pyx_r;
 | 
			
		||||
      __pyx_L11_resume_from_yield:;
 | 
			
		||||
      __pyx_L12_resume_from_yield:;
 | 
			
		||||
      __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
 | 
			
		||||
      __pyx_cur_scope->__pyx_t_0 = 0;
 | 
			
		||||
      __Pyx_XGOTREF(__pyx_t_1);
 | 
			
		||||
| 
						 | 
				
			
			@ -23447,8 +23461,8 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
 | 
			
		|||
    } else {
 | 
			
		||||
      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    }
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
 | 
			
		||||
    __Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_9));
 | 
			
		||||
    __pyx_t_9 = 0;
 | 
			
		||||
    __Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_10));
 | 
			
		||||
| 
						 | 
				
			
			@ -23555,7 +23569,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
 | 
			
		|||
        }
 | 
			
		||||
        __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        __Pyx_GOTREF(__pyx_t_1);
 | 
			
		||||
        if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        __pyx_t_10 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 461, __pyx_L1_error)
 | 
			
		||||
        __Pyx_GOTREF(__pyx_t_10);
 | 
			
		||||
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -26975,7 +26989,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
 | 
			
		|||
 * 
 | 
			
		||||
 *     return instance
 | 
			
		||||
 */
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
 | 
			
		||||
    if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
 | 
			
		||||
    __pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
 | 
			
		||||
 | 
			
		||||
    /* "providers.pxd":661
 | 
			
		||||
| 
						 | 
				
			
			@ -28301,7 +28315,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -28426,7 +28440,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -28551,7 +28565,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -28684,7 +28698,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -28797,7 +28811,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -28922,7 +28936,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29035,7 +29049,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29148,7 +29162,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29261,7 +29275,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29379,7 +29393,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29504,7 +29518,7 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29600,7 +29614,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29696,7 +29710,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object___t
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29792,7 +29806,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -29888,7 +29902,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_object____object____object__
 | 
			
		|||
  #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
  0, /*tp_print*/
 | 
			
		||||
  #endif
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
  0, /*tp_pypy_flags*/
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -31105,7 +31119,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
 | 
			
		|||
  __pyx_umethod_PyDict_Type_get.type = (PyObject*)&PyDict_Type;
 | 
			
		||||
  __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
 | 
			
		||||
  __pyx_umethod_PyDict_Type_update.type = (PyObject*)&PyDict_Type;
 | 
			
		||||
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
 | 
			
		||||
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
| 
						 | 
				
			
			@ -31300,149 +31314,99 @@ static int __Pyx_modinit_type_import_code(void) {
 | 
			
		|||
  /*--- Type import code ---*/
 | 
			
		||||
  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __Pyx_GOTREF(__pyx_t_1);
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Provider),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Provider = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Provider)) __PYX_ERR(1, 22, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Object),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Object = (struct __pyx_vtabstruct_19dependency_injector_9providers_Object*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Object->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Object)) __PYX_ERR(1, 36, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Self),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Self = (struct __pyx_vtabstruct_19dependency_injector_9providers_Self*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Self->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Self)) __PYX_ERR(1, 42, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Delegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Delegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Delegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Delegate)) __PYX_ERR(1, 47, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Aggregate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Aggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Aggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Aggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Aggregate)) __PYX_ERR(1, 53, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Dependency),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Dependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dependency)) __PYX_ERR(1, 59, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ExternalDependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency)) __PYX_ERR(1, 65, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 69, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Callable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 77, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 89, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 93, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 97, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Coroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 102, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 106, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 110, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 114, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption)) __PYX_ERR(1, 119, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption)) __PYX_ERR(1, 127, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Configuration),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 131, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Factory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 143, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 152, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 156, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 160, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 164, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 169, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Singleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 174, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 179, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 183, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 189, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 193, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 198, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 203, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 207, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 211, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_List),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 217, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Dict),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 224, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Resource),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 231, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Container),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 246, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Selector),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 255, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 263, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 269, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ItemGetter),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 276, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_MethodCaller),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
			
		||||
  __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 283, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __Pyx_ImportType_CheckSize_Warn);
 | 
			
		||||
   if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Injection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_NamedInjection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_OverridingContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
 | 
			
		||||
  __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
 | 
			
		||||
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
			
		||||
  __Pyx_RefNannyFinishContext();
 | 
			
		||||
  return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -31462,12 +31426,12 @@ static int __Pyx_modinit_variable_import_code(void) {
 | 
			
		|||
  /*--- Variable import code ---*/
 | 
			
		||||
  __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __Pyx_GOTREF(__pyx_t_1);
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 | 
			
		||||
  __Pyx_RefNannyFinishContext();
 | 
			
		||||
  return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -31663,7 +31627,7 @@ if (!__Pyx_RefNanny) {
 | 
			
		|||
  Py_INCREF(__pyx_b);
 | 
			
		||||
  __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  Py_INCREF(__pyx_cython_runtime);
 | 
			
		||||
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
 | 
			
		||||
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  /*--- Initialize various global constants etc. ---*/
 | 
			
		||||
  if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
 | 
			
		||||
  #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
 | 
			
		||||
| 
						 | 
				
			
			@ -33547,13 +33511,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
 | 
			
		|||
    }
 | 
			
		||||
    PyErr_SetObject(type, value);
 | 
			
		||||
    if (tb) {
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY
 | 
			
		||||
        PyObject *tmp_type, *tmp_value, *tmp_tb;
 | 
			
		||||
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
 | 
			
		||||
        Py_INCREF(tb);
 | 
			
		||||
        PyErr_Restore(tmp_type, tmp_value, tb);
 | 
			
		||||
        Py_XDECREF(tmp_tb);
 | 
			
		||||
#else
 | 
			
		||||
#if CYTHON_FAST_THREAD_STATE
 | 
			
		||||
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
 | 
			
		||||
        PyObject* tmp_tb = tstate->curexc_traceback;
 | 
			
		||||
        if (tb != tmp_tb) {
 | 
			
		||||
| 
						 | 
				
			
			@ -33561,6 +33519,12 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
 | 
			
		|||
            tstate->curexc_traceback = tb;
 | 
			
		||||
            Py_XDECREF(tmp_tb);
 | 
			
		||||
        }
 | 
			
		||||
#else
 | 
			
		||||
        PyObject *tmp_type, *tmp_value, *tmp_tb;
 | 
			
		||||
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
 | 
			
		||||
        Py_INCREF(tb);
 | 
			
		||||
        PyErr_Restore(tmp_type, tmp_value, tb);
 | 
			
		||||
        Py_XDECREF(tmp_tb);
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
bad:
 | 
			
		||||
| 
						 | 
				
			
			@ -33956,7 +33920,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
 | 
			
		|||
        return __Pyx_PyFunction_FastCall(func, NULL, 0);
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __Pyx_CyFunction_USED
 | 
			
		||||
#if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
 | 
			
		||||
    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
 | 
			
		||||
#else
 | 
			
		||||
    if (likely(PyCFunction_Check(func)))
 | 
			
		||||
| 
						 | 
				
			
			@ -34093,10 +34057,8 @@ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
 | 
			
		|||
        Py_DECREF(retval);
 | 
			
		||||
        __Pyx_RaiseTooManyValuesError(expected);
 | 
			
		||||
        return -1;
 | 
			
		||||
    } else {
 | 
			
		||||
        return __Pyx_IterFinish();
 | 
			
		||||
    }
 | 
			
		||||
    return 0;
 | 
			
		||||
    return __Pyx_IterFinish();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* BytesEquals */
 | 
			
		||||
| 
						 | 
				
			
			@ -35512,7 +35474,10 @@ static PyTypeObject __pyx_GeneratorType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -35893,7 +35858,10 @@ static PyTypeObject __pyx_CoroutineAwaitType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -36045,7 +36013,10 @@ static PyTypeObject __pyx_CoroutineType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -36120,7 +36091,11 @@ static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) {
 | 
			
		|||
    } else
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE)
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C00A6
 | 
			
		||||
    if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) {
 | 
			
		||||
#else
 | 
			
		||||
    if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
 | 
			
		||||
#endif
 | 
			
		||||
        return __Pyx_NewRef(obj);
 | 
			
		||||
    } else
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -36713,9 +36688,14 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
 | 
			
		|||
        self = PyTuple_GetItem(args, 0);
 | 
			
		||||
        if (unlikely(!self)) {
 | 
			
		||||
            Py_DECREF(new_args);
 | 
			
		||||
#if PY_MAJOR_VERSION > 2
 | 
			
		||||
            PyErr_Format(PyExc_TypeError,
 | 
			
		||||
                         "unbound method %.200S() needs an argument",
 | 
			
		||||
                         cyfunc->func_qualname);
 | 
			
		||||
#else
 | 
			
		||||
            PyErr_SetString(PyExc_TypeError,
 | 
			
		||||
                            "unbound method needs an argument");
 | 
			
		||||
#endif
 | 
			
		||||
            return NULL;
 | 
			
		||||
        }
 | 
			
		||||
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
 | 
			
		||||
| 
						 | 
				
			
			@ -36790,7 +36770,10 @@ static PyTypeObject __pyx_CyFunctionType_type = {
 | 
			
		|||
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
 | 
			
		||||
#if PY_VERSION_HEX >= 0x030C0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
 | 
			
		||||
    0,
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -37042,11 +37025,11 @@ static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction*
 | 
			
		|||
        if (flag == METH_O) {
 | 
			
		||||
            return (*(cfunc->func))(self, arg);
 | 
			
		||||
        } else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) {
 | 
			
		||||
            if (PY_VERSION_HEX >= 0x030700A0) {
 | 
			
		||||
            #if PY_VERSION_HEX >= 0x030700A0
 | 
			
		||||
                return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1);
 | 
			
		||||
            } else {
 | 
			
		||||
            #else
 | 
			
		||||
                return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
 | 
			
		||||
            }
 | 
			
		||||
            #endif
 | 
			
		||||
        } else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) {
 | 
			
		||||
            return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -37262,7 +37245,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
 | 
			
		|||
/* ObjectGetItem */
 | 
			
		||||
  #if CYTHON_USE_TYPE_SLOTS
 | 
			
		||||
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
 | 
			
		||||
    PyObject *runerr;
 | 
			
		||||
    PyObject *runerr = NULL;
 | 
			
		||||
    Py_ssize_t key_value;
 | 
			
		||||
    PySequenceMethods *m = Py_TYPE(obj)->tp_as_sequence;
 | 
			
		||||
    if (unlikely(!(m && m->sq_item))) {
 | 
			
		||||
| 
						 | 
				
			
			@ -37332,9 +37315,7 @@ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
 | 
			
		|||
    PyGILState_STATE state;
 | 
			
		||||
    if (nogil)
 | 
			
		||||
        state = PyGILState_Ensure();
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
    else state = (PyGILState_STATE)-1;
 | 
			
		||||
#endif
 | 
			
		||||
    else state = (PyGILState_STATE)0;
 | 
			
		||||
#endif
 | 
			
		||||
    __Pyx_PyThreadState_assign
 | 
			
		||||
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
 | 
			
		||||
| 
						 | 
				
			
			@ -37598,16 +37579,18 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/* TypeImport */
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportType
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
 | 
			
		||||
    size_t size, enum __Pyx_ImportType_CheckSize check_size)
 | 
			
		||||
  #ifndef __PYX_HAVE_RT_ImportType_0_29_37
 | 
			
		||||
#define __PYX_HAVE_RT_ImportType_0_29_37
 | 
			
		||||
static PyTypeObject *__Pyx_ImportType_0_29_37(PyObject *module, const char *module_name, const char *class_name,
 | 
			
		||||
    size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_37 check_size)
 | 
			
		||||
{
 | 
			
		||||
    PyObject *result = 0;
 | 
			
		||||
    char warning[200];
 | 
			
		||||
    Py_ssize_t basicsize;
 | 
			
		||||
    Py_ssize_t itemsize;
 | 
			
		||||
#ifdef Py_LIMITED_API
 | 
			
		||||
    PyObject *py_basicsize;
 | 
			
		||||
    PyObject *py_itemsize;
 | 
			
		||||
#endif
 | 
			
		||||
    result = PyObject_GetAttrString(module, class_name);
 | 
			
		||||
    if (!result)
 | 
			
		||||
| 
						 | 
				
			
			@ -37620,6 +37603,7 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
 | 
			
		|||
    }
 | 
			
		||||
#ifndef Py_LIMITED_API
 | 
			
		||||
    basicsize = ((PyTypeObject *)result)->tp_basicsize;
 | 
			
		||||
    itemsize = ((PyTypeObject *)result)->tp_itemsize;
 | 
			
		||||
#else
 | 
			
		||||
    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
 | 
			
		||||
    if (!py_basicsize)
 | 
			
		||||
| 
						 | 
				
			
			@ -37629,22 +37613,37 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
 | 
			
		|||
    py_basicsize = 0;
 | 
			
		||||
    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
			
		||||
        goto bad;
 | 
			
		||||
    py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
 | 
			
		||||
    if (!py_itemsize)
 | 
			
		||||
        goto bad;
 | 
			
		||||
    itemsize = PyLong_AsSsize_t(py_itemsize);
 | 
			
		||||
    Py_DECREF(py_itemsize);
 | 
			
		||||
    py_itemsize = 0;
 | 
			
		||||
    if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
 | 
			
		||||
        goto bad;
 | 
			
		||||
#endif
 | 
			
		||||
    if ((size_t)basicsize < size) {
 | 
			
		||||
    if (itemsize) {
 | 
			
		||||
        if (size % alignment) {
 | 
			
		||||
            alignment = size % alignment;
 | 
			
		||||
        }
 | 
			
		||||
        if (itemsize < (Py_ssize_t)alignment)
 | 
			
		||||
            itemsize = (Py_ssize_t)alignment;
 | 
			
		||||
    }
 | 
			
		||||
    if ((size_t)(basicsize + itemsize) < size) {
 | 
			
		||||
        PyErr_Format(PyExc_ValueError,
 | 
			
		||||
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
			
		||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
			
		||||
            module_name, class_name, size, basicsize);
 | 
			
		||||
        goto bad;
 | 
			
		||||
    }
 | 
			
		||||
    if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
 | 
			
		||||
    if (check_size == __Pyx_ImportType_CheckSize_Error_0_29_37 && (size_t)basicsize != size) {
 | 
			
		||||
        PyErr_Format(PyExc_ValueError,
 | 
			
		||||
            "%.200s.%.200s size changed, may indicate binary incompatibility. "
 | 
			
		||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
			
		||||
            module_name, class_name, size, basicsize);
 | 
			
		||||
        goto bad;
 | 
			
		||||
    }
 | 
			
		||||
    else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
 | 
			
		||||
    else if (check_size == __Pyx_ImportType_CheckSize_Warn_0_29_37 && (size_t)basicsize > size) {
 | 
			
		||||
        PyOS_snprintf(warning, sizeof(warning),
 | 
			
		||||
            "%s.%s size changed, may indicate binary incompatibility. "
 | 
			
		||||
            "Expected %zd from C header, got %zd from PyObject",
 | 
			
		||||
| 
						 | 
				
			
			@ -37935,7 +37934,7 @@ static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
 | 
			
		|||
 | 
			
		||||
/* CLineInTraceback */
 | 
			
		||||
  #ifndef CYTHON_CLINE_IN_TRACEBACK
 | 
			
		||||
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
 | 
			
		||||
static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
 | 
			
		||||
    PyObject *use_cline;
 | 
			
		||||
    PyObject *ptype, *pvalue, *ptraceback;
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
			
		||||
| 
						 | 
				
			
			@ -38320,7 +38319,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
 | 
			
		|||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
 | 
			
		||||
            if (unlikely(Py_SIZE(x) < 0)) {
 | 
			
		||||
                goto raise_neg_overflow;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -38516,7 +38515,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
 | 
			
		|||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
#endif
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON
 | 
			
		||||
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
 | 
			
		||||
            if (unlikely(Py_SIZE(x) < 0)) {
 | 
			
		||||
                goto raise_neg_overflow;
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -38828,9 +38827,9 @@ bad:
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
/* VoidPtrImport */
 | 
			
		||||
#ifndef __PYX_HAVE_RT_ImportVoidPtr
 | 
			
		||||
#define __PYX_HAVE_RT_ImportVoidPtr
 | 
			
		||||
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig) {
 | 
			
		||||
  #ifndef __PYX_HAVE_RT_ImportVoidPtr_0_29_37
 | 
			
		||||
#define __PYX_HAVE_RT_ImportVoidPtr_0_29_37
 | 
			
		||||
static int __Pyx_ImportVoidPtr_0_29_37(PyObject *module, const char *name, void **p, const char *sig) {
 | 
			
		||||
    PyObject *d = 0;
 | 
			
		||||
    PyObject *cobj = 0;
 | 
			
		||||
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -6,5 +6,6 @@ filterwarnings =
 | 
			
		|||
    ignore:Module \"dependency_injector.ext.aiohttp\" is deprecated since version 4\.0\.0:DeprecationWarning
 | 
			
		||||
    ignore:Module \"dependency_injector.ext.flask\" is deprecated since version 4\.0\.0:DeprecationWarning
 | 
			
		||||
    ignore:Please use \`.*?\` from the \`scipy.*?\`(.*?)namespace is deprecated\.:DeprecationWarning
 | 
			
		||||
    ignore:The \`scipy(.*?)\` namespace is deprecated(.*):DeprecationWarning
 | 
			
		||||
    ignore:Please import \`.*?\` from the \`scipy(.*?)\` namespace(.*):DeprecationWarning
 | 
			
		||||
    ignore:\`scipy(.*?)\` is deprecated(.*):DeprecationWarning
 | 
			
		||||
    ignore:ssl\.PROTOCOL_TLS is deprecated:DeprecationWarning:botocore.*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,13 @@
 | 
			
		|||
from pathlib import Path
 | 
			
		||||
from typing import Any
 | 
			
		||||
 | 
			
		||||
from dependency_injector import providers
 | 
			
		||||
from pydantic import BaseSettings as PydanticSettings
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Test 1: to check the getattr
 | 
			
		||||
config1 = providers.Configuration()
 | 
			
		||||
provider1 = providers.Factory(dict, a=config1.a)
 | 
			
		||||
config1: providers.Configuration = providers.Configuration()
 | 
			
		||||
provider1: providers.Provider[dict] = providers.Factory(dict, a=config1.a)
 | 
			
		||||
 | 
			
		||||
# Test 2: to check the from_*() method
 | 
			
		||||
config2 = providers.Configuration()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,30 +6,30 @@ from pytest import fixture, mark, raises
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
class Section11(pydantic.BaseModel):
 | 
			
		||||
    value1 = 1
 | 
			
		||||
    value1: int = 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Section12(pydantic.BaseModel):
 | 
			
		||||
    value2 = 2
 | 
			
		||||
    value2: int = 2
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Settings1(pydantic.BaseSettings):
 | 
			
		||||
    section1 = Section11()
 | 
			
		||||
    section2 = Section12()
 | 
			
		||||
    section1: Section11 = Section11()
 | 
			
		||||
    section2: Section12 = Section12()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Section21(pydantic.BaseModel):
 | 
			
		||||
    value1 = 11
 | 
			
		||||
    value11 = 11
 | 
			
		||||
    value1: int = 11
 | 
			
		||||
    value11: int = 11
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Section3(pydantic.BaseModel):
 | 
			
		||||
    value3 = 3
 | 
			
		||||
    value3: int = 3
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Settings2(pydantic.BaseSettings):
 | 
			
		||||
    section1 = Section21()
 | 
			
		||||
    section3 = Section3()
 | 
			
		||||
    section1: Section21 = Section21()
 | 
			
		||||
    section3: Section3= Section3()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@fixture
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										50
									
								
								tox.ini
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								tox.ini
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
[tox]
 | 
			
		||||
envlist=
 | 
			
		||||
    coveralls, pylint, flake8, pydocstyle, 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, pypy2.7, pypy3.9
 | 
			
		||||
    coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, pypy3.9, pypy3.10
 | 
			
		||||
 | 
			
		||||
[testenv]
 | 
			
		||||
deps=
 | 
			
		||||
| 
						 | 
				
			
			@ -10,25 +10,25 @@ deps=
 | 
			
		|||
    typing_extensions
 | 
			
		||||
    httpx
 | 
			
		||||
    fastapi
 | 
			
		||||
    flask<2.2
 | 
			
		||||
    aiohttp<=3.9.0b1
 | 
			
		||||
    numpy
 | 
			
		||||
    scipy
 | 
			
		||||
    boto3
 | 
			
		||||
    mypy_boto3_s3
 | 
			
		||||
    pydantic<2
 | 
			
		||||
    werkzeug<=2.2.2
 | 
			
		||||
extras=
 | 
			
		||||
    yaml
 | 
			
		||||
    pydantic
 | 
			
		||||
    flask
 | 
			
		||||
    aiohttp
 | 
			
		||||
commands = pytest -c tests/.configs/pytest.ini
 | 
			
		||||
python_files = test_*_py3*.py
 | 
			
		||||
 | 
			
		||||
[testenv:coveralls]
 | 
			
		||||
passenv = GITHUB_*, COVERALLS_*
 | 
			
		||||
basepython=python3.11
 | 
			
		||||
usedevelop=True
 | 
			
		||||
basepython=python3.12
 | 
			
		||||
deps=
 | 
			
		||||
    {[testenv]deps}
 | 
			
		||||
    cython
 | 
			
		||||
    cython<3.0
 | 
			
		||||
    coverage
 | 
			
		||||
    coveralls
 | 
			
		||||
commands=
 | 
			
		||||
| 
						 | 
				
			
			@ -37,49 +37,27 @@ commands=
 | 
			
		|||
    coverage report --rcfile=./.coveragerc
 | 
			
		||||
    coveralls
 | 
			
		||||
 | 
			
		||||
[testenv:2.7]
 | 
			
		||||
deps=
 | 
			
		||||
    pytest
 | 
			
		||||
extras=
 | 
			
		||||
    yaml
 | 
			
		||||
    flask
 | 
			
		||||
commands = pytest -c tests/.configs/pytest-py27.ini
 | 
			
		||||
 | 
			
		||||
[testenv:3.5]
 | 
			
		||||
deps=
 | 
			
		||||
    pytest
 | 
			
		||||
    pytest-asyncio
 | 
			
		||||
    contextvars
 | 
			
		||||
extras=
 | 
			
		||||
    yaml
 | 
			
		||||
    flask
 | 
			
		||||
commands = pytest -c tests/.configs/pytest-py35.ini
 | 
			
		||||
 | 
			
		||||
[testenv:pypy2.7]
 | 
			
		||||
deps=
 | 
			
		||||
    pytest
 | 
			
		||||
extras=
 | 
			
		||||
    yaml
 | 
			
		||||
    flask
 | 
			
		||||
commands = pytest -c tests/.configs/pytest-py27.ini
 | 
			
		||||
 | 
			
		||||
[testenv:pypy3.9]
 | 
			
		||||
deps=
 | 
			
		||||
    pytest
 | 
			
		||||
    pytest-asyncio
 | 
			
		||||
    httpx
 | 
			
		||||
    flask<2.2
 | 
			
		||||
    pydantic<2
 | 
			
		||||
    werkzeug<=2.2.2
 | 
			
		||||
    fastapi
 | 
			
		||||
    boto3
 | 
			
		||||
    mypy_boto3_s3
 | 
			
		||||
extras=
 | 
			
		||||
    yaml
 | 
			
		||||
    flask
 | 
			
		||||
commands = pytest -c tests/.configs/pytest-py27.ini
 | 
			
		||||
commands = pytest -c tests/.configs/pytest-py35.ini
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[testenv:pylint]
 | 
			
		||||
deps=
 | 
			
		||||
    pylint
 | 
			
		||||
    flask<2.2
 | 
			
		||||
    werkzeug<=2.2.2
 | 
			
		||||
commands=
 | 
			
		||||
    - pylint -f colorized --rcfile=./.pylintrc src/dependency_injector
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -99,6 +77,8 @@ commands=
 | 
			
		|||
 | 
			
		||||
[testenv:mypy]
 | 
			
		||||
deps=
 | 
			
		||||
    typing_extensions
 | 
			
		||||
    pydantic<2
 | 
			
		||||
    mypy
 | 
			
		||||
commands=
 | 
			
		||||
    mypy tests/typing
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user