claude-all-hands 1.0.0

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.
Files changed (1463) hide show
  1. package/.claude/agents/curator.md +128 -0
  2. package/.claude/agents/explorer.md +70 -0
  3. package/.claude/agents/parallel-worker.md +104 -0
  4. package/.claude/agents/planner.md +131 -0
  5. package/.claude/agents/researcher.md +48 -0
  6. package/.claude/commands/curation-fix.md +68 -0
  7. package/.claude/commands/new-branch.md +11 -0
  8. package/.claude/commands/parallel-discovery.md +51 -0
  9. package/.claude/commands/parallel-orchestration.md +81 -0
  10. package/.claude/commands/plan-checkpoint.md +12 -0
  11. package/.claude/commands/plan.md +64 -0
  12. package/.claude/envoy/.venv/.requirements.txt +2 -0
  13. package/.claude/envoy/.venv/bin/Activate.ps1 +241 -0
  14. package/.claude/envoy/.venv/bin/activate +66 -0
  15. package/.claude/envoy/.venv/bin/activate.csh +25 -0
  16. package/.claude/envoy/.venv/bin/activate.fish +64 -0
  17. package/.claude/envoy/.venv/bin/httpx +8 -0
  18. package/.claude/envoy/.venv/bin/normalizer +8 -0
  19. package/.claude/envoy/.venv/bin/pip +8 -0
  20. package/.claude/envoy/.venv/bin/pip3 +8 -0
  21. package/.claude/envoy/.venv/bin/pip3.9 +8 -0
  22. package/.claude/envoy/.venv/bin/pyrsa-decrypt +8 -0
  23. package/.claude/envoy/.venv/bin/pyrsa-encrypt +8 -0
  24. package/.claude/envoy/.venv/bin/pyrsa-keygen +8 -0
  25. package/.claude/envoy/.venv/bin/pyrsa-priv2pub +8 -0
  26. package/.claude/envoy/.venv/bin/pyrsa-sign +8 -0
  27. package/.claude/envoy/.venv/bin/pyrsa-verify +8 -0
  28. package/.claude/envoy/.venv/bin/websockets +8 -0
  29. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py +128 -0
  30. package/.claude/envoy/.venv/lib/python3.9/site-packages/_distutils_hack/override.py +1 -0
  31. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/__init__.py +432 -0
  32. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/py.typed +0 -0
  33. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types/test_cases.py +151 -0
  34. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/INSTALLER +1 -0
  35. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/METADATA +295 -0
  36. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/RECORD +10 -0
  37. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/WHEEL +4 -0
  38. package/.claude/envoy/.venv/lib/python3.9/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE +21 -0
  39. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/__init__.py +111 -0
  40. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/__init__.py +0 -0
  41. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py +3007 -0
  42. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_backends/_trio.py +1384 -0
  43. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/__init__.py +0 -0
  44. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_asyncio_selector_thread.py +167 -0
  45. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_contextmanagers.py +200 -0
  46. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_eventloop.py +229 -0
  47. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_exceptions.py +153 -0
  48. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_fileio.py +797 -0
  49. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_resources.py +18 -0
  50. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_signals.py +27 -0
  51. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_sockets.py +991 -0
  52. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_streams.py +52 -0
  53. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_subprocesses.py +202 -0
  54. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_synchronization.py +753 -0
  55. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tasks.py +163 -0
  56. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_tempfile.py +616 -0
  57. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_testing.py +78 -0
  58. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/_core/_typedattr.py +81 -0
  59. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/__init__.py +58 -0
  60. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_eventloop.py +420 -0
  61. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_resources.py +33 -0
  62. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_sockets.py +405 -0
  63. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_streams.py +239 -0
  64. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_subprocesses.py +79 -0
  65. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_tasks.py +117 -0
  66. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/abc/_testing.py +65 -0
  67. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/from_thread.py +570 -0
  68. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/functools.py +347 -0
  69. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/lowlevel.py +195 -0
  70. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/py.typed +0 -0
  71. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/pytest_plugin.py +302 -0
  72. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/__init__.py +0 -0
  73. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/buffered.py +188 -0
  74. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/file.py +154 -0
  75. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/memory.py +325 -0
  76. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/stapled.py +147 -0
  77. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/text.py +176 -0
  78. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/streams/tls.py +424 -0
  79. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_interpreter.py +246 -0
  80. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_process.py +264 -0
  81. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio/to_thread.py +74 -0
  82. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/INSTALLER +1 -0
  83. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/METADATA +96 -0
  84. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/RECORD +92 -0
  85. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/WHEEL +5 -0
  86. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/entry_points.txt +2 -0
  87. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/licenses/LICENSE +20 -0
  88. package/.claude/envoy/.venv/lib/python3.9/site-packages/anyio-4.12.0.dist-info/top_level.txt +1 -0
  89. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/__init__.py +718 -0
  90. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cached.py +247 -0
  91. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/_cachedmethod.py +128 -0
  92. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/func.py +102 -0
  93. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools/keys.py +62 -0
  94. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/INSTALLER +1 -0
  95. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/METADATA +156 -0
  96. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/RECORD +16 -0
  97. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/WHEEL +5 -0
  98. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/licenses/LICENSE +20 -0
  99. package/.claude/envoy/.venv/lib/python3.9/site-packages/cachetools-6.2.2.dist-info/top_level.txt +1 -0
  100. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__init__.py +4 -0
  101. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/__main__.py +12 -0
  102. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/cacert.pem +4678 -0
  103. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/core.py +83 -0
  104. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi/py.typed +0 -0
  105. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/INSTALLER +1 -0
  106. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/METADATA +78 -0
  107. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/RECORD +14 -0
  108. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/WHEEL +5 -0
  109. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/licenses/LICENSE +20 -0
  110. package/.claude/envoy/.venv/lib/python3.9/site-packages/certifi-2025.11.12.dist-info/top_level.txt +1 -0
  111. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__init__.py +48 -0
  112. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/__main__.py +6 -0
  113. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/api.py +669 -0
  114. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cd.py +395 -0
  115. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__init__.py +8 -0
  116. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/cli/__main__.py +381 -0
  117. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/constant.py +2015 -0
  118. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/legacy.py +80 -0
  119. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.cpython-39-darwin.so +0 -0
  120. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md.py +635 -0
  121. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/md__mypyc.cpython-39-darwin.so +0 -0
  122. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/models.py +360 -0
  123. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/py.typed +0 -0
  124. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/utils.py +414 -0
  125. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer/version.py +8 -0
  126. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/INSTALLER +1 -0
  127. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/METADATA +764 -0
  128. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/RECORD +35 -0
  129. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/WHEEL +6 -0
  130. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/entry_points.txt +2 -0
  131. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/licenses/LICENSE +21 -0
  132. package/.claude/envoy/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.4.dist-info/top_level.txt +1 -0
  133. package/.claude/envoy/.venv/lib/python3.9/site-packages/distutils-precedence.pth +1 -0
  134. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/__init__.py +46 -0
  135. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_catch.py +138 -0
  136. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_exceptions.py +336 -0
  137. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_formatting.py +602 -0
  138. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_suppress.py +55 -0
  139. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/_version.py +34 -0
  140. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup/py.typed +0 -0
  141. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/INSTALLER +1 -0
  142. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/METADATA +159 -0
  143. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/RECORD +18 -0
  144. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/WHEEL +4 -0
  145. package/.claude/envoy/.venv/lib/python3.9/site-packages/exceptiongroup-1.3.1.dist-info/licenses/LICENSE +73 -0
  146. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/__init__.py +53 -0
  147. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_cloud_sdk.py +153 -0
  148. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_constants.py +5 -0
  149. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_async.py +171 -0
  150. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_credentials_base.py +75 -0
  151. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default.py +739 -0
  152. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_default_async.py +288 -0
  153. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_exponential_backoff.py +164 -0
  154. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_helpers.py +554 -0
  155. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_jwt_async.py +164 -0
  156. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_oauth2client.py +167 -0
  157. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_refresh_worker.py +109 -0
  158. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/_service_account_info.py +80 -0
  159. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/__init__.py +25 -0
  160. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/_helpers.py +62 -0
  161. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/credentials.py +143 -0
  162. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/__init__.py +144 -0
  163. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/aiohttp.py +190 -0
  164. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aio/transport/sessions.py +268 -0
  165. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/api_key.py +76 -0
  166. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/app_engine.py +180 -0
  167. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/aws.py +861 -0
  168. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/__init__.py +22 -0
  169. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/_metadata.py +379 -0
  170. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/compute_engine/credentials.py +558 -0
  171. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/credentials.py +665 -0
  172. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/__init__.py +98 -0
  173. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_cryptography_rsa.py +151 -0
  174. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_helpers.py +0 -0
  175. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/_python_rsa.py +175 -0
  176. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/base.py +127 -0
  177. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/es256.py +175 -0
  178. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/crypt/rsa.py +30 -0
  179. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/downscoped.py +512 -0
  180. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/environment_vars.py +88 -0
  181. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/exceptions.py +108 -0
  182. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account.py +708 -0
  183. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/external_account_authorized_user.py +433 -0
  184. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/iam.py +136 -0
  185. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/identity_pool.py +552 -0
  186. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/impersonated_credentials.py +705 -0
  187. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/jwt.py +878 -0
  188. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/metrics.py +154 -0
  189. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/pluggable.py +453 -0
  190. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/py.typed +2 -0
  191. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/__init__.py +104 -0
  192. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_aiohttp_requests.py +398 -0
  193. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_custom_tls_signer.py +283 -0
  194. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_http_client.py +115 -0
  195. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_mtls_helper.py +446 -0
  196. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/_requests_base.py +53 -0
  197. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/grpc.py +337 -0
  198. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/mtls.py +129 -0
  199. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/requests.py +597 -0
  200. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/transport/urllib3.py +449 -0
  201. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/auth/version.py +15 -0
  202. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/__init__.py +25 -0
  203. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_adapters.py +55 -0
  204. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_client.py +1840 -0
  205. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_api_module.py +29 -0
  206. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_automatic_function_calling_util.py +325 -0
  207. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_transformers.py +26 -0
  208. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_base_url.py +50 -0
  209. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_common.py +778 -0
  210. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_extra_utils.py +618 -0
  211. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_live_converters.py +1424 -0
  212. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_local_tokenizer_loader.py +223 -0
  213. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_mcp_utils.py +117 -0
  214. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_operations_converters.py +298 -0
  215. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_replay_api_client.py +686 -0
  216. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_test_api_client.py +149 -0
  217. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_tokens_converters.py +480 -0
  218. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/_transformers.py +1368 -0
  219. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/batches.py +2461 -0
  220. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/caches.py +1489 -0
  221. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/chats.py +531 -0
  222. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/client.py +403 -0
  223. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/errors.py +202 -0
  224. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/files.py +1019 -0
  225. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live.py +1165 -0
  226. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/live_music.py +197 -0
  227. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/local_tokenizer.py +395 -0
  228. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/models.py +7335 -0
  229. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/operations.py +498 -0
  230. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/pagers.py +262 -0
  231. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/py.typed +1 -0
  232. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tokens.py +362 -0
  233. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/tunings.py +1970 -0
  234. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/types.py +16507 -0
  235. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/genai/version.py +16 -0
  236. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/__init__.py +36 -0
  237. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client.py +625 -0
  238. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_client_async.py +286 -0
  239. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_credentials_async.py +118 -0
  240. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_id_token_async.py +285 -0
  241. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_reauth_async.py +328 -0
  242. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/_service_account_async.py +132 -0
  243. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/challenges.py +281 -0
  244. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/credentials.py +614 -0
  245. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/gdch_credentials.py +251 -0
  246. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/id_token.py +370 -0
  247. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/py.typed +2 -0
  248. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/reauth.py +369 -0
  249. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/service_account.py +881 -0
  250. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/sts.py +176 -0
  251. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/utils.py +168 -0
  252. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler.py +82 -0
  253. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_handler_factory.py +16 -0
  254. package/.claude/envoy/.venv/lib/python3.9/site-packages/google/oauth2/webauthn_types.py +156 -0
  255. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/INSTALLER +1 -0
  256. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/METADATA +181 -0
  257. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/RECORD +154 -0
  258. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/WHEEL +6 -0
  259. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/licenses/LICENSE +201 -0
  260. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_auth-2.43.0.dist-info/top_level.txt +1 -0
  261. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/INSTALLER +1 -0
  262. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/METADATA +1864 -0
  263. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/RECORD +74 -0
  264. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/REQUESTED +0 -0
  265. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/WHEEL +5 -0
  266. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/licenses/LICENSE +202 -0
  267. package/.claude/envoy/.venv/lib/python3.9/site-packages/google_genai-1.47.0.dist-info/top_level.txt +1 -0
  268. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/__init__.py +62 -0
  269. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_abnf.py +132 -0
  270. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_connection.py +659 -0
  271. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_events.py +369 -0
  272. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_headers.py +282 -0
  273. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_readers.py +250 -0
  274. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_receivebuffer.py +153 -0
  275. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_state.py +365 -0
  276. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_util.py +135 -0
  277. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_version.py +16 -0
  278. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/_writers.py +145 -0
  279. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11/py.typed +1 -0
  280. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/INSTALLER +1 -0
  281. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/METADATA +202 -0
  282. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/RECORD +29 -0
  283. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/WHEEL +5 -0
  284. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/licenses/LICENSE.txt +22 -0
  285. package/.claude/envoy/.venv/lib/python3.9/site-packages/h11-0.16.0.dist-info/top_level.txt +1 -0
  286. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/__init__.py +141 -0
  287. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_api.py +94 -0
  288. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/__init__.py +39 -0
  289. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection.py +222 -0
  290. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/connection_pool.py +420 -0
  291. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http11.py +379 -0
  292. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http2.py +592 -0
  293. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/http_proxy.py +367 -0
  294. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/interfaces.py +137 -0
  295. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_async/socks_proxy.py +341 -0
  296. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/__init__.py +0 -0
  297. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/anyio.py +146 -0
  298. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/auto.py +52 -0
  299. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/base.py +101 -0
  300. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/mock.py +143 -0
  301. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/sync.py +241 -0
  302. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_backends/trio.py +159 -0
  303. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_exceptions.py +81 -0
  304. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_models.py +516 -0
  305. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_ssl.py +9 -0
  306. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/__init__.py +39 -0
  307. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection.py +222 -0
  308. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/connection_pool.py +420 -0
  309. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http11.py +379 -0
  310. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http2.py +592 -0
  311. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/http_proxy.py +367 -0
  312. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/interfaces.py +137 -0
  313. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_sync/socks_proxy.py +341 -0
  314. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_synchronization.py +318 -0
  315. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_trace.py +107 -0
  316. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/_utils.py +37 -0
  317. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore/py.typed +0 -0
  318. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/INSTALLER +1 -0
  319. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/METADATA +625 -0
  320. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/RECORD +68 -0
  321. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/WHEEL +4 -0
  322. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpcore-1.0.9.dist-info/licenses/LICENSE.md +27 -0
  323. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__init__.py +105 -0
  324. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/__version__.py +3 -0
  325. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_api.py +438 -0
  326. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_auth.py +348 -0
  327. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_client.py +2019 -0
  328. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_config.py +248 -0
  329. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_content.py +240 -0
  330. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_decoders.py +393 -0
  331. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_exceptions.py +379 -0
  332. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_main.py +506 -0
  333. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_models.py +1277 -0
  334. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_multipart.py +300 -0
  335. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_status_codes.py +162 -0
  336. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/__init__.py +15 -0
  337. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/asgi.py +187 -0
  338. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/base.py +86 -0
  339. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/default.py +406 -0
  340. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/mock.py +43 -0
  341. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_transports/wsgi.py +149 -0
  342. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_types.py +114 -0
  343. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urlparse.py +527 -0
  344. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_urls.py +641 -0
  345. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/_utils.py +242 -0
  346. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx/py.typed +0 -0
  347. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/INSTALLER +1 -0
  348. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/METADATA +203 -0
  349. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/RECORD +54 -0
  350. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/WHEEL +4 -0
  351. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/entry_points.txt +2 -0
  352. package/.claude/envoy/.venv/lib/python3.9/site-packages/httpx-0.28.1.dist-info/licenses/LICENSE.md +12 -0
  353. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/__init__.py +45 -0
  354. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/codec.py +122 -0
  355. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/compat.py +15 -0
  356. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/core.py +437 -0
  357. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/idnadata.py +4309 -0
  358. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/intranges.py +57 -0
  359. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/package_data.py +1 -0
  360. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/py.typed +0 -0
  361. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna/uts46data.py +8841 -0
  362. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/INSTALLER +1 -0
  363. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/METADATA +209 -0
  364. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/RECORD +22 -0
  365. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/WHEEL +4 -0
  366. package/.claude/envoy/.venv/lib/python3.9/site-packages/idna-3.11.dist-info/licenses/LICENSE.md +31 -0
  367. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__init__.py +13 -0
  368. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/__main__.py +31 -0
  369. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/__init__.py +19 -0
  370. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py +294 -0
  371. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cache.py +287 -0
  372. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py +4 -0
  373. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py +163 -0
  374. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py +214 -0
  375. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py +1009 -0
  376. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py +27 -0
  377. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py +70 -0
  378. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py +87 -0
  379. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py +292 -0
  380. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py +250 -0
  381. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py +453 -0
  382. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py +157 -0
  383. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py +6 -0
  384. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py +112 -0
  385. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py +216 -0
  386. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py +47 -0
  387. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py +91 -0
  388. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py +266 -0
  389. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py +204 -0
  390. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py +139 -0
  391. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py +84 -0
  392. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py +55 -0
  393. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py +41 -0
  394. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/index.py +139 -0
  395. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py +750 -0
  396. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py +337 -0
  397. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py +164 -0
  398. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py +234 -0
  399. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py +100 -0
  400. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py +176 -0
  401. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/configuration.py +403 -0
  402. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py +21 -0
  403. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py +38 -0
  404. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py +22 -0
  405. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py +95 -0
  406. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py +34 -0
  407. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py +397 -0
  408. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py +2 -0
  409. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py +534 -0
  410. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py +982 -0
  411. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/index/sources.py +224 -0
  412. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/__init__.py +408 -0
  413. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_distutils.py +169 -0
  414. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py +219 -0
  415. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/locations/base.py +52 -0
  416. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/main.py +13 -0
  417. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/__init__.py +48 -0
  418. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/base.py +242 -0
  419. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/metadata/pkg_resources.py +153 -0
  420. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py +2 -0
  421. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py +31 -0
  422. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py +220 -0
  423. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py +84 -0
  424. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/index.py +32 -0
  425. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/link.py +288 -0
  426. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py +31 -0
  427. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py +126 -0
  428. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py +46 -0
  429. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py +111 -0
  430. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py +92 -0
  431. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py +2 -0
  432. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py +316 -0
  433. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py +69 -0
  434. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/download.py +184 -0
  435. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py +210 -0
  436. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/session.py +454 -0
  437. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py +96 -0
  438. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py +60 -0
  439. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py +0 -0
  440. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  441. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py +35 -0
  442. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py +74 -0
  443. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  444. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py +110 -0
  445. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py +153 -0
  446. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py +277 -0
  447. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py +2 -0
  448. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py +47 -0
  449. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py +132 -0
  450. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py +803 -0
  451. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py +655 -0
  452. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py +183 -0
  453. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py +94 -0
  454. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py +474 -0
  455. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py +528 -0
  456. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py +846 -0
  457. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py +190 -0
  458. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py +130 -0
  459. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py +629 -0
  460. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py +0 -0
  461. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py +18 -0
  462. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  463. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py +453 -0
  464. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  465. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py +144 -0
  466. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py +555 -0
  467. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py +700 -0
  468. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +142 -0
  469. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py +197 -0
  470. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py +69 -0
  471. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py +166 -0
  472. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py +272 -0
  473. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py +187 -0
  474. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py +0 -0
  475. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/_log.py +38 -0
  476. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py +35 -0
  477. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py +63 -0
  478. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py +168 -0
  479. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py +11 -0
  480. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py +104 -0
  481. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py +79 -0
  482. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py +42 -0
  483. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py +36 -0
  484. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py +27 -0
  485. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py +182 -0
  486. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py +28 -0
  487. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py +92 -0
  488. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py +165 -0
  489. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py +36 -0
  490. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py +391 -0
  491. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py +828 -0
  492. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py +47 -0
  493. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py +89 -0
  494. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py +101 -0
  495. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py +40 -0
  496. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py +173 -0
  497. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py +281 -0
  498. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py +260 -0
  499. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py +267 -0
  500. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py +65 -0
  501. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py +111 -0
  502. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py +189 -0
  503. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py +15 -0
  504. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py +96 -0
  505. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py +506 -0
  506. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py +158 -0
  507. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py +329 -0
  508. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py +722 -0
  509. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py +360 -0
  510. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py +111 -0
  511. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py +633 -0
  512. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
  513. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py +57 -0
  514. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py +133 -0
  515. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
  516. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
  517. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +146 -0
  518. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +33 -0
  519. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
  520. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py +376 -0
  521. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py +80 -0
  522. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py +135 -0
  523. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py +188 -0
  524. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py +29 -0
  525. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py +3 -0
  526. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  527. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem +4257 -0
  528. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py +76 -0
  529. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py +83 -0
  530. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
  531. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py +47 -0
  532. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py +233 -0
  533. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py +107 -0
  534. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
  535. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
  536. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py +84 -0
  537. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
  538. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py +36 -0
  539. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py +49 -0
  540. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py +76 -0
  541. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py +101 -0
  542. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py +246 -0
  543. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
  544. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
  545. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py +47 -0
  546. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py +387 -0
  547. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py +46 -0
  548. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py +283 -0
  549. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py +46 -0
  550. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py +292 -0
  551. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py +325 -0
  552. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py +233 -0
  553. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +4650 -0
  554. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py +4398 -0
  555. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py +4383 -0
  556. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py +4650 -0
  557. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py +5718 -0
  558. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py +4383 -0
  559. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py +4383 -0
  560. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py +145 -0
  561. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
  562. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +54 -0
  563. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
  564. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py +0 -0
  565. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py +310 -0
  566. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py +145 -0
  567. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +83 -0
  568. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
  569. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
  570. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py +82 -0
  571. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py +9 -0
  572. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py +6 -0
  573. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py +102 -0
  574. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py +258 -0
  575. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py +80 -0
  576. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py +152 -0
  577. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py +169 -0
  578. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py +23 -0
  579. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -0
  580. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -0
  581. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py +764 -0
  582. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -0
  583. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +786 -0
  584. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -0
  585. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py +1120 -0
  586. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py +1339 -0
  587. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py +509 -0
  588. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py +1300 -0
  589. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py +393 -0
  590. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py +130 -0
  591. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py +1058 -0
  592. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py +358 -0
  593. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py +423 -0
  594. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  595. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  596. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py +1965 -0
  597. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py +739 -0
  598. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  599. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  600. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py +1056 -0
  601. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/distro.py +1230 -0
  602. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py +35 -0
  603. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py +289 -0
  604. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py +918 -0
  605. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py +1735 -0
  606. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py +5 -0
  607. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py +40 -0
  608. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py +67 -0
  609. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py +159 -0
  610. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py +2946 -0
  611. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  612. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -0
  613. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py +12 -0
  614. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -0
  615. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -0
  616. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -0
  617. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +916 -0
  618. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -0
  619. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py +2795 -0
  620. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
  621. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
  622. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
  623. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -0
  624. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -0
  625. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py +417 -0
  626. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +239 -0
  627. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +343 -0
  628. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +392 -0
  629. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -0
  630. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py +252 -0
  631. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -0
  632. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +131 -0
  633. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +215 -0
  634. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +69 -0
  635. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py +44 -0
  636. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py +117 -0
  637. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py +16 -0
  638. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py +409 -0
  639. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py +2050 -0
  640. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py +58 -0
  641. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py +2 -0
  642. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py +8438 -0
  643. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py +54 -0
  644. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py +1 -0
  645. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  646. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py +193 -0
  647. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py +1087 -0
  648. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py +26 -0
  649. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py +25 -0
  650. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_manylinux.py +301 -0
  651. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_musllinux.py +136 -0
  652. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py +67 -0
  653. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py +304 -0
  654. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py +146 -0
  655. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py +828 -0
  656. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py +484 -0
  657. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py +136 -0
  658. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py +504 -0
  659. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py +6 -0
  660. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py +127 -0
  661. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py +207 -0
  662. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py +115 -0
  663. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py +42 -0
  664. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py +44 -0
  665. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py +171 -0
  666. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/__init__.py +17 -0
  667. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py +349 -0
  668. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py +92 -0
  669. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py +371 -0
  670. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py +3296 -0
  671. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py +23 -0
  672. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py +177 -0
  673. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py +91 -0
  674. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py +41 -0
  675. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py +43 -0
  676. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py +7107 -0
  677. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py +154 -0
  678. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py +14 -0
  679. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
  680. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py +533 -0
  681. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py +159 -0
  682. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py +305 -0
  683. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py +18 -0
  684. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py +76 -0
  685. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py +549 -0
  686. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py +127 -0
  687. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py +132 -0
  688. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py +34 -0
  689. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py +966 -0
  690. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py +16 -0
  691. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py +781 -0
  692. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py +123 -0
  693. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py +105 -0
  694. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py +1013 -0
  695. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
  696. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  697. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
  698. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py +124 -0
  699. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py +37 -0
  700. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py +473 -0
  701. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py +165 -0
  702. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/six.py +998 -0
  703. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/__init__.py +517 -0
  704. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_asyncio.py +92 -0
  705. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/_utils.py +68 -0
  706. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/after.py +46 -0
  707. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before.py +41 -0
  708. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/before_sleep.py +58 -0
  709. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/nap.py +43 -0
  710. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/retry.py +213 -0
  711. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/stop.py +96 -0
  712. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/tornadoweb.py +59 -0
  713. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tenacity/wait.py +191 -0
  714. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/__init__.py +6 -0
  715. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py +703 -0
  716. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_re.py +83 -0
  717. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py +85 -0
  718. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py +337 -0
  719. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  720. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py +539 -0
  721. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py +1067 -0
  722. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  723. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  724. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  725. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  726. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +396 -0
  727. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  728. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  729. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +511 -0
  730. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +922 -0
  731. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  732. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  733. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  734. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  735. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py +5 -0
  736. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  737. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  738. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py +1077 -0
  739. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +24 -0
  740. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +160 -0
  741. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py +536 -0
  742. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py +170 -0
  743. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py +821 -0
  744. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  745. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py +150 -0
  746. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py +56 -0
  747. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  748. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py +143 -0
  749. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  750. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py +602 -0
  751. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py +495 -0
  752. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  753. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py +268 -0
  754. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py +432 -0
  755. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py +153 -0
  756. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +22 -0
  757. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
  758. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py +231 -0
  759. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
  760. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py +153 -0
  761. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
  762. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip/py.typed +4 -0
  763. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/INSTALLER +1 -0
  764. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/LICENSE.txt +20 -0
  765. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/METADATA +92 -0
  766. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/RECORD +795 -0
  767. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/REQUESTED +0 -0
  768. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/WHEEL +5 -0
  769. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/entry_points.txt +5 -0
  770. package/.claude/envoy/.venv/lib/python3.9/site-packages/pip-21.2.4.dist-info/top_level.txt +1 -0
  771. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/__init__.py +3288 -0
  772. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  773. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py +608 -0
  774. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py +27 -0
  775. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py +26 -0
  776. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py +38 -0
  777. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py +86 -0
  778. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py +48 -0
  779. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py +328 -0
  780. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py +145 -0
  781. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py +863 -0
  782. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py +751 -0
  783. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py +65 -0
  784. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py +535 -0
  785. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py +5742 -0
  786. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py +73 -0
  787. package/.claude/envoy/.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py +6 -0
  788. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/__init__.py +2 -0
  789. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/__init__.py +1 -0
  790. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/__init__.py +1 -0
  791. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/decoder.py +2189 -0
  792. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/encoder.py +954 -0
  793. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/ber/eoo.py +28 -0
  794. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/__init__.py +1 -0
  795. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/decoder.py +149 -0
  796. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/cer/encoder.py +331 -0
  797. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/__init__.py +1 -0
  798. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/decoder.py +120 -0
  799. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/der/encoder.py +126 -0
  800. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/__init__.py +1 -0
  801. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/decoder.py +244 -0
  802. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/native/encoder.py +285 -0
  803. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/codec/streaming.py +234 -0
  804. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/__init__.py +4 -0
  805. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/compat/integer.py +13 -0
  806. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/debug.py +146 -0
  807. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/error.py +116 -0
  808. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/__init__.py +1 -0
  809. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/base.py +699 -0
  810. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/char.py +288 -0
  811. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/constraint.py +751 -0
  812. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/error.py +11 -0
  813. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedtype.py +550 -0
  814. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/namedval.py +192 -0
  815. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/opentype.py +104 -0
  816. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tag.py +335 -0
  817. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/tagmap.py +96 -0
  818. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/univ.py +3327 -0
  819. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1/type/useful.py +189 -0
  820. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/INSTALLER +1 -0
  821. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/LICENSE.rst +24 -0
  822. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/METADATA +228 -0
  823. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/RECORD +71 -0
  824. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/WHEEL +5 -0
  825. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/top_level.txt +1 -0
  826. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1-0.6.1.dist-info/zip-safe +1 -0
  827. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/__init__.py +2 -0
  828. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/pem.py +58 -0
  829. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1155.py +96 -0
  830. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1157.py +126 -0
  831. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1901.py +22 -0
  832. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1902.py +129 -0
  833. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc1905.py +135 -0
  834. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2251.py +563 -0
  835. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2314.py +48 -0
  836. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2315.py +294 -0
  837. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2437.py +69 -0
  838. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2459.py +1339 -0
  839. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2511.py +258 -0
  840. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2560.py +225 -0
  841. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2631.py +37 -0
  842. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2634.py +336 -0
  843. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2876.py +56 -0
  844. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2985.py +588 -0
  845. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc2986.py +75 -0
  846. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3058.py +42 -0
  847. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3114.py +77 -0
  848. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3125.py +469 -0
  849. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3161.py +142 -0
  850. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3274.py +59 -0
  851. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3279.py +260 -0
  852. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3280.py +1543 -0
  853. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3281.py +331 -0
  854. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3370.py +146 -0
  855. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3412.py +53 -0
  856. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3414.py +28 -0
  857. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3447.py +45 -0
  858. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3537.py +34 -0
  859. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3560.py +74 -0
  860. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3565.py +57 -0
  861. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3657.py +66 -0
  862. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3709.py +207 -0
  863. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3739.py +203 -0
  864. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3770.py +75 -0
  865. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3779.py +137 -0
  866. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3820.py +65 -0
  867. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc3852.py +706 -0
  868. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4010.py +58 -0
  869. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4043.py +43 -0
  870. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4055.py +258 -0
  871. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4073.py +59 -0
  872. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4108.py +350 -0
  873. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4210.py +803 -0
  874. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4211.py +396 -0
  875. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4334.py +75 -0
  876. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4357.py +477 -0
  877. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4387.py +23 -0
  878. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4476.py +93 -0
  879. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4490.py +113 -0
  880. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4491.py +44 -0
  881. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4683.py +72 -0
  882. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc4985.py +49 -0
  883. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5035.py +199 -0
  884. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5083.py +52 -0
  885. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5084.py +97 -0
  886. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5126.py +577 -0
  887. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5208.py +56 -0
  888. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5275.py +404 -0
  889. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5280.py +1658 -0
  890. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5480.py +190 -0
  891. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5636.py +113 -0
  892. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5639.py +49 -0
  893. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5649.py +33 -0
  894. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5652.py +761 -0
  895. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5697.py +70 -0
  896. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5751.py +124 -0
  897. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5752.py +49 -0
  898. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5753.py +157 -0
  899. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5755.py +398 -0
  900. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5913.py +44 -0
  901. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5914.py +119 -0
  902. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5915.py +32 -0
  903. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5916.py +35 -0
  904. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5917.py +55 -0
  905. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5924.py +19 -0
  906. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5934.py +786 -0
  907. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5940.py +59 -0
  908. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5958.py +98 -0
  909. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc5990.py +237 -0
  910. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6010.py +88 -0
  911. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6019.py +45 -0
  912. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6031.py +469 -0
  913. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6032.py +68 -0
  914. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6120.py +43 -0
  915. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6170.py +17 -0
  916. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6187.py +22 -0
  917. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6210.py +42 -0
  918. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6211.py +72 -0
  919. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6402.py +628 -0
  920. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6482.py +74 -0
  921. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6486.py +68 -0
  922. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6487.py +22 -0
  923. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6664.py +147 -0
  924. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6955.py +108 -0
  925. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc6960.py +223 -0
  926. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7030.py +66 -0
  927. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7191.py +261 -0
  928. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7229.py +29 -0
  929. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7292.py +357 -0
  930. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7296.py +32 -0
  931. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7508.py +90 -0
  932. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7585.py +50 -0
  933. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7633.py +38 -0
  934. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7773.py +52 -0
  935. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7894.py +92 -0
  936. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7906.py +736 -0
  937. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc7914.py +49 -0
  938. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8017.py +153 -0
  939. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8018.py +260 -0
  940. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8103.py +36 -0
  941. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8209.py +20 -0
  942. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8226.py +149 -0
  943. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8358.py +50 -0
  944. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8360.py +44 -0
  945. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8398.py +52 -0
  946. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8410.py +43 -0
  947. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8418.py +36 -0
  948. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8419.py +68 -0
  949. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8479.py +45 -0
  950. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8494.py +80 -0
  951. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8520.py +63 -0
  952. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8619.py +45 -0
  953. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8649.py +40 -0
  954. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8692.py +79 -0
  955. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8696.py +104 -0
  956. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8702.py +105 -0
  957. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8708.py +41 -0
  958. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules/rfc8769.py +21 -0
  959. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/INSTALLER +1 -0
  960. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/METADATA +73 -0
  961. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/RECORD +271 -0
  962. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/WHEEL +5 -0
  963. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/licenses/LICENSE.txt +24 -0
  964. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/top_level.txt +1 -0
  965. package/.claude/envoy/.venv/lib/python3.9/site-packages/pyasn1_modules-0.4.2.dist-info/zip-safe +1 -0
  966. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/__init__.py +456 -0
  967. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/__init__.py +0 -0
  968. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_config.py +383 -0
  969. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_metadata.py +97 -0
  970. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_core_utils.py +174 -0
  971. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_dataclasses.py +315 -0
  972. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators.py +858 -0
  973. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_decorators_v1.py +174 -0
  974. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_discriminated_union.py +479 -0
  975. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_docs_extraction.py +113 -0
  976. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_fields.py +635 -0
  977. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_forward_ref.py +23 -0
  978. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py +2867 -0
  979. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_generics.py +543 -0
  980. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_git.py +27 -0
  981. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_import_utils.py +20 -0
  982. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_internal_dataclass.py +7 -0
  983. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_known_annotated_metadata.py +401 -0
  984. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_mock_val_ser.py +228 -0
  985. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py +848 -0
  986. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_namespace_utils.py +293 -0
  987. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_repr.py +124 -0
  988. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_gather.py +209 -0
  989. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py +125 -0
  990. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_serializers.py +53 -0
  991. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_signature.py +188 -0
  992. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_typing_extra.py +760 -0
  993. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_utils.py +446 -0
  994. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validate_call.py +140 -0
  995. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_internal/_validators.py +533 -0
  996. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/_migration.py +316 -0
  997. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/alias_generators.py +62 -0
  998. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/aliases.py +135 -0
  999. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/annotated_handlers.py +122 -0
  1000. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/class_validators.py +5 -0
  1001. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/color.py +604 -0
  1002. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/config.py +1288 -0
  1003. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/dataclasses.py +413 -0
  1004. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py +5 -0
  1005. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/decorator.py +5 -0
  1006. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/__init__.py +0 -0
  1007. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/class_validators.py +256 -0
  1008. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/config.py +72 -0
  1009. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/copy_internals.py +224 -0
  1010. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/decorator.py +284 -0
  1011. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/json.py +141 -0
  1012. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/parse.py +80 -0
  1013. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/deprecated/tools.py +103 -0
  1014. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/env_settings.py +5 -0
  1015. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py +5 -0
  1016. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/errors.py +189 -0
  1017. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/__init__.py +1 -0
  1018. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/arguments_schema.py +44 -0
  1019. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/missing_sentinel.py +5 -0
  1020. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/experimental/pipeline.py +654 -0
  1021. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/fields.py +1834 -0
  1022. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_serializers.py +451 -0
  1023. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/functional_validators.py +893 -0
  1024. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/generics.py +5 -0
  1025. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json.py +5 -0
  1026. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/json_schema.py +2854 -0
  1027. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/main.py +1819 -0
  1028. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/mypy.py +1374 -0
  1029. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/networks.py +1331 -0
  1030. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/parse.py +5 -0
  1031. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/__init__.py +193 -0
  1032. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_loader.py +58 -0
  1033. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/plugin/_schema_validator.py +140 -0
  1034. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/py.typed +0 -0
  1035. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/root_model.py +155 -0
  1036. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/schema.py +5 -0
  1037. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/tools.py +5 -0
  1038. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/type_adapter.py +795 -0
  1039. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/types.py +3295 -0
  1040. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/typing.py +5 -0
  1041. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/utils.py +5 -0
  1042. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/__init__.py +142 -0
  1043. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/_hypothesis_plugin.py +391 -0
  1044. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/annotated_types.py +72 -0
  1045. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/class_validators.py +361 -0
  1046. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/color.py +494 -0
  1047. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/config.py +191 -0
  1048. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/dataclasses.py +500 -0
  1049. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/datetime_parse.py +248 -0
  1050. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/decorator.py +264 -0
  1051. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/env_settings.py +350 -0
  1052. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/error_wrappers.py +161 -0
  1053. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/errors.py +646 -0
  1054. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/fields.py +1253 -0
  1055. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/generics.py +400 -0
  1056. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/json.py +112 -0
  1057. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/main.py +1113 -0
  1058. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/mypy.py +949 -0
  1059. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/networks.py +747 -0
  1060. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/parse.py +66 -0
  1061. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/py.typed +0 -0
  1062. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/schema.py +1163 -0
  1063. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/tools.py +92 -0
  1064. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/types.py +1205 -0
  1065. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/typing.py +614 -0
  1066. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/utils.py +806 -0
  1067. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/validators.py +768 -0
  1068. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/v1/version.py +38 -0
  1069. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validate_call_decorator.py +116 -0
  1070. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/validators.py +5 -0
  1071. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/version.py +113 -0
  1072. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic/warnings.py +122 -0
  1073. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/INSTALLER +1 -0
  1074. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/METADATA +1029 -0
  1075. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/RECORD +217 -0
  1076. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/WHEEL +4 -0
  1077. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic-2.12.5.dist-info/licenses/LICENSE +21 -0
  1078. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/__init__.py +171 -0
  1079. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.cpython-39-darwin.so +0 -0
  1080. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/_pydantic_core.pyi +1046 -0
  1081. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/core_schema.py +4435 -0
  1082. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core/py.typed +0 -0
  1083. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/INSTALLER +1 -0
  1084. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/METADATA +180 -0
  1085. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/RECORD +12 -0
  1086. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/WHEEL +4 -0
  1087. package/.claude/envoy/.venv/lib/python3.9/site-packages/pydantic_core-2.41.5.dist-info/licenses/LICENSE +21 -0
  1088. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__init__.py +184 -0
  1089. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/__version__.py +14 -0
  1090. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/_internal_utils.py +50 -0
  1091. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/adapters.py +696 -0
  1092. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/api.py +157 -0
  1093. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/auth.py +314 -0
  1094. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/certs.py +17 -0
  1095. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/compat.py +106 -0
  1096. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/cookies.py +561 -0
  1097. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/exceptions.py +151 -0
  1098. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/help.py +134 -0
  1099. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/hooks.py +33 -0
  1100. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/models.py +1039 -0
  1101. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/packages.py +23 -0
  1102. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/sessions.py +831 -0
  1103. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/status_codes.py +128 -0
  1104. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/structures.py +99 -0
  1105. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests/utils.py +1086 -0
  1106. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/INSTALLER +1 -0
  1107. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/METADATA +133 -0
  1108. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/RECORD +43 -0
  1109. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/REQUESTED +0 -0
  1110. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/WHEEL +5 -0
  1111. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/licenses/LICENSE +175 -0
  1112. package/.claude/envoy/.venv/lib/python3.9/site-packages/requests-2.32.5.dist-info/top_level.txt +1 -0
  1113. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/__init__.py +60 -0
  1114. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/asn1.py +52 -0
  1115. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/cli.py +321 -0
  1116. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/common.py +184 -0
  1117. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/core.py +53 -0
  1118. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/key.py +858 -0
  1119. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/parallel.py +96 -0
  1120. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pem.py +134 -0
  1121. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1.py +485 -0
  1122. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/pkcs1_v2.py +100 -0
  1123. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/prime.py +198 -0
  1124. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/py.typed +1 -0
  1125. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/randnum.py +95 -0
  1126. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/transform.py +72 -0
  1127. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa/util.py +97 -0
  1128. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/INSTALLER +1 -0
  1129. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/LICENSE +13 -0
  1130. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/METADATA +140 -0
  1131. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/RECORD +41 -0
  1132. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/WHEEL +4 -0
  1133. package/.claude/envoy/.venv/lib/python3.9/site-packages/rsa-4.9.1.dist-info/entry_points.txt +8 -0
  1134. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/__init__.py +242 -0
  1135. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py +7 -0
  1136. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py +15 -0
  1137. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py +561 -0
  1138. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py +256 -0
  1139. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py +393 -0
  1140. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py +1123 -0
  1141. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py +403 -0
  1142. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py +31 -0
  1143. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py +143 -0
  1144. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py +123 -0
  1145. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py +749 -0
  1146. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py +579 -0
  1147. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py +377 -0
  1148. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py +157 -0
  1149. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py +209 -0
  1150. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py +757 -0
  1151. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py +392 -0
  1152. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py +152 -0
  1153. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py +148 -0
  1154. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py +76 -0
  1155. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py +344 -0
  1156. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py +677 -0
  1157. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py +79 -0
  1158. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py +77 -0
  1159. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py +47 -0
  1160. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py +217 -0
  1161. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py +60 -0
  1162. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py +30 -0
  1163. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py +304 -0
  1164. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py +494 -0
  1165. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py +214 -0
  1166. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py +130 -0
  1167. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py +234 -0
  1168. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py +414 -0
  1169. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py +5 -0
  1170. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py +92 -0
  1171. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py +210 -0
  1172. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py +1257 -0
  1173. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py +97 -0
  1174. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py +240 -0
  1175. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py +457 -0
  1176. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py +238 -0
  1177. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py +355 -0
  1178. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py +77 -0
  1179. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py +788 -0
  1180. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py +643 -0
  1181. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py +19 -0
  1182. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py +7 -0
  1183. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py +106 -0
  1184. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py +573 -0
  1185. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py +286 -0
  1186. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py +332 -0
  1187. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py +535 -0
  1188. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py +347 -0
  1189. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py +166 -0
  1190. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_imp.py +82 -0
  1191. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py +0 -0
  1192. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/__init__.py +4 -0
  1193. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/more.py +3825 -0
  1194. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/more_itertools/recipes.py +620 -0
  1195. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py +488 -0
  1196. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py +27 -0
  1197. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py +26 -0
  1198. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py +38 -0
  1199. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py +86 -0
  1200. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py +48 -0
  1201. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py +328 -0
  1202. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py +145 -0
  1203. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py +863 -0
  1204. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py +751 -0
  1205. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py +65 -0
  1206. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py +535 -0
  1207. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py +5742 -0
  1208. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/archive_util.py +205 -0
  1209. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/build_meta.py +281 -0
  1210. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-32.exe +0 -0
  1211. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli-64.exe +0 -0
  1212. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/cli.exe +0 -0
  1213. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/__init__.py +8 -0
  1214. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/alias.py +78 -0
  1215. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py +456 -0
  1216. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py +31 -0
  1217. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py +101 -0
  1218. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py +328 -0
  1219. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/build_py.py +232 -0
  1220. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/develop.py +193 -0
  1221. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py +36 -0
  1222. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py +2290 -0
  1223. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py +734 -0
  1224. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install.py +125 -0
  1225. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py +62 -0
  1226. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py +122 -0
  1227. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py +69 -0
  1228. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml +15 -0
  1229. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py +134 -0
  1230. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/register.py +18 -0
  1231. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/rotate.py +64 -0
  1232. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py +22 -0
  1233. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/sdist.py +189 -0
  1234. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/setopt.py +149 -0
  1235. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/test.py +252 -0
  1236. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload.py +17 -0
  1237. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py +202 -0
  1238. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/config.py +749 -0
  1239. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dep_util.py +25 -0
  1240. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/depends.py +175 -0
  1241. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/dist.py +1150 -0
  1242. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/errors.py +16 -0
  1243. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extension.py +55 -0
  1244. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py +73 -0
  1245. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/glob.py +167 -0
  1246. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-32.exe +0 -0
  1247. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui-64.exe +0 -0
  1248. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/gui.exe +0 -0
  1249. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/installer.py +97 -0
  1250. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/launch.py +36 -0
  1251. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/monkey.py +177 -0
  1252. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/msvc.py +1805 -0
  1253. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/namespaces.py +107 -0
  1254. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/package_index.py +1119 -0
  1255. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/py34compat.py +13 -0
  1256. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/sandbox.py +530 -0
  1257. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl +6 -0
  1258. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/script.tmpl +3 -0
  1259. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py +42 -0
  1260. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/version.py +6 -0
  1261. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/wheel.py +213 -0
  1262. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools/windows_support.py +29 -0
  1263. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/INSTALLER +1 -0
  1264. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/LICENSE +19 -0
  1265. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/METADATA +119 -0
  1266. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/RECORD +296 -0
  1267. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/REQUESTED +0 -0
  1268. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/WHEEL +5 -0
  1269. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/entry_points.txt +56 -0
  1270. package/.claude/envoy/.venv/lib/python3.9/site-packages/setuptools-58.0.4.dist-info/top_level.txt +3 -0
  1271. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/__init__.py +722 -0
  1272. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/_utils.py +101 -0
  1273. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/after.py +51 -0
  1274. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/__init__.py +206 -0
  1275. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/asyncio/retry.py +125 -0
  1276. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before.py +48 -0
  1277. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/before_sleep.py +72 -0
  1278. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/nap.py +43 -0
  1279. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/py.typed +0 -0
  1280. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/retry.py +282 -0
  1281. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/stop.py +130 -0
  1282. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/tornadoweb.py +63 -0
  1283. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity/wait.py +234 -0
  1284. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/INSTALLER +1 -0
  1285. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/METADATA +31 -0
  1286. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/RECORD +31 -0
  1287. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/WHEEL +5 -0
  1288. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/licenses/LICENSE +202 -0
  1289. package/.claude/envoy/.venv/lib/python3.9/site-packages/tenacity-9.1.2.dist-info/top_level.txt +1 -0
  1290. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/INSTALLER +1 -0
  1291. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/METADATA +72 -0
  1292. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/RECORD +7 -0
  1293. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/WHEEL +4 -0
  1294. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions-4.15.0.dist-info/licenses/LICENSE +279 -0
  1295. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_extensions.py +4317 -0
  1296. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/__init__.py +0 -0
  1297. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/introspection.py +587 -0
  1298. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/py.typed +0 -0
  1299. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.py +607 -0
  1300. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection/typing_objects.pyi +417 -0
  1301. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/INSTALLER +1 -0
  1302. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/METADATA +49 -0
  1303. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/RECORD +13 -0
  1304. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/WHEEL +4 -0
  1305. package/.claude/envoy/.venv/lib/python3.9/site-packages/typing_inspection-0.4.2.dist-info/licenses/LICENSE +21 -0
  1306. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/__init__.py +211 -0
  1307. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_base_connection.py +165 -0
  1308. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_collections.py +487 -0
  1309. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_request_methods.py +278 -0
  1310. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/_version.py +34 -0
  1311. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connection.py +1099 -0
  1312. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py +1178 -0
  1313. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/__init__.py +0 -0
  1314. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/__init__.py +16 -0
  1315. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/connection.py +259 -0
  1316. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/emscripten_fetch_worker.js +110 -0
  1317. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/fetch.py +726 -0
  1318. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/request.py +22 -0
  1319. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/emscripten/response.py +277 -0
  1320. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/pyopenssl.py +564 -0
  1321. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/contrib/socks.py +228 -0
  1322. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/exceptions.py +335 -0
  1323. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/fields.py +341 -0
  1324. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/filepost.py +89 -0
  1325. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/__init__.py +53 -0
  1326. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/connection.py +356 -0
  1327. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/http2/probe.py +87 -0
  1328. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/poolmanager.py +651 -0
  1329. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/py.typed +2 -0
  1330. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/response.py +1465 -0
  1331. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/__init__.py +42 -0
  1332. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/connection.py +137 -0
  1333. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/proxy.py +43 -0
  1334. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/request.py +263 -0
  1335. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/response.py +101 -0
  1336. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/retry.py +533 -0
  1337. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_.py +527 -0
  1338. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssl_match_hostname.py +159 -0
  1339. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/ssltransport.py +271 -0
  1340. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/timeout.py +275 -0
  1341. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/url.py +469 -0
  1342. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/util.py +42 -0
  1343. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3/util/wait.py +124 -0
  1344. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/INSTALLER +1 -0
  1345. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/METADATA +156 -0
  1346. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/RECORD +79 -0
  1347. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/WHEEL +4 -0
  1348. package/.claude/envoy/.venv/lib/python3.9/site-packages/urllib3-2.6.0.dist-info/licenses/LICENSE.txt +21 -0
  1349. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__init__.py +236 -0
  1350. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/__main__.py +5 -0
  1351. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/__init__.py +0 -0
  1352. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/async_timeout.py +282 -0
  1353. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/client.py +820 -0
  1354. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/compatibility.py +30 -0
  1355. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/connection.py +1237 -0
  1356. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/messages.py +314 -0
  1357. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/router.py +198 -0
  1358. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/asyncio/server.py +981 -0
  1359. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/auth.py +18 -0
  1360. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/cli.py +178 -0
  1361. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/client.py +389 -0
  1362. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/connection.py +12 -0
  1363. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/datastructures.py +187 -0
  1364. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/exceptions.py +473 -0
  1365. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/__init__.py +4 -0
  1366. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/base.py +123 -0
  1367. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/extensions/permessage_deflate.py +697 -0
  1368. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/frames.py +430 -0
  1369. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/headers.py +586 -0
  1370. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http.py +20 -0
  1371. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/http11.py +427 -0
  1372. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/imports.py +100 -0
  1373. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/__init__.py +11 -0
  1374. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/auth.py +190 -0
  1375. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/client.py +705 -0
  1376. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/exceptions.py +71 -0
  1377. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/framing.py +225 -0
  1378. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/handshake.py +158 -0
  1379. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/http.py +201 -0
  1380. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/protocol.py +1641 -0
  1381. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/legacy/server.py +1191 -0
  1382. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/protocol.py +758 -0
  1383. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/py.typed +0 -0
  1384. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/server.py +587 -0
  1385. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.c +222 -0
  1386. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.cpython-39-darwin.so +0 -0
  1387. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/speedups.pyi +1 -0
  1388. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/streams.py +151 -0
  1389. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/__init__.py +0 -0
  1390. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/client.py +648 -0
  1391. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/connection.py +1072 -0
  1392. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/messages.py +345 -0
  1393. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/router.py +192 -0
  1394. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/server.py +763 -0
  1395. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/sync/utils.py +45 -0
  1396. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/typing.py +74 -0
  1397. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/uri.py +225 -0
  1398. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/utils.py +51 -0
  1399. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets/version.py +92 -0
  1400. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/INSTALLER +1 -0
  1401. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/LICENSE +24 -0
  1402. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/METADATA +179 -0
  1403. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/RECORD +106 -0
  1404. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/WHEEL +5 -0
  1405. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/entry_points.txt +2 -0
  1406. package/.claude/envoy/.venv/lib/python3.9/site-packages/websockets-15.0.1.dist-info/top_level.txt +1 -0
  1407. package/.claude/envoy/.venv/pyvenv.cfg +3 -0
  1408. package/.claude/envoy/README.md +76 -0
  1409. package/.claude/envoy/claude-envoy.py +0 -0
  1410. package/.claude/envoy/commands/__init__.py +1 -0
  1411. package/.claude/envoy/commands/base.py +95 -0
  1412. package/.claude/envoy/commands/parallel.py +439 -0
  1413. package/.claude/envoy/commands/perplexity.py +86 -0
  1414. package/.claude/envoy/commands/plans.py +451 -0
  1415. package/.claude/envoy/commands/tavily.py +156 -0
  1416. package/.claude/envoy/commands/vertex.py +358 -0
  1417. package/.claude/envoy/commands/xai.py +124 -0
  1418. package/.claude/envoy/envoy +30 -0
  1419. package/.claude/envoy/envoy.py +122 -0
  1420. package/.claude/envoy/pyrightconfig.json +4 -0
  1421. package/.claude/envoy/requirements.txt +2 -0
  1422. package/.claude/hooks/capture-queries.sh +3 -0
  1423. package/.claude/hooks/scripts/enforce_planning.py +118 -0
  1424. package/.claude/hooks/scripts/enforce_research_fetch.py +17 -0
  1425. package/.claude/hooks/scripts/enforce_research_search.py +11 -0
  1426. package/.claude/hooks/scripts/enforce_rg.py +34 -0
  1427. package/.claude/hooks/scripts/github_url_to_gh.py +44 -0
  1428. package/.claude/hooks/scripts/scan_skills.py +89 -0
  1429. package/.claude/hooks/scripts/validate_skill.py +81 -0
  1430. package/.claude/hooks/startup.sh +57 -0
  1431. package/.claude/output-styles/systematic-bug-fixer.md +0 -0
  1432. package/.claude/plans/feat-npm-package-cli/plan.md +85 -0
  1433. package/.claude/plans/feat-specialist-builder-patterns/plan.md +298 -0
  1434. package/.claude/settings.json +145 -0
  1435. package/.claude/skills/claude-code-patterns/SKILL.md +51 -0
  1436. package/.claude/skills/claude-code-patterns/docs/context-hygiene.md +19 -0
  1437. package/.claude/skills/claude-envoy-curation/SKILL.md +99 -0
  1438. package/.claude/skills/claude-envoy-usage/SKILL.md +38 -0
  1439. package/.claude/skills/command-development/SKILL.md +216 -0
  1440. package/.claude/skills/command-development/examples/simple-commands.md +212 -0
  1441. package/.claude/skills/command-development/references/frontmatter-reference.md +221 -0
  1442. package/.claude/skills/git-ops/SKILL.md +137 -0
  1443. package/.claude/skills/hook-development/SKILL.md +103 -0
  1444. package/.claude/skills/hook-development/examples/command-hooks.md +301 -0
  1445. package/.claude/skills/hook-development/examples/prompt-hooks.md +114 -0
  1446. package/.claude/skills/hook-development/references/event-reference.md +226 -0
  1447. package/.claude/skills/orchestration-idols/SKILL.md +68 -0
  1448. package/.claude/skills/repomix-extraction/SKILL.md +89 -0
  1449. package/.claude/skills/research-tools/SKILL.md +129 -0
  1450. package/.claude/skills/skill-development/SKILL.md +236 -0
  1451. package/.claude/skills/skill-development/examples/complete-skill-examples.md +281 -0
  1452. package/.claude/skills/skill-development/references/progressive-disclosure.md +141 -0
  1453. package/.claude/skills/skill-development/references/writing-style.md +180 -0
  1454. package/.claude/skills/skill-development/scripts/validate-skill.sh +144 -0
  1455. package/.claude/skills/specialist-builder/SKILL.md +348 -0
  1456. package/.claude/skills/specialist-builder/docs/agent-catalog.md +28 -0
  1457. package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +206 -0
  1458. package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +281 -0
  1459. package/.claude/skills/specialist-builder/references/triggering-examples.md +162 -0
  1460. package/.claude/skills/specialist-builder/scripts/validate-agent.sh +137 -0
  1461. package/README.md +94 -0
  1462. package/bin/cli.js +7326 -0
  1463. package/package.json +45 -0
@@ -0,0 +1,2189 @@
1
+ #
2
+ # This file is part of pyasn1 software.
3
+ #
4
+ # Copyright (c) 2005-2020, Ilya Etingof <etingof@gmail.com>
5
+ # License: https://pyasn1.readthedocs.io/en/latest/license.html
6
+ #
7
+ import io
8
+ import os
9
+ import sys
10
+ import warnings
11
+
12
+ from pyasn1 import debug
13
+ from pyasn1 import error
14
+ from pyasn1.codec.ber import eoo
15
+ from pyasn1.codec.streaming import asSeekableStream
16
+ from pyasn1.codec.streaming import isEndOfStream
17
+ from pyasn1.codec.streaming import peekIntoStream
18
+ from pyasn1.codec.streaming import readFromStream
19
+ from pyasn1.compat import _MISSING
20
+ from pyasn1.error import PyAsn1Error
21
+ from pyasn1.type import base
22
+ from pyasn1.type import char
23
+ from pyasn1.type import tag
24
+ from pyasn1.type import tagmap
25
+ from pyasn1.type import univ
26
+ from pyasn1.type import useful
27
+
28
+ __all__ = ['StreamingDecoder', 'Decoder', 'decode']
29
+
30
+ LOG = debug.registerLoggee(__name__, flags=debug.DEBUG_DECODER)
31
+
32
+ noValue = base.noValue
33
+
34
+ SubstrateUnderrunError = error.SubstrateUnderrunError
35
+
36
+
37
+ class AbstractPayloadDecoder(object):
38
+ protoComponent = None
39
+
40
+ def valueDecoder(self, substrate, asn1Spec,
41
+ tagSet=None, length=None, state=None,
42
+ decodeFun=None, substrateFun=None,
43
+ **options):
44
+ """Decode value with fixed byte length.
45
+
46
+ The decoder is allowed to consume as many bytes as necessary.
47
+ """
48
+ raise error.PyAsn1Error('SingleItemDecoder not implemented for %s' % (tagSet,)) # TODO: Seems more like an NotImplementedError?
49
+
50
+ def indefLenValueDecoder(self, substrate, asn1Spec,
51
+ tagSet=None, length=None, state=None,
52
+ decodeFun=None, substrateFun=None,
53
+ **options):
54
+ """Decode value with undefined length.
55
+
56
+ The decoder is allowed to consume as many bytes as necessary.
57
+ """
58
+ raise error.PyAsn1Error('Indefinite length mode decoder not implemented for %s' % (tagSet,)) # TODO: Seems more like an NotImplementedError?
59
+
60
+ @staticmethod
61
+ def _passAsn1Object(asn1Object, options):
62
+ if 'asn1Object' not in options:
63
+ options['asn1Object'] = asn1Object
64
+
65
+ return options
66
+
67
+
68
+ class AbstractSimplePayloadDecoder(AbstractPayloadDecoder):
69
+ @staticmethod
70
+ def substrateCollector(asn1Object, substrate, length, options):
71
+ for chunk in readFromStream(substrate, length, options):
72
+ yield chunk
73
+
74
+ def _createComponent(self, asn1Spec, tagSet, value, **options):
75
+ if options.get('native'):
76
+ return value
77
+ elif asn1Spec is None:
78
+ return self.protoComponent.clone(value, tagSet=tagSet)
79
+ elif value is noValue:
80
+ return asn1Spec
81
+ else:
82
+ return asn1Spec.clone(value)
83
+
84
+
85
+ class RawPayloadDecoder(AbstractSimplePayloadDecoder):
86
+ protoComponent = univ.Any('')
87
+
88
+ def valueDecoder(self, substrate, asn1Spec,
89
+ tagSet=None, length=None, state=None,
90
+ decodeFun=None, substrateFun=None,
91
+ **options):
92
+ if substrateFun:
93
+ asn1Object = self._createComponent(asn1Spec, tagSet, '', **options)
94
+
95
+ for chunk in substrateFun(asn1Object, substrate, length, options):
96
+ yield chunk
97
+
98
+ return
99
+
100
+ for value in decodeFun(substrate, asn1Spec, tagSet, length, **options):
101
+ yield value
102
+
103
+ def indefLenValueDecoder(self, substrate, asn1Spec,
104
+ tagSet=None, length=None, state=None,
105
+ decodeFun=None, substrateFun=None,
106
+ **options):
107
+ if substrateFun:
108
+ asn1Object = self._createComponent(asn1Spec, tagSet, '', **options)
109
+
110
+ for chunk in substrateFun(asn1Object, substrate, length, options):
111
+ yield chunk
112
+
113
+ return
114
+
115
+ while True:
116
+ for value in decodeFun(
117
+ substrate, asn1Spec, tagSet, length,
118
+ allowEoo=True, **options):
119
+
120
+ if value is eoo.endOfOctets:
121
+ return
122
+
123
+ yield value
124
+
125
+
126
+ rawPayloadDecoder = RawPayloadDecoder()
127
+
128
+
129
+ class IntegerPayloadDecoder(AbstractSimplePayloadDecoder):
130
+ protoComponent = univ.Integer(0)
131
+
132
+ def valueDecoder(self, substrate, asn1Spec,
133
+ tagSet=None, length=None, state=None,
134
+ decodeFun=None, substrateFun=None,
135
+ **options):
136
+
137
+ if tagSet[0].tagFormat != tag.tagFormatSimple:
138
+ raise error.PyAsn1Error('Simple tag format expected')
139
+
140
+ for chunk in readFromStream(substrate, length, options):
141
+ if isinstance(chunk, SubstrateUnderrunError):
142
+ yield chunk
143
+
144
+ if chunk:
145
+ value = int.from_bytes(bytes(chunk), 'big', signed=True)
146
+
147
+ else:
148
+ value = 0
149
+
150
+ yield self._createComponent(asn1Spec, tagSet, value, **options)
151
+
152
+
153
+ class BooleanPayloadDecoder(IntegerPayloadDecoder):
154
+ protoComponent = univ.Boolean(0)
155
+
156
+ def _createComponent(self, asn1Spec, tagSet, value, **options):
157
+ return IntegerPayloadDecoder._createComponent(
158
+ self, asn1Spec, tagSet, value and 1 or 0, **options)
159
+
160
+
161
+ class BitStringPayloadDecoder(AbstractSimplePayloadDecoder):
162
+ protoComponent = univ.BitString(())
163
+ supportConstructedForm = True
164
+
165
+ def valueDecoder(self, substrate, asn1Spec,
166
+ tagSet=None, length=None, state=None,
167
+ decodeFun=None, substrateFun=None,
168
+ **options):
169
+
170
+ if substrateFun:
171
+ asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
172
+
173
+ for chunk in substrateFun(asn1Object, substrate, length, options):
174
+ yield chunk
175
+
176
+ return
177
+
178
+ if not length:
179
+ raise error.PyAsn1Error('Empty BIT STRING substrate')
180
+
181
+ for chunk in isEndOfStream(substrate):
182
+ if isinstance(chunk, SubstrateUnderrunError):
183
+ yield chunk
184
+
185
+ if chunk:
186
+ raise error.PyAsn1Error('Empty BIT STRING substrate')
187
+
188
+ if tagSet[0].tagFormat == tag.tagFormatSimple: # XXX what tag to check?
189
+
190
+ for trailingBits in readFromStream(substrate, 1, options):
191
+ if isinstance(trailingBits, SubstrateUnderrunError):
192
+ yield trailingBits
193
+
194
+ trailingBits = ord(trailingBits)
195
+ if trailingBits > 7:
196
+ raise error.PyAsn1Error(
197
+ 'Trailing bits overflow %s' % trailingBits
198
+ )
199
+
200
+ for chunk in readFromStream(substrate, length - 1, options):
201
+ if isinstance(chunk, SubstrateUnderrunError):
202
+ yield chunk
203
+
204
+ value = self.protoComponent.fromOctetString(
205
+ chunk, internalFormat=True, padding=trailingBits)
206
+
207
+ yield self._createComponent(asn1Spec, tagSet, value, **options)
208
+
209
+ return
210
+
211
+ if not self.supportConstructedForm:
212
+ raise error.PyAsn1Error('Constructed encoding form prohibited '
213
+ 'at %s' % self.__class__.__name__)
214
+
215
+ if LOG:
216
+ LOG('assembling constructed serialization')
217
+
218
+ # All inner fragments are of the same type, treat them as octet string
219
+ substrateFun = self.substrateCollector
220
+
221
+ bitString = self.protoComponent.fromOctetString(b'', internalFormat=True)
222
+
223
+ current_position = substrate.tell()
224
+
225
+ while substrate.tell() - current_position < length:
226
+ for component in decodeFun(
227
+ substrate, self.protoComponent, substrateFun=substrateFun,
228
+ **options):
229
+ if isinstance(component, SubstrateUnderrunError):
230
+ yield component
231
+
232
+ trailingBits = component[0]
233
+ if trailingBits > 7:
234
+ raise error.PyAsn1Error(
235
+ 'Trailing bits overflow %s' % trailingBits
236
+ )
237
+
238
+ bitString = self.protoComponent.fromOctetString(
239
+ component[1:], internalFormat=True,
240
+ prepend=bitString, padding=trailingBits
241
+ )
242
+
243
+ yield self._createComponent(asn1Spec, tagSet, bitString, **options)
244
+
245
+ def indefLenValueDecoder(self, substrate, asn1Spec,
246
+ tagSet=None, length=None, state=None,
247
+ decodeFun=None, substrateFun=None,
248
+ **options):
249
+
250
+ if substrateFun:
251
+ asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
252
+
253
+ for chunk in substrateFun(asn1Object, substrate, length, options):
254
+ yield chunk
255
+
256
+ return
257
+
258
+ # All inner fragments are of the same type, treat them as octet string
259
+ substrateFun = self.substrateCollector
260
+
261
+ bitString = self.protoComponent.fromOctetString(b'', internalFormat=True)
262
+
263
+ while True: # loop over fragments
264
+
265
+ for component in decodeFun(
266
+ substrate, self.protoComponent, substrateFun=substrateFun,
267
+ allowEoo=True, **options):
268
+
269
+ if component is eoo.endOfOctets:
270
+ break
271
+
272
+ if isinstance(component, SubstrateUnderrunError):
273
+ yield component
274
+
275
+ if component is eoo.endOfOctets:
276
+ break
277
+
278
+ trailingBits = component[0]
279
+ if trailingBits > 7:
280
+ raise error.PyAsn1Error(
281
+ 'Trailing bits overflow %s' % trailingBits
282
+ )
283
+
284
+ bitString = self.protoComponent.fromOctetString(
285
+ component[1:], internalFormat=True,
286
+ prepend=bitString, padding=trailingBits
287
+ )
288
+
289
+ yield self._createComponent(asn1Spec, tagSet, bitString, **options)
290
+
291
+
292
+ class OctetStringPayloadDecoder(AbstractSimplePayloadDecoder):
293
+ protoComponent = univ.OctetString('')
294
+ supportConstructedForm = True
295
+
296
+ def valueDecoder(self, substrate, asn1Spec,
297
+ tagSet=None, length=None, state=None,
298
+ decodeFun=None, substrateFun=None,
299
+ **options):
300
+ if substrateFun:
301
+ asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
302
+
303
+ for chunk in substrateFun(asn1Object, substrate, length, options):
304
+ yield chunk
305
+
306
+ return
307
+
308
+ if tagSet[0].tagFormat == tag.tagFormatSimple: # XXX what tag to check?
309
+ for chunk in readFromStream(substrate, length, options):
310
+ if isinstance(chunk, SubstrateUnderrunError):
311
+ yield chunk
312
+
313
+ yield self._createComponent(asn1Spec, tagSet, chunk, **options)
314
+
315
+ return
316
+
317
+ if not self.supportConstructedForm:
318
+ raise error.PyAsn1Error('Constructed encoding form prohibited at %s' % self.__class__.__name__)
319
+
320
+ if LOG:
321
+ LOG('assembling constructed serialization')
322
+
323
+ # All inner fragments are of the same type, treat them as octet string
324
+ substrateFun = self.substrateCollector
325
+
326
+ header = b''
327
+
328
+ original_position = substrate.tell()
329
+ # head = popSubstream(substrate, length)
330
+ while substrate.tell() - original_position < length:
331
+ for component in decodeFun(
332
+ substrate, self.protoComponent, substrateFun=substrateFun,
333
+ **options):
334
+ if isinstance(component, SubstrateUnderrunError):
335
+ yield component
336
+
337
+ header += component
338
+
339
+ yield self._createComponent(asn1Spec, tagSet, header, **options)
340
+
341
+ def indefLenValueDecoder(self, substrate, asn1Spec,
342
+ tagSet=None, length=None, state=None,
343
+ decodeFun=None, substrateFun=None,
344
+ **options):
345
+ if substrateFun and substrateFun is not self.substrateCollector:
346
+ asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options)
347
+
348
+ for chunk in substrateFun(asn1Object, substrate, length, options):
349
+ yield chunk
350
+
351
+ return
352
+
353
+ # All inner fragments are of the same type, treat them as octet string
354
+ substrateFun = self.substrateCollector
355
+
356
+ header = b''
357
+
358
+ while True: # loop over fragments
359
+
360
+ for component in decodeFun(
361
+ substrate, self.protoComponent, substrateFun=substrateFun,
362
+ allowEoo=True, **options):
363
+
364
+ if isinstance(component, SubstrateUnderrunError):
365
+ yield component
366
+
367
+ if component is eoo.endOfOctets:
368
+ break
369
+
370
+ if component is eoo.endOfOctets:
371
+ break
372
+
373
+ header += component
374
+
375
+ yield self._createComponent(asn1Spec, tagSet, header, **options)
376
+
377
+
378
+ class NullPayloadDecoder(AbstractSimplePayloadDecoder):
379
+ protoComponent = univ.Null('')
380
+
381
+ def valueDecoder(self, substrate, asn1Spec,
382
+ tagSet=None, length=None, state=None,
383
+ decodeFun=None, substrateFun=None,
384
+ **options):
385
+
386
+ if tagSet[0].tagFormat != tag.tagFormatSimple:
387
+ raise error.PyAsn1Error('Simple tag format expected')
388
+
389
+ for chunk in readFromStream(substrate, length, options):
390
+ if isinstance(chunk, SubstrateUnderrunError):
391
+ yield chunk
392
+
393
+ component = self._createComponent(asn1Spec, tagSet, '', **options)
394
+
395
+ if chunk:
396
+ raise error.PyAsn1Error('Unexpected %d-octet substrate for Null' % length)
397
+
398
+ yield component
399
+
400
+
401
+ class ObjectIdentifierPayloadDecoder(AbstractSimplePayloadDecoder):
402
+ protoComponent = univ.ObjectIdentifier(())
403
+
404
+ def valueDecoder(self, substrate, asn1Spec,
405
+ tagSet=None, length=None, state=None,
406
+ decodeFun=None, substrateFun=None,
407
+ **options):
408
+ if tagSet[0].tagFormat != tag.tagFormatSimple:
409
+ raise error.PyAsn1Error('Simple tag format expected')
410
+
411
+ for chunk in readFromStream(substrate, length, options):
412
+ if isinstance(chunk, SubstrateUnderrunError):
413
+ yield chunk
414
+
415
+ if not chunk:
416
+ raise error.PyAsn1Error('Empty substrate')
417
+
418
+ oid = ()
419
+ index = 0
420
+ substrateLen = len(chunk)
421
+ while index < substrateLen:
422
+ subId = chunk[index]
423
+ index += 1
424
+ if subId < 128:
425
+ oid += (subId,)
426
+ elif subId > 128:
427
+ # Construct subid from a number of octets
428
+ nextSubId = subId
429
+ subId = 0
430
+ while nextSubId >= 128:
431
+ subId = (subId << 7) + (nextSubId & 0x7F)
432
+ if index >= substrateLen:
433
+ raise error.SubstrateUnderrunError(
434
+ 'Short substrate for sub-OID past %s' % (oid,)
435
+ )
436
+ nextSubId = chunk[index]
437
+ index += 1
438
+ oid += ((subId << 7) + nextSubId,)
439
+ elif subId == 128:
440
+ # ASN.1 spec forbids leading zeros (0x80) in OID
441
+ # encoding, tolerating it opens a vulnerability. See
442
+ # https://www.esat.kuleuven.be/cosic/publications/article-1432.pdf
443
+ # page 7
444
+ raise error.PyAsn1Error('Invalid octet 0x80 in OID encoding')
445
+
446
+ # Decode two leading arcs
447
+ if 0 <= oid[0] <= 39:
448
+ oid = (0,) + oid
449
+ elif 40 <= oid[0] <= 79:
450
+ oid = (1, oid[0] - 40) + oid[1:]
451
+ elif oid[0] >= 80:
452
+ oid = (2, oid[0] - 80) + oid[1:]
453
+ else:
454
+ raise error.PyAsn1Error('Malformed first OID octet: %s' % chunk[0])
455
+
456
+ yield self._createComponent(asn1Spec, tagSet, oid, **options)
457
+
458
+
459
+ class RelativeOIDPayloadDecoder(AbstractSimplePayloadDecoder):
460
+ protoComponent = univ.RelativeOID(())
461
+
462
+ def valueDecoder(self, substrate, asn1Spec,
463
+ tagSet=None, length=None, state=None,
464
+ decodeFun=None, substrateFun=None,
465
+ **options):
466
+ if tagSet[0].tagFormat != tag.tagFormatSimple:
467
+ raise error.PyAsn1Error('Simple tag format expected')
468
+
469
+ for chunk in readFromStream(substrate, length, options):
470
+ if isinstance(chunk, SubstrateUnderrunError):
471
+ yield chunk
472
+
473
+ if not chunk:
474
+ raise error.PyAsn1Error('Empty substrate')
475
+
476
+ reloid = ()
477
+ index = 0
478
+ substrateLen = len(chunk)
479
+ while index < substrateLen:
480
+ subId = chunk[index]
481
+ index += 1
482
+ if subId < 128:
483
+ reloid += (subId,)
484
+ elif subId > 128:
485
+ # Construct subid from a number of octets
486
+ nextSubId = subId
487
+ subId = 0
488
+ while nextSubId >= 128:
489
+ subId = (subId << 7) + (nextSubId & 0x7F)
490
+ if index >= substrateLen:
491
+ raise error.SubstrateUnderrunError(
492
+ 'Short substrate for sub-OID past %s' % (reloid,)
493
+ )
494
+ nextSubId = chunk[index]
495
+ index += 1
496
+ reloid += ((subId << 7) + nextSubId,)
497
+ elif subId == 128:
498
+ # ASN.1 spec forbids leading zeros (0x80) in OID
499
+ # encoding, tolerating it opens a vulnerability. See
500
+ # https://www.esat.kuleuven.be/cosic/publications/article-1432.pdf
501
+ # page 7
502
+ raise error.PyAsn1Error('Invalid octet 0x80 in RELATIVE-OID encoding')
503
+
504
+ yield self._createComponent(asn1Spec, tagSet, reloid, **options)
505
+
506
+
507
+ class RealPayloadDecoder(AbstractSimplePayloadDecoder):
508
+ protoComponent = univ.Real()
509
+
510
+ def valueDecoder(self, substrate, asn1Spec,
511
+ tagSet=None, length=None, state=None,
512
+ decodeFun=None, substrateFun=None,
513
+ **options):
514
+ if tagSet[0].tagFormat != tag.tagFormatSimple:
515
+ raise error.PyAsn1Error('Simple tag format expected')
516
+
517
+ for chunk in readFromStream(substrate, length, options):
518
+ if isinstance(chunk, SubstrateUnderrunError):
519
+ yield chunk
520
+
521
+ if not chunk:
522
+ yield self._createComponent(asn1Spec, tagSet, 0.0, **options)
523
+ return
524
+
525
+ fo = chunk[0]
526
+ chunk = chunk[1:]
527
+ if fo & 0x80: # binary encoding
528
+ if not chunk:
529
+ raise error.PyAsn1Error("Incomplete floating-point value")
530
+
531
+ if LOG:
532
+ LOG('decoding binary encoded REAL')
533
+
534
+ n = (fo & 0x03) + 1
535
+
536
+ if n == 4:
537
+ n = chunk[0]
538
+ chunk = chunk[1:]
539
+
540
+ eo, chunk = chunk[:n], chunk[n:]
541
+
542
+ if not eo or not chunk:
543
+ raise error.PyAsn1Error('Real exponent screwed')
544
+
545
+ e = eo[0] & 0x80 and -1 or 0
546
+
547
+ while eo: # exponent
548
+ e <<= 8
549
+ e |= eo[0]
550
+ eo = eo[1:]
551
+
552
+ b = fo >> 4 & 0x03 # base bits
553
+
554
+ if b > 2:
555
+ raise error.PyAsn1Error('Illegal Real base')
556
+
557
+ if b == 1: # encbase = 8
558
+ e *= 3
559
+
560
+ elif b == 2: # encbase = 16
561
+ e *= 4
562
+ p = 0
563
+
564
+ while chunk: # value
565
+ p <<= 8
566
+ p |= chunk[0]
567
+ chunk = chunk[1:]
568
+
569
+ if fo & 0x40: # sign bit
570
+ p = -p
571
+
572
+ sf = fo >> 2 & 0x03 # scale bits
573
+ p *= 2 ** sf
574
+ value = (p, 2, e)
575
+
576
+ elif fo & 0x40: # infinite value
577
+ if LOG:
578
+ LOG('decoding infinite REAL')
579
+
580
+ value = fo & 0x01 and '-inf' or 'inf'
581
+
582
+ elif fo & 0xc0 == 0: # character encoding
583
+ if not chunk:
584
+ raise error.PyAsn1Error("Incomplete floating-point value")
585
+
586
+ if LOG:
587
+ LOG('decoding character encoded REAL')
588
+
589
+ try:
590
+ if fo & 0x3 == 0x1: # NR1
591
+ value = (int(chunk), 10, 0)
592
+
593
+ elif fo & 0x3 == 0x2: # NR2
594
+ value = float(chunk)
595
+
596
+ elif fo & 0x3 == 0x3: # NR3
597
+ value = float(chunk)
598
+
599
+ else:
600
+ raise error.SubstrateUnderrunError(
601
+ 'Unknown NR (tag %s)' % fo
602
+ )
603
+
604
+ except ValueError:
605
+ raise error.SubstrateUnderrunError(
606
+ 'Bad character Real syntax'
607
+ )
608
+
609
+ else:
610
+ raise error.SubstrateUnderrunError(
611
+ 'Unknown encoding (tag %s)' % fo
612
+ )
613
+
614
+ yield self._createComponent(asn1Spec, tagSet, value, **options)
615
+
616
+
617
+ class AbstractConstructedPayloadDecoder(AbstractPayloadDecoder):
618
+ protoComponent = None
619
+
620
+
621
+ class ConstructedPayloadDecoderBase(AbstractConstructedPayloadDecoder):
622
+ protoRecordComponent = None
623
+ protoSequenceComponent = None
624
+
625
+ def _getComponentTagMap(self, asn1Object, idx):
626
+ raise NotImplementedError
627
+
628
+ def _getComponentPositionByType(self, asn1Object, tagSet, idx):
629
+ raise NotImplementedError
630
+
631
+ def _decodeComponentsSchemaless(
632
+ self, substrate, tagSet=None, decodeFun=None,
633
+ length=None, **options):
634
+
635
+ asn1Object = None
636
+
637
+ components = []
638
+ componentTypes = set()
639
+
640
+ original_position = substrate.tell()
641
+
642
+ while length == -1 or substrate.tell() < original_position + length:
643
+ for component in decodeFun(substrate, **options):
644
+ if isinstance(component, SubstrateUnderrunError):
645
+ yield component
646
+
647
+ if length == -1 and component is eoo.endOfOctets:
648
+ break
649
+
650
+ components.append(component)
651
+ componentTypes.add(component.tagSet)
652
+
653
+ # Now we have to guess is it SEQUENCE/SET or SEQUENCE OF/SET OF
654
+ # The heuristics is:
655
+ # * 1+ components of different types -> likely SEQUENCE/SET
656
+ # * otherwise -> likely SEQUENCE OF/SET OF
657
+ if len(componentTypes) > 1:
658
+ protoComponent = self.protoRecordComponent
659
+
660
+ else:
661
+ protoComponent = self.protoSequenceComponent
662
+
663
+ asn1Object = protoComponent.clone(
664
+ # construct tagSet from base tag from prototype ASN.1 object
665
+ # and additional tags recovered from the substrate
666
+ tagSet=tag.TagSet(protoComponent.tagSet.baseTag, *tagSet.superTags)
667
+ )
668
+
669
+ if LOG:
670
+ LOG('guessed %r container type (pass `asn1Spec` to guide the '
671
+ 'decoder)' % asn1Object)
672
+
673
+ for idx, component in enumerate(components):
674
+ asn1Object.setComponentByPosition(
675
+ idx, component,
676
+ verifyConstraints=False,
677
+ matchTags=False, matchConstraints=False
678
+ )
679
+
680
+ yield asn1Object
681
+
682
+ def valueDecoder(self, substrate, asn1Spec,
683
+ tagSet=None, length=None, state=None,
684
+ decodeFun=None, substrateFun=None,
685
+ **options):
686
+ if tagSet[0].tagFormat != tag.tagFormatConstructed:
687
+ raise error.PyAsn1Error('Constructed tag format expected')
688
+
689
+ original_position = substrate.tell()
690
+
691
+ if substrateFun:
692
+ if asn1Spec is not None:
693
+ asn1Object = asn1Spec.clone()
694
+
695
+ elif self.protoComponent is not None:
696
+ asn1Object = self.protoComponent.clone(tagSet=tagSet)
697
+
698
+ else:
699
+ asn1Object = self.protoRecordComponent, self.protoSequenceComponent
700
+
701
+ for chunk in substrateFun(asn1Object, substrate, length, options):
702
+ yield chunk
703
+
704
+ return
705
+
706
+ if asn1Spec is None:
707
+ for asn1Object in self._decodeComponentsSchemaless(
708
+ substrate, tagSet=tagSet, decodeFun=decodeFun,
709
+ length=length, **options):
710
+ if isinstance(asn1Object, SubstrateUnderrunError):
711
+ yield asn1Object
712
+
713
+ if substrate.tell() < original_position + length:
714
+ if LOG:
715
+ for trailing in readFromStream(substrate, context=options):
716
+ if isinstance(trailing, SubstrateUnderrunError):
717
+ yield trailing
718
+
719
+ LOG('Unused trailing %d octets encountered: %s' % (
720
+ len(trailing), debug.hexdump(trailing)))
721
+
722
+ yield asn1Object
723
+
724
+ return
725
+
726
+ asn1Object = asn1Spec.clone()
727
+ asn1Object.clear()
728
+
729
+ options = self._passAsn1Object(asn1Object, options)
730
+
731
+ if asn1Spec.typeId in (univ.Sequence.typeId, univ.Set.typeId):
732
+
733
+ namedTypes = asn1Spec.componentType
734
+
735
+ isSetType = asn1Spec.typeId == univ.Set.typeId
736
+ isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault
737
+
738
+ if LOG:
739
+ LOG('decoding %sdeterministic %s type %r chosen by type ID' % (
740
+ not isDeterministic and 'non-' or '', isSetType and 'SET' or '',
741
+ asn1Spec))
742
+
743
+ seenIndices = set()
744
+ idx = 0
745
+ while substrate.tell() - original_position < length:
746
+ if not namedTypes:
747
+ componentType = None
748
+
749
+ elif isSetType:
750
+ componentType = namedTypes.tagMapUnique
751
+
752
+ else:
753
+ try:
754
+ if isDeterministic:
755
+ componentType = namedTypes[idx].asn1Object
756
+
757
+ elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
758
+ componentType = namedTypes.getTagMapNearPosition(idx)
759
+
760
+ else:
761
+ componentType = namedTypes[idx].asn1Object
762
+
763
+ except IndexError:
764
+ raise error.PyAsn1Error(
765
+ 'Excessive components decoded at %r' % (asn1Spec,)
766
+ )
767
+
768
+ for component in decodeFun(substrate, componentType, **options):
769
+ if isinstance(component, SubstrateUnderrunError):
770
+ yield component
771
+
772
+ if not isDeterministic and namedTypes:
773
+ if isSetType:
774
+ idx = namedTypes.getPositionByType(component.effectiveTagSet)
775
+
776
+ elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
777
+ idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx)
778
+
779
+ asn1Object.setComponentByPosition(
780
+ idx, component,
781
+ verifyConstraints=False,
782
+ matchTags=False, matchConstraints=False
783
+ )
784
+
785
+ seenIndices.add(idx)
786
+ idx += 1
787
+
788
+ if LOG:
789
+ LOG('seen component indices %s' % seenIndices)
790
+
791
+ if namedTypes:
792
+ if not namedTypes.requiredComponents.issubset(seenIndices):
793
+ raise error.PyAsn1Error(
794
+ 'ASN.1 object %s has uninitialized '
795
+ 'components' % asn1Object.__class__.__name__)
796
+
797
+ if namedTypes.hasOpenTypes:
798
+
799
+ openTypes = options.get('openTypes', {})
800
+
801
+ if LOG:
802
+ LOG('user-specified open types map:')
803
+
804
+ for k, v in openTypes.items():
805
+ LOG('%s -> %r' % (k, v))
806
+
807
+ if openTypes or options.get('decodeOpenTypes', False):
808
+
809
+ for idx, namedType in enumerate(namedTypes.namedTypes):
810
+ if not namedType.openType:
811
+ continue
812
+
813
+ if namedType.isOptional and not asn1Object.getComponentByPosition(idx).isValue:
814
+ continue
815
+
816
+ governingValue = asn1Object.getComponentByName(
817
+ namedType.openType.name
818
+ )
819
+
820
+ try:
821
+ openType = openTypes[governingValue]
822
+
823
+ except KeyError:
824
+
825
+ if LOG:
826
+ LOG('default open types map of component '
827
+ '"%s.%s" governed by component "%s.%s"'
828
+ ':' % (asn1Object.__class__.__name__,
829
+ namedType.name,
830
+ asn1Object.__class__.__name__,
831
+ namedType.openType.name))
832
+
833
+ for k, v in namedType.openType.items():
834
+ LOG('%s -> %r' % (k, v))
835
+
836
+ try:
837
+ openType = namedType.openType[governingValue]
838
+
839
+ except KeyError:
840
+ if LOG:
841
+ LOG('failed to resolve open type by governing '
842
+ 'value %r' % (governingValue,))
843
+ continue
844
+
845
+ if LOG:
846
+ LOG('resolved open type %r by governing '
847
+ 'value %r' % (openType, governingValue))
848
+
849
+ containerValue = asn1Object.getComponentByPosition(idx)
850
+
851
+ if containerValue.typeId in (
852
+ univ.SetOf.typeId, univ.SequenceOf.typeId):
853
+
854
+ for pos, containerElement in enumerate(
855
+ containerValue):
856
+
857
+ stream = asSeekableStream(containerValue[pos].asOctets())
858
+
859
+ for component in decodeFun(stream, asn1Spec=openType, **options):
860
+ if isinstance(component, SubstrateUnderrunError):
861
+ yield component
862
+
863
+ containerValue[pos] = component
864
+
865
+ else:
866
+ stream = asSeekableStream(asn1Object.getComponentByPosition(idx).asOctets())
867
+
868
+ for component in decodeFun(stream, asn1Spec=openType, **options):
869
+ if isinstance(component, SubstrateUnderrunError):
870
+ yield component
871
+
872
+ asn1Object.setComponentByPosition(idx, component)
873
+
874
+ else:
875
+ inconsistency = asn1Object.isInconsistent
876
+ if inconsistency:
877
+ raise error.PyAsn1Error(
878
+ f"ASN.1 object {asn1Object.__class__.__name__} is inconsistent")
879
+
880
+ else:
881
+ componentType = asn1Spec.componentType
882
+
883
+ if LOG:
884
+ LOG('decoding type %r chosen by given `asn1Spec`' % componentType)
885
+
886
+ idx = 0
887
+
888
+ while substrate.tell() - original_position < length:
889
+ for component in decodeFun(substrate, componentType, **options):
890
+ if isinstance(component, SubstrateUnderrunError):
891
+ yield component
892
+
893
+ asn1Object.setComponentByPosition(
894
+ idx, component,
895
+ verifyConstraints=False,
896
+ matchTags=False, matchConstraints=False
897
+ )
898
+
899
+ idx += 1
900
+
901
+ yield asn1Object
902
+
903
+ def indefLenValueDecoder(self, substrate, asn1Spec,
904
+ tagSet=None, length=None, state=None,
905
+ decodeFun=None, substrateFun=None,
906
+ **options):
907
+ if tagSet[0].tagFormat != tag.tagFormatConstructed:
908
+ raise error.PyAsn1Error('Constructed tag format expected')
909
+
910
+ if substrateFun is not None:
911
+ if asn1Spec is not None:
912
+ asn1Object = asn1Spec.clone()
913
+
914
+ elif self.protoComponent is not None:
915
+ asn1Object = self.protoComponent.clone(tagSet=tagSet)
916
+
917
+ else:
918
+ asn1Object = self.protoRecordComponent, self.protoSequenceComponent
919
+
920
+ for chunk in substrateFun(asn1Object, substrate, length, options):
921
+ yield chunk
922
+
923
+ return
924
+
925
+ if asn1Spec is None:
926
+ for asn1Object in self._decodeComponentsSchemaless(
927
+ substrate, tagSet=tagSet, decodeFun=decodeFun,
928
+ length=length, **dict(options, allowEoo=True)):
929
+ if isinstance(asn1Object, SubstrateUnderrunError):
930
+ yield asn1Object
931
+
932
+ yield asn1Object
933
+
934
+ return
935
+
936
+ asn1Object = asn1Spec.clone()
937
+ asn1Object.clear()
938
+
939
+ options = self._passAsn1Object(asn1Object, options)
940
+
941
+ if asn1Spec.typeId in (univ.Sequence.typeId, univ.Set.typeId):
942
+
943
+ namedTypes = asn1Object.componentType
944
+
945
+ isSetType = asn1Object.typeId == univ.Set.typeId
946
+ isDeterministic = not isSetType and not namedTypes.hasOptionalOrDefault
947
+
948
+ if LOG:
949
+ LOG('decoding %sdeterministic %s type %r chosen by type ID' % (
950
+ not isDeterministic and 'non-' or '', isSetType and 'SET' or '',
951
+ asn1Spec))
952
+
953
+ seenIndices = set()
954
+
955
+ idx = 0
956
+
957
+ while True: # loop over components
958
+ if len(namedTypes) <= idx:
959
+ asn1Spec = None
960
+
961
+ elif isSetType:
962
+ asn1Spec = namedTypes.tagMapUnique
963
+
964
+ else:
965
+ try:
966
+ if isDeterministic:
967
+ asn1Spec = namedTypes[idx].asn1Object
968
+
969
+ elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
970
+ asn1Spec = namedTypes.getTagMapNearPosition(idx)
971
+
972
+ else:
973
+ asn1Spec = namedTypes[idx].asn1Object
974
+
975
+ except IndexError:
976
+ raise error.PyAsn1Error(
977
+ 'Excessive components decoded at %r' % (asn1Object,)
978
+ )
979
+
980
+ for component in decodeFun(substrate, asn1Spec, allowEoo=True, **options):
981
+
982
+ if isinstance(component, SubstrateUnderrunError):
983
+ yield component
984
+
985
+ if component is eoo.endOfOctets:
986
+ break
987
+
988
+ if component is eoo.endOfOctets:
989
+ break
990
+
991
+ if not isDeterministic and namedTypes:
992
+ if isSetType:
993
+ idx = namedTypes.getPositionByType(component.effectiveTagSet)
994
+
995
+ elif namedTypes[idx].isOptional or namedTypes[idx].isDefaulted:
996
+ idx = namedTypes.getPositionNearType(component.effectiveTagSet, idx)
997
+
998
+ asn1Object.setComponentByPosition(
999
+ idx, component,
1000
+ verifyConstraints=False,
1001
+ matchTags=False, matchConstraints=False
1002
+ )
1003
+
1004
+ seenIndices.add(idx)
1005
+ idx += 1
1006
+
1007
+ if LOG:
1008
+ LOG('seen component indices %s' % seenIndices)
1009
+
1010
+ if namedTypes:
1011
+ if not namedTypes.requiredComponents.issubset(seenIndices):
1012
+ raise error.PyAsn1Error(
1013
+ 'ASN.1 object %s has uninitialized '
1014
+ 'components' % asn1Object.__class__.__name__)
1015
+
1016
+ if namedTypes.hasOpenTypes:
1017
+
1018
+ openTypes = options.get('openTypes', {})
1019
+
1020
+ if LOG:
1021
+ LOG('user-specified open types map:')
1022
+
1023
+ for k, v in openTypes.items():
1024
+ LOG('%s -> %r' % (k, v))
1025
+
1026
+ if openTypes or options.get('decodeOpenTypes', False):
1027
+
1028
+ for idx, namedType in enumerate(namedTypes.namedTypes):
1029
+ if not namedType.openType:
1030
+ continue
1031
+
1032
+ if namedType.isOptional and not asn1Object.getComponentByPosition(idx).isValue:
1033
+ continue
1034
+
1035
+ governingValue = asn1Object.getComponentByName(
1036
+ namedType.openType.name
1037
+ )
1038
+
1039
+ try:
1040
+ openType = openTypes[governingValue]
1041
+
1042
+ except KeyError:
1043
+
1044
+ if LOG:
1045
+ LOG('default open types map of component '
1046
+ '"%s.%s" governed by component "%s.%s"'
1047
+ ':' % (asn1Object.__class__.__name__,
1048
+ namedType.name,
1049
+ asn1Object.__class__.__name__,
1050
+ namedType.openType.name))
1051
+
1052
+ for k, v in namedType.openType.items():
1053
+ LOG('%s -> %r' % (k, v))
1054
+
1055
+ try:
1056
+ openType = namedType.openType[governingValue]
1057
+
1058
+ except KeyError:
1059
+ if LOG:
1060
+ LOG('failed to resolve open type by governing '
1061
+ 'value %r' % (governingValue,))
1062
+ continue
1063
+
1064
+ if LOG:
1065
+ LOG('resolved open type %r by governing '
1066
+ 'value %r' % (openType, governingValue))
1067
+
1068
+ containerValue = asn1Object.getComponentByPosition(idx)
1069
+
1070
+ if containerValue.typeId in (
1071
+ univ.SetOf.typeId, univ.SequenceOf.typeId):
1072
+
1073
+ for pos, containerElement in enumerate(
1074
+ containerValue):
1075
+
1076
+ stream = asSeekableStream(containerValue[pos].asOctets())
1077
+
1078
+ for component in decodeFun(stream, asn1Spec=openType,
1079
+ **dict(options, allowEoo=True)):
1080
+ if isinstance(component, SubstrateUnderrunError):
1081
+ yield component
1082
+
1083
+ if component is eoo.endOfOctets:
1084
+ break
1085
+
1086
+ containerValue[pos] = component
1087
+
1088
+ else:
1089
+ stream = asSeekableStream(asn1Object.getComponentByPosition(idx).asOctets())
1090
+ for component in decodeFun(stream, asn1Spec=openType,
1091
+ **dict(options, allowEoo=True)):
1092
+ if isinstance(component, SubstrateUnderrunError):
1093
+ yield component
1094
+
1095
+ if component is eoo.endOfOctets:
1096
+ break
1097
+
1098
+ asn1Object.setComponentByPosition(idx, component)
1099
+
1100
+ else:
1101
+ inconsistency = asn1Object.isInconsistent
1102
+ if inconsistency:
1103
+ raise error.PyAsn1Error(
1104
+ f"ASN.1 object {asn1Object.__class__.__name__} is inconsistent")
1105
+
1106
+ else:
1107
+ componentType = asn1Spec.componentType
1108
+
1109
+ if LOG:
1110
+ LOG('decoding type %r chosen by given `asn1Spec`' % componentType)
1111
+
1112
+ idx = 0
1113
+
1114
+ while True:
1115
+
1116
+ for component in decodeFun(
1117
+ substrate, componentType, allowEoo=True, **options):
1118
+
1119
+ if isinstance(component, SubstrateUnderrunError):
1120
+ yield component
1121
+
1122
+ if component is eoo.endOfOctets:
1123
+ break
1124
+
1125
+ if component is eoo.endOfOctets:
1126
+ break
1127
+
1128
+ asn1Object.setComponentByPosition(
1129
+ idx, component,
1130
+ verifyConstraints=False,
1131
+ matchTags=False, matchConstraints=False
1132
+ )
1133
+
1134
+ idx += 1
1135
+
1136
+ yield asn1Object
1137
+
1138
+
1139
+ class SequenceOrSequenceOfPayloadDecoder(ConstructedPayloadDecoderBase):
1140
+ protoRecordComponent = univ.Sequence()
1141
+ protoSequenceComponent = univ.SequenceOf()
1142
+
1143
+
1144
+ class SequencePayloadDecoder(SequenceOrSequenceOfPayloadDecoder):
1145
+ protoComponent = univ.Sequence()
1146
+
1147
+
1148
+ class SequenceOfPayloadDecoder(SequenceOrSequenceOfPayloadDecoder):
1149
+ protoComponent = univ.SequenceOf()
1150
+
1151
+
1152
+ class SetOrSetOfPayloadDecoder(ConstructedPayloadDecoderBase):
1153
+ protoRecordComponent = univ.Set()
1154
+ protoSequenceComponent = univ.SetOf()
1155
+
1156
+
1157
+ class SetPayloadDecoder(SetOrSetOfPayloadDecoder):
1158
+ protoComponent = univ.Set()
1159
+
1160
+
1161
+ class SetOfPayloadDecoder(SetOrSetOfPayloadDecoder):
1162
+ protoComponent = univ.SetOf()
1163
+
1164
+
1165
+ class ChoicePayloadDecoder(ConstructedPayloadDecoderBase):
1166
+ protoComponent = univ.Choice()
1167
+
1168
+ def valueDecoder(self, substrate, asn1Spec,
1169
+ tagSet=None, length=None, state=None,
1170
+ decodeFun=None, substrateFun=None,
1171
+ **options):
1172
+ if asn1Spec is None:
1173
+ asn1Object = self.protoComponent.clone(tagSet=tagSet)
1174
+
1175
+ else:
1176
+ asn1Object = asn1Spec.clone()
1177
+
1178
+ if substrateFun:
1179
+ for chunk in substrateFun(asn1Object, substrate, length, options):
1180
+ yield chunk
1181
+
1182
+ return
1183
+
1184
+ options = self._passAsn1Object(asn1Object, options)
1185
+
1186
+ if asn1Object.tagSet == tagSet:
1187
+ if LOG:
1188
+ LOG('decoding %s as explicitly tagged CHOICE' % (tagSet,))
1189
+
1190
+ for component in decodeFun(
1191
+ substrate, asn1Object.componentTagMap, **options):
1192
+ if isinstance(component, SubstrateUnderrunError):
1193
+ yield component
1194
+
1195
+ else:
1196
+ if LOG:
1197
+ LOG('decoding %s as untagged CHOICE' % (tagSet,))
1198
+
1199
+ for component in decodeFun(
1200
+ substrate, asn1Object.componentTagMap, tagSet, length,
1201
+ state, **options):
1202
+ if isinstance(component, SubstrateUnderrunError):
1203
+ yield component
1204
+
1205
+ effectiveTagSet = component.effectiveTagSet
1206
+
1207
+ if LOG:
1208
+ LOG('decoded component %s, effective tag set %s' % (component, effectiveTagSet))
1209
+
1210
+ asn1Object.setComponentByType(
1211
+ effectiveTagSet, component,
1212
+ verifyConstraints=False,
1213
+ matchTags=False, matchConstraints=False,
1214
+ innerFlag=False
1215
+ )
1216
+
1217
+ yield asn1Object
1218
+
1219
+ def indefLenValueDecoder(self, substrate, asn1Spec,
1220
+ tagSet=None, length=None, state=None,
1221
+ decodeFun=None, substrateFun=None,
1222
+ **options):
1223
+ if asn1Spec is None:
1224
+ asn1Object = self.protoComponent.clone(tagSet=tagSet)
1225
+
1226
+ else:
1227
+ asn1Object = asn1Spec.clone()
1228
+
1229
+ if substrateFun:
1230
+ for chunk in substrateFun(asn1Object, substrate, length, options):
1231
+ yield chunk
1232
+
1233
+ return
1234
+
1235
+ options = self._passAsn1Object(asn1Object, options)
1236
+
1237
+ isTagged = asn1Object.tagSet == tagSet
1238
+
1239
+ if LOG:
1240
+ LOG('decoding %s as %stagged CHOICE' % (
1241
+ tagSet, isTagged and 'explicitly ' or 'un'))
1242
+
1243
+ while True:
1244
+
1245
+ if isTagged:
1246
+ iterator = decodeFun(
1247
+ substrate, asn1Object.componentType.tagMapUnique,
1248
+ **dict(options, allowEoo=True))
1249
+
1250
+ else:
1251
+ iterator = decodeFun(
1252
+ substrate, asn1Object.componentType.tagMapUnique,
1253
+ tagSet, length, state, **dict(options, allowEoo=True))
1254
+
1255
+ for component in iterator:
1256
+
1257
+ if isinstance(component, SubstrateUnderrunError):
1258
+ yield component
1259
+
1260
+ if component is eoo.endOfOctets:
1261
+ break
1262
+
1263
+ effectiveTagSet = component.effectiveTagSet
1264
+
1265
+ if LOG:
1266
+ LOG('decoded component %s, effective tag set '
1267
+ '%s' % (component, effectiveTagSet))
1268
+
1269
+ asn1Object.setComponentByType(
1270
+ effectiveTagSet, component,
1271
+ verifyConstraints=False,
1272
+ matchTags=False, matchConstraints=False,
1273
+ innerFlag=False
1274
+ )
1275
+
1276
+ if not isTagged:
1277
+ break
1278
+
1279
+ if not isTagged or component is eoo.endOfOctets:
1280
+ break
1281
+
1282
+ yield asn1Object
1283
+
1284
+
1285
+ class AnyPayloadDecoder(AbstractSimplePayloadDecoder):
1286
+ protoComponent = univ.Any()
1287
+
1288
+ def valueDecoder(self, substrate, asn1Spec,
1289
+ tagSet=None, length=None, state=None,
1290
+ decodeFun=None, substrateFun=None,
1291
+ **options):
1292
+ if asn1Spec is None:
1293
+ isUntagged = True
1294
+
1295
+ elif asn1Spec.__class__ is tagmap.TagMap:
1296
+ isUntagged = tagSet not in asn1Spec.tagMap
1297
+
1298
+ else:
1299
+ isUntagged = tagSet != asn1Spec.tagSet
1300
+
1301
+ if isUntagged:
1302
+ fullPosition = substrate.markedPosition
1303
+ currentPosition = substrate.tell()
1304
+
1305
+ substrate.seek(fullPosition, os.SEEK_SET)
1306
+ length += currentPosition - fullPosition
1307
+
1308
+ if LOG:
1309
+ for chunk in peekIntoStream(substrate, length):
1310
+ if isinstance(chunk, SubstrateUnderrunError):
1311
+ yield chunk
1312
+ LOG('decoding as untagged ANY, substrate '
1313
+ '%s' % debug.hexdump(chunk))
1314
+
1315
+ if substrateFun:
1316
+ for chunk in substrateFun(
1317
+ self._createComponent(asn1Spec, tagSet, noValue, **options),
1318
+ substrate, length, options):
1319
+ yield chunk
1320
+
1321
+ return
1322
+
1323
+ for chunk in readFromStream(substrate, length, options):
1324
+ if isinstance(chunk, SubstrateUnderrunError):
1325
+ yield chunk
1326
+
1327
+ yield self._createComponent(asn1Spec, tagSet, chunk, **options)
1328
+
1329
+ def indefLenValueDecoder(self, substrate, asn1Spec,
1330
+ tagSet=None, length=None, state=None,
1331
+ decodeFun=None, substrateFun=None,
1332
+ **options):
1333
+ if asn1Spec is None:
1334
+ isTagged = False
1335
+
1336
+ elif asn1Spec.__class__ is tagmap.TagMap:
1337
+ isTagged = tagSet in asn1Spec.tagMap
1338
+
1339
+ else:
1340
+ isTagged = tagSet == asn1Spec.tagSet
1341
+
1342
+ if isTagged:
1343
+ # tagged Any type -- consume header substrate
1344
+ chunk = b''
1345
+
1346
+ if LOG:
1347
+ LOG('decoding as tagged ANY')
1348
+
1349
+ else:
1350
+ # TODO: Seems not to be tested
1351
+ fullPosition = substrate.markedPosition
1352
+ currentPosition = substrate.tell()
1353
+
1354
+ substrate.seek(fullPosition, os.SEEK_SET)
1355
+ for chunk in readFromStream(substrate, currentPosition - fullPosition, options):
1356
+ if isinstance(chunk, SubstrateUnderrunError):
1357
+ yield chunk
1358
+
1359
+ if LOG:
1360
+ LOG('decoding as untagged ANY, header substrate %s' % debug.hexdump(chunk))
1361
+
1362
+ # Any components do not inherit initial tag
1363
+ asn1Spec = self.protoComponent
1364
+
1365
+ if substrateFun and substrateFun is not self.substrateCollector:
1366
+ asn1Object = self._createComponent(
1367
+ asn1Spec, tagSet, noValue, **options)
1368
+
1369
+ for chunk in substrateFun(
1370
+ asn1Object, chunk + substrate, length + len(chunk), options):
1371
+ yield chunk
1372
+
1373
+ return
1374
+
1375
+ if LOG:
1376
+ LOG('assembling constructed serialization')
1377
+
1378
+ # All inner fragments are of the same type, treat them as octet string
1379
+ substrateFun = self.substrateCollector
1380
+
1381
+ while True: # loop over fragments
1382
+
1383
+ for component in decodeFun(
1384
+ substrate, asn1Spec, substrateFun=substrateFun,
1385
+ allowEoo=True, **options):
1386
+
1387
+ if isinstance(component, SubstrateUnderrunError):
1388
+ yield component
1389
+
1390
+ if component is eoo.endOfOctets:
1391
+ break
1392
+
1393
+ if component is eoo.endOfOctets:
1394
+ break
1395
+
1396
+ chunk += component
1397
+
1398
+ if substrateFun:
1399
+ yield chunk # TODO: Weird
1400
+
1401
+ else:
1402
+ yield self._createComponent(asn1Spec, tagSet, chunk, **options)
1403
+
1404
+
1405
+ # character string types
1406
+ class UTF8StringPayloadDecoder(OctetStringPayloadDecoder):
1407
+ protoComponent = char.UTF8String()
1408
+
1409
+
1410
+ class NumericStringPayloadDecoder(OctetStringPayloadDecoder):
1411
+ protoComponent = char.NumericString()
1412
+
1413
+
1414
+ class PrintableStringPayloadDecoder(OctetStringPayloadDecoder):
1415
+ protoComponent = char.PrintableString()
1416
+
1417
+
1418
+ class TeletexStringPayloadDecoder(OctetStringPayloadDecoder):
1419
+ protoComponent = char.TeletexString()
1420
+
1421
+
1422
+ class VideotexStringPayloadDecoder(OctetStringPayloadDecoder):
1423
+ protoComponent = char.VideotexString()
1424
+
1425
+
1426
+ class IA5StringPayloadDecoder(OctetStringPayloadDecoder):
1427
+ protoComponent = char.IA5String()
1428
+
1429
+
1430
+ class GraphicStringPayloadDecoder(OctetStringPayloadDecoder):
1431
+ protoComponent = char.GraphicString()
1432
+
1433
+
1434
+ class VisibleStringPayloadDecoder(OctetStringPayloadDecoder):
1435
+ protoComponent = char.VisibleString()
1436
+
1437
+
1438
+ class GeneralStringPayloadDecoder(OctetStringPayloadDecoder):
1439
+ protoComponent = char.GeneralString()
1440
+
1441
+
1442
+ class UniversalStringPayloadDecoder(OctetStringPayloadDecoder):
1443
+ protoComponent = char.UniversalString()
1444
+
1445
+
1446
+ class BMPStringPayloadDecoder(OctetStringPayloadDecoder):
1447
+ protoComponent = char.BMPString()
1448
+
1449
+
1450
+ # "useful" types
1451
+ class ObjectDescriptorPayloadDecoder(OctetStringPayloadDecoder):
1452
+ protoComponent = useful.ObjectDescriptor()
1453
+
1454
+
1455
+ class GeneralizedTimePayloadDecoder(OctetStringPayloadDecoder):
1456
+ protoComponent = useful.GeneralizedTime()
1457
+
1458
+
1459
+ class UTCTimePayloadDecoder(OctetStringPayloadDecoder):
1460
+ protoComponent = useful.UTCTime()
1461
+
1462
+
1463
+ TAG_MAP = {
1464
+ univ.Integer.tagSet: IntegerPayloadDecoder(),
1465
+ univ.Boolean.tagSet: BooleanPayloadDecoder(),
1466
+ univ.BitString.tagSet: BitStringPayloadDecoder(),
1467
+ univ.OctetString.tagSet: OctetStringPayloadDecoder(),
1468
+ univ.Null.tagSet: NullPayloadDecoder(),
1469
+ univ.ObjectIdentifier.tagSet: ObjectIdentifierPayloadDecoder(),
1470
+ univ.RelativeOID.tagSet: RelativeOIDPayloadDecoder(),
1471
+ univ.Enumerated.tagSet: IntegerPayloadDecoder(),
1472
+ univ.Real.tagSet: RealPayloadDecoder(),
1473
+ univ.Sequence.tagSet: SequenceOrSequenceOfPayloadDecoder(), # conflicts with SequenceOf
1474
+ univ.Set.tagSet: SetOrSetOfPayloadDecoder(), # conflicts with SetOf
1475
+ univ.Choice.tagSet: ChoicePayloadDecoder(), # conflicts with Any
1476
+ # character string types
1477
+ char.UTF8String.tagSet: UTF8StringPayloadDecoder(),
1478
+ char.NumericString.tagSet: NumericStringPayloadDecoder(),
1479
+ char.PrintableString.tagSet: PrintableStringPayloadDecoder(),
1480
+ char.TeletexString.tagSet: TeletexStringPayloadDecoder(),
1481
+ char.VideotexString.tagSet: VideotexStringPayloadDecoder(),
1482
+ char.IA5String.tagSet: IA5StringPayloadDecoder(),
1483
+ char.GraphicString.tagSet: GraphicStringPayloadDecoder(),
1484
+ char.VisibleString.tagSet: VisibleStringPayloadDecoder(),
1485
+ char.GeneralString.tagSet: GeneralStringPayloadDecoder(),
1486
+ char.UniversalString.tagSet: UniversalStringPayloadDecoder(),
1487
+ char.BMPString.tagSet: BMPStringPayloadDecoder(),
1488
+ # useful types
1489
+ useful.ObjectDescriptor.tagSet: ObjectDescriptorPayloadDecoder(),
1490
+ useful.GeneralizedTime.tagSet: GeneralizedTimePayloadDecoder(),
1491
+ useful.UTCTime.tagSet: UTCTimePayloadDecoder()
1492
+ }
1493
+
1494
+ # Type-to-codec map for ambiguous ASN.1 types
1495
+ TYPE_MAP = {
1496
+ univ.Set.typeId: SetPayloadDecoder(),
1497
+ univ.SetOf.typeId: SetOfPayloadDecoder(),
1498
+ univ.Sequence.typeId: SequencePayloadDecoder(),
1499
+ univ.SequenceOf.typeId: SequenceOfPayloadDecoder(),
1500
+ univ.Choice.typeId: ChoicePayloadDecoder(),
1501
+ univ.Any.typeId: AnyPayloadDecoder()
1502
+ }
1503
+
1504
+ # Put in non-ambiguous types for faster codec lookup
1505
+ for typeDecoder in TAG_MAP.values():
1506
+ if typeDecoder.protoComponent is not None:
1507
+ typeId = typeDecoder.protoComponent.__class__.typeId
1508
+ if typeId is not None and typeId not in TYPE_MAP:
1509
+ TYPE_MAP[typeId] = typeDecoder
1510
+
1511
+
1512
+ (stDecodeTag,
1513
+ stDecodeLength,
1514
+ stGetValueDecoder,
1515
+ stGetValueDecoderByAsn1Spec,
1516
+ stGetValueDecoderByTag,
1517
+ stTryAsExplicitTag,
1518
+ stDecodeValue,
1519
+ stDumpRawValue,
1520
+ stErrorCondition,
1521
+ stStop) = [x for x in range(10)]
1522
+
1523
+
1524
+ EOO_SENTINEL = bytes((0, 0))
1525
+
1526
+
1527
+ class SingleItemDecoder(object):
1528
+ defaultErrorState = stErrorCondition
1529
+ #defaultErrorState = stDumpRawValue
1530
+ defaultRawDecoder = AnyPayloadDecoder()
1531
+
1532
+ supportIndefLength = True
1533
+
1534
+ TAG_MAP = TAG_MAP
1535
+ TYPE_MAP = TYPE_MAP
1536
+
1537
+ def __init__(self, tagMap=_MISSING, typeMap=_MISSING, **ignored):
1538
+ self._tagMap = tagMap if tagMap is not _MISSING else self.TAG_MAP
1539
+ self._typeMap = typeMap if typeMap is not _MISSING else self.TYPE_MAP
1540
+
1541
+ # Tag & TagSet objects caches
1542
+ self._tagCache = {}
1543
+ self._tagSetCache = {}
1544
+
1545
+ def __call__(self, substrate, asn1Spec=None,
1546
+ tagSet=None, length=None, state=stDecodeTag,
1547
+ decodeFun=None, substrateFun=None,
1548
+ **options):
1549
+
1550
+ allowEoo = options.pop('allowEoo', False)
1551
+
1552
+ if LOG:
1553
+ LOG('decoder called at scope %s with state %d, working with up '
1554
+ 'to %s octets of substrate: '
1555
+ '%s' % (debug.scope, state, length, substrate))
1556
+
1557
+ # Look for end-of-octets sentinel
1558
+ if allowEoo and self.supportIndefLength:
1559
+
1560
+ for eoo_candidate in readFromStream(substrate, 2, options):
1561
+ if isinstance(eoo_candidate, SubstrateUnderrunError):
1562
+ yield eoo_candidate
1563
+
1564
+ if eoo_candidate == EOO_SENTINEL:
1565
+ if LOG:
1566
+ LOG('end-of-octets sentinel found')
1567
+ yield eoo.endOfOctets
1568
+ return
1569
+
1570
+ else:
1571
+ substrate.seek(-2, os.SEEK_CUR)
1572
+
1573
+ tagMap = self._tagMap
1574
+ typeMap = self._typeMap
1575
+ tagCache = self._tagCache
1576
+ tagSetCache = self._tagSetCache
1577
+
1578
+ value = noValue
1579
+
1580
+ substrate.markedPosition = substrate.tell()
1581
+
1582
+ while state is not stStop:
1583
+
1584
+ if state is stDecodeTag:
1585
+ # Decode tag
1586
+ isShortTag = True
1587
+
1588
+ for firstByte in readFromStream(substrate, 1, options):
1589
+ if isinstance(firstByte, SubstrateUnderrunError):
1590
+ yield firstByte
1591
+
1592
+ firstOctet = ord(firstByte)
1593
+
1594
+ try:
1595
+ lastTag = tagCache[firstOctet]
1596
+
1597
+ except KeyError:
1598
+ integerTag = firstOctet
1599
+ tagClass = integerTag & 0xC0
1600
+ tagFormat = integerTag & 0x20
1601
+ tagId = integerTag & 0x1F
1602
+
1603
+ if tagId == 0x1F:
1604
+ isShortTag = False
1605
+ lengthOctetIdx = 0
1606
+ tagId = 0
1607
+
1608
+ while True:
1609
+ for integerByte in readFromStream(substrate, 1, options):
1610
+ if isinstance(integerByte, SubstrateUnderrunError):
1611
+ yield integerByte
1612
+
1613
+ if not integerByte:
1614
+ raise error.SubstrateUnderrunError(
1615
+ 'Short octet stream on long tag decoding'
1616
+ )
1617
+
1618
+ integerTag = ord(integerByte)
1619
+ lengthOctetIdx += 1
1620
+ tagId <<= 7
1621
+ tagId |= (integerTag & 0x7F)
1622
+
1623
+ if not integerTag & 0x80:
1624
+ break
1625
+
1626
+ lastTag = tag.Tag(
1627
+ tagClass=tagClass, tagFormat=tagFormat, tagId=tagId
1628
+ )
1629
+
1630
+ if isShortTag:
1631
+ # cache short tags
1632
+ tagCache[firstOctet] = lastTag
1633
+
1634
+ if tagSet is None:
1635
+ if isShortTag:
1636
+ try:
1637
+ tagSet = tagSetCache[firstOctet]
1638
+
1639
+ except KeyError:
1640
+ # base tag not recovered
1641
+ tagSet = tag.TagSet((), lastTag)
1642
+ tagSetCache[firstOctet] = tagSet
1643
+ else:
1644
+ tagSet = tag.TagSet((), lastTag)
1645
+
1646
+ else:
1647
+ tagSet = lastTag + tagSet
1648
+
1649
+ state = stDecodeLength
1650
+
1651
+ if LOG:
1652
+ LOG('tag decoded into %s, decoding length' % tagSet)
1653
+
1654
+ if state is stDecodeLength:
1655
+ # Decode length
1656
+ for firstOctet in readFromStream(substrate, 1, options):
1657
+ if isinstance(firstOctet, SubstrateUnderrunError):
1658
+ yield firstOctet
1659
+
1660
+ firstOctet = ord(firstOctet)
1661
+
1662
+ if firstOctet < 128:
1663
+ length = firstOctet
1664
+
1665
+ elif firstOctet > 128:
1666
+ size = firstOctet & 0x7F
1667
+ # encoded in size bytes
1668
+ for encodedLength in readFromStream(substrate, size, options):
1669
+ if isinstance(encodedLength, SubstrateUnderrunError):
1670
+ yield encodedLength
1671
+ encodedLength = list(encodedLength)
1672
+ # missing check on maximum size, which shouldn't be a
1673
+ # problem, we can handle more than is possible
1674
+ if len(encodedLength) != size:
1675
+ raise error.SubstrateUnderrunError(
1676
+ '%s<%s at %s' % (size, len(encodedLength), tagSet)
1677
+ )
1678
+
1679
+ length = 0
1680
+ for lengthOctet in encodedLength:
1681
+ length <<= 8
1682
+ length |= lengthOctet
1683
+ size += 1
1684
+
1685
+ else: # 128 means indefinite
1686
+ length = -1
1687
+
1688
+ if length == -1 and not self.supportIndefLength:
1689
+ raise error.PyAsn1Error('Indefinite length encoding not supported by this codec')
1690
+
1691
+ state = stGetValueDecoder
1692
+
1693
+ if LOG:
1694
+ LOG('value length decoded into %d' % length)
1695
+
1696
+ if state is stGetValueDecoder:
1697
+ if asn1Spec is None:
1698
+ state = stGetValueDecoderByTag
1699
+
1700
+ else:
1701
+ state = stGetValueDecoderByAsn1Spec
1702
+ #
1703
+ # There're two ways of creating subtypes in ASN.1 what influences
1704
+ # decoder operation. These methods are:
1705
+ # 1) Either base types used in or no IMPLICIT tagging has been
1706
+ # applied on subtyping.
1707
+ # 2) Subtype syntax drops base type information (by means of
1708
+ # IMPLICIT tagging.
1709
+ # The first case allows for complete tag recovery from substrate
1710
+ # while the second one requires original ASN.1 type spec for
1711
+ # decoding.
1712
+ #
1713
+ # In either case a set of tags (tagSet) is coming from substrate
1714
+ # in an incremental, tag-by-tag fashion (this is the case of
1715
+ # EXPLICIT tag which is most basic). Outermost tag comes first
1716
+ # from the wire.
1717
+ #
1718
+ if state is stGetValueDecoderByTag:
1719
+ try:
1720
+ concreteDecoder = tagMap[tagSet]
1721
+
1722
+ except KeyError:
1723
+ concreteDecoder = None
1724
+
1725
+ if concreteDecoder:
1726
+ state = stDecodeValue
1727
+
1728
+ else:
1729
+ try:
1730
+ concreteDecoder = tagMap[tagSet[:1]]
1731
+
1732
+ except KeyError:
1733
+ concreteDecoder = None
1734
+
1735
+ if concreteDecoder:
1736
+ state = stDecodeValue
1737
+ else:
1738
+ state = stTryAsExplicitTag
1739
+
1740
+ if LOG:
1741
+ LOG('codec %s chosen by a built-in type, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as explicit tag'))
1742
+ debug.scope.push(concreteDecoder is None and '?' or concreteDecoder.protoComponent.__class__.__name__)
1743
+
1744
+ if state is stGetValueDecoderByAsn1Spec:
1745
+
1746
+ if asn1Spec.__class__ is tagmap.TagMap:
1747
+ try:
1748
+ chosenSpec = asn1Spec[tagSet]
1749
+
1750
+ except KeyError:
1751
+ chosenSpec = None
1752
+
1753
+ if LOG:
1754
+ LOG('candidate ASN.1 spec is a map of:')
1755
+
1756
+ for firstOctet, v in asn1Spec.presentTypes.items():
1757
+ LOG(' %s -> %s' % (firstOctet, v.__class__.__name__))
1758
+
1759
+ if asn1Spec.skipTypes:
1760
+ LOG('but neither of: ')
1761
+ for firstOctet, v in asn1Spec.skipTypes.items():
1762
+ LOG(' %s -> %s' % (firstOctet, v.__class__.__name__))
1763
+ LOG('new candidate ASN.1 spec is %s, chosen by %s' % (chosenSpec is None and '<none>' or chosenSpec.prettyPrintType(), tagSet))
1764
+
1765
+ elif tagSet == asn1Spec.tagSet or tagSet in asn1Spec.tagMap:
1766
+ chosenSpec = asn1Spec
1767
+ if LOG:
1768
+ LOG('candidate ASN.1 spec is %s' % asn1Spec.__class__.__name__)
1769
+
1770
+ else:
1771
+ chosenSpec = None
1772
+
1773
+ if chosenSpec is not None:
1774
+ try:
1775
+ # ambiguous type or just faster codec lookup
1776
+ concreteDecoder = typeMap[chosenSpec.typeId]
1777
+
1778
+ if LOG:
1779
+ LOG('value decoder chosen for an ambiguous type by type ID %s' % (chosenSpec.typeId,))
1780
+
1781
+ except KeyError:
1782
+ # use base type for codec lookup to recover untagged types
1783
+ baseTagSet = tag.TagSet(chosenSpec.tagSet.baseTag, chosenSpec.tagSet.baseTag)
1784
+ try:
1785
+ # base type or tagged subtype
1786
+ concreteDecoder = tagMap[baseTagSet]
1787
+
1788
+ if LOG:
1789
+ LOG('value decoder chosen by base %s' % (baseTagSet,))
1790
+
1791
+ except KeyError:
1792
+ concreteDecoder = None
1793
+
1794
+ if concreteDecoder:
1795
+ asn1Spec = chosenSpec
1796
+ state = stDecodeValue
1797
+
1798
+ else:
1799
+ state = stTryAsExplicitTag
1800
+
1801
+ else:
1802
+ concreteDecoder = None
1803
+ state = stTryAsExplicitTag
1804
+
1805
+ if LOG:
1806
+ LOG('codec %s chosen by ASN.1 spec, decoding %s' % (state is stDecodeValue and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as explicit tag'))
1807
+ debug.scope.push(chosenSpec is None and '?' or chosenSpec.__class__.__name__)
1808
+
1809
+ if state is stDecodeValue:
1810
+ if not options.get('recursiveFlag', True) and not substrateFun: # deprecate this
1811
+ def substrateFun(asn1Object, _substrate, _length, _options):
1812
+ """Legacy hack to keep the recursiveFlag=False option supported.
1813
+
1814
+ The decode(..., substrateFun=userCallback) option was introduced in 0.1.4 as a generalization
1815
+ of the old recursiveFlag=False option. Users should pass their callback instead of using
1816
+ recursiveFlag.
1817
+ """
1818
+ yield asn1Object
1819
+
1820
+ original_position = substrate.tell()
1821
+
1822
+ if length == -1: # indef length
1823
+ for value in concreteDecoder.indefLenValueDecoder(
1824
+ substrate, asn1Spec,
1825
+ tagSet, length, stGetValueDecoder,
1826
+ self, substrateFun, **options):
1827
+ if isinstance(value, SubstrateUnderrunError):
1828
+ yield value
1829
+
1830
+ else:
1831
+ for value in concreteDecoder.valueDecoder(
1832
+ substrate, asn1Spec,
1833
+ tagSet, length, stGetValueDecoder,
1834
+ self, substrateFun, **options):
1835
+ if isinstance(value, SubstrateUnderrunError):
1836
+ yield value
1837
+
1838
+ bytesRead = substrate.tell() - original_position
1839
+ if not substrateFun and bytesRead != length:
1840
+ raise PyAsn1Error(
1841
+ "Read %s bytes instead of expected %s." % (bytesRead, length))
1842
+ elif substrateFun and bytesRead > length:
1843
+ # custom substrateFun may be used for partial decoding, reading less is expected there
1844
+ raise PyAsn1Error(
1845
+ "Read %s bytes are more than expected %s." % (bytesRead, length))
1846
+
1847
+ if LOG:
1848
+ LOG('codec %s yields type %s, value:\n%s\n...' % (
1849
+ concreteDecoder.__class__.__name__, value.__class__.__name__,
1850
+ isinstance(value, base.Asn1Item) and value.prettyPrint() or value))
1851
+
1852
+ state = stStop
1853
+ break
1854
+
1855
+ if state is stTryAsExplicitTag:
1856
+ if (tagSet and
1857
+ tagSet[0].tagFormat == tag.tagFormatConstructed and
1858
+ tagSet[0].tagClass != tag.tagClassUniversal):
1859
+ # Assume explicit tagging
1860
+ concreteDecoder = rawPayloadDecoder
1861
+ state = stDecodeValue
1862
+
1863
+ else:
1864
+ concreteDecoder = None
1865
+ state = self.defaultErrorState
1866
+
1867
+ if LOG:
1868
+ LOG('codec %s chosen, decoding %s' % (concreteDecoder and concreteDecoder.__class__.__name__ or "<none>", state is stDecodeValue and 'value' or 'as failure'))
1869
+
1870
+ if state is stDumpRawValue:
1871
+ concreteDecoder = self.defaultRawDecoder
1872
+
1873
+ if LOG:
1874
+ LOG('codec %s chosen, decoding value' % concreteDecoder.__class__.__name__)
1875
+
1876
+ state = stDecodeValue
1877
+
1878
+ if state is stErrorCondition:
1879
+ raise error.PyAsn1Error(
1880
+ '%s not in asn1Spec: %r' % (tagSet, asn1Spec)
1881
+ )
1882
+
1883
+ if LOG:
1884
+ debug.scope.pop()
1885
+ LOG('decoder left scope %s, call completed' % debug.scope)
1886
+
1887
+ yield value
1888
+
1889
+
1890
+ class StreamingDecoder(object):
1891
+ """Create an iterator that turns BER/CER/DER byte stream into ASN.1 objects.
1892
+
1893
+ On each iteration, consume whatever BER/CER/DER serialization is
1894
+ available in the `substrate` stream-like object and turns it into
1895
+ one or more, possibly nested, ASN.1 objects.
1896
+
1897
+ Parameters
1898
+ ----------
1899
+ substrate: :py:class:`file`, :py:class:`io.BytesIO`
1900
+ BER/CER/DER serialization in form of a byte stream
1901
+
1902
+ Keyword Args
1903
+ ------------
1904
+ asn1Spec: :py:class:`~pyasn1.type.base.PyAsn1Item`
1905
+ A pyasn1 type object to act as a template guiding the decoder.
1906
+ Depending on the ASN.1 structure being decoded, `asn1Spec` may
1907
+ or may not be required. One of the reasons why `asn1Spec` may
1908
+ me required is that ASN.1 structure is encoded in the *IMPLICIT*
1909
+ tagging mode.
1910
+
1911
+ Yields
1912
+ ------
1913
+ : :py:class:`~pyasn1.type.base.PyAsn1Item`, :py:class:`~pyasn1.error.SubstrateUnderrunError`
1914
+ Decoded ASN.1 object (possibly, nested) or
1915
+ :py:class:`~pyasn1.error.SubstrateUnderrunError` object indicating
1916
+ insufficient BER/CER/DER serialization on input to fully recover ASN.1
1917
+ objects from it.
1918
+
1919
+ In the latter case the caller is advised to ensure some more data in
1920
+ the input stream, then call the iterator again. The decoder will resume
1921
+ the decoding process using the newly arrived data.
1922
+
1923
+ The `context` property of :py:class:`~pyasn1.error.SubstrateUnderrunError`
1924
+ object might hold a reference to the partially populated ASN.1 object
1925
+ being reconstructed.
1926
+
1927
+ Raises
1928
+ ------
1929
+ ~pyasn1.error.PyAsn1Error, ~pyasn1.error.EndOfStreamError
1930
+ `PyAsn1Error` on deserialization error, `EndOfStreamError` on
1931
+ premature stream closure.
1932
+
1933
+ Examples
1934
+ --------
1935
+ Decode BER serialisation without ASN.1 schema
1936
+
1937
+ .. code-block:: pycon
1938
+
1939
+ >>> stream = io.BytesIO(
1940
+ ... b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
1941
+ >>>
1942
+ >>> for asn1Object in StreamingDecoder(stream):
1943
+ ... print(asn1Object)
1944
+ >>>
1945
+ SequenceOf:
1946
+ 1 2 3
1947
+
1948
+ Decode BER serialisation with ASN.1 schema
1949
+
1950
+ .. code-block:: pycon
1951
+
1952
+ >>> stream = io.BytesIO(
1953
+ ... b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
1954
+ >>>
1955
+ >>> schema = SequenceOf(componentType=Integer())
1956
+ >>>
1957
+ >>> decoder = StreamingDecoder(stream, asn1Spec=schema)
1958
+ >>> for asn1Object in decoder:
1959
+ ... print(asn1Object)
1960
+ >>>
1961
+ SequenceOf:
1962
+ 1 2 3
1963
+ """
1964
+
1965
+ SINGLE_ITEM_DECODER = SingleItemDecoder
1966
+
1967
+ def __init__(self, substrate, asn1Spec=None, **options):
1968
+ self._singleItemDecoder = self.SINGLE_ITEM_DECODER(**options)
1969
+ self._substrate = asSeekableStream(substrate)
1970
+ self._asn1Spec = asn1Spec
1971
+ self._options = options
1972
+
1973
+ def __iter__(self):
1974
+ while True:
1975
+ for asn1Object in self._singleItemDecoder(
1976
+ self._substrate, self._asn1Spec, **self._options):
1977
+ yield asn1Object
1978
+
1979
+ for chunk in isEndOfStream(self._substrate):
1980
+ if isinstance(chunk, SubstrateUnderrunError):
1981
+ yield
1982
+
1983
+ break
1984
+
1985
+ if chunk:
1986
+ break
1987
+
1988
+
1989
+ class Decoder(object):
1990
+ """Create a BER decoder object.
1991
+
1992
+ Parse BER/CER/DER octet-stream into one, possibly nested, ASN.1 object.
1993
+ """
1994
+ STREAMING_DECODER = StreamingDecoder
1995
+
1996
+ @classmethod
1997
+ def __call__(cls, substrate, asn1Spec=None, **options):
1998
+ """Turns BER/CER/DER octet stream into an ASN.1 object.
1999
+
2000
+ Takes BER/CER/DER octet-stream in form of :py:class:`bytes`
2001
+ and decode it into an ASN.1 object
2002
+ (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) which
2003
+ may be a scalar or an arbitrary nested structure.
2004
+
2005
+ Parameters
2006
+ ----------
2007
+ substrate: :py:class:`bytes`
2008
+ BER/CER/DER octet-stream to parse
2009
+
2010
+ Keyword Args
2011
+ ------------
2012
+ asn1Spec: :py:class:`~pyasn1.type.base.PyAsn1Item`
2013
+ A pyasn1 type object (:py:class:`~pyasn1.type.base.PyAsn1Item`
2014
+ derivative) to act as a template guiding the decoder.
2015
+ Depending on the ASN.1 structure being decoded, `asn1Spec` may or
2016
+ may not be required. Most common reason for it to require is that
2017
+ ASN.1 structure is encoded in *IMPLICIT* tagging mode.
2018
+
2019
+ substrateFun: :py:class:`Union[
2020
+ Callable[[pyasn1.type.base.PyAsn1Item, bytes, int],
2021
+ Tuple[pyasn1.type.base.PyAsn1Item, bytes]],
2022
+ Callable[[pyasn1.type.base.PyAsn1Item, io.BytesIO, int, dict],
2023
+ Generator[Union[pyasn1.type.base.PyAsn1Item,
2024
+ pyasn1.error.SubstrateUnderrunError],
2025
+ None, None]]
2026
+ ]`
2027
+ User callback meant to generalize special use cases like non-recursive or
2028
+ partial decoding. A 3-arg non-streaming variant is supported for backwards
2029
+ compatiblilty in addition to the newer 4-arg streaming variant.
2030
+ The callback will receive the uninitialized object recovered from substrate
2031
+ as 1st argument, the uninterpreted payload as 2nd argument, and the length
2032
+ of the uninterpreted payload as 3rd argument. The streaming variant will
2033
+ additionally receive the decode(..., **options) kwargs as 4th argument.
2034
+ The non-streaming variant shall return an object that will be propagated
2035
+ as decode() return value as 1st item, and the remainig payload for further
2036
+ decode passes as 2nd item.
2037
+ The streaming variant shall yield an object that will be propagated as
2038
+ decode() return value, and leave the remaining payload in the stream.
2039
+
2040
+ Returns
2041
+ -------
2042
+ : :py:class:`tuple`
2043
+ A tuple of :py:class:`~pyasn1.type.base.PyAsn1Item` object
2044
+ recovered from BER/CER/DER substrate and the unprocessed trailing
2045
+ portion of the `substrate` (may be empty)
2046
+
2047
+ Raises
2048
+ ------
2049
+ : :py:class:`~pyasn1.error.PyAsn1Error`
2050
+ :py:class:`~pyasn1.error.SubstrateUnderrunError` on insufficient
2051
+ input or :py:class:`~pyasn1.error.PyAsn1Error` on decoding error.
2052
+
2053
+ Examples
2054
+ --------
2055
+ Decode BER/CER/DER serialisation without ASN.1 schema
2056
+
2057
+ .. code-block:: pycon
2058
+
2059
+ >>> s, unprocessed = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
2060
+ >>> str(s)
2061
+ SequenceOf:
2062
+ 1 2 3
2063
+
2064
+ Decode BER/CER/DER serialisation with ASN.1 schema
2065
+
2066
+ .. code-block:: pycon
2067
+
2068
+ >>> seq = SequenceOf(componentType=Integer())
2069
+ >>> s, unprocessed = decode(
2070
+ b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03', asn1Spec=seq)
2071
+ >>> str(s)
2072
+ SequenceOf:
2073
+ 1 2 3
2074
+
2075
+ """
2076
+ substrate = asSeekableStream(substrate)
2077
+
2078
+ if "substrateFun" in options:
2079
+ origSubstrateFun = options["substrateFun"]
2080
+
2081
+ def substrateFunWrapper(asn1Object, substrate, length, options=None):
2082
+ """Support both 0.4 and 0.5 style APIs.
2083
+
2084
+ substrateFun API has changed in 0.5 for use with streaming decoders. To stay backwards compatible,
2085
+ we first try if we received a streaming user callback. If that fails,we assume we've received a
2086
+ non-streaming v0.4 user callback and convert it for streaming on the fly
2087
+ """
2088
+ try:
2089
+ substrate_gen = origSubstrateFun(asn1Object, substrate, length, options)
2090
+ except TypeError as _value:
2091
+ if _value.__traceback__.tb_next:
2092
+ # Traceback depth > 1 means TypeError from inside user provided function
2093
+ raise
2094
+ # invariant maintained at Decoder.__call__ entry
2095
+ assert isinstance(substrate, io.BytesIO) # nosec assert_used
2096
+ substrate_gen = Decoder._callSubstrateFunV4asV5(origSubstrateFun, asn1Object, substrate, length)
2097
+ for value in substrate_gen:
2098
+ yield value
2099
+
2100
+ options["substrateFun"] = substrateFunWrapper
2101
+
2102
+ streamingDecoder = cls.STREAMING_DECODER(
2103
+ substrate, asn1Spec, **options)
2104
+
2105
+ for asn1Object in streamingDecoder:
2106
+ if isinstance(asn1Object, SubstrateUnderrunError):
2107
+ raise error.SubstrateUnderrunError('Short substrate on input')
2108
+
2109
+ try:
2110
+ tail = next(readFromStream(substrate))
2111
+
2112
+ except error.EndOfStreamError:
2113
+ tail = b''
2114
+
2115
+ return asn1Object, tail
2116
+
2117
+ @staticmethod
2118
+ def _callSubstrateFunV4asV5(substrateFunV4, asn1Object, substrate, length):
2119
+ substrate_bytes = substrate.read()
2120
+ if length == -1:
2121
+ length = len(substrate_bytes)
2122
+ value, nextSubstrate = substrateFunV4(asn1Object, substrate_bytes, length)
2123
+ nbytes = substrate.write(nextSubstrate)
2124
+ substrate.truncate()
2125
+ substrate.seek(-nbytes, os.SEEK_CUR)
2126
+ yield value
2127
+
2128
+ #: Turns BER octet stream into an ASN.1 object.
2129
+ #:
2130
+ #: Takes BER octet-stream and decode it into an ASN.1 object
2131
+ #: (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) which
2132
+ #: may be a scalar or an arbitrary nested structure.
2133
+ #:
2134
+ #: Parameters
2135
+ #: ----------
2136
+ #: substrate: :py:class:`bytes`
2137
+ #: BER octet-stream
2138
+ #:
2139
+ #: Keyword Args
2140
+ #: ------------
2141
+ #: asn1Spec: any pyasn1 type object e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
2142
+ #: A pyasn1 type object to act as a template guiding the decoder. Depending on the ASN.1 structure
2143
+ #: being decoded, *asn1Spec* may or may not be required. Most common reason for
2144
+ #: it to require is that ASN.1 structure is encoded in *IMPLICIT* tagging mode.
2145
+ #:
2146
+ #: Returns
2147
+ #: -------
2148
+ #: : :py:class:`tuple`
2149
+ #: A tuple of pyasn1 object recovered from BER substrate (:py:class:`~pyasn1.type.base.PyAsn1Item` derivative)
2150
+ #: and the unprocessed trailing portion of the *substrate* (may be empty)
2151
+ #:
2152
+ #: Raises
2153
+ #: ------
2154
+ #: ~pyasn1.error.PyAsn1Error, ~pyasn1.error.SubstrateUnderrunError
2155
+ #: On decoding errors
2156
+ #:
2157
+ #: Notes
2158
+ #: -----
2159
+ #: This function is deprecated. Please use :py:class:`Decoder` or
2160
+ #: :py:class:`StreamingDecoder` class instance.
2161
+ #:
2162
+ #: Examples
2163
+ #: --------
2164
+ #: Decode BER serialisation without ASN.1 schema
2165
+ #:
2166
+ #: .. code-block:: pycon
2167
+ #:
2168
+ #: >>> s, _ = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03')
2169
+ #: >>> str(s)
2170
+ #: SequenceOf:
2171
+ #: 1 2 3
2172
+ #:
2173
+ #: Decode BER serialisation with ASN.1 schema
2174
+ #:
2175
+ #: .. code-block:: pycon
2176
+ #:
2177
+ #: >>> seq = SequenceOf(componentType=Integer())
2178
+ #: >>> s, _ = decode(b'0\t\x02\x01\x01\x02\x01\x02\x02\x01\x03', asn1Spec=seq)
2179
+ #: >>> str(s)
2180
+ #: SequenceOf:
2181
+ #: 1 2 3
2182
+ #:
2183
+ decode = Decoder()
2184
+
2185
+ def __getattr__(attr: str):
2186
+ if newAttr := {"tagMap": "TAG_MAP", "typeMap": "TYPE_MAP"}.get(attr):
2187
+ warnings.warn(f"{attr} is deprecated. Please use {newAttr} instead.", DeprecationWarning)
2188
+ return globals()[newAttr]
2189
+ raise AttributeError(attr)