ez-a-sync 0.24.1__tar.gz → 0.24.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ez-a-sync might be problematic. Click here for more details.

Files changed (157) hide show
  1. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/PKG-INFO +1 -1
  2. ez_a_sync-0.24.3/a_sync/__init__.pxd +1 -0
  3. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_helpers.c +98 -98
  4. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_kwargs.c +14 -14
  5. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/abstract.c +36 -36
  6. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/base.c +125 -133
  7. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/function.c +124 -116
  8. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/method.c +105 -97
  9. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/manager.c +54 -52
  10. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/property.c +142 -104
  11. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/as_completed.c +6 -6
  12. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/create_task.c +50 -40
  13. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/gather.c +1371 -701
  14. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/gather.pyx +15 -1
  15. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/executor.py +1 -1
  16. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/iter.c +399 -370
  17. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/iter.pyx +2 -1
  18. ez_a_sync-0.24.3/a_sync/primitives/__init__.pxd +1 -0
  19. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/_debug.c +6414 -3923
  20. ez_a_sync-0.24.3/a_sync/primitives/_debug.pxd +9 -0
  21. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/_debug.pyi +1 -1
  22. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/_debug.pyx +64 -12
  23. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/_loggable.c +4592 -2811
  24. ez_a_sync-0.24.3/a_sync/primitives/_loggable.pxd +4 -0
  25. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/_loggable.pyx +19 -8
  26. ez_a_sync-0.24.3/a_sync/primitives/locks/__init__.pxd +2 -0
  27. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/locks/__init__.py +1 -1
  28. ez_a_sync-0.24.3/a_sync/primitives/locks/counter.c +17390 -0
  29. ez_a_sync-0.24.3/a_sync/primitives/locks/counter.pxd +11 -0
  30. ez_a_sync-0.24.1/a_sync/primitives/locks/counter.py → ez_a_sync-0.24.3/a_sync/primitives/locks/counter.pyx +61 -29
  31. ez_a_sync-0.24.3/a_sync/primitives/locks/event.c +17223 -0
  32. ez_a_sync-0.24.3/a_sync/primitives/locks/event.pxd +24 -0
  33. ez_a_sync-0.24.3/a_sync/primitives/locks/event.pyx +183 -0
  34. ez_a_sync-0.24.3/a_sync/primitives/locks/semaphore.c +27051 -0
  35. ez_a_sync-0.24.1/a_sync/primitives/locks/semaphore.py → ez_a_sync-0.24.3/a_sync/primitives/locks/semaphore.pyx +148 -38
  36. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/task.c +5298 -5175
  37. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/task.pyx +55 -31
  38. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/ez_a_sync.egg-info/PKG-INFO +1 -1
  39. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/ez_a_sync.egg-info/SOURCES.txt +13 -3
  40. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/setup.py +5 -1
  41. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_semaphore.py +12 -9
  42. ez_a_sync-0.24.1/a_sync/primitives/locks/event.py +0 -85
  43. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.coverage +0 -0
  44. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.github/workflows/black.yaml +0 -0
  45. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.github/workflows/codeql.yaml +0 -0
  46. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.github/workflows/docs.yaml +0 -0
  47. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.github/workflows/mypy.yaml +0 -0
  48. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.github/workflows/pytest.yaml +0 -0
  49. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.github/workflows/release.yaml +0 -0
  50. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.gitignore +0 -0
  51. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/.sourcery.yaml +0 -0
  52. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/LICENSE.txt +0 -0
  53. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/Makefile +0 -0
  54. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/README.md +0 -0
  55. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/TODO +0 -0
  56. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/ENVIRONMENT_VARIABLES.py +0 -0
  57. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/__init__.py +0 -0
  58. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/_smart.py +0 -0
  59. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/_typing.py +0 -0
  60. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/__init__.py +0 -0
  61. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_descriptor.py +0 -0
  62. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_flags.c +0 -0
  63. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_flags.pxd +0 -0
  64. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_flags.pyx +0 -0
  65. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_helpers.pxd +0 -0
  66. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_helpers.pyi +0 -0
  67. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_helpers.pyx +0 -0
  68. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_kwargs.pxd +0 -0
  69. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_kwargs.pyx +0 -0
  70. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/_meta.py +0 -0
  71. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/abstract.pyi +0 -0
  72. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/abstract.pyx +0 -0
  73. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/base.pyi +0 -0
  74. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/base.pyx +0 -0
  75. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/config.py +0 -0
  76. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/decorator.py +0 -0
  77. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/flags.py +0 -0
  78. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/function.pyi +0 -0
  79. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/function.pyx +0 -0
  80. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/method.pxd +0 -0
  81. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/method.pyi +0 -0
  82. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/method.pyx +0 -0
  83. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/__init__.py +0 -0
  84. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/cache/__init__.py +0 -0
  85. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/cache/memory.py +0 -0
  86. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/limiter.py +0 -0
  87. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/manager.pyi +0 -0
  88. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/manager.pyx +0 -0
  89. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/modifiers/semaphores.py +0 -0
  90. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/property.pyi +0 -0
  91. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/property.pyx +0 -0
  92. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/a_sync/singleton.py +0 -0
  93. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/aliases.py +0 -0
  94. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/__init__.py +0 -0
  95. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/as_completed.pxd +0 -0
  96. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/as_completed.pyi +0 -0
  97. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/as_completed.pyx +0 -0
  98. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/create_task.pxd +0 -0
  99. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/create_task.pyi +0 -0
  100. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/create_task.pyx +0 -0
  101. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/asyncio/gather.pyi +0 -0
  102. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/exceptions.py +0 -0
  103. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/future.py +0 -0
  104. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/iter.pyi +0 -0
  105. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/__init__.py +0 -0
  106. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/_loggable.pyi +0 -0
  107. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/locks/prio_semaphore.py +0 -0
  108. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/primitives/queue.py +0 -0
  109. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/py.typed +0 -0
  110. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/sphinx/__init__.py +0 -0
  111. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/sphinx/ext.py +0 -0
  112. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/task.pyi +0 -0
  113. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/utils/__init__.py +0 -0
  114. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/a_sync/utils/iterators.py +0 -0
  115. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/Makefile +0 -0
  116. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/alabaster.css +0 -0
  117. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/basic.css +0 -0
  118. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/custom.css +0 -0
  119. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/doctools.js +0 -0
  120. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/documentation_options.js +0 -0
  121. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/file.png +0 -0
  122. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/language_data.js +0 -0
  123. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/minus.png +0 -0
  124. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/plus.png +0 -0
  125. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/pygments.css +0 -0
  126. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/searchtools.js +0 -0
  127. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/_build/html/_static/sphinx_highlight.js +0 -0
  128. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/conf.py +0 -0
  129. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/index.rst +0 -0
  130. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/docs/make.bat +0 -0
  131. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/ez_a_sync.egg-info/dependency_links.txt +0 -0
  132. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/ez_a_sync.egg-info/not-zip-safe +0 -0
  133. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/ez_a_sync.egg-info/requires.txt +0 -0
  134. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/ez_a_sync.egg-info/top_level.txt +0 -0
  135. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/pyproject.yaml +0 -0
  136. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/requirements-dev.txt +0 -0
  137. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/requirements.txt +0 -0
  138. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/setup.cfg +0 -0
  139. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/__init__.py +0 -0
  140. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/conftest.py +0 -0
  141. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/executor.py +0 -0
  142. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/fixtures.py +0 -0
  143. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_abstract.py +0 -0
  144. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_as_completed.py +0 -0
  145. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_base.py +0 -0
  146. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_cache.py +0 -0
  147. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_decorator.py +0 -0
  148. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_executor.py +0 -0
  149. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_future.py +0 -0
  150. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_gather.py +0 -0
  151. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_helpers.py +0 -0
  152. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_iter.py +0 -0
  153. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_limiter.py +0 -0
  154. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_meta.py +0 -0
  155. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_modified.py +0 -0
  156. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_singleton.py +0 -0
  157. {ez_a_sync-0.24.1 → ez_a_sync-0.24.3}/tests/test_task.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ez-a-sync
3
- Version: 0.24.1
3
+ Version: 0.24.3
4
4
  Summary: A library that makes it easy to define objects that can be used for both sync and async use cases.
5
5
  Home-page: https://github.com/BobTheBuidler/a-sync
6
6
  Author: BobTheBuidler
@@ -0,0 +1 @@
1
+ from a_sync.primitives import *
@@ -2036,9 +2036,18 @@ static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject
2036
2036
  static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
2037
2037
  #endif
2038
2038
 
2039
- /* PyObject_Str.proto */
2040
- #define __Pyx_PyObject_Str(obj)\
2041
- (likely(PyString_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
2039
+ /* unicode_tailmatch.proto */
2040
+ static int __Pyx_PyUnicode_Tailmatch(
2041
+ PyObject* s, PyObject* substr, Py_ssize_t start, Py_ssize_t end, int direction);
2042
+
2043
+ /* PyObject_Unicode.proto */
2044
+ #if PY_MAJOR_VERSION >= 3
2045
+ #define __Pyx_PyObject_Unicode(obj)\
2046
+ (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
2047
+ #else
2048
+ #define __Pyx_PyObject_Unicode(obj)\
2049
+ (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj))
2050
+ #endif
2042
2051
 
2043
2052
  /* SwapException.proto */
2044
2053
  #if CYTHON_FAST_THREAD_STATE
@@ -2112,13 +2121,6 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
2112
2121
  #define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
2113
2122
  #endif
2114
2123
 
2115
- /* StrEquals.proto */
2116
- #if PY_MAJOR_VERSION >= 3
2117
- #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
2118
- #else
2119
- #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
2120
- #endif
2121
-
2122
2124
  /* RaiseException.proto */
2123
2125
  static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
2124
2126
 
@@ -2556,7 +2558,6 @@ static const char __pyx_k_P_kwargs[] = "P.kwargs";
2556
2558
  static const char __pyx_k_functools[] = "functools";
2557
2559
  static const char __pyx_k_isenabled[] = "isenabled";
2558
2560
  static const char __pyx_k_exceptions[] = "exceptions";
2559
- static const char __pyx_k_startswith[] = "startswith";
2560
2561
  static const char __pyx_k_wrap_future[] = "wrap_future";
2561
2562
  static const char __pyx_k_RuntimeError[] = "RuntimeError";
2562
2563
  static const char __pyx_k_initializing[] = "_initializing";
@@ -2626,8 +2627,8 @@ typedef struct {
2626
2627
  PyObject *__pyx_n_s_RuntimeError;
2627
2628
  PyObject *__pyx_n_s_SyncModeInAsyncContextError;
2628
2629
  PyObject *__pyx_n_s_T;
2629
- PyObject *__pyx_kp_s_There_is_no_current_event_loop_i;
2630
- PyObject *__pyx_kp_s_This_event_loop_is_already_runni;
2630
+ PyObject *__pyx_kp_u_There_is_no_current_event_loop_i;
2631
+ PyObject *__pyx_kp_u_This_event_loop_is_already_runni;
2631
2632
  PyObject *__pyx_kp_u__2;
2632
2633
  PyObject *__pyx_n_s__5;
2633
2634
  PyObject *__pyx_n_s__6;
@@ -2668,7 +2669,6 @@ typedef struct {
2668
2669
  PyObject *__pyx_n_s_send;
2669
2670
  PyObject *__pyx_n_s_set_event_loop;
2670
2671
  PyObject *__pyx_n_s_spec;
2671
- PyObject *__pyx_n_s_startswith;
2672
2672
  PyObject *__pyx_n_s_submit;
2673
2673
  PyObject *__pyx_n_s_test;
2674
2674
  PyObject *__pyx_n_s_throw;
@@ -2730,8 +2730,8 @@ static int __pyx_m_clear(PyObject *m) {
2730
2730
  Py_CLEAR(clear_module_state->__pyx_n_s_RuntimeError);
2731
2731
  Py_CLEAR(clear_module_state->__pyx_n_s_SyncModeInAsyncContextError);
2732
2732
  Py_CLEAR(clear_module_state->__pyx_n_s_T);
2733
- Py_CLEAR(clear_module_state->__pyx_kp_s_There_is_no_current_event_loop_i);
2734
- Py_CLEAR(clear_module_state->__pyx_kp_s_This_event_loop_is_already_runni);
2733
+ Py_CLEAR(clear_module_state->__pyx_kp_u_There_is_no_current_event_loop_i);
2734
+ Py_CLEAR(clear_module_state->__pyx_kp_u_This_event_loop_is_already_runni);
2735
2735
  Py_CLEAR(clear_module_state->__pyx_kp_u__2);
2736
2736
  Py_CLEAR(clear_module_state->__pyx_n_s__5);
2737
2737
  Py_CLEAR(clear_module_state->__pyx_n_s__6);
@@ -2772,7 +2772,6 @@ static int __pyx_m_clear(PyObject *m) {
2772
2772
  Py_CLEAR(clear_module_state->__pyx_n_s_send);
2773
2773
  Py_CLEAR(clear_module_state->__pyx_n_s_set_event_loop);
2774
2774
  Py_CLEAR(clear_module_state->__pyx_n_s_spec);
2775
- Py_CLEAR(clear_module_state->__pyx_n_s_startswith);
2776
2775
  Py_CLEAR(clear_module_state->__pyx_n_s_submit);
2777
2776
  Py_CLEAR(clear_module_state->__pyx_n_s_test);
2778
2777
  Py_CLEAR(clear_module_state->__pyx_n_s_throw);
@@ -2812,8 +2811,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2812
2811
  Py_VISIT(traverse_module_state->__pyx_n_s_RuntimeError);
2813
2812
  Py_VISIT(traverse_module_state->__pyx_n_s_SyncModeInAsyncContextError);
2814
2813
  Py_VISIT(traverse_module_state->__pyx_n_s_T);
2815
- Py_VISIT(traverse_module_state->__pyx_kp_s_There_is_no_current_event_loop_i);
2816
- Py_VISIT(traverse_module_state->__pyx_kp_s_This_event_loop_is_already_runni);
2814
+ Py_VISIT(traverse_module_state->__pyx_kp_u_There_is_no_current_event_loop_i);
2815
+ Py_VISIT(traverse_module_state->__pyx_kp_u_This_event_loop_is_already_runni);
2817
2816
  Py_VISIT(traverse_module_state->__pyx_kp_u__2);
2818
2817
  Py_VISIT(traverse_module_state->__pyx_n_s__5);
2819
2818
  Py_VISIT(traverse_module_state->__pyx_n_s__6);
@@ -2854,7 +2853,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2854
2853
  Py_VISIT(traverse_module_state->__pyx_n_s_send);
2855
2854
  Py_VISIT(traverse_module_state->__pyx_n_s_set_event_loop);
2856
2855
  Py_VISIT(traverse_module_state->__pyx_n_s_spec);
2857
- Py_VISIT(traverse_module_state->__pyx_n_s_startswith);
2858
2856
  Py_VISIT(traverse_module_state->__pyx_n_s_submit);
2859
2857
  Py_VISIT(traverse_module_state->__pyx_n_s_test);
2860
2858
  Py_VISIT(traverse_module_state->__pyx_n_s_throw);
@@ -2904,8 +2902,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2904
2902
  #define __pyx_n_s_RuntimeError __pyx_mstate_global->__pyx_n_s_RuntimeError
2905
2903
  #define __pyx_n_s_SyncModeInAsyncContextError __pyx_mstate_global->__pyx_n_s_SyncModeInAsyncContextError
2906
2904
  #define __pyx_n_s_T __pyx_mstate_global->__pyx_n_s_T
2907
- #define __pyx_kp_s_There_is_no_current_event_loop_i __pyx_mstate_global->__pyx_kp_s_There_is_no_current_event_loop_i
2908
- #define __pyx_kp_s_This_event_loop_is_already_runni __pyx_mstate_global->__pyx_kp_s_This_event_loop_is_already_runni
2905
+ #define __pyx_kp_u_There_is_no_current_event_loop_i __pyx_mstate_global->__pyx_kp_u_There_is_no_current_event_loop_i
2906
+ #define __pyx_kp_u_This_event_loop_is_already_runni __pyx_mstate_global->__pyx_kp_u_This_event_loop_is_already_runni
2909
2907
  #define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2
2910
2908
  #define __pyx_n_s__5 __pyx_mstate_global->__pyx_n_s__5
2911
2909
  #define __pyx_n_s__6 __pyx_mstate_global->__pyx_n_s__6
@@ -2946,7 +2944,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2946
2944
  #define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send
2947
2945
  #define __pyx_n_s_set_event_loop __pyx_mstate_global->__pyx_n_s_set_event_loop
2948
2946
  #define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
2949
- #define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith
2950
2947
  #define __pyx_n_s_submit __pyx_mstate_global->__pyx_n_s_submit
2951
2948
  #define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
2952
2949
  #define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw
@@ -2981,10 +2978,10 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop(CYTHON_UNUSED
2981
2978
  unsigned int __pyx_t_7;
2982
2979
  int __pyx_t_8;
2983
2980
  PyObject *__pyx_t_9 = NULL;
2984
- PyObject *__pyx_t_10 = NULL;
2985
- PyObject *__pyx_t_11 = NULL;
2986
- int __pyx_t_12;
2987
- int __pyx_t_13;
2981
+ int __pyx_t_10;
2982
+ int __pyx_t_11;
2983
+ PyObject *__pyx_t_12 = NULL;
2984
+ PyObject *__pyx_t_13 = NULL;
2988
2985
  int __pyx_t_14;
2989
2986
  char const *__pyx_t_15;
2990
2987
  PyObject *__pyx_t_16 = NULL;
@@ -3097,37 +3094,12 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop(CYTHON_UNUSED
3097
3094
  * loop = asyncio.new_event_loop()
3098
3095
  */
3099
3096
  __Pyx_TraceLine(18,0,__PYX_ERR(0, 18, __pyx_L14_error))
3100
- __pyx_t_10 = __Pyx_PyObject_Str(__pyx_v_e); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18, __pyx_L14_error)
3101
- __Pyx_GOTREF(__pyx_t_10);
3102
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_startswith); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18, __pyx_L14_error)
3103
- __Pyx_GOTREF(__pyx_t_11);
3104
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
3105
- __pyx_t_10 = NULL;
3106
- __pyx_t_7 = 0;
3107
- #if CYTHON_UNPACK_METHODS
3108
- if (likely(PyMethod_Check(__pyx_t_11))) {
3109
- __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
3110
- if (likely(__pyx_t_10)) {
3111
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
3112
- __Pyx_INCREF(__pyx_t_10);
3113
- __Pyx_INCREF(function);
3114
- __Pyx_DECREF_SET(__pyx_t_11, function);
3115
- __pyx_t_7 = 1;
3116
- }
3117
- }
3118
- #endif
3119
- {
3120
- PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_s_There_is_no_current_event_loop_i};
3121
- __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
3122
- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
3123
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18, __pyx_L14_error)
3124
- __Pyx_GOTREF(__pyx_t_9);
3125
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
3126
- }
3127
- __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 18, __pyx_L14_error)
3097
+ __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_v_e); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 18, __pyx_L14_error)
3098
+ __Pyx_GOTREF(__pyx_t_9);
3099
+ __pyx_t_10 = __Pyx_PyUnicode_Tailmatch(__pyx_t_9, __pyx_kp_u_There_is_no_current_event_loop_i, 0, PY_SSIZE_T_MAX, -1); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 18, __pyx_L14_error)
3128
3100
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3129
- __pyx_t_13 = (!__pyx_t_12);
3130
- if (unlikely(__pyx_t_13)) {
3101
+ __pyx_t_11 = (!__pyx_t_10);
3102
+ if (unlikely(__pyx_t_11)) {
3131
3103
 
3132
3104
  /* "a_sync/a_sync/_helpers.pyx":19
3133
3105
  * except RuntimeError as e: # Necessary for use with multi-threaded applications.
@@ -3161,32 +3133,32 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop(CYTHON_UNUSED
3161
3133
  * return loop
3162
3134
  */
3163
3135
  __Pyx_TraceLine(20,0,__PYX_ERR(0, 20, __pyx_L14_error))
3164
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 20, __pyx_L14_error)
3165
- __Pyx_GOTREF(__pyx_t_11);
3166
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_new_event_loop); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 20, __pyx_L14_error)
3167
- __Pyx_GOTREF(__pyx_t_10);
3168
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
3169
- __pyx_t_11 = NULL;
3136
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 20, __pyx_L14_error)
3137
+ __Pyx_GOTREF(__pyx_t_12);
3138
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_new_event_loop); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 20, __pyx_L14_error)
3139
+ __Pyx_GOTREF(__pyx_t_13);
3140
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
3141
+ __pyx_t_12 = NULL;
3170
3142
  __pyx_t_7 = 0;
3171
3143
  #if CYTHON_UNPACK_METHODS
3172
- if (unlikely(PyMethod_Check(__pyx_t_10))) {
3173
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
3174
- if (likely(__pyx_t_11)) {
3175
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
3176
- __Pyx_INCREF(__pyx_t_11);
3144
+ if (unlikely(PyMethod_Check(__pyx_t_13))) {
3145
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_13);
3146
+ if (likely(__pyx_t_12)) {
3147
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
3148
+ __Pyx_INCREF(__pyx_t_12);
3177
3149
  __Pyx_INCREF(function);
3178
- __Pyx_DECREF_SET(__pyx_t_10, function);
3150
+ __Pyx_DECREF_SET(__pyx_t_13, function);
3179
3151
  __pyx_t_7 = 1;
3180
3152
  }
3181
3153
  }
3182
3154
  #endif
3183
3155
  {
3184
- PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
3185
- __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
3186
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
3156
+ PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
3157
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
3158
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
3187
3159
  if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 20, __pyx_L14_error)
3188
3160
  __Pyx_GOTREF(__pyx_t_9);
3189
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
3161
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
3190
3162
  }
3191
3163
  __pyx_v_loop = __pyx_t_9;
3192
3164
  __pyx_t_9 = 0;
@@ -3199,32 +3171,32 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop(CYTHON_UNUSED
3199
3171
  *
3200
3172
  */
3201
3173
  __Pyx_TraceLine(21,0,__PYX_ERR(0, 21, __pyx_L14_error))
3202
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 21, __pyx_L14_error)
3203
- __Pyx_GOTREF(__pyx_t_10);
3204
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_set_event_loop); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 21, __pyx_L14_error)
3205
- __Pyx_GOTREF(__pyx_t_11);
3206
- __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
3207
- __pyx_t_10 = NULL;
3174
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 21, __pyx_L14_error)
3175
+ __Pyx_GOTREF(__pyx_t_13);
3176
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_set_event_loop); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21, __pyx_L14_error)
3177
+ __Pyx_GOTREF(__pyx_t_12);
3178
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
3179
+ __pyx_t_13 = NULL;
3208
3180
  __pyx_t_7 = 0;
3209
3181
  #if CYTHON_UNPACK_METHODS
3210
- if (unlikely(PyMethod_Check(__pyx_t_11))) {
3211
- __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
3212
- if (likely(__pyx_t_10)) {
3213
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
3214
- __Pyx_INCREF(__pyx_t_10);
3182
+ if (unlikely(PyMethod_Check(__pyx_t_12))) {
3183
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12);
3184
+ if (likely(__pyx_t_13)) {
3185
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
3186
+ __Pyx_INCREF(__pyx_t_13);
3215
3187
  __Pyx_INCREF(function);
3216
- __Pyx_DECREF_SET(__pyx_t_11, function);
3188
+ __Pyx_DECREF_SET(__pyx_t_12, function);
3217
3189
  __pyx_t_7 = 1;
3218
3190
  }
3219
3191
  }
3220
3192
  #endif
3221
3193
  {
3222
- PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_loop};
3223
- __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
3224
- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
3194
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_loop};
3195
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
3196
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
3225
3197
  if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 21, __pyx_L14_error)
3226
3198
  __Pyx_GOTREF(__pyx_t_9);
3227
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
3199
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
3228
3200
  }
3229
3201
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3230
3202
  }
@@ -3247,8 +3219,8 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop(CYTHON_UNUSED
3247
3219
  __Pyx_PyThreadState_declare
3248
3220
  __Pyx_PyThreadState_assign
3249
3221
  __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0;
3250
- __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
3251
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
3222
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
3223
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
3252
3224
  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
3253
3225
  if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21);
3254
3226
  if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18) < 0)) __Pyx_ErrFetch(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18);
@@ -3338,8 +3310,8 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers_get_event_loop(CYTHON_UNUSED
3338
3310
  __Pyx_XDECREF(__pyx_t_5);
3339
3311
  __Pyx_XDECREF(__pyx_t_6);
3340
3312
  __Pyx_XDECREF(__pyx_t_9);
3341
- __Pyx_XDECREF(__pyx_t_10);
3342
- __Pyx_XDECREF(__pyx_t_11);
3313
+ __Pyx_XDECREF(__pyx_t_12);
3314
+ __Pyx_XDECREF(__pyx_t_13);
3343
3315
  __Pyx_AddTraceback("a_sync.a_sync._helpers.get_event_loop", __pyx_clineno, __pyx_lineno, __pyx_filename);
3344
3316
  __pyx_r = 0;
3345
3317
  __pyx_L0:;
@@ -3533,9 +3505,9 @@ static PyObject *__pyx_f_6a_sync_6a_sync_8_helpers__await(PyObject *__pyx_v_awai
3533
3505
  * raise
3534
3506
  */
3535
3507
  __Pyx_TraceLine(49,0,__PYX_ERR(0, 49, __pyx_L14_error))
3536
- __pyx_t_9 = __Pyx_PyObject_Str(__pyx_v_e); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 49, __pyx_L14_error)
3508
+ __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_v_e); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 49, __pyx_L14_error)
3537
3509
  __Pyx_GOTREF(__pyx_t_9);
3538
- __pyx_t_10 = (__Pyx_PyString_Equals(__pyx_t_9, __pyx_kp_s_This_event_loop_is_already_runni, Py_EQ)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 49, __pyx_L14_error)
3510
+ __pyx_t_10 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_kp_u_This_event_loop_is_already_runni, Py_EQ)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 49, __pyx_L14_error)
3539
3511
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3540
3512
  if (unlikely(__pyx_t_10)) {
3541
3513
 
@@ -4714,8 +4686,8 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
4714
4686
  {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},
4715
4687
  {&__pyx_n_s_SyncModeInAsyncContextError, __pyx_k_SyncModeInAsyncContextError, sizeof(__pyx_k_SyncModeInAsyncContextError), 0, 0, 1, 1},
4716
4688
  {&__pyx_n_s_T, __pyx_k_T, sizeof(__pyx_k_T), 0, 0, 1, 1},
4717
- {&__pyx_kp_s_There_is_no_current_event_loop_i, __pyx_k_There_is_no_current_event_loop_i, sizeof(__pyx_k_There_is_no_current_event_loop_i), 0, 0, 1, 0},
4718
- {&__pyx_kp_s_This_event_loop_is_already_runni, __pyx_k_This_event_loop_is_already_runni, sizeof(__pyx_k_This_event_loop_is_already_runni), 0, 0, 1, 0},
4689
+ {&__pyx_kp_u_There_is_no_current_event_loop_i, __pyx_k_There_is_no_current_event_loop_i, sizeof(__pyx_k_There_is_no_current_event_loop_i), 0, 1, 0, 0},
4690
+ {&__pyx_kp_u_This_event_loop_is_already_runni, __pyx_k_This_event_loop_is_already_runni, sizeof(__pyx_k_This_event_loop_is_already_runni), 0, 1, 0, 0},
4719
4691
  {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0},
4720
4692
  {&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1},
4721
4693
  {&__pyx_n_s__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 0, 1, 1},
@@ -4756,7 +4728,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
4756
4728
  {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
4757
4729
  {&__pyx_n_s_set_event_loop, __pyx_k_set_event_loop, sizeof(__pyx_k_set_event_loop), 0, 0, 1, 1},
4758
4730
  {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
4759
- {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
4760
4731
  {&__pyx_n_s_submit, __pyx_k_submit, sizeof(__pyx_k_submit), 0, 0, 1, 1},
4761
4732
  {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
4762
4733
  {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
@@ -6146,6 +6117,35 @@ bad:
6146
6117
  return -1;
6147
6118
  }
6148
6119
 
6120
+ /* unicode_tailmatch */
6121
+ static int __Pyx_PyUnicode_TailmatchTuple(PyObject* s, PyObject* substrings,
6122
+ Py_ssize_t start, Py_ssize_t end, int direction) {
6123
+ Py_ssize_t i, count = PyTuple_GET_SIZE(substrings);
6124
+ for (i = 0; i < count; i++) {
6125
+ Py_ssize_t result;
6126
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
6127
+ result = PyUnicode_Tailmatch(s, PyTuple_GET_ITEM(substrings, i),
6128
+ start, end, direction);
6129
+ #else
6130
+ PyObject* sub = PySequence_ITEM(substrings, i);
6131
+ if (unlikely(!sub)) return -1;
6132
+ result = PyUnicode_Tailmatch(s, sub, start, end, direction);
6133
+ Py_DECREF(sub);
6134
+ #endif
6135
+ if (result) {
6136
+ return (int) result;
6137
+ }
6138
+ }
6139
+ return 0;
6140
+ }
6141
+ static int __Pyx_PyUnicode_Tailmatch(PyObject* s, PyObject* substr,
6142
+ Py_ssize_t start, Py_ssize_t end, int direction) {
6143
+ if (unlikely(PyTuple_Check(substr))) {
6144
+ return __Pyx_PyUnicode_TailmatchTuple(s, substr, start, end, direction);
6145
+ }
6146
+ return (int) PyUnicode_Tailmatch(s, substr, start, end, direction);
6147
+ }
6148
+
6149
6149
  /* SwapException */
6150
6150
  #if CYTHON_FAST_THREAD_STATE
6151
6151
  static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
@@ -2275,7 +2275,7 @@ typedef struct {
2275
2275
  #endif
2276
2276
  #if CYTHON_USE_MODULE_STATE
2277
2277
  #endif
2278
- PyObject *__pyx_kp_s_;
2278
+ PyObject *__pyx_kp_u_;
2279
2279
  PyObject *__pyx_n_s_InvalidFlagValue;
2280
2280
  PyObject *__pyx_n_s_TooManyFlags;
2281
2281
  PyObject *__pyx_n_s_TypeError;
@@ -2288,7 +2288,7 @@ typedef struct {
2288
2288
  PyObject *__pyx_n_s_cline_in_traceback;
2289
2289
  PyObject *__pyx_n_s_exceptions;
2290
2290
  PyObject *__pyx_n_s_import;
2291
- PyObject *__pyx_n_s_kwargs;
2291
+ PyObject *__pyx_n_u_kwargs;
2292
2292
  PyObject *__pyx_n_s_main;
2293
2293
  PyObject *__pyx_n_s_name;
2294
2294
  PyObject *__pyx_n_s_pop;
@@ -2335,7 +2335,7 @@ static int __pyx_m_clear(PyObject *m) {
2335
2335
  #ifdef __Pyx_FusedFunction_USED
2336
2336
  Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
2337
2337
  #endif
2338
- Py_CLEAR(clear_module_state->__pyx_kp_s_);
2338
+ Py_CLEAR(clear_module_state->__pyx_kp_u_);
2339
2339
  Py_CLEAR(clear_module_state->__pyx_n_s_InvalidFlagValue);
2340
2340
  Py_CLEAR(clear_module_state->__pyx_n_s_TooManyFlags);
2341
2341
  Py_CLEAR(clear_module_state->__pyx_n_s_TypeError);
@@ -2348,7 +2348,7 @@ static int __pyx_m_clear(PyObject *m) {
2348
2348
  Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
2349
2349
  Py_CLEAR(clear_module_state->__pyx_n_s_exceptions);
2350
2350
  Py_CLEAR(clear_module_state->__pyx_n_s_import);
2351
- Py_CLEAR(clear_module_state->__pyx_n_s_kwargs);
2351
+ Py_CLEAR(clear_module_state->__pyx_n_u_kwargs);
2352
2352
  Py_CLEAR(clear_module_state->__pyx_n_s_main);
2353
2353
  Py_CLEAR(clear_module_state->__pyx_n_s_name);
2354
2354
  Py_CLEAR(clear_module_state->__pyx_n_s_pop);
@@ -2373,7 +2373,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2373
2373
  #ifdef __Pyx_FusedFunction_USED
2374
2374
  Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
2375
2375
  #endif
2376
- Py_VISIT(traverse_module_state->__pyx_kp_s_);
2376
+ Py_VISIT(traverse_module_state->__pyx_kp_u_);
2377
2377
  Py_VISIT(traverse_module_state->__pyx_n_s_InvalidFlagValue);
2378
2378
  Py_VISIT(traverse_module_state->__pyx_n_s_TooManyFlags);
2379
2379
  Py_VISIT(traverse_module_state->__pyx_n_s_TypeError);
@@ -2386,7 +2386,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2386
2386
  Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
2387
2387
  Py_VISIT(traverse_module_state->__pyx_n_s_exceptions);
2388
2388
  Py_VISIT(traverse_module_state->__pyx_n_s_import);
2389
- Py_VISIT(traverse_module_state->__pyx_n_s_kwargs);
2389
+ Py_VISIT(traverse_module_state->__pyx_n_u_kwargs);
2390
2390
  Py_VISIT(traverse_module_state->__pyx_n_s_main);
2391
2391
  Py_VISIT(traverse_module_state->__pyx_n_s_name);
2392
2392
  Py_VISIT(traverse_module_state->__pyx_n_s_pop);
@@ -2425,7 +2425,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2425
2425
  #endif
2426
2426
  #if CYTHON_USE_MODULE_STATE
2427
2427
  #endif
2428
- #define __pyx_kp_s_ __pyx_mstate_global->__pyx_kp_s_
2428
+ #define __pyx_kp_u_ __pyx_mstate_global->__pyx_kp_u_
2429
2429
  #define __pyx_n_s_InvalidFlagValue __pyx_mstate_global->__pyx_n_s_InvalidFlagValue
2430
2430
  #define __pyx_n_s_TooManyFlags __pyx_mstate_global->__pyx_n_s_TooManyFlags
2431
2431
  #define __pyx_n_s_TypeError __pyx_mstate_global->__pyx_n_s_TypeError
@@ -2438,7 +2438,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2438
2438
  #define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
2439
2439
  #define __pyx_n_s_exceptions __pyx_mstate_global->__pyx_n_s_exceptions
2440
2440
  #define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
2441
- #define __pyx_n_s_kwargs __pyx_mstate_global->__pyx_n_s_kwargs
2441
+ #define __pyx_n_u_kwargs __pyx_mstate_global->__pyx_n_u_kwargs
2442
2442
  #define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
2443
2443
  #define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name
2444
2444
  #define __pyx_n_s_pop __pyx_mstate_global->__pyx_n_s_pop
@@ -2592,8 +2592,8 @@ static PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(PyObject *__pyx_
2592
2592
  */
2593
2593
  __Pyx_TraceLine(39,0,__PYX_ERR(0, 39, __pyx_L1_error))
2594
2594
  __Pyx_XDECREF(__pyx_r);
2595
- __Pyx_INCREF(__pyx_kp_s_);
2596
- __pyx_r = __pyx_kp_s_;
2595
+ __Pyx_INCREF(__pyx_kp_u_);
2596
+ __pyx_r = __pyx_kp_u_;
2597
2597
  goto __pyx_L0;
2598
2598
 
2599
2599
  /* "a_sync/a_sync/_kwargs.pyx":38
@@ -2617,7 +2617,7 @@ static PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(PyObject *__pyx_
2617
2617
  __Pyx_XDECREF(__pyx_r);
2618
2618
  __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_present_flags, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
2619
2619
  __Pyx_GOTREF(__pyx_t_1);
2620
- if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(0, 41, __pyx_L1_error)
2620
+ if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_1))) __PYX_ERR(0, 41, __pyx_L1_error)
2621
2621
  __pyx_r = ((PyObject*)__pyx_t_1);
2622
2622
  __pyx_t_1 = 0;
2623
2623
  goto __pyx_L0;
@@ -2661,7 +2661,7 @@ static PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(PyObject *__pyx_
2661
2661
  }
2662
2662
  #endif
2663
2663
  {
2664
- PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_n_s_kwargs, __pyx_v_present_flags};
2664
+ PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_n_u_kwargs, __pyx_v_present_flags};
2665
2665
  __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
2666
2666
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2667
2667
  if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)
@@ -3002,7 +3002,7 @@ static PyMethodDef __pyx_methods[] = {
3002
3002
 
3003
3003
  static int __Pyx_CreateStringTabAndInitStrings(void) {
3004
3004
  __Pyx_StringTabEntry __pyx_string_tab[] = {
3005
- {&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
3005
+ {&__pyx_kp_u_, __pyx_k_, sizeof(__pyx_k_), 0, 1, 0, 0},
3006
3006
  {&__pyx_n_s_InvalidFlagValue, __pyx_k_InvalidFlagValue, sizeof(__pyx_k_InvalidFlagValue), 0, 0, 1, 1},
3007
3007
  {&__pyx_n_s_TooManyFlags, __pyx_k_TooManyFlags, sizeof(__pyx_k_TooManyFlags), 0, 0, 1, 1},
3008
3008
  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
@@ -3015,7 +3015,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
3015
3015
  {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
3016
3016
  {&__pyx_n_s_exceptions, __pyx_k_exceptions, sizeof(__pyx_k_exceptions), 0, 0, 1, 1},
3017
3017
  {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
3018
- {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
3018
+ {&__pyx_n_u_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 1, 0, 1},
3019
3019
  {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
3020
3020
  {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
3021
3021
  {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},