android-notify 1.59.3__py3-none-any.whl → 1.60.0__py3-none-any.whl

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

Potentially problematic release.


This version of android-notify might be problematic. Click here for more details.

Files changed (1351) hide show
  1. android_notify/__init__.py +4 -4
  2. android_notify/__main__.py +24 -0
  3. android_notify/an_types.py +226 -91
  4. android_notify/an_utils.py +129 -18
  5. android_notify/base.py +97 -90
  6. android_notify/config.py +145 -0
  7. android_notify/core.py +227 -139
  8. android_notify/styles.py +25 -22
  9. android_notify/sword.py +1043 -961
  10. {android_notify-1.59.3.dist-info → android_notify-1.60.0.dist-info}/METADATA +164 -119
  11. android_notify-1.60.0.dist-info/RECORD +1350 -0
  12. android_notify-1.60.0.dist-info/entry_points.txt +2 -0
  13. {android_notify-1.59.3.dist-info → android_notify-1.60.0.dist-info}/top_level.txt +2 -0
  14. docs/examples/flet-working/src/core.py +221 -0
  15. docs/examples/flet-working/src/main.py +68 -0
  16. docs/tests/flet/adv/main.py +97 -0
  17. docs/tests/flet/adv/tests/__init__.py +0 -0
  18. docs/tests/flet/adv/tests/test_android_notify_full.py +199 -0
  19. docs/tests/flet/basic/src/core.py +221 -0
  20. docs/tests/flet/basic/src/main.py +112 -0
  21. docs/website/src/pages/data/laner_Sent.py +24 -0
  22. venv/Lib/site-packages/__editable___android_notify_1_60_0_finder.py +85 -0
  23. venv/Lib/site-packages/build/__init__.py +39 -0
  24. venv/Lib/site-packages/build/__main__.py +486 -0
  25. venv/Lib/site-packages/build/_builder.py +355 -0
  26. venv/Lib/site-packages/build/_compat/__init__.py +0 -0
  27. venv/Lib/site-packages/build/_compat/importlib.py +22 -0
  28. venv/Lib/site-packages/build/_compat/tarfile.py +31 -0
  29. venv/Lib/site-packages/build/_compat/tomllib.py +16 -0
  30. venv/Lib/site-packages/build/_ctx.py +99 -0
  31. venv/Lib/site-packages/build/_exceptions.py +65 -0
  32. venv/Lib/site-packages/build/_types.py +19 -0
  33. venv/Lib/site-packages/build/_util.py +63 -0
  34. venv/Lib/site-packages/build/env.py +393 -0
  35. venv/Lib/site-packages/build/py.typed +0 -0
  36. venv/Lib/site-packages/build/util.py +63 -0
  37. venv/Lib/site-packages/certifi/__init__.py +4 -0
  38. venv/Lib/site-packages/certifi/__main__.py +12 -0
  39. venv/Lib/site-packages/certifi/core.py +83 -0
  40. venv/Lib/site-packages/certifi/py.typed +0 -0
  41. venv/Lib/site-packages/charset_normalizer/__init__.py +48 -0
  42. venv/Lib/site-packages/charset_normalizer/__main__.py +6 -0
  43. venv/Lib/site-packages/charset_normalizer/api.py +669 -0
  44. venv/Lib/site-packages/charset_normalizer/cd.py +395 -0
  45. venv/Lib/site-packages/charset_normalizer/cli/__init__.py +8 -0
  46. venv/Lib/site-packages/charset_normalizer/cli/__main__.py +381 -0
  47. venv/Lib/site-packages/charset_normalizer/constant.py +2015 -0
  48. venv/Lib/site-packages/charset_normalizer/legacy.py +80 -0
  49. venv/Lib/site-packages/charset_normalizer/md.py +635 -0
  50. venv/Lib/site-packages/charset_normalizer/models.py +360 -0
  51. venv/Lib/site-packages/charset_normalizer/py.typed +0 -0
  52. venv/Lib/site-packages/charset_normalizer/utils.py +414 -0
  53. venv/Lib/site-packages/charset_normalizer/version.py +8 -0
  54. venv/Lib/site-packages/colorama/__init__.py +7 -0
  55. venv/Lib/site-packages/colorama/ansi.py +102 -0
  56. venv/Lib/site-packages/colorama/ansitowin32.py +277 -0
  57. venv/Lib/site-packages/colorama/initialise.py +121 -0
  58. venv/Lib/site-packages/colorama/tests/__init__.py +1 -0
  59. venv/Lib/site-packages/colorama/tests/ansi_test.py +76 -0
  60. venv/Lib/site-packages/colorama/tests/ansitowin32_test.py +294 -0
  61. venv/Lib/site-packages/colorama/tests/initialise_test.py +189 -0
  62. venv/Lib/site-packages/colorama/tests/isatty_test.py +57 -0
  63. venv/Lib/site-packages/colorama/tests/utils.py +49 -0
  64. venv/Lib/site-packages/colorama/tests/winterm_test.py +131 -0
  65. venv/Lib/site-packages/colorama/win32.py +180 -0
  66. venv/Lib/site-packages/colorama/winterm.py +195 -0
  67. venv/Lib/site-packages/docutils/__init__.py +341 -0
  68. venv/Lib/site-packages/docutils/__main__.py +103 -0
  69. venv/Lib/site-packages/docutils/core.py +855 -0
  70. venv/Lib/site-packages/docutils/examples.py +123 -0
  71. venv/Lib/site-packages/docutils/frontend.py +1178 -0
  72. venv/Lib/site-packages/docutils/io.py +718 -0
  73. venv/Lib/site-packages/docutils/languages/__init__.py +117 -0
  74. venv/Lib/site-packages/docutils/languages/af.py +58 -0
  75. venv/Lib/site-packages/docutils/languages/ar.py +60 -0
  76. venv/Lib/site-packages/docutils/languages/ca.py +65 -0
  77. venv/Lib/site-packages/docutils/languages/cs.py +60 -0
  78. venv/Lib/site-packages/docutils/languages/da.py +61 -0
  79. venv/Lib/site-packages/docutils/languages/de.py +58 -0
  80. venv/Lib/site-packages/docutils/languages/en.py +60 -0
  81. venv/Lib/site-packages/docutils/languages/eo.py +61 -0
  82. venv/Lib/site-packages/docutils/languages/es.py +58 -0
  83. venv/Lib/site-packages/docutils/languages/fa.py +60 -0
  84. venv/Lib/site-packages/docutils/languages/fi.py +60 -0
  85. venv/Lib/site-packages/docutils/languages/fr.py +58 -0
  86. venv/Lib/site-packages/docutils/languages/gl.py +62 -0
  87. venv/Lib/site-packages/docutils/languages/he.py +62 -0
  88. venv/Lib/site-packages/docutils/languages/it.py +58 -0
  89. venv/Lib/site-packages/docutils/languages/ja.py +60 -0
  90. venv/Lib/site-packages/docutils/languages/ka.py +58 -0
  91. venv/Lib/site-packages/docutils/languages/ko.py +60 -0
  92. venv/Lib/site-packages/docutils/languages/lt.py +60 -0
  93. venv/Lib/site-packages/docutils/languages/lv.py +59 -0
  94. venv/Lib/site-packages/docutils/languages/nl.py +60 -0
  95. venv/Lib/site-packages/docutils/languages/pl.py +60 -0
  96. venv/Lib/site-packages/docutils/languages/pt_br.py +60 -0
  97. venv/Lib/site-packages/docutils/languages/ru.py +58 -0
  98. venv/Lib/site-packages/docutils/languages/sk.py +58 -0
  99. venv/Lib/site-packages/docutils/languages/sv.py +59 -0
  100. venv/Lib/site-packages/docutils/languages/uk.py +58 -0
  101. venv/Lib/site-packages/docutils/languages/zh_cn.py +62 -0
  102. venv/Lib/site-packages/docutils/languages/zh_tw.py +61 -0
  103. venv/Lib/site-packages/docutils/nodes.py +3341 -0
  104. venv/Lib/site-packages/docutils/parsers/__init__.py +115 -0
  105. venv/Lib/site-packages/docutils/parsers/commonmark_wrapper.py +56 -0
  106. venv/Lib/site-packages/docutils/parsers/docutils_xml.py +194 -0
  107. venv/Lib/site-packages/docutils/parsers/null.py +24 -0
  108. venv/Lib/site-packages/docutils/parsers/recommonmark_wrapper.py +174 -0
  109. venv/Lib/site-packages/docutils/parsers/rst/__init__.py +414 -0
  110. venv/Lib/site-packages/docutils/parsers/rst/directives/__init__.py +480 -0
  111. venv/Lib/site-packages/docutils/parsers/rst/directives/admonitions.py +101 -0
  112. venv/Lib/site-packages/docutils/parsers/rst/directives/body.py +318 -0
  113. venv/Lib/site-packages/docutils/parsers/rst/directives/html.py +21 -0
  114. venv/Lib/site-packages/docutils/parsers/rst/directives/images.py +186 -0
  115. venv/Lib/site-packages/docutils/parsers/rst/directives/misc.py +690 -0
  116. venv/Lib/site-packages/docutils/parsers/rst/directives/parts.py +126 -0
  117. venv/Lib/site-packages/docutils/parsers/rst/directives/references.py +28 -0
  118. venv/Lib/site-packages/docutils/parsers/rst/directives/tables.py +523 -0
  119. venv/Lib/site-packages/docutils/parsers/rst/languages/__init__.py +63 -0
  120. venv/Lib/site-packages/docutils/parsers/rst/languages/af.py +107 -0
  121. venv/Lib/site-packages/docutils/parsers/rst/languages/ar.py +99 -0
  122. venv/Lib/site-packages/docutils/parsers/rst/languages/ca.py +130 -0
  123. venv/Lib/site-packages/docutils/parsers/rst/languages/cs.py +110 -0
  124. venv/Lib/site-packages/docutils/parsers/rst/languages/da.py +113 -0
  125. venv/Lib/site-packages/docutils/parsers/rst/languages/de.py +106 -0
  126. venv/Lib/site-packages/docutils/parsers/rst/languages/en.py +115 -0
  127. venv/Lib/site-packages/docutils/parsers/rst/languages/eo.py +118 -0
  128. venv/Lib/site-packages/docutils/parsers/rst/languages/es.py +121 -0
  129. venv/Lib/site-packages/docutils/parsers/rst/languages/fa.py +102 -0
  130. venv/Lib/site-packages/docutils/parsers/rst/languages/fi.py +98 -0
  131. venv/Lib/site-packages/docutils/parsers/rst/languages/fr.py +107 -0
  132. venv/Lib/site-packages/docutils/parsers/rst/languages/gl.py +106 -0
  133. venv/Lib/site-packages/docutils/parsers/rst/languages/he.py +110 -0
  134. venv/Lib/site-packages/docutils/parsers/rst/languages/it.py +98 -0
  135. venv/Lib/site-packages/docutils/parsers/rst/languages/ja.py +119 -0
  136. venv/Lib/site-packages/docutils/parsers/rst/languages/ka.py +89 -0
  137. venv/Lib/site-packages/docutils/parsers/rst/languages/ko.py +111 -0
  138. venv/Lib/site-packages/docutils/parsers/rst/languages/lt.py +109 -0
  139. venv/Lib/site-packages/docutils/parsers/rst/languages/lv.py +108 -0
  140. venv/Lib/site-packages/docutils/parsers/rst/languages/nl.py +113 -0
  141. venv/Lib/site-packages/docutils/parsers/rst/languages/pl.py +100 -0
  142. venv/Lib/site-packages/docutils/parsers/rst/languages/pt_br.py +109 -0
  143. venv/Lib/site-packages/docutils/parsers/rst/languages/ru.py +90 -0
  144. venv/Lib/site-packages/docutils/parsers/rst/languages/sk.py +96 -0
  145. venv/Lib/site-packages/docutils/parsers/rst/languages/sv.py +96 -0
  146. venv/Lib/site-packages/docutils/parsers/rst/languages/uk.py +91 -0
  147. venv/Lib/site-packages/docutils/parsers/rst/languages/zh_cn.py +104 -0
  148. venv/Lib/site-packages/docutils/parsers/rst/languages/zh_tw.py +109 -0
  149. venv/Lib/site-packages/docutils/parsers/rst/roles.py +450 -0
  150. venv/Lib/site-packages/docutils/parsers/rst/states.py +3255 -0
  151. venv/Lib/site-packages/docutils/parsers/rst/tableparser.py +540 -0
  152. venv/Lib/site-packages/docutils/readers/__init__.py +135 -0
  153. venv/Lib/site-packages/docutils/readers/doctree.py +50 -0
  154. venv/Lib/site-packages/docutils/readers/pep.py +55 -0
  155. venv/Lib/site-packages/docutils/readers/standalone.py +65 -0
  156. venv/Lib/site-packages/docutils/statemachine.py +1534 -0
  157. venv/Lib/site-packages/docutils/transforms/__init__.py +196 -0
  158. venv/Lib/site-packages/docutils/transforms/components.py +56 -0
  159. venv/Lib/site-packages/docutils/transforms/frontmatter.py +548 -0
  160. venv/Lib/site-packages/docutils/transforms/misc.py +151 -0
  161. venv/Lib/site-packages/docutils/transforms/parts.py +175 -0
  162. venv/Lib/site-packages/docutils/transforms/peps.py +315 -0
  163. venv/Lib/site-packages/docutils/transforms/references.py +990 -0
  164. venv/Lib/site-packages/docutils/transforms/universal.py +364 -0
  165. venv/Lib/site-packages/docutils/transforms/writer_aux.py +57 -0
  166. venv/Lib/site-packages/docutils/utils/__init__.py +853 -0
  167. venv/Lib/site-packages/docutils/utils/_roman_numerals.py +264 -0
  168. venv/Lib/site-packages/docutils/utils/_typing.py +39 -0
  169. venv/Lib/site-packages/docutils/utils/code_analyzer.py +140 -0
  170. venv/Lib/site-packages/docutils/utils/math/__init__.py +77 -0
  171. venv/Lib/site-packages/docutils/utils/math/latex2mathml.py +1252 -0
  172. venv/Lib/site-packages/docutils/utils/math/math2html.py +3166 -0
  173. venv/Lib/site-packages/docutils/utils/math/mathalphabet2unichar.py +892 -0
  174. venv/Lib/site-packages/docutils/utils/math/mathml_elements.py +482 -0
  175. venv/Lib/site-packages/docutils/utils/math/tex2mathml_extern.py +263 -0
  176. venv/Lib/site-packages/docutils/utils/math/tex2unichar.py +730 -0
  177. venv/Lib/site-packages/docutils/utils/math/unichar2tex.py +808 -0
  178. venv/Lib/site-packages/docutils/utils/punctuation_chars.py +123 -0
  179. venv/Lib/site-packages/docutils/utils/smartquotes.py +1006 -0
  180. venv/Lib/site-packages/docutils/utils/urischemes.py +138 -0
  181. venv/Lib/site-packages/docutils/writers/__init__.py +277 -0
  182. venv/Lib/site-packages/docutils/writers/_html_base.py +1885 -0
  183. venv/Lib/site-packages/docutils/writers/docutils_xml.py +191 -0
  184. venv/Lib/site-packages/docutils/writers/html4css1/__init__.py +964 -0
  185. venv/Lib/site-packages/docutils/writers/html5_polyglot/__init__.py +396 -0
  186. venv/Lib/site-packages/docutils/writers/latex2e/__init__.py +3419 -0
  187. venv/Lib/site-packages/docutils/writers/manpage.py +1353 -0
  188. venv/Lib/site-packages/docutils/writers/null.py +28 -0
  189. venv/Lib/site-packages/docutils/writers/odf_odt/__init__.py +3461 -0
  190. venv/Lib/site-packages/docutils/writers/odf_odt/prepstyles.py +80 -0
  191. venv/Lib/site-packages/docutils/writers/odf_odt/pygmentsformatter.py +106 -0
  192. venv/Lib/site-packages/docutils/writers/pep_html/__init__.py +102 -0
  193. venv/Lib/site-packages/docutils/writers/pseudoxml.py +41 -0
  194. venv/Lib/site-packages/docutils/writers/s5_html/__init__.py +354 -0
  195. venv/Lib/site-packages/docutils/writers/xetex/__init__.py +168 -0
  196. venv/Lib/site-packages/id/__init__.py +91 -0
  197. venv/Lib/site-packages/id/__main__.py +88 -0
  198. venv/Lib/site-packages/id/_internal/oidc/__init__.py +13 -0
  199. venv/Lib/site-packages/id/_internal/oidc/ambient.py +328 -0
  200. venv/Lib/site-packages/idna/__init__.py +45 -0
  201. venv/Lib/site-packages/idna/codec.py +122 -0
  202. venv/Lib/site-packages/idna/compat.py +15 -0
  203. venv/Lib/site-packages/idna/core.py +437 -0
  204. venv/Lib/site-packages/idna/idnadata.py +4309 -0
  205. venv/Lib/site-packages/idna/intranges.py +57 -0
  206. venv/Lib/site-packages/idna/package_data.py +1 -0
  207. venv/Lib/site-packages/idna/py.typed +0 -0
  208. venv/Lib/site-packages/idna/uts46data.py +8841 -0
  209. venv/Lib/site-packages/jaraco/classes/__init__.py +0 -0
  210. venv/Lib/site-packages/jaraco/classes/ancestry.py +76 -0
  211. venv/Lib/site-packages/jaraco/classes/meta.py +85 -0
  212. venv/Lib/site-packages/jaraco/classes/properties.py +241 -0
  213. venv/Lib/site-packages/jaraco/classes/py.typed +0 -0
  214. venv/Lib/site-packages/jaraco/context/__init__.py +356 -0
  215. venv/Lib/site-packages/jaraco/context/py.typed +0 -0
  216. venv/Lib/site-packages/jaraco/functools/__init__.py +714 -0
  217. venv/Lib/site-packages/jaraco/functools/__init__.pyi +123 -0
  218. venv/Lib/site-packages/jaraco/functools/py.typed +0 -0
  219. venv/Lib/site-packages/jnius/__init__.py +89 -0
  220. venv/Lib/site-packages/jnius/env.py +378 -0
  221. venv/Lib/site-packages/jnius/reflect.py +440 -0
  222. venv/Lib/site-packages/jnius/signatures.py +105 -0
  223. venv/Lib/site-packages/jnius_config.py +112 -0
  224. venv/Lib/site-packages/keyring/__init__.py +17 -0
  225. venv/Lib/site-packages/keyring/__main__.py +4 -0
  226. venv/Lib/site-packages/keyring/backend.py +300 -0
  227. venv/Lib/site-packages/keyring/backends/SecretService.py +120 -0
  228. venv/Lib/site-packages/keyring/backends/Windows.py +168 -0
  229. venv/Lib/site-packages/keyring/backends/__init__.py +0 -0
  230. venv/Lib/site-packages/keyring/backends/chainer.py +71 -0
  231. venv/Lib/site-packages/keyring/backends/fail.py +30 -0
  232. venv/Lib/site-packages/keyring/backends/kwallet.py +164 -0
  233. venv/Lib/site-packages/keyring/backends/libsecret.py +155 -0
  234. venv/Lib/site-packages/keyring/backends/macOS/__init__.py +85 -0
  235. venv/Lib/site-packages/keyring/backends/macOS/api.py +184 -0
  236. venv/Lib/site-packages/keyring/backends/null.py +20 -0
  237. venv/Lib/site-packages/keyring/cli.py +220 -0
  238. venv/Lib/site-packages/keyring/compat/__init__.py +7 -0
  239. venv/Lib/site-packages/keyring/compat/properties.py +169 -0
  240. venv/Lib/site-packages/keyring/compat/py312.py +9 -0
  241. venv/Lib/site-packages/keyring/compat/py38.py +9 -0
  242. venv/Lib/site-packages/keyring/completion.py +56 -0
  243. venv/Lib/site-packages/keyring/core.py +200 -0
  244. venv/Lib/site-packages/keyring/credentials.py +85 -0
  245. venv/Lib/site-packages/keyring/devpi_client.py +29 -0
  246. venv/Lib/site-packages/keyring/errors.py +67 -0
  247. venv/Lib/site-packages/keyring/http.py +39 -0
  248. venv/Lib/site-packages/keyring/py.typed +0 -0
  249. venv/Lib/site-packages/keyring/testing/__init__.py +0 -0
  250. venv/Lib/site-packages/keyring/testing/backend.py +200 -0
  251. venv/Lib/site-packages/keyring/testing/util.py +68 -0
  252. venv/Lib/site-packages/keyring/util/__init__.py +11 -0
  253. venv/Lib/site-packages/keyring/util/platform_.py +40 -0
  254. venv/Lib/site-packages/markdown_it/__init__.py +6 -0
  255. venv/Lib/site-packages/markdown_it/_compat.py +1 -0
  256. venv/Lib/site-packages/markdown_it/_punycode.py +67 -0
  257. venv/Lib/site-packages/markdown_it/cli/__init__.py +0 -0
  258. venv/Lib/site-packages/markdown_it/cli/parse.py +110 -0
  259. venv/Lib/site-packages/markdown_it/common/__init__.py +0 -0
  260. venv/Lib/site-packages/markdown_it/common/entities.py +5 -0
  261. venv/Lib/site-packages/markdown_it/common/html_blocks.py +69 -0
  262. venv/Lib/site-packages/markdown_it/common/html_re.py +39 -0
  263. venv/Lib/site-packages/markdown_it/common/normalize_url.py +81 -0
  264. venv/Lib/site-packages/markdown_it/common/utils.py +313 -0
  265. venv/Lib/site-packages/markdown_it/helpers/__init__.py +6 -0
  266. venv/Lib/site-packages/markdown_it/helpers/parse_link_destination.py +83 -0
  267. venv/Lib/site-packages/markdown_it/helpers/parse_link_label.py +44 -0
  268. venv/Lib/site-packages/markdown_it/helpers/parse_link_title.py +75 -0
  269. venv/Lib/site-packages/markdown_it/main.py +350 -0
  270. venv/Lib/site-packages/markdown_it/parser_block.py +113 -0
  271. venv/Lib/site-packages/markdown_it/parser_core.py +46 -0
  272. venv/Lib/site-packages/markdown_it/parser_inline.py +148 -0
  273. venv/Lib/site-packages/markdown_it/presets/__init__.py +28 -0
  274. venv/Lib/site-packages/markdown_it/presets/commonmark.py +75 -0
  275. venv/Lib/site-packages/markdown_it/presets/default.py +36 -0
  276. venv/Lib/site-packages/markdown_it/presets/zero.py +44 -0
  277. venv/Lib/site-packages/markdown_it/py.typed +1 -0
  278. venv/Lib/site-packages/markdown_it/renderer.py +336 -0
  279. venv/Lib/site-packages/markdown_it/ruler.py +275 -0
  280. venv/Lib/site-packages/markdown_it/rules_block/__init__.py +27 -0
  281. venv/Lib/site-packages/markdown_it/rules_block/blockquote.py +299 -0
  282. venv/Lib/site-packages/markdown_it/rules_block/code.py +36 -0
  283. venv/Lib/site-packages/markdown_it/rules_block/fence.py +101 -0
  284. venv/Lib/site-packages/markdown_it/rules_block/heading.py +69 -0
  285. venv/Lib/site-packages/markdown_it/rules_block/hr.py +56 -0
  286. venv/Lib/site-packages/markdown_it/rules_block/html_block.py +90 -0
  287. venv/Lib/site-packages/markdown_it/rules_block/lheading.py +86 -0
  288. venv/Lib/site-packages/markdown_it/rules_block/list.py +345 -0
  289. venv/Lib/site-packages/markdown_it/rules_block/paragraph.py +66 -0
  290. venv/Lib/site-packages/markdown_it/rules_block/reference.py +235 -0
  291. venv/Lib/site-packages/markdown_it/rules_block/state_block.py +261 -0
  292. venv/Lib/site-packages/markdown_it/rules_block/table.py +250 -0
  293. venv/Lib/site-packages/markdown_it/rules_core/__init__.py +19 -0
  294. venv/Lib/site-packages/markdown_it/rules_core/block.py +13 -0
  295. venv/Lib/site-packages/markdown_it/rules_core/inline.py +10 -0
  296. venv/Lib/site-packages/markdown_it/rules_core/linkify.py +149 -0
  297. venv/Lib/site-packages/markdown_it/rules_core/normalize.py +19 -0
  298. venv/Lib/site-packages/markdown_it/rules_core/replacements.py +127 -0
  299. venv/Lib/site-packages/markdown_it/rules_core/smartquotes.py +202 -0
  300. venv/Lib/site-packages/markdown_it/rules_core/state_core.py +25 -0
  301. venv/Lib/site-packages/markdown_it/rules_core/text_join.py +35 -0
  302. venv/Lib/site-packages/markdown_it/rules_inline/__init__.py +31 -0
  303. venv/Lib/site-packages/markdown_it/rules_inline/autolink.py +77 -0
  304. venv/Lib/site-packages/markdown_it/rules_inline/backticks.py +72 -0
  305. venv/Lib/site-packages/markdown_it/rules_inline/balance_pairs.py +138 -0
  306. venv/Lib/site-packages/markdown_it/rules_inline/emphasis.py +102 -0
  307. venv/Lib/site-packages/markdown_it/rules_inline/entity.py +53 -0
  308. venv/Lib/site-packages/markdown_it/rules_inline/escape.py +93 -0
  309. venv/Lib/site-packages/markdown_it/rules_inline/fragments_join.py +43 -0
  310. venv/Lib/site-packages/markdown_it/rules_inline/html_inline.py +43 -0
  311. venv/Lib/site-packages/markdown_it/rules_inline/image.py +148 -0
  312. venv/Lib/site-packages/markdown_it/rules_inline/link.py +149 -0
  313. venv/Lib/site-packages/markdown_it/rules_inline/linkify.py +62 -0
  314. venv/Lib/site-packages/markdown_it/rules_inline/newline.py +44 -0
  315. venv/Lib/site-packages/markdown_it/rules_inline/state_inline.py +165 -0
  316. venv/Lib/site-packages/markdown_it/rules_inline/strikethrough.py +127 -0
  317. venv/Lib/site-packages/markdown_it/rules_inline/text.py +62 -0
  318. venv/Lib/site-packages/markdown_it/token.py +178 -0
  319. venv/Lib/site-packages/markdown_it/tree.py +333 -0
  320. venv/Lib/site-packages/markdown_it/utils.py +186 -0
  321. venv/Lib/site-packages/mdurl/__init__.py +18 -0
  322. venv/Lib/site-packages/mdurl/_decode.py +104 -0
  323. venv/Lib/site-packages/mdurl/_encode.py +85 -0
  324. venv/Lib/site-packages/mdurl/_format.py +27 -0
  325. venv/Lib/site-packages/mdurl/_parse.py +304 -0
  326. venv/Lib/site-packages/mdurl/_url.py +14 -0
  327. venv/Lib/site-packages/mdurl/py.typed +1 -0
  328. venv/Lib/site-packages/more_itertools/__init__.py +6 -0
  329. venv/Lib/site-packages/more_itertools/__init__.pyi +2 -0
  330. venv/Lib/site-packages/more_itertools/more.py +5303 -0
  331. venv/Lib/site-packages/more_itertools/more.pyi +949 -0
  332. venv/Lib/site-packages/more_itertools/py.typed +0 -0
  333. venv/Lib/site-packages/more_itertools/recipes.py +1471 -0
  334. venv/Lib/site-packages/more_itertools/recipes.pyi +205 -0
  335. venv/Lib/site-packages/nh3/__init__.py +5 -0
  336. venv/Lib/site-packages/nh3/__init__.pyi +41 -0
  337. venv/Lib/site-packages/nh3/py.typed +0 -0
  338. venv/Lib/site-packages/packaging/__init__.py +15 -0
  339. venv/Lib/site-packages/packaging/_elffile.py +109 -0
  340. venv/Lib/site-packages/packaging/_manylinux.py +262 -0
  341. venv/Lib/site-packages/packaging/_musllinux.py +85 -0
  342. venv/Lib/site-packages/packaging/_parser.py +353 -0
  343. venv/Lib/site-packages/packaging/_structures.py +61 -0
  344. venv/Lib/site-packages/packaging/_tokenizer.py +195 -0
  345. venv/Lib/site-packages/packaging/licenses/__init__.py +145 -0
  346. venv/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
  347. venv/Lib/site-packages/packaging/markers.py +362 -0
  348. venv/Lib/site-packages/packaging/metadata.py +862 -0
  349. venv/Lib/site-packages/packaging/py.typed +0 -0
  350. venv/Lib/site-packages/packaging/requirements.py +91 -0
  351. venv/Lib/site-packages/packaging/specifiers.py +1019 -0
  352. venv/Lib/site-packages/packaging/tags.py +656 -0
  353. venv/Lib/site-packages/packaging/utils.py +163 -0
  354. venv/Lib/site-packages/packaging/version.py +582 -0
  355. venv/Lib/site-packages/pip/__init__.py +13 -0
  356. venv/Lib/site-packages/pip/__main__.py +24 -0
  357. venv/Lib/site-packages/pip/__pip-runner__.py +50 -0
  358. venv/Lib/site-packages/pip/_internal/__init__.py +18 -0
  359. venv/Lib/site-packages/pip/_internal/build_env.py +417 -0
  360. venv/Lib/site-packages/pip/_internal/cache.py +291 -0
  361. venv/Lib/site-packages/pip/_internal/cli/__init__.py +3 -0
  362. venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +184 -0
  363. venv/Lib/site-packages/pip/_internal/cli/base_command.py +244 -0
  364. venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +1110 -0
  365. venv/Lib/site-packages/pip/_internal/cli/command_context.py +28 -0
  366. venv/Lib/site-packages/pip/_internal/cli/index_command.py +175 -0
  367. venv/Lib/site-packages/pip/_internal/cli/main.py +80 -0
  368. venv/Lib/site-packages/pip/_internal/cli/main_parser.py +134 -0
  369. venv/Lib/site-packages/pip/_internal/cli/parser.py +298 -0
  370. venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +151 -0
  371. venv/Lib/site-packages/pip/_internal/cli/req_command.py +371 -0
  372. venv/Lib/site-packages/pip/_internal/cli/spinners.py +235 -0
  373. venv/Lib/site-packages/pip/_internal/cli/status_codes.py +6 -0
  374. venv/Lib/site-packages/pip/_internal/commands/__init__.py +139 -0
  375. venv/Lib/site-packages/pip/_internal/commands/cache.py +231 -0
  376. venv/Lib/site-packages/pip/_internal/commands/check.py +66 -0
  377. venv/Lib/site-packages/pip/_internal/commands/completion.py +135 -0
  378. venv/Lib/site-packages/pip/_internal/commands/configuration.py +288 -0
  379. venv/Lib/site-packages/pip/_internal/commands/debug.py +203 -0
  380. venv/Lib/site-packages/pip/_internal/commands/download.py +142 -0
  381. venv/Lib/site-packages/pip/_internal/commands/freeze.py +107 -0
  382. venv/Lib/site-packages/pip/_internal/commands/hash.py +58 -0
  383. venv/Lib/site-packages/pip/_internal/commands/help.py +40 -0
  384. venv/Lib/site-packages/pip/_internal/commands/index.py +159 -0
  385. venv/Lib/site-packages/pip/_internal/commands/inspect.py +92 -0
  386. venv/Lib/site-packages/pip/_internal/commands/install.py +803 -0
  387. venv/Lib/site-packages/pip/_internal/commands/list.py +400 -0
  388. venv/Lib/site-packages/pip/_internal/commands/lock.py +167 -0
  389. venv/Lib/site-packages/pip/_internal/commands/search.py +178 -0
  390. venv/Lib/site-packages/pip/_internal/commands/show.py +231 -0
  391. venv/Lib/site-packages/pip/_internal/commands/uninstall.py +113 -0
  392. venv/Lib/site-packages/pip/_internal/commands/wheel.py +176 -0
  393. venv/Lib/site-packages/pip/_internal/configuration.py +396 -0
  394. venv/Lib/site-packages/pip/_internal/distributions/__init__.py +21 -0
  395. venv/Lib/site-packages/pip/_internal/distributions/base.py +55 -0
  396. venv/Lib/site-packages/pip/_internal/distributions/installed.py +33 -0
  397. venv/Lib/site-packages/pip/_internal/distributions/sdist.py +164 -0
  398. venv/Lib/site-packages/pip/_internal/distributions/wheel.py +44 -0
  399. venv/Lib/site-packages/pip/_internal/exceptions.py +898 -0
  400. venv/Lib/site-packages/pip/_internal/index/__init__.py +1 -0
  401. venv/Lib/site-packages/pip/_internal/index/collector.py +489 -0
  402. venv/Lib/site-packages/pip/_internal/index/package_finder.py +1059 -0
  403. venv/Lib/site-packages/pip/_internal/index/sources.py +287 -0
  404. venv/Lib/site-packages/pip/_internal/locations/__init__.py +441 -0
  405. venv/Lib/site-packages/pip/_internal/locations/_distutils.py +173 -0
  406. venv/Lib/site-packages/pip/_internal/locations/_sysconfig.py +215 -0
  407. venv/Lib/site-packages/pip/_internal/locations/base.py +82 -0
  408. venv/Lib/site-packages/pip/_internal/main.py +12 -0
  409. venv/Lib/site-packages/pip/_internal/metadata/__init__.py +169 -0
  410. venv/Lib/site-packages/pip/_internal/metadata/_json.py +87 -0
  411. venv/Lib/site-packages/pip/_internal/metadata/base.py +685 -0
  412. venv/Lib/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  413. venv/Lib/site-packages/pip/_internal/metadata/importlib/_compat.py +87 -0
  414. venv/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +229 -0
  415. venv/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +143 -0
  416. venv/Lib/site-packages/pip/_internal/metadata/pkg_resources.py +298 -0
  417. venv/Lib/site-packages/pip/_internal/models/__init__.py +1 -0
  418. venv/Lib/site-packages/pip/_internal/models/candidate.py +25 -0
  419. venv/Lib/site-packages/pip/_internal/models/direct_url.py +227 -0
  420. venv/Lib/site-packages/pip/_internal/models/format_control.py +78 -0
  421. venv/Lib/site-packages/pip/_internal/models/index.py +28 -0
  422. venv/Lib/site-packages/pip/_internal/models/installation_report.py +57 -0
  423. venv/Lib/site-packages/pip/_internal/models/link.py +613 -0
  424. venv/Lib/site-packages/pip/_internal/models/pylock.py +188 -0
  425. venv/Lib/site-packages/pip/_internal/models/scheme.py +25 -0
  426. venv/Lib/site-packages/pip/_internal/models/search_scope.py +126 -0
  427. venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +53 -0
  428. venv/Lib/site-packages/pip/_internal/models/target_python.py +122 -0
  429. venv/Lib/site-packages/pip/_internal/models/wheel.py +80 -0
  430. venv/Lib/site-packages/pip/_internal/network/__init__.py +1 -0
  431. venv/Lib/site-packages/pip/_internal/network/auth.py +564 -0
  432. venv/Lib/site-packages/pip/_internal/network/cache.py +128 -0
  433. venv/Lib/site-packages/pip/_internal/network/download.py +342 -0
  434. venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +215 -0
  435. venv/Lib/site-packages/pip/_internal/network/session.py +528 -0
  436. venv/Lib/site-packages/pip/_internal/network/utils.py +98 -0
  437. venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +61 -0
  438. venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  439. venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  440. venv/Lib/site-packages/pip/_internal/operations/build/build_tracker.py +140 -0
  441. venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  442. venv/Lib/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
  443. venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  444. venv/Lib/site-packages/pip/_internal/operations/build/wheel_editable.py +47 -0
  445. venv/Lib/site-packages/pip/_internal/operations/check.py +175 -0
  446. venv/Lib/site-packages/pip/_internal/operations/freeze.py +259 -0
  447. venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +1 -0
  448. venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +746 -0
  449. venv/Lib/site-packages/pip/_internal/operations/prepare.py +748 -0
  450. venv/Lib/site-packages/pip/_internal/pyproject.py +123 -0
  451. venv/Lib/site-packages/pip/_internal/req/__init__.py +103 -0
  452. venv/Lib/site-packages/pip/_internal/req/constructors.py +566 -0
  453. venv/Lib/site-packages/pip/_internal/req/req_dependency_group.py +75 -0
  454. venv/Lib/site-packages/pip/_internal/req/req_file.py +619 -0
  455. venv/Lib/site-packages/pip/_internal/req/req_install.py +828 -0
  456. venv/Lib/site-packages/pip/_internal/req/req_set.py +81 -0
  457. venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +639 -0
  458. venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  459. venv/Lib/site-packages/pip/_internal/resolution/base.py +20 -0
  460. venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  461. venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +598 -0
  462. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  463. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +142 -0
  464. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +591 -0
  465. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +845 -0
  466. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +166 -0
  467. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +285 -0
  468. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +98 -0
  469. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +247 -0
  470. venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +332 -0
  471. venv/Lib/site-packages/pip/_internal/self_outdated_check.py +262 -0
  472. venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  473. venv/Lib/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  474. venv/Lib/site-packages/pip/_internal/utils/_log.py +38 -0
  475. venv/Lib/site-packages/pip/_internal/utils/appdirs.py +52 -0
  476. venv/Lib/site-packages/pip/_internal/utils/compat.py +85 -0
  477. venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +201 -0
  478. venv/Lib/site-packages/pip/_internal/utils/datetime.py +10 -0
  479. venv/Lib/site-packages/pip/_internal/utils/deprecation.py +126 -0
  480. venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
  481. venv/Lib/site-packages/pip/_internal/utils/egg_link.py +81 -0
  482. venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +88 -0
  483. venv/Lib/site-packages/pip/_internal/utils/filesystem.py +164 -0
  484. venv/Lib/site-packages/pip/_internal/utils/filetypes.py +24 -0
  485. venv/Lib/site-packages/pip/_internal/utils/glibc.py +102 -0
  486. venv/Lib/site-packages/pip/_internal/utils/hashes.py +150 -0
  487. venv/Lib/site-packages/pip/_internal/utils/logging.py +364 -0
  488. venv/Lib/site-packages/pip/_internal/utils/misc.py +765 -0
  489. venv/Lib/site-packages/pip/_internal/utils/packaging.py +44 -0
  490. venv/Lib/site-packages/pip/_internal/utils/retry.py +45 -0
  491. venv/Lib/site-packages/pip/_internal/utils/subprocess.py +248 -0
  492. venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +294 -0
  493. venv/Lib/site-packages/pip/_internal/utils/unpacking.py +362 -0
  494. venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  495. venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +105 -0
  496. venv/Lib/site-packages/pip/_internal/utils/wheel.py +132 -0
  497. venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  498. venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +130 -0
  499. venv/Lib/site-packages/pip/_internal/vcs/git.py +571 -0
  500. venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +186 -0
  501. venv/Lib/site-packages/pip/_internal/vcs/subversion.py +335 -0
  502. venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +693 -0
  503. venv/Lib/site-packages/pip/_internal/wheel_builder.py +261 -0
  504. venv/Lib/site-packages/pip/_vendor/__init__.py +117 -0
  505. venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +29 -0
  506. venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  507. venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +168 -0
  508. venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  509. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  510. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +145 -0
  511. venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  512. venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +511 -0
  513. venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +119 -0
  514. venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  515. venv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  516. venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  517. venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  518. venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  519. venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  520. venv/Lib/site-packages/pip/_vendor/certifi/core.py +83 -0
  521. venv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  522. venv/Lib/site-packages/pip/_vendor/dependency_groups/__init__.py +13 -0
  523. venv/Lib/site-packages/pip/_vendor/dependency_groups/__main__.py +65 -0
  524. venv/Lib/site-packages/pip/_vendor/dependency_groups/_implementation.py +209 -0
  525. venv/Lib/site-packages/pip/_vendor/dependency_groups/_lint_dependency_groups.py +59 -0
  526. venv/Lib/site-packages/pip/_vendor/dependency_groups/_pip_wrapper.py +62 -0
  527. venv/Lib/site-packages/pip/_vendor/dependency_groups/_toml_compat.py +9 -0
  528. venv/Lib/site-packages/pip/_vendor/dependency_groups/py.typed +0 -0
  529. venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  530. venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  531. venv/Lib/site-packages/pip/_vendor/distlib/resources.py +358 -0
  532. venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  533. venv/Lib/site-packages/pip/_vendor/distlib/util.py +1984 -0
  534. venv/Lib/site-packages/pip/_vendor/distro/__init__.py +54 -0
  535. venv/Lib/site-packages/pip/_vendor/distro/__main__.py +4 -0
  536. venv/Lib/site-packages/pip/_vendor/distro/distro.py +1403 -0
  537. venv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  538. venv/Lib/site-packages/pip/_vendor/idna/__init__.py +45 -0
  539. venv/Lib/site-packages/pip/_vendor/idna/codec.py +122 -0
  540. venv/Lib/site-packages/pip/_vendor/idna/compat.py +15 -0
  541. venv/Lib/site-packages/pip/_vendor/idna/core.py +437 -0
  542. venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +4243 -0
  543. venv/Lib/site-packages/pip/_vendor/idna/intranges.py +57 -0
  544. venv/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -0
  545. venv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  546. venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8681 -0
  547. venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  548. venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  549. venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  550. venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  551. venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  552. venv/Lib/site-packages/pip/_vendor/packaging/_elffile.py +109 -0
  553. venv/Lib/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
  554. venv/Lib/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  555. venv/Lib/site-packages/pip/_vendor/packaging/_parser.py +353 -0
  556. venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +61 -0
  557. venv/Lib/site-packages/pip/_vendor/packaging/_tokenizer.py +195 -0
  558. venv/Lib/site-packages/pip/_vendor/packaging/licenses/__init__.py +145 -0
  559. venv/Lib/site-packages/pip/_vendor/packaging/licenses/_spdx.py +759 -0
  560. venv/Lib/site-packages/pip/_vendor/packaging/markers.py +362 -0
  561. venv/Lib/site-packages/pip/_vendor/packaging/metadata.py +862 -0
  562. venv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  563. venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +91 -0
  564. venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +1019 -0
  565. venv/Lib/site-packages/pip/_vendor/packaging/tags.py +656 -0
  566. venv/Lib/site-packages/pip/_vendor/packaging/utils.py +163 -0
  567. venv/Lib/site-packages/pip/_vendor/packaging/version.py +582 -0
  568. venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  569. venv/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  570. venv/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  571. venv/Lib/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  572. venv/Lib/site-packages/pip/_vendor/platformdirs/api.py +299 -0
  573. venv/Lib/site-packages/pip/_vendor/platformdirs/macos.py +146 -0
  574. venv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  575. venv/Lib/site-packages/pip/_vendor/platformdirs/unix.py +272 -0
  576. venv/Lib/site-packages/pip/_vendor/platformdirs/version.py +34 -0
  577. venv/Lib/site-packages/pip/_vendor/platformdirs/windows.py +272 -0
  578. venv/Lib/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  579. venv/Lib/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  580. venv/Lib/site-packages/pip/_vendor/pygments/console.py +70 -0
  581. venv/Lib/site-packages/pip/_vendor/pygments/filter.py +70 -0
  582. venv/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  583. venv/Lib/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  584. venv/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  585. venv/Lib/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  586. venv/Lib/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  587. venv/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  588. venv/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +602 -0
  589. venv/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +1201 -0
  590. venv/Lib/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  591. venv/Lib/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  592. venv/Lib/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  593. venv/Lib/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  594. venv/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  595. venv/Lib/site-packages/pip/_vendor/pygments/style.py +203 -0
  596. venv/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  597. venv/Lib/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  598. venv/Lib/site-packages/pip/_vendor/pygments/token.py +214 -0
  599. venv/Lib/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  600. venv/Lib/site-packages/pip/_vendor/pygments/util.py +324 -0
  601. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  602. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  603. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  604. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  605. venv/Lib/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  606. venv/Lib/site-packages/pip/_vendor/requests/__init__.py +179 -0
  607. venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  608. venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
  609. venv/Lib/site-packages/pip/_vendor/requests/adapters.py +696 -0
  610. venv/Lib/site-packages/pip/_vendor/requests/api.py +157 -0
  611. venv/Lib/site-packages/pip/_vendor/requests/auth.py +314 -0
  612. venv/Lib/site-packages/pip/_vendor/requests/certs.py +17 -0
  613. venv/Lib/site-packages/pip/_vendor/requests/compat.py +90 -0
  614. venv/Lib/site-packages/pip/_vendor/requests/cookies.py +561 -0
  615. venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +151 -0
  616. venv/Lib/site-packages/pip/_vendor/requests/help.py +127 -0
  617. venv/Lib/site-packages/pip/_vendor/requests/hooks.py +33 -0
  618. venv/Lib/site-packages/pip/_vendor/requests/models.py +1039 -0
  619. venv/Lib/site-packages/pip/_vendor/requests/packages.py +25 -0
  620. venv/Lib/site-packages/pip/_vendor/requests/sessions.py +831 -0
  621. venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  622. venv/Lib/site-packages/pip/_vendor/requests/structures.py +99 -0
  623. venv/Lib/site-packages/pip/_vendor/requests/utils.py +1086 -0
  624. venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +27 -0
  625. venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +196 -0
  626. venv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  627. venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +55 -0
  628. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +27 -0
  629. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +47 -0
  630. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +48 -0
  631. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +57 -0
  632. venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +627 -0
  633. venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +209 -0
  634. venv/Lib/site-packages/pip/_vendor/rich/__init__.py +177 -0
  635. venv/Lib/site-packages/pip/_vendor/rich/__main__.py +245 -0
  636. venv/Lib/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  637. venv/Lib/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  638. venv/Lib/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  639. venv/Lib/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  640. venv/Lib/site-packages/pip/_vendor/rich/_extension.py +10 -0
  641. venv/Lib/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  642. venv/Lib/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  643. venv/Lib/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  644. venv/Lib/site-packages/pip/_vendor/rich/_loop.py +43 -0
  645. venv/Lib/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  646. venv/Lib/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  647. venv/Lib/site-packages/pip/_vendor/rich/_pick.py +17 -0
  648. venv/Lib/site-packages/pip/_vendor/rich/_ratio.py +153 -0
  649. venv/Lib/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  650. venv/Lib/site-packages/pip/_vendor/rich/_stack.py +16 -0
  651. venv/Lib/site-packages/pip/_vendor/rich/_timer.py +19 -0
  652. venv/Lib/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  653. venv/Lib/site-packages/pip/_vendor/rich/_windows.py +71 -0
  654. venv/Lib/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  655. venv/Lib/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  656. venv/Lib/site-packages/pip/_vendor/rich/abc.py +33 -0
  657. venv/Lib/site-packages/pip/_vendor/rich/align.py +306 -0
  658. venv/Lib/site-packages/pip/_vendor/rich/ansi.py +241 -0
  659. venv/Lib/site-packages/pip/_vendor/rich/bar.py +93 -0
  660. venv/Lib/site-packages/pip/_vendor/rich/box.py +474 -0
  661. venv/Lib/site-packages/pip/_vendor/rich/cells.py +174 -0
  662. venv/Lib/site-packages/pip/_vendor/rich/color.py +621 -0
  663. venv/Lib/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  664. venv/Lib/site-packages/pip/_vendor/rich/columns.py +187 -0
  665. venv/Lib/site-packages/pip/_vendor/rich/console.py +2680 -0
  666. venv/Lib/site-packages/pip/_vendor/rich/constrain.py +37 -0
  667. venv/Lib/site-packages/pip/_vendor/rich/containers.py +167 -0
  668. venv/Lib/site-packages/pip/_vendor/rich/control.py +219 -0
  669. venv/Lib/site-packages/pip/_vendor/rich/default_styles.py +193 -0
  670. venv/Lib/site-packages/pip/_vendor/rich/diagnose.py +39 -0
  671. venv/Lib/site-packages/pip/_vendor/rich/emoji.py +91 -0
  672. venv/Lib/site-packages/pip/_vendor/rich/errors.py +34 -0
  673. venv/Lib/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  674. venv/Lib/site-packages/pip/_vendor/rich/filesize.py +88 -0
  675. venv/Lib/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  676. venv/Lib/site-packages/pip/_vendor/rich/json.py +139 -0
  677. venv/Lib/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  678. venv/Lib/site-packages/pip/_vendor/rich/layout.py +442 -0
  679. venv/Lib/site-packages/pip/_vendor/rich/live.py +400 -0
  680. venv/Lib/site-packages/pip/_vendor/rich/live_render.py +106 -0
  681. venv/Lib/site-packages/pip/_vendor/rich/logging.py +297 -0
  682. venv/Lib/site-packages/pip/_vendor/rich/markup.py +251 -0
  683. venv/Lib/site-packages/pip/_vendor/rich/measure.py +151 -0
  684. venv/Lib/site-packages/pip/_vendor/rich/padding.py +141 -0
  685. venv/Lib/site-packages/pip/_vendor/rich/pager.py +34 -0
  686. venv/Lib/site-packages/pip/_vendor/rich/palette.py +100 -0
  687. venv/Lib/site-packages/pip/_vendor/rich/panel.py +317 -0
  688. venv/Lib/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  689. venv/Lib/site-packages/pip/_vendor/rich/progress.py +1715 -0
  690. venv/Lib/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  691. venv/Lib/site-packages/pip/_vendor/rich/prompt.py +400 -0
  692. venv/Lib/site-packages/pip/_vendor/rich/protocol.py +42 -0
  693. venv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  694. venv/Lib/site-packages/pip/_vendor/rich/region.py +10 -0
  695. venv/Lib/site-packages/pip/_vendor/rich/repr.py +149 -0
  696. venv/Lib/site-packages/pip/_vendor/rich/rule.py +130 -0
  697. venv/Lib/site-packages/pip/_vendor/rich/scope.py +86 -0
  698. venv/Lib/site-packages/pip/_vendor/rich/screen.py +54 -0
  699. venv/Lib/site-packages/pip/_vendor/rich/segment.py +752 -0
  700. venv/Lib/site-packages/pip/_vendor/rich/spinner.py +132 -0
  701. venv/Lib/site-packages/pip/_vendor/rich/status.py +131 -0
  702. venv/Lib/site-packages/pip/_vendor/rich/style.py +792 -0
  703. venv/Lib/site-packages/pip/_vendor/rich/styled.py +42 -0
  704. venv/Lib/site-packages/pip/_vendor/rich/syntax.py +985 -0
  705. venv/Lib/site-packages/pip/_vendor/rich/table.py +1006 -0
  706. venv/Lib/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  707. venv/Lib/site-packages/pip/_vendor/rich/text.py +1361 -0
  708. venv/Lib/site-packages/pip/_vendor/rich/theme.py +115 -0
  709. venv/Lib/site-packages/pip/_vendor/rich/themes.py +5 -0
  710. venv/Lib/site-packages/pip/_vendor/rich/traceback.py +899 -0
  711. venv/Lib/site-packages/pip/_vendor/rich/tree.py +257 -0
  712. venv/Lib/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  713. venv/Lib/site-packages/pip/_vendor/tomli/_parser.py +777 -0
  714. venv/Lib/site-packages/pip/_vendor/tomli/_re.py +115 -0
  715. venv/Lib/site-packages/pip/_vendor/tomli/_types.py +10 -0
  716. venv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  717. venv/Lib/site-packages/pip/_vendor/tomli_w/__init__.py +4 -0
  718. venv/Lib/site-packages/pip/_vendor/tomli_w/_writer.py +229 -0
  719. venv/Lib/site-packages/pip/_vendor/tomli_w/py.typed +1 -0
  720. venv/Lib/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  721. venv/Lib/site-packages/pip/_vendor/truststore/_api.py +341 -0
  722. venv/Lib/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  723. venv/Lib/site-packages/pip/_vendor/truststore/_openssl.py +68 -0
  724. venv/Lib/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  725. venv/Lib/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  726. venv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  727. venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
  728. venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
  729. venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  730. venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +572 -0
  731. venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1140 -0
  732. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  733. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  734. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  735. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  736. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
  737. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  738. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
  739. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
  740. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  741. venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  742. venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
  743. venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  744. venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  745. venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
  746. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  747. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  748. venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
  749. venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
  750. venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
  751. venv/Lib/site-packages/pip/_vendor/urllib3/request.py +191 -0
  752. venv/Lib/site-packages/pip/_vendor/urllib3/response.py +879 -0
  753. venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  754. venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
  755. venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
  756. venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  757. venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
  758. venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  759. venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +622 -0
  760. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +504 -0
  761. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  762. venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  763. venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
  764. venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
  765. venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
  766. venv/Lib/site-packages/pip/py.typed +4 -0
  767. venv/Lib/site-packages/pygments/__init__.py +82 -0
  768. venv/Lib/site-packages/pygments/__main__.py +17 -0
  769. venv/Lib/site-packages/pygments/cmdline.py +668 -0
  770. venv/Lib/site-packages/pygments/console.py +70 -0
  771. venv/Lib/site-packages/pygments/filter.py +70 -0
  772. venv/Lib/site-packages/pygments/filters/__init__.py +940 -0
  773. venv/Lib/site-packages/pygments/formatter.py +129 -0
  774. venv/Lib/site-packages/pygments/formatters/__init__.py +157 -0
  775. venv/Lib/site-packages/pygments/formatters/_mapping.py +23 -0
  776. venv/Lib/site-packages/pygments/formatters/bbcode.py +108 -0
  777. venv/Lib/site-packages/pygments/formatters/groff.py +170 -0
  778. venv/Lib/site-packages/pygments/formatters/html.py +995 -0
  779. venv/Lib/site-packages/pygments/formatters/img.py +686 -0
  780. venv/Lib/site-packages/pygments/formatters/irc.py +154 -0
  781. venv/Lib/site-packages/pygments/formatters/latex.py +518 -0
  782. venv/Lib/site-packages/pygments/formatters/other.py +160 -0
  783. venv/Lib/site-packages/pygments/formatters/pangomarkup.py +83 -0
  784. venv/Lib/site-packages/pygments/formatters/rtf.py +349 -0
  785. venv/Lib/site-packages/pygments/formatters/svg.py +185 -0
  786. venv/Lib/site-packages/pygments/formatters/terminal.py +127 -0
  787. venv/Lib/site-packages/pygments/formatters/terminal256.py +338 -0
  788. venv/Lib/site-packages/pygments/lexer.py +961 -0
  789. venv/Lib/site-packages/pygments/lexers/__init__.py +362 -0
  790. venv/Lib/site-packages/pygments/lexers/_ada_builtins.py +103 -0
  791. venv/Lib/site-packages/pygments/lexers/_asy_builtins.py +1644 -0
  792. venv/Lib/site-packages/pygments/lexers/_cl_builtins.py +231 -0
  793. venv/Lib/site-packages/pygments/lexers/_cocoa_builtins.py +75 -0
  794. venv/Lib/site-packages/pygments/lexers/_csound_builtins.py +1780 -0
  795. venv/Lib/site-packages/pygments/lexers/_css_builtins.py +558 -0
  796. venv/Lib/site-packages/pygments/lexers/_googlesql_builtins.py +918 -0
  797. venv/Lib/site-packages/pygments/lexers/_julia_builtins.py +411 -0
  798. venv/Lib/site-packages/pygments/lexers/_lasso_builtins.py +5326 -0
  799. venv/Lib/site-packages/pygments/lexers/_lilypond_builtins.py +4932 -0
  800. venv/Lib/site-packages/pygments/lexers/_lua_builtins.py +285 -0
  801. venv/Lib/site-packages/pygments/lexers/_luau_builtins.py +62 -0
  802. venv/Lib/site-packages/pygments/lexers/_mapping.py +602 -0
  803. venv/Lib/site-packages/pygments/lexers/_mql_builtins.py +1171 -0
  804. venv/Lib/site-packages/pygments/lexers/_mysql_builtins.py +1335 -0
  805. venv/Lib/site-packages/pygments/lexers/_openedge_builtins.py +2600 -0
  806. venv/Lib/site-packages/pygments/lexers/_php_builtins.py +3325 -0
  807. venv/Lib/site-packages/pygments/lexers/_postgres_builtins.py +739 -0
  808. venv/Lib/site-packages/pygments/lexers/_qlik_builtins.py +666 -0
  809. venv/Lib/site-packages/pygments/lexers/_scheme_builtins.py +1609 -0
  810. venv/Lib/site-packages/pygments/lexers/_scilab_builtins.py +3093 -0
  811. venv/Lib/site-packages/pygments/lexers/_sourcemod_builtins.py +1151 -0
  812. venv/Lib/site-packages/pygments/lexers/_sql_builtins.py +106 -0
  813. venv/Lib/site-packages/pygments/lexers/_stan_builtins.py +648 -0
  814. venv/Lib/site-packages/pygments/lexers/_stata_builtins.py +457 -0
  815. venv/Lib/site-packages/pygments/lexers/_tsql_builtins.py +1003 -0
  816. venv/Lib/site-packages/pygments/lexers/_usd_builtins.py +112 -0
  817. venv/Lib/site-packages/pygments/lexers/_vbscript_builtins.py +279 -0
  818. venv/Lib/site-packages/pygments/lexers/_vim_builtins.py +1938 -0
  819. venv/Lib/site-packages/pygments/lexers/actionscript.py +243 -0
  820. venv/Lib/site-packages/pygments/lexers/ada.py +144 -0
  821. venv/Lib/site-packages/pygments/lexers/agile.py +25 -0
  822. venv/Lib/site-packages/pygments/lexers/algebra.py +299 -0
  823. venv/Lib/site-packages/pygments/lexers/ambient.py +75 -0
  824. venv/Lib/site-packages/pygments/lexers/amdgpu.py +54 -0
  825. venv/Lib/site-packages/pygments/lexers/ampl.py +87 -0
  826. venv/Lib/site-packages/pygments/lexers/apdlexer.py +593 -0
  827. venv/Lib/site-packages/pygments/lexers/apl.py +103 -0
  828. venv/Lib/site-packages/pygments/lexers/archetype.py +315 -0
  829. venv/Lib/site-packages/pygments/lexers/arrow.py +116 -0
  830. venv/Lib/site-packages/pygments/lexers/arturo.py +249 -0
  831. venv/Lib/site-packages/pygments/lexers/asc.py +55 -0
  832. venv/Lib/site-packages/pygments/lexers/asm.py +1051 -0
  833. venv/Lib/site-packages/pygments/lexers/asn1.py +178 -0
  834. venv/Lib/site-packages/pygments/lexers/automation.py +379 -0
  835. venv/Lib/site-packages/pygments/lexers/bare.py +101 -0
  836. venv/Lib/site-packages/pygments/lexers/basic.py +656 -0
  837. venv/Lib/site-packages/pygments/lexers/bdd.py +57 -0
  838. venv/Lib/site-packages/pygments/lexers/berry.py +99 -0
  839. venv/Lib/site-packages/pygments/lexers/bibtex.py +159 -0
  840. venv/Lib/site-packages/pygments/lexers/blueprint.py +173 -0
  841. venv/Lib/site-packages/pygments/lexers/boa.py +97 -0
  842. venv/Lib/site-packages/pygments/lexers/bqn.py +112 -0
  843. venv/Lib/site-packages/pygments/lexers/business.py +625 -0
  844. venv/Lib/site-packages/pygments/lexers/c_cpp.py +414 -0
  845. venv/Lib/site-packages/pygments/lexers/c_like.py +738 -0
  846. venv/Lib/site-packages/pygments/lexers/capnproto.py +74 -0
  847. venv/Lib/site-packages/pygments/lexers/carbon.py +95 -0
  848. venv/Lib/site-packages/pygments/lexers/cddl.py +172 -0
  849. venv/Lib/site-packages/pygments/lexers/chapel.py +139 -0
  850. venv/Lib/site-packages/pygments/lexers/clean.py +180 -0
  851. venv/Lib/site-packages/pygments/lexers/codeql.py +80 -0
  852. venv/Lib/site-packages/pygments/lexers/comal.py +81 -0
  853. venv/Lib/site-packages/pygments/lexers/compiled.py +35 -0
  854. venv/Lib/site-packages/pygments/lexers/configs.py +1433 -0
  855. venv/Lib/site-packages/pygments/lexers/console.py +114 -0
  856. venv/Lib/site-packages/pygments/lexers/cplint.py +43 -0
  857. venv/Lib/site-packages/pygments/lexers/crystal.py +364 -0
  858. venv/Lib/site-packages/pygments/lexers/csound.py +466 -0
  859. venv/Lib/site-packages/pygments/lexers/css.py +602 -0
  860. venv/Lib/site-packages/pygments/lexers/d.py +259 -0
  861. venv/Lib/site-packages/pygments/lexers/dalvik.py +126 -0
  862. venv/Lib/site-packages/pygments/lexers/data.py +763 -0
  863. venv/Lib/site-packages/pygments/lexers/dax.py +135 -0
  864. venv/Lib/site-packages/pygments/lexers/devicetree.py +108 -0
  865. venv/Lib/site-packages/pygments/lexers/diff.py +169 -0
  866. venv/Lib/site-packages/pygments/lexers/dns.py +109 -0
  867. venv/Lib/site-packages/pygments/lexers/dotnet.py +873 -0
  868. venv/Lib/site-packages/pygments/lexers/dsls.py +970 -0
  869. venv/Lib/site-packages/pygments/lexers/dylan.py +279 -0
  870. venv/Lib/site-packages/pygments/lexers/ecl.py +144 -0
  871. venv/Lib/site-packages/pygments/lexers/eiffel.py +68 -0
  872. venv/Lib/site-packages/pygments/lexers/elm.py +123 -0
  873. venv/Lib/site-packages/pygments/lexers/elpi.py +175 -0
  874. venv/Lib/site-packages/pygments/lexers/email.py +132 -0
  875. venv/Lib/site-packages/pygments/lexers/erlang.py +526 -0
  876. venv/Lib/site-packages/pygments/lexers/esoteric.py +300 -0
  877. venv/Lib/site-packages/pygments/lexers/ezhil.py +76 -0
  878. venv/Lib/site-packages/pygments/lexers/factor.py +363 -0
  879. venv/Lib/site-packages/pygments/lexers/fantom.py +251 -0
  880. venv/Lib/site-packages/pygments/lexers/felix.py +275 -0
  881. venv/Lib/site-packages/pygments/lexers/fift.py +68 -0
  882. venv/Lib/site-packages/pygments/lexers/floscript.py +81 -0
  883. venv/Lib/site-packages/pygments/lexers/forth.py +178 -0
  884. venv/Lib/site-packages/pygments/lexers/fortran.py +212 -0
  885. venv/Lib/site-packages/pygments/lexers/foxpro.py +427 -0
  886. venv/Lib/site-packages/pygments/lexers/freefem.py +893 -0
  887. venv/Lib/site-packages/pygments/lexers/func.py +110 -0
  888. venv/Lib/site-packages/pygments/lexers/functional.py +21 -0
  889. venv/Lib/site-packages/pygments/lexers/futhark.py +105 -0
  890. venv/Lib/site-packages/pygments/lexers/gcodelexer.py +35 -0
  891. venv/Lib/site-packages/pygments/lexers/gdscript.py +189 -0
  892. venv/Lib/site-packages/pygments/lexers/gleam.py +74 -0
  893. venv/Lib/site-packages/pygments/lexers/go.py +97 -0
  894. venv/Lib/site-packages/pygments/lexers/grammar_notation.py +262 -0
  895. venv/Lib/site-packages/pygments/lexers/graph.py +108 -0
  896. venv/Lib/site-packages/pygments/lexers/graphics.py +794 -0
  897. venv/Lib/site-packages/pygments/lexers/graphql.py +176 -0
  898. venv/Lib/site-packages/pygments/lexers/graphviz.py +58 -0
  899. venv/Lib/site-packages/pygments/lexers/gsql.py +103 -0
  900. venv/Lib/site-packages/pygments/lexers/hare.py +73 -0
  901. venv/Lib/site-packages/pygments/lexers/haskell.py +866 -0
  902. venv/Lib/site-packages/pygments/lexers/haxe.py +935 -0
  903. venv/Lib/site-packages/pygments/lexers/hdl.py +466 -0
  904. venv/Lib/site-packages/pygments/lexers/hexdump.py +102 -0
  905. venv/Lib/site-packages/pygments/lexers/html.py +670 -0
  906. venv/Lib/site-packages/pygments/lexers/idl.py +284 -0
  907. venv/Lib/site-packages/pygments/lexers/igor.py +435 -0
  908. venv/Lib/site-packages/pygments/lexers/inferno.py +95 -0
  909. venv/Lib/site-packages/pygments/lexers/installers.py +352 -0
  910. venv/Lib/site-packages/pygments/lexers/int_fiction.py +1370 -0
  911. venv/Lib/site-packages/pygments/lexers/iolang.py +61 -0
  912. venv/Lib/site-packages/pygments/lexers/j.py +151 -0
  913. venv/Lib/site-packages/pygments/lexers/javascript.py +1591 -0
  914. venv/Lib/site-packages/pygments/lexers/jmespath.py +69 -0
  915. venv/Lib/site-packages/pygments/lexers/jslt.py +94 -0
  916. venv/Lib/site-packages/pygments/lexers/json5.py +83 -0
  917. venv/Lib/site-packages/pygments/lexers/jsonnet.py +169 -0
  918. venv/Lib/site-packages/pygments/lexers/jsx.py +100 -0
  919. venv/Lib/site-packages/pygments/lexers/julia.py +294 -0
  920. venv/Lib/site-packages/pygments/lexers/jvm.py +1802 -0
  921. venv/Lib/site-packages/pygments/lexers/kuin.py +332 -0
  922. venv/Lib/site-packages/pygments/lexers/kusto.py +93 -0
  923. venv/Lib/site-packages/pygments/lexers/ldap.py +155 -0
  924. venv/Lib/site-packages/pygments/lexers/lean.py +241 -0
  925. venv/Lib/site-packages/pygments/lexers/lilypond.py +225 -0
  926. venv/Lib/site-packages/pygments/lexers/lisp.py +3146 -0
  927. venv/Lib/site-packages/pygments/lexers/macaulay2.py +1814 -0
  928. venv/Lib/site-packages/pygments/lexers/make.py +212 -0
  929. venv/Lib/site-packages/pygments/lexers/maple.py +291 -0
  930. venv/Lib/site-packages/pygments/lexers/markup.py +1654 -0
  931. venv/Lib/site-packages/pygments/lexers/math.py +21 -0
  932. venv/Lib/site-packages/pygments/lexers/matlab.py +3307 -0
  933. venv/Lib/site-packages/pygments/lexers/maxima.py +84 -0
  934. venv/Lib/site-packages/pygments/lexers/meson.py +139 -0
  935. venv/Lib/site-packages/pygments/lexers/mime.py +210 -0
  936. venv/Lib/site-packages/pygments/lexers/minecraft.py +391 -0
  937. venv/Lib/site-packages/pygments/lexers/mips.py +130 -0
  938. venv/Lib/site-packages/pygments/lexers/ml.py +958 -0
  939. venv/Lib/site-packages/pygments/lexers/modeling.py +366 -0
  940. venv/Lib/site-packages/pygments/lexers/modula2.py +1579 -0
  941. venv/Lib/site-packages/pygments/lexers/mojo.py +707 -0
  942. venv/Lib/site-packages/pygments/lexers/monte.py +203 -0
  943. venv/Lib/site-packages/pygments/lexers/mosel.py +447 -0
  944. venv/Lib/site-packages/pygments/lexers/ncl.py +894 -0
  945. venv/Lib/site-packages/pygments/lexers/nimrod.py +199 -0
  946. venv/Lib/site-packages/pygments/lexers/nit.py +63 -0
  947. venv/Lib/site-packages/pygments/lexers/nix.py +144 -0
  948. venv/Lib/site-packages/pygments/lexers/numbair.py +63 -0
  949. venv/Lib/site-packages/pygments/lexers/oberon.py +120 -0
  950. venv/Lib/site-packages/pygments/lexers/objective.py +513 -0
  951. venv/Lib/site-packages/pygments/lexers/ooc.py +84 -0
  952. venv/Lib/site-packages/pygments/lexers/openscad.py +96 -0
  953. venv/Lib/site-packages/pygments/lexers/other.py +41 -0
  954. venv/Lib/site-packages/pygments/lexers/parasail.py +78 -0
  955. venv/Lib/site-packages/pygments/lexers/parsers.py +798 -0
  956. venv/Lib/site-packages/pygments/lexers/pascal.py +644 -0
  957. venv/Lib/site-packages/pygments/lexers/pawn.py +202 -0
  958. venv/Lib/site-packages/pygments/lexers/pddl.py +82 -0
  959. venv/Lib/site-packages/pygments/lexers/perl.py +733 -0
  960. venv/Lib/site-packages/pygments/lexers/phix.py +363 -0
  961. venv/Lib/site-packages/pygments/lexers/php.py +334 -0
  962. venv/Lib/site-packages/pygments/lexers/pointless.py +70 -0
  963. venv/Lib/site-packages/pygments/lexers/pony.py +93 -0
  964. venv/Lib/site-packages/pygments/lexers/praat.py +303 -0
  965. venv/Lib/site-packages/pygments/lexers/procfile.py +41 -0
  966. venv/Lib/site-packages/pygments/lexers/prolog.py +318 -0
  967. venv/Lib/site-packages/pygments/lexers/promql.py +176 -0
  968. venv/Lib/site-packages/pygments/lexers/prql.py +251 -0
  969. venv/Lib/site-packages/pygments/lexers/ptx.py +119 -0
  970. venv/Lib/site-packages/pygments/lexers/python.py +1201 -0
  971. venv/Lib/site-packages/pygments/lexers/q.py +187 -0
  972. venv/Lib/site-packages/pygments/lexers/qlik.py +117 -0
  973. venv/Lib/site-packages/pygments/lexers/qvt.py +153 -0
  974. venv/Lib/site-packages/pygments/lexers/r.py +196 -0
  975. venv/Lib/site-packages/pygments/lexers/rdf.py +468 -0
  976. venv/Lib/site-packages/pygments/lexers/rebol.py +419 -0
  977. venv/Lib/site-packages/pygments/lexers/rego.py +57 -0
  978. venv/Lib/site-packages/pygments/lexers/resource.py +83 -0
  979. venv/Lib/site-packages/pygments/lexers/ride.py +138 -0
  980. venv/Lib/site-packages/pygments/lexers/rita.py +42 -0
  981. venv/Lib/site-packages/pygments/lexers/rnc.py +66 -0
  982. venv/Lib/site-packages/pygments/lexers/roboconf.py +81 -0
  983. venv/Lib/site-packages/pygments/lexers/robotframework.py +551 -0
  984. venv/Lib/site-packages/pygments/lexers/ruby.py +518 -0
  985. venv/Lib/site-packages/pygments/lexers/rust.py +222 -0
  986. venv/Lib/site-packages/pygments/lexers/sas.py +227 -0
  987. venv/Lib/site-packages/pygments/lexers/savi.py +171 -0
  988. venv/Lib/site-packages/pygments/lexers/scdoc.py +85 -0
  989. venv/Lib/site-packages/pygments/lexers/scripting.py +1616 -0
  990. venv/Lib/site-packages/pygments/lexers/sgf.py +59 -0
  991. venv/Lib/site-packages/pygments/lexers/shell.py +902 -0
  992. venv/Lib/site-packages/pygments/lexers/sieve.py +78 -0
  993. venv/Lib/site-packages/pygments/lexers/slash.py +183 -0
  994. venv/Lib/site-packages/pygments/lexers/smalltalk.py +194 -0
  995. venv/Lib/site-packages/pygments/lexers/smithy.py +77 -0
  996. venv/Lib/site-packages/pygments/lexers/smv.py +78 -0
  997. venv/Lib/site-packages/pygments/lexers/snobol.py +82 -0
  998. venv/Lib/site-packages/pygments/lexers/solidity.py +87 -0
  999. venv/Lib/site-packages/pygments/lexers/soong.py +78 -0
  1000. venv/Lib/site-packages/pygments/lexers/sophia.py +102 -0
  1001. venv/Lib/site-packages/pygments/lexers/special.py +122 -0
  1002. venv/Lib/site-packages/pygments/lexers/spice.py +70 -0
  1003. venv/Lib/site-packages/pygments/lexers/sql.py +1109 -0
  1004. venv/Lib/site-packages/pygments/lexers/srcinfo.py +62 -0
  1005. venv/Lib/site-packages/pygments/lexers/stata.py +170 -0
  1006. venv/Lib/site-packages/pygments/lexers/supercollider.py +94 -0
  1007. venv/Lib/site-packages/pygments/lexers/tablegen.py +177 -0
  1008. venv/Lib/site-packages/pygments/lexers/tact.py +303 -0
  1009. venv/Lib/site-packages/pygments/lexers/tal.py +77 -0
  1010. venv/Lib/site-packages/pygments/lexers/tcl.py +148 -0
  1011. venv/Lib/site-packages/pygments/lexers/teal.py +88 -0
  1012. venv/Lib/site-packages/pygments/lexers/templates.py +2355 -0
  1013. venv/Lib/site-packages/pygments/lexers/teraterm.py +325 -0
  1014. venv/Lib/site-packages/pygments/lexers/testing.py +209 -0
  1015. venv/Lib/site-packages/pygments/lexers/text.py +27 -0
  1016. venv/Lib/site-packages/pygments/lexers/textedit.py +205 -0
  1017. venv/Lib/site-packages/pygments/lexers/textfmts.py +436 -0
  1018. venv/Lib/site-packages/pygments/lexers/theorem.py +410 -0
  1019. venv/Lib/site-packages/pygments/lexers/thingsdb.py +140 -0
  1020. venv/Lib/site-packages/pygments/lexers/tlb.py +59 -0
  1021. venv/Lib/site-packages/pygments/lexers/tls.py +54 -0
  1022. venv/Lib/site-packages/pygments/lexers/tnt.py +270 -0
  1023. venv/Lib/site-packages/pygments/lexers/trafficscript.py +51 -0
  1024. venv/Lib/site-packages/pygments/lexers/typoscript.py +216 -0
  1025. venv/Lib/site-packages/pygments/lexers/typst.py +160 -0
  1026. venv/Lib/site-packages/pygments/lexers/ul4.py +309 -0
  1027. venv/Lib/site-packages/pygments/lexers/unicon.py +413 -0
  1028. venv/Lib/site-packages/pygments/lexers/urbi.py +145 -0
  1029. venv/Lib/site-packages/pygments/lexers/usd.py +85 -0
  1030. venv/Lib/site-packages/pygments/lexers/varnish.py +189 -0
  1031. venv/Lib/site-packages/pygments/lexers/verification.py +113 -0
  1032. venv/Lib/site-packages/pygments/lexers/verifpal.py +65 -0
  1033. venv/Lib/site-packages/pygments/lexers/vip.py +150 -0
  1034. venv/Lib/site-packages/pygments/lexers/vyper.py +140 -0
  1035. venv/Lib/site-packages/pygments/lexers/web.py +24 -0
  1036. venv/Lib/site-packages/pygments/lexers/webassembly.py +119 -0
  1037. venv/Lib/site-packages/pygments/lexers/webidl.py +298 -0
  1038. venv/Lib/site-packages/pygments/lexers/webmisc.py +1006 -0
  1039. venv/Lib/site-packages/pygments/lexers/wgsl.py +406 -0
  1040. venv/Lib/site-packages/pygments/lexers/whiley.py +115 -0
  1041. venv/Lib/site-packages/pygments/lexers/wowtoc.py +120 -0
  1042. venv/Lib/site-packages/pygments/lexers/wren.py +98 -0
  1043. venv/Lib/site-packages/pygments/lexers/x10.py +66 -0
  1044. venv/Lib/site-packages/pygments/lexers/xorg.py +38 -0
  1045. venv/Lib/site-packages/pygments/lexers/yang.py +103 -0
  1046. venv/Lib/site-packages/pygments/lexers/yara.py +69 -0
  1047. venv/Lib/site-packages/pygments/lexers/zig.py +125 -0
  1048. venv/Lib/site-packages/pygments/modeline.py +43 -0
  1049. venv/Lib/site-packages/pygments/plugin.py +72 -0
  1050. venv/Lib/site-packages/pygments/regexopt.py +91 -0
  1051. venv/Lib/site-packages/pygments/scanner.py +104 -0
  1052. venv/Lib/site-packages/pygments/sphinxext.py +247 -0
  1053. venv/Lib/site-packages/pygments/style.py +203 -0
  1054. venv/Lib/site-packages/pygments/styles/__init__.py +61 -0
  1055. venv/Lib/site-packages/pygments/styles/_mapping.py +54 -0
  1056. venv/Lib/site-packages/pygments/styles/abap.py +32 -0
  1057. venv/Lib/site-packages/pygments/styles/algol.py +65 -0
  1058. venv/Lib/site-packages/pygments/styles/algol_nu.py +65 -0
  1059. venv/Lib/site-packages/pygments/styles/arduino.py +100 -0
  1060. venv/Lib/site-packages/pygments/styles/autumn.py +67 -0
  1061. venv/Lib/site-packages/pygments/styles/borland.py +53 -0
  1062. venv/Lib/site-packages/pygments/styles/bw.py +52 -0
  1063. venv/Lib/site-packages/pygments/styles/coffee.py +80 -0
  1064. venv/Lib/site-packages/pygments/styles/colorful.py +83 -0
  1065. venv/Lib/site-packages/pygments/styles/default.py +76 -0
  1066. venv/Lib/site-packages/pygments/styles/dracula.py +90 -0
  1067. venv/Lib/site-packages/pygments/styles/emacs.py +75 -0
  1068. venv/Lib/site-packages/pygments/styles/friendly.py +76 -0
  1069. venv/Lib/site-packages/pygments/styles/friendly_grayscale.py +80 -0
  1070. venv/Lib/site-packages/pygments/styles/fruity.py +47 -0
  1071. venv/Lib/site-packages/pygments/styles/gh_dark.py +113 -0
  1072. venv/Lib/site-packages/pygments/styles/gruvbox.py +118 -0
  1073. venv/Lib/site-packages/pygments/styles/igor.py +32 -0
  1074. venv/Lib/site-packages/pygments/styles/inkpot.py +72 -0
  1075. venv/Lib/site-packages/pygments/styles/lightbulb.py +110 -0
  1076. venv/Lib/site-packages/pygments/styles/lilypond.py +62 -0
  1077. venv/Lib/site-packages/pygments/styles/lovelace.py +100 -0
  1078. venv/Lib/site-packages/pygments/styles/manni.py +79 -0
  1079. venv/Lib/site-packages/pygments/styles/material.py +124 -0
  1080. venv/Lib/site-packages/pygments/styles/monokai.py +112 -0
  1081. venv/Lib/site-packages/pygments/styles/murphy.py +82 -0
  1082. venv/Lib/site-packages/pygments/styles/native.py +70 -0
  1083. venv/Lib/site-packages/pygments/styles/nord.py +156 -0
  1084. venv/Lib/site-packages/pygments/styles/onedark.py +63 -0
  1085. venv/Lib/site-packages/pygments/styles/paraiso_dark.py +124 -0
  1086. venv/Lib/site-packages/pygments/styles/paraiso_light.py +124 -0
  1087. venv/Lib/site-packages/pygments/styles/pastie.py +78 -0
  1088. venv/Lib/site-packages/pygments/styles/perldoc.py +73 -0
  1089. venv/Lib/site-packages/pygments/styles/rainbow_dash.py +95 -0
  1090. venv/Lib/site-packages/pygments/styles/rrt.py +40 -0
  1091. venv/Lib/site-packages/pygments/styles/sas.py +46 -0
  1092. venv/Lib/site-packages/pygments/styles/solarized.py +144 -0
  1093. venv/Lib/site-packages/pygments/styles/staroffice.py +31 -0
  1094. venv/Lib/site-packages/pygments/styles/stata_dark.py +42 -0
  1095. venv/Lib/site-packages/pygments/styles/stata_light.py +42 -0
  1096. venv/Lib/site-packages/pygments/styles/tango.py +143 -0
  1097. venv/Lib/site-packages/pygments/styles/trac.py +66 -0
  1098. venv/Lib/site-packages/pygments/styles/vim.py +67 -0
  1099. venv/Lib/site-packages/pygments/styles/vs.py +41 -0
  1100. venv/Lib/site-packages/pygments/styles/xcode.py +53 -0
  1101. venv/Lib/site-packages/pygments/styles/zenburn.py +83 -0
  1102. venv/Lib/site-packages/pygments/token.py +214 -0
  1103. venv/Lib/site-packages/pygments/unistring.py +153 -0
  1104. venv/Lib/site-packages/pygments/util.py +324 -0
  1105. venv/Lib/site-packages/pyproject_hooks/__init__.py +31 -0
  1106. venv/Lib/site-packages/pyproject_hooks/_impl.py +410 -0
  1107. venv/Lib/site-packages/pyproject_hooks/_in_process/__init__.py +21 -0
  1108. venv/Lib/site-packages/pyproject_hooks/_in_process/_in_process.py +389 -0
  1109. venv/Lib/site-packages/pyproject_hooks/py.typed +0 -0
  1110. venv/Lib/site-packages/readme_renderer/__init__.py +13 -0
  1111. venv/Lib/site-packages/readme_renderer/__main__.py +66 -0
  1112. venv/Lib/site-packages/readme_renderer/clean.py +89 -0
  1113. venv/Lib/site-packages/readme_renderer/markdown.py +123 -0
  1114. venv/Lib/site-packages/readme_renderer/py.typed +0 -0
  1115. venv/Lib/site-packages/readme_renderer/rst.py +135 -0
  1116. venv/Lib/site-packages/readme_renderer/txt.py +24 -0
  1117. venv/Lib/site-packages/requests/__init__.py +184 -0
  1118. venv/Lib/site-packages/requests/__version__.py +14 -0
  1119. venv/Lib/site-packages/requests/_internal_utils.py +50 -0
  1120. venv/Lib/site-packages/requests/adapters.py +696 -0
  1121. venv/Lib/site-packages/requests/api.py +157 -0
  1122. venv/Lib/site-packages/requests/auth.py +314 -0
  1123. venv/Lib/site-packages/requests/certs.py +17 -0
  1124. venv/Lib/site-packages/requests/compat.py +106 -0
  1125. venv/Lib/site-packages/requests/cookies.py +561 -0
  1126. venv/Lib/site-packages/requests/exceptions.py +151 -0
  1127. venv/Lib/site-packages/requests/help.py +134 -0
  1128. venv/Lib/site-packages/requests/hooks.py +33 -0
  1129. venv/Lib/site-packages/requests/models.py +1039 -0
  1130. venv/Lib/site-packages/requests/packages.py +23 -0
  1131. venv/Lib/site-packages/requests/sessions.py +831 -0
  1132. venv/Lib/site-packages/requests/status_codes.py +128 -0
  1133. venv/Lib/site-packages/requests/structures.py +99 -0
  1134. venv/Lib/site-packages/requests/utils.py +1086 -0
  1135. venv/Lib/site-packages/requests_toolbelt/__init__.py +34 -0
  1136. venv/Lib/site-packages/requests_toolbelt/_compat.py +302 -0
  1137. venv/Lib/site-packages/requests_toolbelt/adapters/__init__.py +15 -0
  1138. venv/Lib/site-packages/requests_toolbelt/adapters/appengine.py +206 -0
  1139. venv/Lib/site-packages/requests_toolbelt/adapters/fingerprint.py +48 -0
  1140. venv/Lib/site-packages/requests_toolbelt/adapters/host_header_ssl.py +43 -0
  1141. venv/Lib/site-packages/requests_toolbelt/adapters/socket_options.py +129 -0
  1142. venv/Lib/site-packages/requests_toolbelt/adapters/source.py +67 -0
  1143. venv/Lib/site-packages/requests_toolbelt/adapters/ssl.py +66 -0
  1144. venv/Lib/site-packages/requests_toolbelt/adapters/x509.py +196 -0
  1145. venv/Lib/site-packages/requests_toolbelt/auth/__init__.py +0 -0
  1146. venv/Lib/site-packages/requests_toolbelt/auth/_digest_auth_compat.py +29 -0
  1147. venv/Lib/site-packages/requests_toolbelt/auth/guess.py +146 -0
  1148. venv/Lib/site-packages/requests_toolbelt/auth/handler.py +142 -0
  1149. venv/Lib/site-packages/requests_toolbelt/auth/http_proxy_digest.py +103 -0
  1150. venv/Lib/site-packages/requests_toolbelt/cookies/__init__.py +0 -0
  1151. venv/Lib/site-packages/requests_toolbelt/cookies/forgetful.py +7 -0
  1152. venv/Lib/site-packages/requests_toolbelt/downloadutils/__init__.py +0 -0
  1153. venv/Lib/site-packages/requests_toolbelt/downloadutils/stream.py +176 -0
  1154. venv/Lib/site-packages/requests_toolbelt/downloadutils/tee.py +123 -0
  1155. venv/Lib/site-packages/requests_toolbelt/exceptions.py +25 -0
  1156. venv/Lib/site-packages/requests_toolbelt/multipart/__init__.py +31 -0
  1157. venv/Lib/site-packages/requests_toolbelt/multipart/decoder.py +156 -0
  1158. venv/Lib/site-packages/requests_toolbelt/multipart/encoder.py +655 -0
  1159. venv/Lib/site-packages/requests_toolbelt/sessions.py +89 -0
  1160. venv/Lib/site-packages/requests_toolbelt/streaming_iterator.py +116 -0
  1161. venv/Lib/site-packages/requests_toolbelt/threaded/__init__.py +97 -0
  1162. venv/Lib/site-packages/requests_toolbelt/threaded/pool.py +211 -0
  1163. venv/Lib/site-packages/requests_toolbelt/threaded/thread.py +53 -0
  1164. venv/Lib/site-packages/requests_toolbelt/utils/__init__.py +0 -0
  1165. venv/Lib/site-packages/requests_toolbelt/utils/deprecated.py +91 -0
  1166. venv/Lib/site-packages/requests_toolbelt/utils/dump.py +198 -0
  1167. venv/Lib/site-packages/requests_toolbelt/utils/formdata.py +108 -0
  1168. venv/Lib/site-packages/requests_toolbelt/utils/user_agent.py +143 -0
  1169. venv/Lib/site-packages/rfc3986/__init__.py +53 -0
  1170. venv/Lib/site-packages/rfc3986/_mixin.py +373 -0
  1171. venv/Lib/site-packages/rfc3986/abnf_regexp.py +275 -0
  1172. venv/Lib/site-packages/rfc3986/api.py +104 -0
  1173. venv/Lib/site-packages/rfc3986/builder.py +388 -0
  1174. venv/Lib/site-packages/rfc3986/compat.py +59 -0
  1175. venv/Lib/site-packages/rfc3986/exceptions.py +120 -0
  1176. venv/Lib/site-packages/rfc3986/iri.py +161 -0
  1177. venv/Lib/site-packages/rfc3986/misc.py +131 -0
  1178. venv/Lib/site-packages/rfc3986/normalizers.py +171 -0
  1179. venv/Lib/site-packages/rfc3986/parseresult.py +474 -0
  1180. venv/Lib/site-packages/rfc3986/uri.py +160 -0
  1181. venv/Lib/site-packages/rfc3986/validators.py +440 -0
  1182. venv/Lib/site-packages/rich/__init__.py +177 -0
  1183. venv/Lib/site-packages/rich/__main__.py +245 -0
  1184. venv/Lib/site-packages/rich/_cell_widths.py +454 -0
  1185. venv/Lib/site-packages/rich/_emoji_codes.py +3610 -0
  1186. venv/Lib/site-packages/rich/_emoji_replace.py +32 -0
  1187. venv/Lib/site-packages/rich/_export_format.py +76 -0
  1188. venv/Lib/site-packages/rich/_extension.py +10 -0
  1189. venv/Lib/site-packages/rich/_fileno.py +24 -0
  1190. venv/Lib/site-packages/rich/_inspect.py +268 -0
  1191. venv/Lib/site-packages/rich/_log_render.py +94 -0
  1192. venv/Lib/site-packages/rich/_loop.py +43 -0
  1193. venv/Lib/site-packages/rich/_null_file.py +69 -0
  1194. venv/Lib/site-packages/rich/_palettes.py +309 -0
  1195. venv/Lib/site-packages/rich/_pick.py +17 -0
  1196. venv/Lib/site-packages/rich/_ratio.py +153 -0
  1197. venv/Lib/site-packages/rich/_spinners.py +482 -0
  1198. venv/Lib/site-packages/rich/_stack.py +16 -0
  1199. venv/Lib/site-packages/rich/_timer.py +19 -0
  1200. venv/Lib/site-packages/rich/_win32_console.py +661 -0
  1201. venv/Lib/site-packages/rich/_windows.py +71 -0
  1202. venv/Lib/site-packages/rich/_windows_renderer.py +56 -0
  1203. venv/Lib/site-packages/rich/_wrap.py +93 -0
  1204. venv/Lib/site-packages/rich/abc.py +33 -0
  1205. venv/Lib/site-packages/rich/align.py +306 -0
  1206. venv/Lib/site-packages/rich/ansi.py +241 -0
  1207. venv/Lib/site-packages/rich/bar.py +93 -0
  1208. venv/Lib/site-packages/rich/box.py +474 -0
  1209. venv/Lib/site-packages/rich/cells.py +174 -0
  1210. venv/Lib/site-packages/rich/color.py +621 -0
  1211. venv/Lib/site-packages/rich/color_triplet.py +38 -0
  1212. venv/Lib/site-packages/rich/columns.py +187 -0
  1213. venv/Lib/site-packages/rich/console.py +2680 -0
  1214. venv/Lib/site-packages/rich/constrain.py +37 -0
  1215. venv/Lib/site-packages/rich/containers.py +167 -0
  1216. venv/Lib/site-packages/rich/control.py +219 -0
  1217. venv/Lib/site-packages/rich/default_styles.py +193 -0
  1218. venv/Lib/site-packages/rich/diagnose.py +39 -0
  1219. venv/Lib/site-packages/rich/emoji.py +91 -0
  1220. venv/Lib/site-packages/rich/errors.py +34 -0
  1221. venv/Lib/site-packages/rich/file_proxy.py +57 -0
  1222. venv/Lib/site-packages/rich/filesize.py +88 -0
  1223. venv/Lib/site-packages/rich/highlighter.py +232 -0
  1224. venv/Lib/site-packages/rich/json.py +139 -0
  1225. venv/Lib/site-packages/rich/jupyter.py +101 -0
  1226. venv/Lib/site-packages/rich/layout.py +442 -0
  1227. venv/Lib/site-packages/rich/live.py +400 -0
  1228. venv/Lib/site-packages/rich/live_render.py +106 -0
  1229. venv/Lib/site-packages/rich/logging.py +297 -0
  1230. venv/Lib/site-packages/rich/markdown.py +779 -0
  1231. venv/Lib/site-packages/rich/markup.py +251 -0
  1232. venv/Lib/site-packages/rich/measure.py +151 -0
  1233. venv/Lib/site-packages/rich/padding.py +141 -0
  1234. venv/Lib/site-packages/rich/pager.py +34 -0
  1235. venv/Lib/site-packages/rich/palette.py +100 -0
  1236. venv/Lib/site-packages/rich/panel.py +317 -0
  1237. venv/Lib/site-packages/rich/pretty.py +1016 -0
  1238. venv/Lib/site-packages/rich/progress.py +1715 -0
  1239. venv/Lib/site-packages/rich/progress_bar.py +223 -0
  1240. venv/Lib/site-packages/rich/prompt.py +400 -0
  1241. venv/Lib/site-packages/rich/protocol.py +42 -0
  1242. venv/Lib/site-packages/rich/py.typed +0 -0
  1243. venv/Lib/site-packages/rich/region.py +10 -0
  1244. venv/Lib/site-packages/rich/repr.py +149 -0
  1245. venv/Lib/site-packages/rich/rule.py +130 -0
  1246. venv/Lib/site-packages/rich/scope.py +86 -0
  1247. venv/Lib/site-packages/rich/screen.py +54 -0
  1248. venv/Lib/site-packages/rich/segment.py +752 -0
  1249. venv/Lib/site-packages/rich/spinner.py +132 -0
  1250. venv/Lib/site-packages/rich/status.py +131 -0
  1251. venv/Lib/site-packages/rich/style.py +792 -0
  1252. venv/Lib/site-packages/rich/styled.py +42 -0
  1253. venv/Lib/site-packages/rich/syntax.py +985 -0
  1254. venv/Lib/site-packages/rich/table.py +1006 -0
  1255. venv/Lib/site-packages/rich/terminal_theme.py +153 -0
  1256. venv/Lib/site-packages/rich/text.py +1361 -0
  1257. venv/Lib/site-packages/rich/theme.py +115 -0
  1258. venv/Lib/site-packages/rich/themes.py +5 -0
  1259. venv/Lib/site-packages/rich/traceback.py +899 -0
  1260. venv/Lib/site-packages/rich/tree.py +257 -0
  1261. venv/Lib/site-packages/setup_sdist.py +69 -0
  1262. venv/Lib/site-packages/twine/__init__.py +54 -0
  1263. venv/Lib/site-packages/twine/__main__.py +54 -0
  1264. venv/Lib/site-packages/twine/auth.py +307 -0
  1265. venv/Lib/site-packages/twine/cli.py +139 -0
  1266. venv/Lib/site-packages/twine/commands/__init__.py +93 -0
  1267. venv/Lib/site-packages/twine/commands/check.py +195 -0
  1268. venv/Lib/site-packages/twine/commands/register.py +87 -0
  1269. venv/Lib/site-packages/twine/commands/upload.py +253 -0
  1270. venv/Lib/site-packages/twine/distribution.py +8 -0
  1271. venv/Lib/site-packages/twine/exceptions.py +175 -0
  1272. venv/Lib/site-packages/twine/package.py +403 -0
  1273. venv/Lib/site-packages/twine/py.typed +0 -0
  1274. venv/Lib/site-packages/twine/repository.py +246 -0
  1275. venv/Lib/site-packages/twine/sdist.py +83 -0
  1276. venv/Lib/site-packages/twine/settings.py +360 -0
  1277. venv/Lib/site-packages/twine/utils.py +387 -0
  1278. venv/Lib/site-packages/twine/wheel.py +81 -0
  1279. venv/Lib/site-packages/urllib3/__init__.py +211 -0
  1280. venv/Lib/site-packages/urllib3/_base_connection.py +165 -0
  1281. venv/Lib/site-packages/urllib3/_collections.py +479 -0
  1282. venv/Lib/site-packages/urllib3/_request_methods.py +278 -0
  1283. venv/Lib/site-packages/urllib3/_version.py +21 -0
  1284. venv/Lib/site-packages/urllib3/connection.py +1093 -0
  1285. venv/Lib/site-packages/urllib3/connectionpool.py +1178 -0
  1286. venv/Lib/site-packages/urllib3/contrib/__init__.py +0 -0
  1287. venv/Lib/site-packages/urllib3/contrib/emscripten/__init__.py +16 -0
  1288. venv/Lib/site-packages/urllib3/contrib/emscripten/connection.py +255 -0
  1289. venv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +728 -0
  1290. venv/Lib/site-packages/urllib3/contrib/emscripten/request.py +22 -0
  1291. venv/Lib/site-packages/urllib3/contrib/emscripten/response.py +277 -0
  1292. venv/Lib/site-packages/urllib3/contrib/pyopenssl.py +564 -0
  1293. venv/Lib/site-packages/urllib3/contrib/socks.py +228 -0
  1294. venv/Lib/site-packages/urllib3/exceptions.py +335 -0
  1295. venv/Lib/site-packages/urllib3/fields.py +341 -0
  1296. venv/Lib/site-packages/urllib3/filepost.py +89 -0
  1297. venv/Lib/site-packages/urllib3/http2/__init__.py +53 -0
  1298. venv/Lib/site-packages/urllib3/http2/connection.py +356 -0
  1299. venv/Lib/site-packages/urllib3/http2/probe.py +87 -0
  1300. venv/Lib/site-packages/urllib3/poolmanager.py +653 -0
  1301. venv/Lib/site-packages/urllib3/py.typed +2 -0
  1302. venv/Lib/site-packages/urllib3/response.py +1307 -0
  1303. venv/Lib/site-packages/urllib3/util/__init__.py +42 -0
  1304. venv/Lib/site-packages/urllib3/util/connection.py +137 -0
  1305. venv/Lib/site-packages/urllib3/util/proxy.py +43 -0
  1306. venv/Lib/site-packages/urllib3/util/request.py +266 -0
  1307. venv/Lib/site-packages/urllib3/util/response.py +101 -0
  1308. venv/Lib/site-packages/urllib3/util/retry.py +533 -0
  1309. venv/Lib/site-packages/urllib3/util/ssl_.py +524 -0
  1310. venv/Lib/site-packages/urllib3/util/ssl_match_hostname.py +159 -0
  1311. venv/Lib/site-packages/urllib3/util/ssltransport.py +271 -0
  1312. venv/Lib/site-packages/urllib3/util/timeout.py +275 -0
  1313. venv/Lib/site-packages/urllib3/util/url.py +469 -0
  1314. venv/Lib/site-packages/urllib3/util/util.py +42 -0
  1315. venv/Lib/site-packages/urllib3/util/wait.py +124 -0
  1316. venv/Lib/site-packages/win32ctypes/__init__.py +8 -0
  1317. venv/Lib/site-packages/win32ctypes/core/__init__.py +60 -0
  1318. venv/Lib/site-packages/win32ctypes/core/_winerrors.py +9 -0
  1319. venv/Lib/site-packages/win32ctypes/core/cffi/__init__.py +11 -0
  1320. venv/Lib/site-packages/win32ctypes/core/cffi/_authentication.py +172 -0
  1321. venv/Lib/site-packages/win32ctypes/core/cffi/_common.py +29 -0
  1322. venv/Lib/site-packages/win32ctypes/core/cffi/_dll.py +30 -0
  1323. venv/Lib/site-packages/win32ctypes/core/cffi/_nl_support.py +18 -0
  1324. venv/Lib/site-packages/win32ctypes/core/cffi/_resource.py +132 -0
  1325. venv/Lib/site-packages/win32ctypes/core/cffi/_system_information.py +32 -0
  1326. venv/Lib/site-packages/win32ctypes/core/cffi/_time.py +18 -0
  1327. venv/Lib/site-packages/win32ctypes/core/cffi/_util.py +105 -0
  1328. venv/Lib/site-packages/win32ctypes/core/compat.py +10 -0
  1329. venv/Lib/site-packages/win32ctypes/core/ctypes/__init__.py +11 -0
  1330. venv/Lib/site-packages/win32ctypes/core/ctypes/_authentication.py +122 -0
  1331. venv/Lib/site-packages/win32ctypes/core/ctypes/_common.py +53 -0
  1332. venv/Lib/site-packages/win32ctypes/core/ctypes/_dll.py +21 -0
  1333. venv/Lib/site-packages/win32ctypes/core/ctypes/_nl_support.py +12 -0
  1334. venv/Lib/site-packages/win32ctypes/core/ctypes/_resource.py +148 -0
  1335. venv/Lib/site-packages/win32ctypes/core/ctypes/_system_information.py +36 -0
  1336. venv/Lib/site-packages/win32ctypes/core/ctypes/_time.py +15 -0
  1337. venv/Lib/site-packages/win32ctypes/core/ctypes/_util.py +78 -0
  1338. venv/Lib/site-packages/win32ctypes/pywin32/__init__.py +12 -0
  1339. venv/Lib/site-packages/win32ctypes/pywin32/pywintypes.py +67 -0
  1340. venv/Lib/site-packages/win32ctypes/pywin32/win32api.py +294 -0
  1341. venv/Lib/site-packages/win32ctypes/pywin32/win32cred.py +145 -0
  1342. venv/Lib/site-packages/win32ctypes/pywintypes.py +13 -0
  1343. venv/Lib/site-packages/win32ctypes/tests/__init__.py +21 -0
  1344. venv/Lib/site-packages/win32ctypes/tests/test_backends.py +36 -0
  1345. venv/Lib/site-packages/win32ctypes/tests/test_win32api.py +304 -0
  1346. venv/Lib/site-packages/win32ctypes/tests/test_win32cred.py +230 -0
  1347. venv/Lib/site-packages/win32ctypes/version.py +1 -0
  1348. venv/Lib/site-packages/win32ctypes/win32api.py +13 -0
  1349. venv/Lib/site-packages/win32ctypes/win32cred.py +13 -0
  1350. android_notify-1.59.3.dist-info/RECORD +0 -12
  1351. {android_notify-1.59.3.dist-info → android_notify-1.60.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,961 @@
1
+ """
2
+ pygments.lexer
3
+ ~~~~~~~~~~~~~~
4
+
5
+ Base lexer classes.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+ import sys
13
+ import time
14
+
15
+ from pygments.filter import apply_filters, Filter
16
+ from pygments.filters import get_filter_by_name
17
+ from pygments.token import Error, Text, Other, Whitespace, _TokenType
18
+ from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
19
+ make_analysator, Future, guess_decode
20
+ from pygments.regexopt import regex_opt
21
+
22
+ __all__ = ['Lexer', 'RegexLexer', 'ExtendedRegexLexer', 'DelegatingLexer',
23
+ 'LexerContext', 'include', 'inherit', 'bygroups', 'using', 'this',
24
+ 'default', 'words', 'line_re']
25
+
26
+ line_re = re.compile('.*?\n')
27
+
28
+ _encoding_map = [(b'\xef\xbb\xbf', 'utf-8'),
29
+ (b'\xff\xfe\0\0', 'utf-32'),
30
+ (b'\0\0\xfe\xff', 'utf-32be'),
31
+ (b'\xff\xfe', 'utf-16'),
32
+ (b'\xfe\xff', 'utf-16be')]
33
+
34
+ _default_analyse = staticmethod(lambda x: 0.0)
35
+
36
+
37
+ class LexerMeta(type):
38
+ """
39
+ This metaclass automagically converts ``analyse_text`` methods into
40
+ static methods which always return float values.
41
+ """
42
+
43
+ def __new__(mcs, name, bases, d):
44
+ if 'analyse_text' in d:
45
+ d['analyse_text'] = make_analysator(d['analyse_text'])
46
+ return type.__new__(mcs, name, bases, d)
47
+
48
+
49
+ class Lexer(metaclass=LexerMeta):
50
+ """
51
+ Lexer for a specific language.
52
+
53
+ See also :doc:`lexerdevelopment`, a high-level guide to writing
54
+ lexers.
55
+
56
+ Lexer classes have attributes used for choosing the most appropriate
57
+ lexer based on various criteria.
58
+
59
+ .. autoattribute:: name
60
+ :no-value:
61
+ .. autoattribute:: aliases
62
+ :no-value:
63
+ .. autoattribute:: filenames
64
+ :no-value:
65
+ .. autoattribute:: alias_filenames
66
+ .. autoattribute:: mimetypes
67
+ :no-value:
68
+ .. autoattribute:: priority
69
+
70
+ Lexers included in Pygments should have two additional attributes:
71
+
72
+ .. autoattribute:: url
73
+ :no-value:
74
+ .. autoattribute:: version_added
75
+ :no-value:
76
+
77
+ Lexers included in Pygments may have additional attributes:
78
+
79
+ .. autoattribute:: _example
80
+ :no-value:
81
+
82
+ You can pass options to the constructor. The basic options recognized
83
+ by all lexers and processed by the base `Lexer` class are:
84
+
85
+ ``stripnl``
86
+ Strip leading and trailing newlines from the input (default: True).
87
+ ``stripall``
88
+ Strip all leading and trailing whitespace from the input
89
+ (default: False).
90
+ ``ensurenl``
91
+ Make sure that the input ends with a newline (default: True). This
92
+ is required for some lexers that consume input linewise.
93
+
94
+ .. versionadded:: 1.3
95
+
96
+ ``tabsize``
97
+ If given and greater than 0, expand tabs in the input (default: 0).
98
+ ``encoding``
99
+ If given, must be an encoding name. This encoding will be used to
100
+ convert the input string to Unicode, if it is not already a Unicode
101
+ string (default: ``'guess'``, which uses a simple UTF-8 / Locale /
102
+ Latin1 detection. Can also be ``'chardet'`` to use the chardet
103
+ library, if it is installed.
104
+ ``inencoding``
105
+ Overrides the ``encoding`` if given.
106
+ """
107
+
108
+ #: Full name of the lexer, in human-readable form
109
+ name = None
110
+
111
+ #: A list of short, unique identifiers that can be used to look
112
+ #: up the lexer from a list, e.g., using `get_lexer_by_name()`.
113
+ aliases = []
114
+
115
+ #: A list of `fnmatch` patterns that match filenames which contain
116
+ #: content for this lexer. The patterns in this list should be unique among
117
+ #: all lexers.
118
+ filenames = []
119
+
120
+ #: A list of `fnmatch` patterns that match filenames which may or may not
121
+ #: contain content for this lexer. This list is used by the
122
+ #: :func:`.guess_lexer_for_filename()` function, to determine which lexers
123
+ #: are then included in guessing the correct one. That means that
124
+ #: e.g. every lexer for HTML and a template language should include
125
+ #: ``\*.html`` in this list.
126
+ alias_filenames = []
127
+
128
+ #: A list of MIME types for content that can be lexed with this lexer.
129
+ mimetypes = []
130
+
131
+ #: Priority, should multiple lexers match and no content is provided
132
+ priority = 0
133
+
134
+ #: URL of the language specification/definition. Used in the Pygments
135
+ #: documentation. Set to an empty string to disable.
136
+ url = None
137
+
138
+ #: Version of Pygments in which the lexer was added.
139
+ version_added = None
140
+
141
+ #: Example file name. Relative to the ``tests/examplefiles`` directory.
142
+ #: This is used by the documentation generator to show an example.
143
+ _example = None
144
+
145
+ def __init__(self, **options):
146
+ """
147
+ This constructor takes arbitrary options as keyword arguments.
148
+ Every subclass must first process its own options and then call
149
+ the `Lexer` constructor, since it processes the basic
150
+ options like `stripnl`.
151
+
152
+ An example looks like this:
153
+
154
+ .. sourcecode:: python
155
+
156
+ def __init__(self, **options):
157
+ self.compress = options.get('compress', '')
158
+ Lexer.__init__(self, **options)
159
+
160
+ As these options must all be specifiable as strings (due to the
161
+ command line usage), there are various utility functions
162
+ available to help with that, see `Utilities`_.
163
+ """
164
+ self.options = options
165
+ self.stripnl = get_bool_opt(options, 'stripnl', True)
166
+ self.stripall = get_bool_opt(options, 'stripall', False)
167
+ self.ensurenl = get_bool_opt(options, 'ensurenl', True)
168
+ self.tabsize = get_int_opt(options, 'tabsize', 0)
169
+ self.encoding = options.get('encoding', 'guess')
170
+ self.encoding = options.get('inencoding') or self.encoding
171
+ self.filters = []
172
+ for filter_ in get_list_opt(options, 'filters', ()):
173
+ self.add_filter(filter_)
174
+
175
+ def __repr__(self):
176
+ if self.options:
177
+ return f'<pygments.lexers.{self.__class__.__name__} with {self.options!r}>'
178
+ else:
179
+ return f'<pygments.lexers.{self.__class__.__name__}>'
180
+
181
+ def add_filter(self, filter_, **options):
182
+ """
183
+ Add a new stream filter to this lexer.
184
+ """
185
+ if not isinstance(filter_, Filter):
186
+ filter_ = get_filter_by_name(filter_, **options)
187
+ self.filters.append(filter_)
188
+
189
+ def analyse_text(text):
190
+ """
191
+ A static method which is called for lexer guessing.
192
+
193
+ It should analyse the text and return a float in the range
194
+ from ``0.0`` to ``1.0``. If it returns ``0.0``, the lexer
195
+ will not be selected as the most probable one, if it returns
196
+ ``1.0``, it will be selected immediately. This is used by
197
+ `guess_lexer`.
198
+
199
+ The `LexerMeta` metaclass automatically wraps this function so
200
+ that it works like a static method (no ``self`` or ``cls``
201
+ parameter) and the return value is automatically converted to
202
+ `float`. If the return value is an object that is boolean `False`
203
+ it's the same as if the return values was ``0.0``.
204
+ """
205
+
206
+ def _preprocess_lexer_input(self, text):
207
+ """Apply preprocessing such as decoding the input, removing BOM and normalizing newlines."""
208
+
209
+ if not isinstance(text, str):
210
+ if self.encoding == 'guess':
211
+ text, _ = guess_decode(text)
212
+ elif self.encoding == 'chardet':
213
+ try:
214
+ import chardet
215
+ except ImportError as e:
216
+ raise ImportError('To enable chardet encoding guessing, '
217
+ 'please install the chardet library '
218
+ 'from http://chardet.feedparser.org/') from e
219
+ # check for BOM first
220
+ decoded = None
221
+ for bom, encoding in _encoding_map:
222
+ if text.startswith(bom):
223
+ decoded = text[len(bom):].decode(encoding, 'replace')
224
+ break
225
+ # no BOM found, so use chardet
226
+ if decoded is None:
227
+ enc = chardet.detect(text[:1024]) # Guess using first 1KB
228
+ decoded = text.decode(enc.get('encoding') or 'utf-8',
229
+ 'replace')
230
+ text = decoded
231
+ else:
232
+ text = text.decode(self.encoding)
233
+ if text.startswith('\ufeff'):
234
+ text = text[len('\ufeff'):]
235
+ else:
236
+ if text.startswith('\ufeff'):
237
+ text = text[len('\ufeff'):]
238
+
239
+ # text now *is* a unicode string
240
+ text = text.replace('\r\n', '\n')
241
+ text = text.replace('\r', '\n')
242
+ if self.stripall:
243
+ text = text.strip()
244
+ elif self.stripnl:
245
+ text = text.strip('\n')
246
+ if self.tabsize > 0:
247
+ text = text.expandtabs(self.tabsize)
248
+ if self.ensurenl and not text.endswith('\n'):
249
+ text += '\n'
250
+
251
+ return text
252
+
253
+ def get_tokens(self, text, unfiltered=False):
254
+ """
255
+ This method is the basic interface of a lexer. It is called by
256
+ the `highlight()` function. It must process the text and return an
257
+ iterable of ``(tokentype, value)`` pairs from `text`.
258
+
259
+ Normally, you don't need to override this method. The default
260
+ implementation processes the options recognized by all lexers
261
+ (`stripnl`, `stripall` and so on), and then yields all tokens
262
+ from `get_tokens_unprocessed()`, with the ``index`` dropped.
263
+
264
+ If `unfiltered` is set to `True`, the filtering mechanism is
265
+ bypassed even if filters are defined.
266
+ """
267
+ text = self._preprocess_lexer_input(text)
268
+
269
+ def streamer():
270
+ for _, t, v in self.get_tokens_unprocessed(text):
271
+ yield t, v
272
+ stream = streamer()
273
+ if not unfiltered:
274
+ stream = apply_filters(stream, self.filters, self)
275
+ return stream
276
+
277
+ def get_tokens_unprocessed(self, text):
278
+ """
279
+ This method should process the text and return an iterable of
280
+ ``(index, tokentype, value)`` tuples where ``index`` is the starting
281
+ position of the token within the input text.
282
+
283
+ It must be overridden by subclasses. It is recommended to
284
+ implement it as a generator to maximize effectiveness.
285
+ """
286
+ raise NotImplementedError
287
+
288
+
289
+ class DelegatingLexer(Lexer):
290
+ """
291
+ This lexer takes two lexer as arguments. A root lexer and
292
+ a language lexer. First everything is scanned using the language
293
+ lexer, afterwards all ``Other`` tokens are lexed using the root
294
+ lexer.
295
+
296
+ The lexers from the ``template`` lexer package use this base lexer.
297
+ """
298
+
299
+ def __init__(self, _root_lexer, _language_lexer, _needle=Other, **options):
300
+ self.root_lexer = _root_lexer(**options)
301
+ self.language_lexer = _language_lexer(**options)
302
+ self.needle = _needle
303
+ Lexer.__init__(self, **options)
304
+
305
+ def get_tokens_unprocessed(self, text):
306
+ buffered = ''
307
+ insertions = []
308
+ lng_buffer = []
309
+ for i, t, v in self.language_lexer.get_tokens_unprocessed(text):
310
+ if t is self.needle:
311
+ if lng_buffer:
312
+ insertions.append((len(buffered), lng_buffer))
313
+ lng_buffer = []
314
+ buffered += v
315
+ else:
316
+ lng_buffer.append((i, t, v))
317
+ if lng_buffer:
318
+ insertions.append((len(buffered), lng_buffer))
319
+ return do_insertions(insertions,
320
+ self.root_lexer.get_tokens_unprocessed(buffered))
321
+
322
+
323
+ # ------------------------------------------------------------------------------
324
+ # RegexLexer and ExtendedRegexLexer
325
+ #
326
+
327
+
328
+ class include(str): # pylint: disable=invalid-name
329
+ """
330
+ Indicates that a state should include rules from another state.
331
+ """
332
+ pass
333
+
334
+
335
+ class _inherit:
336
+ """
337
+ Indicates the a state should inherit from its superclass.
338
+ """
339
+ def __repr__(self):
340
+ return 'inherit'
341
+
342
+ inherit = _inherit() # pylint: disable=invalid-name
343
+
344
+
345
+ class combined(tuple): # pylint: disable=invalid-name
346
+ """
347
+ Indicates a state combined from multiple states.
348
+ """
349
+
350
+ def __new__(cls, *args):
351
+ return tuple.__new__(cls, args)
352
+
353
+ def __init__(self, *args):
354
+ # tuple.__init__ doesn't do anything
355
+ pass
356
+
357
+
358
+ class _PseudoMatch:
359
+ """
360
+ A pseudo match object constructed from a string.
361
+ """
362
+
363
+ def __init__(self, start, text):
364
+ self._text = text
365
+ self._start = start
366
+
367
+ def start(self, arg=None):
368
+ return self._start
369
+
370
+ def end(self, arg=None):
371
+ return self._start + len(self._text)
372
+
373
+ def group(self, arg=None):
374
+ if arg:
375
+ raise IndexError('No such group')
376
+ return self._text
377
+
378
+ def groups(self):
379
+ return (self._text,)
380
+
381
+ def groupdict(self):
382
+ return {}
383
+
384
+
385
+ def bygroups(*args):
386
+ """
387
+ Callback that yields multiple actions for each group in the match.
388
+ """
389
+ def callback(lexer, match, ctx=None):
390
+ for i, action in enumerate(args):
391
+ if action is None:
392
+ continue
393
+ elif type(action) is _TokenType:
394
+ data = match.group(i + 1)
395
+ if data:
396
+ yield match.start(i + 1), action, data
397
+ else:
398
+ data = match.group(i + 1)
399
+ if data is not None:
400
+ if ctx:
401
+ ctx.pos = match.start(i + 1)
402
+ for item in action(lexer,
403
+ _PseudoMatch(match.start(i + 1), data), ctx):
404
+ if item:
405
+ yield item
406
+ if ctx:
407
+ ctx.pos = match.end()
408
+ return callback
409
+
410
+
411
+ class _This:
412
+ """
413
+ Special singleton used for indicating the caller class.
414
+ Used by ``using``.
415
+ """
416
+
417
+ this = _This()
418
+
419
+
420
+ def using(_other, **kwargs):
421
+ """
422
+ Callback that processes the match with a different lexer.
423
+
424
+ The keyword arguments are forwarded to the lexer, except `state` which
425
+ is handled separately.
426
+
427
+ `state` specifies the state that the new lexer will start in, and can
428
+ be an enumerable such as ('root', 'inline', 'string') or a simple
429
+ string which is assumed to be on top of the root state.
430
+
431
+ Note: For that to work, `_other` must not be an `ExtendedRegexLexer`.
432
+ """
433
+ gt_kwargs = {}
434
+ if 'state' in kwargs:
435
+ s = kwargs.pop('state')
436
+ if isinstance(s, (list, tuple)):
437
+ gt_kwargs['stack'] = s
438
+ else:
439
+ gt_kwargs['stack'] = ('root', s)
440
+
441
+ if _other is this:
442
+ def callback(lexer, match, ctx=None):
443
+ # if keyword arguments are given the callback
444
+ # function has to create a new lexer instance
445
+ if kwargs:
446
+ # XXX: cache that somehow
447
+ kwargs.update(lexer.options)
448
+ lx = lexer.__class__(**kwargs)
449
+ else:
450
+ lx = lexer
451
+ s = match.start()
452
+ for i, t, v in lx.get_tokens_unprocessed(match.group(), **gt_kwargs):
453
+ yield i + s, t, v
454
+ if ctx:
455
+ ctx.pos = match.end()
456
+ else:
457
+ def callback(lexer, match, ctx=None):
458
+ # XXX: cache that somehow
459
+ kwargs.update(lexer.options)
460
+ lx = _other(**kwargs)
461
+
462
+ s = match.start()
463
+ for i, t, v in lx.get_tokens_unprocessed(match.group(), **gt_kwargs):
464
+ yield i + s, t, v
465
+ if ctx:
466
+ ctx.pos = match.end()
467
+ return callback
468
+
469
+
470
+ class default:
471
+ """
472
+ Indicates a state or state action (e.g. #pop) to apply.
473
+ For example default('#pop') is equivalent to ('', Token, '#pop')
474
+ Note that state tuples may be used as well.
475
+
476
+ .. versionadded:: 2.0
477
+ """
478
+ def __init__(self, state):
479
+ self.state = state
480
+
481
+
482
+ class words(Future):
483
+ """
484
+ Indicates a list of literal words that is transformed into an optimized
485
+ regex that matches any of the words.
486
+
487
+ .. versionadded:: 2.0
488
+ """
489
+ def __init__(self, words, prefix='', suffix=''):
490
+ self.words = words
491
+ self.prefix = prefix
492
+ self.suffix = suffix
493
+
494
+ def get(self):
495
+ return regex_opt(self.words, prefix=self.prefix, suffix=self.suffix)
496
+
497
+
498
+ class RegexLexerMeta(LexerMeta):
499
+ """
500
+ Metaclass for RegexLexer, creates the self._tokens attribute from
501
+ self.tokens on the first instantiation.
502
+ """
503
+
504
+ def _process_regex(cls, regex, rflags, state):
505
+ """Preprocess the regular expression component of a token definition."""
506
+ if isinstance(regex, Future):
507
+ regex = regex.get()
508
+ return re.compile(regex, rflags).match
509
+
510
+ def _process_token(cls, token):
511
+ """Preprocess the token component of a token definition."""
512
+ assert type(token) is _TokenType or callable(token), \
513
+ f'token type must be simple type or callable, not {token!r}'
514
+ return token
515
+
516
+ def _process_new_state(cls, new_state, unprocessed, processed):
517
+ """Preprocess the state transition action of a token definition."""
518
+ if isinstance(new_state, str):
519
+ # an existing state
520
+ if new_state == '#pop':
521
+ return -1
522
+ elif new_state in unprocessed:
523
+ return (new_state,)
524
+ elif new_state == '#push':
525
+ return new_state
526
+ elif new_state[:5] == '#pop:':
527
+ return -int(new_state[5:])
528
+ else:
529
+ assert False, f'unknown new state {new_state!r}'
530
+ elif isinstance(new_state, combined):
531
+ # combine a new state from existing ones
532
+ tmp_state = '_tmp_%d' % cls._tmpname
533
+ cls._tmpname += 1
534
+ itokens = []
535
+ for istate in new_state:
536
+ assert istate != new_state, f'circular state ref {istate!r}'
537
+ itokens.extend(cls._process_state(unprocessed,
538
+ processed, istate))
539
+ processed[tmp_state] = itokens
540
+ return (tmp_state,)
541
+ elif isinstance(new_state, tuple):
542
+ # push more than one state
543
+ for istate in new_state:
544
+ assert (istate in unprocessed or
545
+ istate in ('#pop', '#push')), \
546
+ 'unknown new state ' + istate
547
+ return new_state
548
+ else:
549
+ assert False, f'unknown new state def {new_state!r}'
550
+
551
+ def _process_state(cls, unprocessed, processed, state):
552
+ """Preprocess a single state definition."""
553
+ assert isinstance(state, str), f"wrong state name {state!r}"
554
+ assert state[0] != '#', f"invalid state name {state!r}"
555
+ if state in processed:
556
+ return processed[state]
557
+ tokens = processed[state] = []
558
+ rflags = cls.flags
559
+ for tdef in unprocessed[state]:
560
+ if isinstance(tdef, include):
561
+ # it's a state reference
562
+ assert tdef != state, f"circular state reference {state!r}"
563
+ tokens.extend(cls._process_state(unprocessed, processed,
564
+ str(tdef)))
565
+ continue
566
+ if isinstance(tdef, _inherit):
567
+ # should be processed already, but may not in the case of:
568
+ # 1. the state has no counterpart in any parent
569
+ # 2. the state includes more than one 'inherit'
570
+ continue
571
+ if isinstance(tdef, default):
572
+ new_state = cls._process_new_state(tdef.state, unprocessed, processed)
573
+ tokens.append((re.compile('').match, None, new_state))
574
+ continue
575
+
576
+ assert type(tdef) is tuple, f"wrong rule def {tdef!r}"
577
+
578
+ try:
579
+ rex = cls._process_regex(tdef[0], rflags, state)
580
+ except Exception as err:
581
+ raise ValueError(f"uncompilable regex {tdef[0]!r} in state {state!r} of {cls!r}: {err}") from err
582
+
583
+ token = cls._process_token(tdef[1])
584
+
585
+ if len(tdef) == 2:
586
+ new_state = None
587
+ else:
588
+ new_state = cls._process_new_state(tdef[2],
589
+ unprocessed, processed)
590
+
591
+ tokens.append((rex, token, new_state))
592
+ return tokens
593
+
594
+ def process_tokendef(cls, name, tokendefs=None):
595
+ """Preprocess a dictionary of token definitions."""
596
+ processed = cls._all_tokens[name] = {}
597
+ tokendefs = tokendefs or cls.tokens[name]
598
+ for state in list(tokendefs):
599
+ cls._process_state(tokendefs, processed, state)
600
+ return processed
601
+
602
+ def get_tokendefs(cls):
603
+ """
604
+ Merge tokens from superclasses in MRO order, returning a single tokendef
605
+ dictionary.
606
+
607
+ Any state that is not defined by a subclass will be inherited
608
+ automatically. States that *are* defined by subclasses will, by
609
+ default, override that state in the superclass. If a subclass wishes to
610
+ inherit definitions from a superclass, it can use the special value
611
+ "inherit", which will cause the superclass' state definition to be
612
+ included at that point in the state.
613
+ """
614
+ tokens = {}
615
+ inheritable = {}
616
+ for c in cls.__mro__:
617
+ toks = c.__dict__.get('tokens', {})
618
+
619
+ for state, items in toks.items():
620
+ curitems = tokens.get(state)
621
+ if curitems is None:
622
+ # N.b. because this is assigned by reference, sufficiently
623
+ # deep hierarchies are processed incrementally (e.g. for
624
+ # A(B), B(C), C(RegexLexer), B will be premodified so X(B)
625
+ # will not see any inherits in B).
626
+ tokens[state] = items
627
+ try:
628
+ inherit_ndx = items.index(inherit)
629
+ except ValueError:
630
+ continue
631
+ inheritable[state] = inherit_ndx
632
+ continue
633
+
634
+ inherit_ndx = inheritable.pop(state, None)
635
+ if inherit_ndx is None:
636
+ continue
637
+
638
+ # Replace the "inherit" value with the items
639
+ curitems[inherit_ndx:inherit_ndx+1] = items
640
+ try:
641
+ # N.b. this is the index in items (that is, the superclass
642
+ # copy), so offset required when storing below.
643
+ new_inh_ndx = items.index(inherit)
644
+ except ValueError:
645
+ pass
646
+ else:
647
+ inheritable[state] = inherit_ndx + new_inh_ndx
648
+
649
+ return tokens
650
+
651
+ def __call__(cls, *args, **kwds):
652
+ """Instantiate cls after preprocessing its token definitions."""
653
+ if '_tokens' not in cls.__dict__:
654
+ cls._all_tokens = {}
655
+ cls._tmpname = 0
656
+ if hasattr(cls, 'token_variants') and cls.token_variants:
657
+ # don't process yet
658
+ pass
659
+ else:
660
+ cls._tokens = cls.process_tokendef('', cls.get_tokendefs())
661
+
662
+ return type.__call__(cls, *args, **kwds)
663
+
664
+
665
+ class RegexLexer(Lexer, metaclass=RegexLexerMeta):
666
+ """
667
+ Base for simple stateful regular expression-based lexers.
668
+ Simplifies the lexing process so that you need only
669
+ provide a list of states and regular expressions.
670
+ """
671
+
672
+ #: Flags for compiling the regular expressions.
673
+ #: Defaults to MULTILINE.
674
+ flags = re.MULTILINE
675
+
676
+ #: At all time there is a stack of states. Initially, the stack contains
677
+ #: a single state 'root'. The top of the stack is called "the current state".
678
+ #:
679
+ #: Dict of ``{'state': [(regex, tokentype, new_state), ...], ...}``
680
+ #:
681
+ #: ``new_state`` can be omitted to signify no state transition.
682
+ #: If ``new_state`` is a string, it is pushed on the stack. This ensure
683
+ #: the new current state is ``new_state``.
684
+ #: If ``new_state`` is a tuple of strings, all of those strings are pushed
685
+ #: on the stack and the current state will be the last element of the list.
686
+ #: ``new_state`` can also be ``combined('state1', 'state2', ...)``
687
+ #: to signify a new, anonymous state combined from the rules of two
688
+ #: or more existing ones.
689
+ #: Furthermore, it can be '#pop' to signify going back one step in
690
+ #: the state stack, or '#push' to push the current state on the stack
691
+ #: again. Note that if you push while in a combined state, the combined
692
+ #: state itself is pushed, and not only the state in which the rule is
693
+ #: defined.
694
+ #:
695
+ #: The tuple can also be replaced with ``include('state')``, in which
696
+ #: case the rules from the state named by the string are included in the
697
+ #: current one.
698
+ tokens = {}
699
+
700
+ def get_tokens_unprocessed(self, text, stack=('root',)):
701
+ """
702
+ Split ``text`` into (tokentype, text) pairs.
703
+
704
+ ``stack`` is the initial stack (default: ``['root']``)
705
+ """
706
+ pos = 0
707
+ tokendefs = self._tokens
708
+ statestack = list(stack)
709
+ statetokens = tokendefs[statestack[-1]]
710
+ while 1:
711
+ for rexmatch, action, new_state in statetokens:
712
+ m = rexmatch(text, pos)
713
+ if m:
714
+ if action is not None:
715
+ if type(action) is _TokenType:
716
+ yield pos, action, m.group()
717
+ else:
718
+ yield from action(self, m)
719
+ pos = m.end()
720
+ if new_state is not None:
721
+ # state transition
722
+ if isinstance(new_state, tuple):
723
+ for state in new_state:
724
+ if state == '#pop':
725
+ if len(statestack) > 1:
726
+ statestack.pop()
727
+ elif state == '#push':
728
+ statestack.append(statestack[-1])
729
+ else:
730
+ statestack.append(state)
731
+ elif isinstance(new_state, int):
732
+ # pop, but keep at least one state on the stack
733
+ # (random code leading to unexpected pops should
734
+ # not allow exceptions)
735
+ if abs(new_state) >= len(statestack):
736
+ del statestack[1:]
737
+ else:
738
+ del statestack[new_state:]
739
+ elif new_state == '#push':
740
+ statestack.append(statestack[-1])
741
+ else:
742
+ assert False, f"wrong state def: {new_state!r}"
743
+ statetokens = tokendefs[statestack[-1]]
744
+ break
745
+ else:
746
+ # We are here only if all state tokens have been considered
747
+ # and there was not a match on any of them.
748
+ try:
749
+ if text[pos] == '\n':
750
+ # at EOL, reset state to "root"
751
+ statestack = ['root']
752
+ statetokens = tokendefs['root']
753
+ yield pos, Whitespace, '\n'
754
+ pos += 1
755
+ continue
756
+ yield pos, Error, text[pos]
757
+ pos += 1
758
+ except IndexError:
759
+ break
760
+
761
+
762
+ class LexerContext:
763
+ """
764
+ A helper object that holds lexer position data.
765
+ """
766
+
767
+ def __init__(self, text, pos, stack=None, end=None):
768
+ self.text = text
769
+ self.pos = pos
770
+ self.end = end or len(text) # end=0 not supported ;-)
771
+ self.stack = stack or ['root']
772
+
773
+ def __repr__(self):
774
+ return f'LexerContext({self.text!r}, {self.pos!r}, {self.stack!r})'
775
+
776
+
777
+ class ExtendedRegexLexer(RegexLexer):
778
+ """
779
+ A RegexLexer that uses a context object to store its state.
780
+ """
781
+
782
+ def get_tokens_unprocessed(self, text=None, context=None):
783
+ """
784
+ Split ``text`` into (tokentype, text) pairs.
785
+ If ``context`` is given, use this lexer context instead.
786
+ """
787
+ tokendefs = self._tokens
788
+ if not context:
789
+ ctx = LexerContext(text, 0)
790
+ statetokens = tokendefs['root']
791
+ else:
792
+ ctx = context
793
+ statetokens = tokendefs[ctx.stack[-1]]
794
+ text = ctx.text
795
+ while 1:
796
+ for rexmatch, action, new_state in statetokens:
797
+ m = rexmatch(text, ctx.pos, ctx.end)
798
+ if m:
799
+ if action is not None:
800
+ if type(action) is _TokenType:
801
+ yield ctx.pos, action, m.group()
802
+ ctx.pos = m.end()
803
+ else:
804
+ yield from action(self, m, ctx)
805
+ if not new_state:
806
+ # altered the state stack?
807
+ statetokens = tokendefs[ctx.stack[-1]]
808
+ # CAUTION: callback must set ctx.pos!
809
+ if new_state is not None:
810
+ # state transition
811
+ if isinstance(new_state, tuple):
812
+ for state in new_state:
813
+ if state == '#pop':
814
+ if len(ctx.stack) > 1:
815
+ ctx.stack.pop()
816
+ elif state == '#push':
817
+ ctx.stack.append(ctx.stack[-1])
818
+ else:
819
+ ctx.stack.append(state)
820
+ elif isinstance(new_state, int):
821
+ # see RegexLexer for why this check is made
822
+ if abs(new_state) >= len(ctx.stack):
823
+ del ctx.stack[1:]
824
+ else:
825
+ del ctx.stack[new_state:]
826
+ elif new_state == '#push':
827
+ ctx.stack.append(ctx.stack[-1])
828
+ else:
829
+ assert False, f"wrong state def: {new_state!r}"
830
+ statetokens = tokendefs[ctx.stack[-1]]
831
+ break
832
+ else:
833
+ try:
834
+ if ctx.pos >= ctx.end:
835
+ break
836
+ if text[ctx.pos] == '\n':
837
+ # at EOL, reset state to "root"
838
+ ctx.stack = ['root']
839
+ statetokens = tokendefs['root']
840
+ yield ctx.pos, Text, '\n'
841
+ ctx.pos += 1
842
+ continue
843
+ yield ctx.pos, Error, text[ctx.pos]
844
+ ctx.pos += 1
845
+ except IndexError:
846
+ break
847
+
848
+
849
+ def do_insertions(insertions, tokens):
850
+ """
851
+ Helper for lexers which must combine the results of several
852
+ sublexers.
853
+
854
+ ``insertions`` is a list of ``(index, itokens)`` pairs.
855
+ Each ``itokens`` iterable should be inserted at position
856
+ ``index`` into the token stream given by the ``tokens``
857
+ argument.
858
+
859
+ The result is a combined token stream.
860
+
861
+ TODO: clean up the code here.
862
+ """
863
+ insertions = iter(insertions)
864
+ try:
865
+ index, itokens = next(insertions)
866
+ except StopIteration:
867
+ # no insertions
868
+ yield from tokens
869
+ return
870
+
871
+ realpos = None
872
+ insleft = True
873
+
874
+ # iterate over the token stream where we want to insert
875
+ # the tokens from the insertion list.
876
+ for i, t, v in tokens:
877
+ # first iteration. store the position of first item
878
+ if realpos is None:
879
+ realpos = i
880
+ oldi = 0
881
+ while insleft and i + len(v) >= index:
882
+ tmpval = v[oldi:index - i]
883
+ if tmpval:
884
+ yield realpos, t, tmpval
885
+ realpos += len(tmpval)
886
+ for it_index, it_token, it_value in itokens:
887
+ yield realpos, it_token, it_value
888
+ realpos += len(it_value)
889
+ oldi = index - i
890
+ try:
891
+ index, itokens = next(insertions)
892
+ except StopIteration:
893
+ insleft = False
894
+ break # not strictly necessary
895
+ if oldi < len(v):
896
+ yield realpos, t, v[oldi:]
897
+ realpos += len(v) - oldi
898
+
899
+ # leftover tokens
900
+ while insleft:
901
+ # no normal tokens, set realpos to zero
902
+ realpos = realpos or 0
903
+ for p, t, v in itokens:
904
+ yield realpos, t, v
905
+ realpos += len(v)
906
+ try:
907
+ index, itokens = next(insertions)
908
+ except StopIteration:
909
+ insleft = False
910
+ break # not strictly necessary
911
+
912
+
913
+ class ProfilingRegexLexerMeta(RegexLexerMeta):
914
+ """Metaclass for ProfilingRegexLexer, collects regex timing info."""
915
+
916
+ def _process_regex(cls, regex, rflags, state):
917
+ if isinstance(regex, words):
918
+ rex = regex_opt(regex.words, prefix=regex.prefix,
919
+ suffix=regex.suffix)
920
+ else:
921
+ rex = regex
922
+ compiled = re.compile(rex, rflags)
923
+
924
+ def match_func(text, pos, endpos=sys.maxsize):
925
+ info = cls._prof_data[-1].setdefault((state, rex), [0, 0.0])
926
+ t0 = time.time()
927
+ res = compiled.match(text, pos, endpos)
928
+ t1 = time.time()
929
+ info[0] += 1
930
+ info[1] += t1 - t0
931
+ return res
932
+ return match_func
933
+
934
+
935
+ class ProfilingRegexLexer(RegexLexer, metaclass=ProfilingRegexLexerMeta):
936
+ """Drop-in replacement for RegexLexer that does profiling of its regexes."""
937
+
938
+ _prof_data = []
939
+ _prof_sort_index = 4 # defaults to time per call
940
+
941
+ def get_tokens_unprocessed(self, text, stack=('root',)):
942
+ # this needs to be a stack, since using(this) will produce nested calls
943
+ self.__class__._prof_data.append({})
944
+ yield from RegexLexer.get_tokens_unprocessed(self, text, stack)
945
+ rawdata = self.__class__._prof_data.pop()
946
+ data = sorted(((s, repr(r).strip('u\'').replace('\\\\', '\\')[:65],
947
+ n, 1000 * t, 1000 * t / n)
948
+ for ((s, r), (n, t)) in rawdata.items()),
949
+ key=lambda x: x[self._prof_sort_index],
950
+ reverse=True)
951
+ sum_total = sum(x[3] for x in data)
952
+
953
+ print()
954
+ print('Profiling result for %s lexing %d chars in %.3f ms' %
955
+ (self.__class__.__name__, len(text), sum_total))
956
+ print('=' * 110)
957
+ print('%-20s %-64s ncalls tottime percall' % ('state', 'regex'))
958
+ print('-' * 110)
959
+ for d in data:
960
+ print('%-20s %-65s %5d %8.4f %8.4f' % d)
961
+ print('=' * 110)