@rowstile/cli-win32-x64 0.1.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +5 -0
  3. package/package.json +23 -0
  4. package/python/DLLs/_asyncio.pyd +0 -0
  5. package/python/DLLs/_bz2.pyd +0 -0
  6. package/python/DLLs/_ctypes.pyd +0 -0
  7. package/python/DLLs/_ctypes_test.pyd +0 -0
  8. package/python/DLLs/_decimal.pyd +0 -0
  9. package/python/DLLs/_elementtree.pyd +0 -0
  10. package/python/DLLs/_hashlib.pyd +0 -0
  11. package/python/DLLs/_lzma.pyd +0 -0
  12. package/python/DLLs/_multiprocessing.pyd +0 -0
  13. package/python/DLLs/_overlapped.pyd +0 -0
  14. package/python/DLLs/_queue.pyd +0 -0
  15. package/python/DLLs/_socket.pyd +0 -0
  16. package/python/DLLs/_sqlite3.pyd +0 -0
  17. package/python/DLLs/_ssl.pyd +0 -0
  18. package/python/DLLs/_testbuffer.pyd +0 -0
  19. package/python/DLLs/_testcapi.pyd +0 -0
  20. package/python/DLLs/_testclinic.pyd +0 -0
  21. package/python/DLLs/_testclinic_limited.pyd +0 -0
  22. package/python/DLLs/_testconsole.pyd +0 -0
  23. package/python/DLLs/_testimportmultiple.pyd +0 -0
  24. package/python/DLLs/_testinternalcapi.pyd +0 -0
  25. package/python/DLLs/_testlimitedcapi.pyd +0 -0
  26. package/python/DLLs/_testmultiphase.pyd +0 -0
  27. package/python/DLLs/_testsinglephase.pyd +0 -0
  28. package/python/DLLs/_uuid.pyd +0 -0
  29. package/python/DLLs/_wmi.pyd +0 -0
  30. package/python/DLLs/_zoneinfo.pyd +0 -0
  31. package/python/DLLs/libcrypto-3-x64.dll +0 -0
  32. package/python/DLLs/libffi-8.dll +0 -0
  33. package/python/DLLs/libssl-3-x64.dll +0 -0
  34. package/python/DLLs/pyexpat.pyd +0 -0
  35. package/python/DLLs/select.pyd +0 -0
  36. package/python/DLLs/sqlite3.dll +0 -0
  37. package/python/DLLs/unicodedata.pyd +0 -0
  38. package/python/DLLs/winsound.pyd +0 -0
  39. package/python/DLLs/zlib1.dll +0 -0
  40. package/python/LICENSE.txt +445 -0
  41. package/python/Lib/__future__.py +147 -0
  42. package/python/Lib/__hello__.py +16 -0
  43. package/python/Lib/__pycache__/__future__.cpython-313.pyc +0 -0
  44. package/python/Lib/__pycache__/_colorize.cpython-313.pyc +0 -0
  45. package/python/Lib/__pycache__/_compat_pickle.cpython-313.pyc +0 -0
  46. package/python/Lib/__pycache__/_compression.cpython-313.pyc +0 -0
  47. package/python/Lib/__pycache__/_markupbase.cpython-313.pyc +0 -0
  48. package/python/Lib/__pycache__/_opcode_metadata.cpython-313.pyc +0 -0
  49. package/python/Lib/__pycache__/_weakrefset.cpython-313.pyc +0 -0
  50. package/python/Lib/__pycache__/ast.cpython-313.pyc +0 -0
  51. package/python/Lib/__pycache__/base64.cpython-313.pyc +0 -0
  52. package/python/Lib/__pycache__/bisect.cpython-313.pyc +0 -0
  53. package/python/Lib/__pycache__/bz2.cpython-313.pyc +0 -0
  54. package/python/Lib/__pycache__/calendar.cpython-313.pyc +0 -0
  55. package/python/Lib/__pycache__/colorsys.cpython-313.pyc +0 -0
  56. package/python/Lib/__pycache__/compileall.cpython-313.pyc +0 -0
  57. package/python/Lib/__pycache__/configparser.cpython-313.pyc +0 -0
  58. package/python/Lib/__pycache__/contextlib.cpython-313.pyc +0 -0
  59. package/python/Lib/__pycache__/copy.cpython-313.pyc +0 -0
  60. package/python/Lib/__pycache__/copyreg.cpython-313.pyc +0 -0
  61. package/python/Lib/__pycache__/csv.cpython-313.pyc +0 -0
  62. package/python/Lib/__pycache__/dataclasses.cpython-313.pyc +0 -0
  63. package/python/Lib/__pycache__/datetime.cpython-313.pyc +0 -0
  64. package/python/Lib/__pycache__/decimal.cpython-313.pyc +0 -0
  65. package/python/Lib/__pycache__/dis.cpython-313.pyc +0 -0
  66. package/python/Lib/__pycache__/enum.cpython-313.pyc +0 -0
  67. package/python/Lib/__pycache__/filecmp.cpython-313.pyc +0 -0
  68. package/python/Lib/__pycache__/fnmatch.cpython-313.pyc +0 -0
  69. package/python/Lib/__pycache__/fractions.cpython-313.pyc +0 -0
  70. package/python/Lib/__pycache__/functools.cpython-313.pyc +0 -0
  71. package/python/Lib/__pycache__/getpass.cpython-313.pyc +0 -0
  72. package/python/Lib/__pycache__/gettext.cpython-313.pyc +0 -0
  73. package/python/Lib/__pycache__/glob.cpython-313.pyc +0 -0
  74. package/python/Lib/__pycache__/gzip.cpython-313.pyc +0 -0
  75. package/python/Lib/__pycache__/hashlib.cpython-313.pyc +0 -0
  76. package/python/Lib/__pycache__/heapq.cpython-313.pyc +0 -0
  77. package/python/Lib/__pycache__/hmac.cpython-313.pyc +0 -0
  78. package/python/Lib/__pycache__/inspect.cpython-313.pyc +0 -0
  79. package/python/Lib/__pycache__/ipaddress.cpython-313.pyc +0 -0
  80. package/python/Lib/__pycache__/keyword.cpython-313.pyc +0 -0
  81. package/python/Lib/__pycache__/linecache.cpython-313.pyc +0 -0
  82. package/python/Lib/__pycache__/locale.cpython-313.pyc +0 -0
  83. package/python/Lib/__pycache__/lzma.cpython-313.pyc +0 -0
  84. package/python/Lib/__pycache__/mimetypes.cpython-313.pyc +0 -0
  85. package/python/Lib/__pycache__/nturl2path.cpython-313.pyc +0 -0
  86. package/python/Lib/__pycache__/numbers.cpython-313.pyc +0 -0
  87. package/python/Lib/__pycache__/opcode.cpython-313.pyc +0 -0
  88. package/python/Lib/__pycache__/operator.cpython-313.pyc +0 -0
  89. package/python/Lib/__pycache__/optparse.cpython-313.pyc +0 -0
  90. package/python/Lib/__pycache__/pickle.cpython-313.pyc +0 -0
  91. package/python/Lib/__pycache__/pkgutil.cpython-313.pyc +0 -0
  92. package/python/Lib/__pycache__/platform.cpython-313.pyc +0 -0
  93. package/python/Lib/__pycache__/py_compile.cpython-313.pyc +0 -0
  94. package/python/Lib/__pycache__/queue.cpython-313.pyc +0 -0
  95. package/python/Lib/__pycache__/quopri.cpython-313.pyc +0 -0
  96. package/python/Lib/__pycache__/random.cpython-313.pyc +0 -0
  97. package/python/Lib/__pycache__/reprlib.cpython-313.pyc +0 -0
  98. package/python/Lib/__pycache__/selectors.cpython-313.pyc +0 -0
  99. package/python/Lib/__pycache__/shlex.cpython-313.pyc +0 -0
  100. package/python/Lib/__pycache__/shutil.cpython-313.pyc +0 -0
  101. package/python/Lib/__pycache__/signal.cpython-313.pyc +0 -0
  102. package/python/Lib/__pycache__/socket.cpython-313.pyc +0 -0
  103. package/python/Lib/__pycache__/socketserver.cpython-313.pyc +0 -0
  104. package/python/Lib/__pycache__/ssl.cpython-313.pyc +0 -0
  105. package/python/Lib/__pycache__/string.cpython-313.pyc +0 -0
  106. package/python/Lib/__pycache__/stringprep.cpython-313.pyc +0 -0
  107. package/python/Lib/__pycache__/struct.cpython-313.pyc +0 -0
  108. package/python/Lib/__pycache__/subprocess.cpython-313.pyc +0 -0
  109. package/python/Lib/__pycache__/tarfile.cpython-313.pyc +0 -0
  110. package/python/Lib/__pycache__/tempfile.cpython-313.pyc +0 -0
  111. package/python/Lib/__pycache__/textwrap.cpython-313.pyc +0 -0
  112. package/python/Lib/__pycache__/threading.cpython-313.pyc +0 -0
  113. package/python/Lib/__pycache__/token.cpython-313.pyc +0 -0
  114. package/python/Lib/__pycache__/tokenize.cpython-313.pyc +0 -0
  115. package/python/Lib/__pycache__/traceback.cpython-313.pyc +0 -0
  116. package/python/Lib/__pycache__/types.cpython-313.pyc +0 -0
  117. package/python/Lib/__pycache__/typing.cpython-313.pyc +0 -0
  118. package/python/Lib/__pycache__/uuid.cpython-313.pyc +0 -0
  119. package/python/Lib/__pycache__/warnings.cpython-313.pyc +0 -0
  120. package/python/Lib/__pycache__/weakref.cpython-313.pyc +0 -0
  121. package/python/Lib/_aix_support.py +108 -0
  122. package/python/Lib/_android_support.py +192 -0
  123. package/python/Lib/_apple_support.py +66 -0
  124. package/python/Lib/_collections_abc.py +1187 -0
  125. package/python/Lib/_colorize.py +119 -0
  126. package/python/Lib/_compat_pickle.py +251 -0
  127. package/python/Lib/_compression.py +162 -0
  128. package/python/Lib/_ios_support.py +71 -0
  129. package/python/Lib/_markupbase.py +396 -0
  130. package/python/Lib/_opcode_metadata.py +343 -0
  131. package/python/Lib/_osx_support.py +579 -0
  132. package/python/Lib/_py_abc.py +147 -0
  133. package/python/Lib/_pydatetime.py +2640 -0
  134. package/python/Lib/_pydecimal.py +6356 -0
  135. package/python/Lib/_pyio.py +2714 -0
  136. package/python/Lib/_pylong.py +363 -0
  137. package/python/Lib/_pyrepl/__init__.py +19 -0
  138. package/python/Lib/_pyrepl/__main__.py +10 -0
  139. package/python/Lib/_pyrepl/_minimal_curses.py +68 -0
  140. package/python/Lib/_pyrepl/_threading_handler.py +74 -0
  141. package/python/Lib/_pyrepl/base_eventqueue.py +110 -0
  142. package/python/Lib/_pyrepl/commands.py +492 -0
  143. package/python/Lib/_pyrepl/completing_reader.py +295 -0
  144. package/python/Lib/_pyrepl/console.py +229 -0
  145. package/python/Lib/_pyrepl/curses.py +33 -0
  146. package/python/Lib/_pyrepl/fancy_termios.py +82 -0
  147. package/python/Lib/_pyrepl/historical_reader.py +419 -0
  148. package/python/Lib/_pyrepl/input.py +114 -0
  149. package/python/Lib/_pyrepl/keymap.py +213 -0
  150. package/python/Lib/_pyrepl/main.py +59 -0
  151. package/python/Lib/_pyrepl/mypy.ini +29 -0
  152. package/python/Lib/_pyrepl/pager.py +175 -0
  153. package/python/Lib/_pyrepl/reader.py +764 -0
  154. package/python/Lib/_pyrepl/readline.py +599 -0
  155. package/python/Lib/_pyrepl/simple_interact.py +180 -0
  156. package/python/Lib/_pyrepl/trace.py +21 -0
  157. package/python/Lib/_pyrepl/types.py +10 -0
  158. package/python/Lib/_pyrepl/unix_console.py +852 -0
  159. package/python/Lib/_pyrepl/unix_eventqueue.py +76 -0
  160. package/python/Lib/_pyrepl/utils.py +83 -0
  161. package/python/Lib/_pyrepl/windows_console.py +687 -0
  162. package/python/Lib/_pyrepl/windows_eventqueue.py +42 -0
  163. package/python/Lib/_sitebuiltins.py +91 -0
  164. package/python/Lib/_strptime.py +800 -0
  165. package/python/Lib/_threading_local.py +120 -0
  166. package/python/Lib/_weakrefset.py +205 -0
  167. package/python/Lib/abc.py +188 -0
  168. package/python/Lib/antigravity.py +17 -0
  169. package/python/Lib/argparse.py +2690 -0
  170. package/python/Lib/ast.py +1865 -0
  171. package/python/Lib/asyncio/__init__.py +47 -0
  172. package/python/Lib/asyncio/__main__.py +211 -0
  173. package/python/Lib/asyncio/base_events.py +2086 -0
  174. package/python/Lib/asyncio/base_futures.py +67 -0
  175. package/python/Lib/asyncio/base_subprocess.py +312 -0
  176. package/python/Lib/asyncio/base_tasks.py +94 -0
  177. package/python/Lib/asyncio/constants.py +41 -0
  178. package/python/Lib/asyncio/coroutines.py +109 -0
  179. package/python/Lib/asyncio/events.py +885 -0
  180. package/python/Lib/asyncio/exceptions.py +62 -0
  181. package/python/Lib/asyncio/format_helpers.py +84 -0
  182. package/python/Lib/asyncio/futures.py +425 -0
  183. package/python/Lib/asyncio/locks.py +617 -0
  184. package/python/Lib/asyncio/log.py +7 -0
  185. package/python/Lib/asyncio/mixins.py +21 -0
  186. package/python/Lib/asyncio/proactor_events.py +891 -0
  187. package/python/Lib/asyncio/protocols.py +216 -0
  188. package/python/Lib/asyncio/queues.py +309 -0
  189. package/python/Lib/asyncio/runners.py +217 -0
  190. package/python/Lib/asyncio/selector_events.py +1328 -0
  191. package/python/Lib/asyncio/sslproto.py +929 -0
  192. package/python/Lib/asyncio/staggered.py +174 -0
  193. package/python/Lib/asyncio/streams.py +787 -0
  194. package/python/Lib/asyncio/subprocess.py +229 -0
  195. package/python/Lib/asyncio/taskgroups.py +278 -0
  196. package/python/Lib/asyncio/tasks.py +1121 -0
  197. package/python/Lib/asyncio/threads.py +26 -0
  198. package/python/Lib/asyncio/timeouts.py +185 -0
  199. package/python/Lib/asyncio/transports.py +337 -0
  200. package/python/Lib/asyncio/trsock.py +98 -0
  201. package/python/Lib/asyncio/unix_events.py +1550 -0
  202. package/python/Lib/asyncio/windows_events.py +906 -0
  203. package/python/Lib/asyncio/windows_utils.py +181 -0
  204. package/python/Lib/base64.py +628 -0
  205. package/python/Lib/bdb.py +973 -0
  206. package/python/Lib/bisect.py +118 -0
  207. package/python/Lib/bz2.py +352 -0
  208. package/python/Lib/cProfile.py +197 -0
  209. package/python/Lib/calendar.py +813 -0
  210. package/python/Lib/cmd.py +409 -0
  211. package/python/Lib/code.py +386 -0
  212. package/python/Lib/codecs.py +1132 -0
  213. package/python/Lib/codeop.py +155 -0
  214. package/python/Lib/collections/__init__.py +1603 -0
  215. package/python/Lib/collections/__pycache__/__init__.cpython-313.pyc +0 -0
  216. package/python/Lib/colorsys.py +166 -0
  217. package/python/Lib/compileall.py +470 -0
  218. package/python/Lib/concurrent/__init__.py +1 -0
  219. package/python/Lib/concurrent/futures/__init__.py +54 -0
  220. package/python/Lib/concurrent/futures/_base.py +660 -0
  221. package/python/Lib/concurrent/futures/process.py +892 -0
  222. package/python/Lib/concurrent/futures/thread.py +240 -0
  223. package/python/Lib/configparser.py +1396 -0
  224. package/python/Lib/contextlib.py +814 -0
  225. package/python/Lib/contextvars.py +4 -0
  226. package/python/Lib/copy.py +306 -0
  227. package/python/Lib/copyreg.py +217 -0
  228. package/python/Lib/csv.py +527 -0
  229. package/python/Lib/ctypes/__init__.py +602 -0
  230. package/python/Lib/ctypes/__pycache__/__init__.cpython-313.pyc +0 -0
  231. package/python/Lib/ctypes/__pycache__/_endian.cpython-313.pyc +0 -0
  232. package/python/Lib/ctypes/__pycache__/wintypes.cpython-313.pyc +0 -0
  233. package/python/Lib/ctypes/_aix.py +327 -0
  234. package/python/Lib/ctypes/_endian.py +78 -0
  235. package/python/Lib/ctypes/macholib/README.ctypes +7 -0
  236. package/python/Lib/ctypes/macholib/__init__.py +9 -0
  237. package/python/Lib/ctypes/macholib/dyld.py +165 -0
  238. package/python/Lib/ctypes/macholib/dylib.py +42 -0
  239. package/python/Lib/ctypes/macholib/fetch_macholib +2 -0
  240. package/python/Lib/ctypes/macholib/fetch_macholib.bat +1 -0
  241. package/python/Lib/ctypes/macholib/framework.py +42 -0
  242. package/python/Lib/ctypes/util.py +387 -0
  243. package/python/Lib/ctypes/wintypes.py +202 -0
  244. package/python/Lib/curses/__init__.py +101 -0
  245. package/python/Lib/curses/ascii.py +99 -0
  246. package/python/Lib/curses/has_key.py +192 -0
  247. package/python/Lib/curses/panel.py +6 -0
  248. package/python/Lib/curses/textpad.py +236 -0
  249. package/python/Lib/dataclasses.py +1679 -0
  250. package/python/Lib/datetime.py +9 -0
  251. package/python/Lib/dbm/__init__.py +194 -0
  252. package/python/Lib/dbm/dumb.py +319 -0
  253. package/python/Lib/dbm/gnu.py +3 -0
  254. package/python/Lib/dbm/ndbm.py +3 -0
  255. package/python/Lib/dbm/sqlite3.py +144 -0
  256. package/python/Lib/decimal.py +109 -0
  257. package/python/Lib/difflib.py +2058 -0
  258. package/python/Lib/dis.py +1075 -0
  259. package/python/Lib/doctest.py +2919 -0
  260. package/python/Lib/email/__init__.py +61 -0
  261. package/python/Lib/email/__pycache__/__init__.cpython-313.pyc +0 -0
  262. package/python/Lib/email/__pycache__/_encoded_words.cpython-313.pyc +0 -0
  263. package/python/Lib/email/__pycache__/_parseaddr.cpython-313.pyc +0 -0
  264. package/python/Lib/email/__pycache__/_policybase.cpython-313.pyc +0 -0
  265. package/python/Lib/email/__pycache__/base64mime.cpython-313.pyc +0 -0
  266. package/python/Lib/email/__pycache__/charset.cpython-313.pyc +0 -0
  267. package/python/Lib/email/__pycache__/encoders.cpython-313.pyc +0 -0
  268. package/python/Lib/email/__pycache__/errors.cpython-313.pyc +0 -0
  269. package/python/Lib/email/__pycache__/feedparser.cpython-313.pyc +0 -0
  270. package/python/Lib/email/__pycache__/header.cpython-313.pyc +0 -0
  271. package/python/Lib/email/__pycache__/iterators.cpython-313.pyc +0 -0
  272. package/python/Lib/email/__pycache__/message.cpython-313.pyc +0 -0
  273. package/python/Lib/email/__pycache__/parser.cpython-313.pyc +0 -0
  274. package/python/Lib/email/__pycache__/quoprimime.cpython-313.pyc +0 -0
  275. package/python/Lib/email/__pycache__/utils.cpython-313.pyc +0 -0
  276. package/python/Lib/email/_encoded_words.py +233 -0
  277. package/python/Lib/email/_header_value_parser.py +3153 -0
  278. package/python/Lib/email/_parseaddr.py +563 -0
  279. package/python/Lib/email/_policybase.py +382 -0
  280. package/python/Lib/email/architecture.rst +216 -0
  281. package/python/Lib/email/base64mime.py +115 -0
  282. package/python/Lib/email/charset.py +396 -0
  283. package/python/Lib/email/contentmanager.py +254 -0
  284. package/python/Lib/email/encoders.py +65 -0
  285. package/python/Lib/email/errors.py +117 -0
  286. package/python/Lib/email/feedparser.py +536 -0
  287. package/python/Lib/email/generator.py +530 -0
  288. package/python/Lib/email/header.py +582 -0
  289. package/python/Lib/email/headerregistry.py +618 -0
  290. package/python/Lib/email/iterators.py +68 -0
  291. package/python/Lib/email/message.py +1217 -0
  292. package/python/Lib/email/mime/__init__.py +0 -0
  293. package/python/Lib/email/mime/application.py +37 -0
  294. package/python/Lib/email/mime/audio.py +97 -0
  295. package/python/Lib/email/mime/base.py +29 -0
  296. package/python/Lib/email/mime/image.py +152 -0
  297. package/python/Lib/email/mime/message.py +33 -0
  298. package/python/Lib/email/mime/multipart.py +47 -0
  299. package/python/Lib/email/mime/nonmultipart.py +21 -0
  300. package/python/Lib/email/mime/text.py +40 -0
  301. package/python/Lib/email/parser.py +127 -0
  302. package/python/Lib/email/policy.py +232 -0
  303. package/python/Lib/email/quoprimime.py +300 -0
  304. package/python/Lib/email/utils.py +497 -0
  305. package/python/Lib/encodings/__init__.py +179 -0
  306. package/python/Lib/encodings/__pycache__/__init__.cpython-313.pyc +0 -0
  307. package/python/Lib/encodings/__pycache__/aliases.cpython-313.pyc +0 -0
  308. package/python/Lib/encodings/__pycache__/cp1252.cpython-313.pyc +0 -0
  309. package/python/Lib/encodings/__pycache__/cp437.cpython-313.pyc +0 -0
  310. package/python/Lib/encodings/__pycache__/hex_codec.cpython-313.pyc +0 -0
  311. package/python/Lib/encodings/__pycache__/idna.cpython-313.pyc +0 -0
  312. package/python/Lib/encodings/__pycache__/utf_8.cpython-313.pyc +0 -0
  313. package/python/Lib/encodings/aliases.py +560 -0
  314. package/python/Lib/encodings/ascii.py +50 -0
  315. package/python/Lib/encodings/base64_codec.py +55 -0
  316. package/python/Lib/encodings/big5.py +39 -0
  317. package/python/Lib/encodings/big5hkscs.py +39 -0
  318. package/python/Lib/encodings/bz2_codec.py +78 -0
  319. package/python/Lib/encodings/charmap.py +69 -0
  320. package/python/Lib/encodings/cp037.py +307 -0
  321. package/python/Lib/encodings/cp1006.py +307 -0
  322. package/python/Lib/encodings/cp1026.py +307 -0
  323. package/python/Lib/encodings/cp1125.py +698 -0
  324. package/python/Lib/encodings/cp1140.py +307 -0
  325. package/python/Lib/encodings/cp1250.py +307 -0
  326. package/python/Lib/encodings/cp1251.py +307 -0
  327. package/python/Lib/encodings/cp1252.py +307 -0
  328. package/python/Lib/encodings/cp1253.py +307 -0
  329. package/python/Lib/encodings/cp1254.py +307 -0
  330. package/python/Lib/encodings/cp1255.py +307 -0
  331. package/python/Lib/encodings/cp1256.py +307 -0
  332. package/python/Lib/encodings/cp1257.py +307 -0
  333. package/python/Lib/encodings/cp1258.py +307 -0
  334. package/python/Lib/encodings/cp273.py +307 -0
  335. package/python/Lib/encodings/cp424.py +307 -0
  336. package/python/Lib/encodings/cp437.py +698 -0
  337. package/python/Lib/encodings/cp500.py +307 -0
  338. package/python/Lib/encodings/cp720.py +309 -0
  339. package/python/Lib/encodings/cp737.py +698 -0
  340. package/python/Lib/encodings/cp775.py +697 -0
  341. package/python/Lib/encodings/cp850.py +698 -0
  342. package/python/Lib/encodings/cp852.py +698 -0
  343. package/python/Lib/encodings/cp855.py +698 -0
  344. package/python/Lib/encodings/cp856.py +307 -0
  345. package/python/Lib/encodings/cp857.py +694 -0
  346. package/python/Lib/encodings/cp858.py +698 -0
  347. package/python/Lib/encodings/cp860.py +698 -0
  348. package/python/Lib/encodings/cp861.py +698 -0
  349. package/python/Lib/encodings/cp862.py +698 -0
  350. package/python/Lib/encodings/cp863.py +698 -0
  351. package/python/Lib/encodings/cp864.py +690 -0
  352. package/python/Lib/encodings/cp865.py +698 -0
  353. package/python/Lib/encodings/cp866.py +698 -0
  354. package/python/Lib/encodings/cp869.py +689 -0
  355. package/python/Lib/encodings/cp874.py +307 -0
  356. package/python/Lib/encodings/cp875.py +307 -0
  357. package/python/Lib/encodings/cp932.py +39 -0
  358. package/python/Lib/encodings/cp949.py +39 -0
  359. package/python/Lib/encodings/cp950.py +39 -0
  360. package/python/Lib/encodings/euc_jis_2004.py +39 -0
  361. package/python/Lib/encodings/euc_jisx0213.py +39 -0
  362. package/python/Lib/encodings/euc_jp.py +39 -0
  363. package/python/Lib/encodings/euc_kr.py +39 -0
  364. package/python/Lib/encodings/gb18030.py +39 -0
  365. package/python/Lib/encodings/gb2312.py +39 -0
  366. package/python/Lib/encodings/gbk.py +39 -0
  367. package/python/Lib/encodings/hex_codec.py +55 -0
  368. package/python/Lib/encodings/hp_roman8.py +314 -0
  369. package/python/Lib/encodings/hz.py +39 -0
  370. package/python/Lib/encodings/idna.py +387 -0
  371. package/python/Lib/encodings/iso2022_jp.py +39 -0
  372. package/python/Lib/encodings/iso2022_jp_1.py +39 -0
  373. package/python/Lib/encodings/iso2022_jp_2.py +39 -0
  374. package/python/Lib/encodings/iso2022_jp_2004.py +39 -0
  375. package/python/Lib/encodings/iso2022_jp_3.py +39 -0
  376. package/python/Lib/encodings/iso2022_jp_ext.py +39 -0
  377. package/python/Lib/encodings/iso2022_kr.py +39 -0
  378. package/python/Lib/encodings/iso8859_1.py +307 -0
  379. package/python/Lib/encodings/iso8859_10.py +307 -0
  380. package/python/Lib/encodings/iso8859_11.py +307 -0
  381. package/python/Lib/encodings/iso8859_13.py +307 -0
  382. package/python/Lib/encodings/iso8859_14.py +307 -0
  383. package/python/Lib/encodings/iso8859_15.py +307 -0
  384. package/python/Lib/encodings/iso8859_16.py +307 -0
  385. package/python/Lib/encodings/iso8859_2.py +307 -0
  386. package/python/Lib/encodings/iso8859_3.py +307 -0
  387. package/python/Lib/encodings/iso8859_4.py +307 -0
  388. package/python/Lib/encodings/iso8859_5.py +307 -0
  389. package/python/Lib/encodings/iso8859_6.py +307 -0
  390. package/python/Lib/encodings/iso8859_7.py +307 -0
  391. package/python/Lib/encodings/iso8859_8.py +307 -0
  392. package/python/Lib/encodings/iso8859_9.py +307 -0
  393. package/python/Lib/encodings/johab.py +39 -0
  394. package/python/Lib/encodings/koi8_r.py +307 -0
  395. package/python/Lib/encodings/koi8_t.py +308 -0
  396. package/python/Lib/encodings/koi8_u.py +307 -0
  397. package/python/Lib/encodings/kz1048.py +307 -0
  398. package/python/Lib/encodings/latin_1.py +50 -0
  399. package/python/Lib/encodings/mac_arabic.py +698 -0
  400. package/python/Lib/encodings/mac_croatian.py +307 -0
  401. package/python/Lib/encodings/mac_cyrillic.py +307 -0
  402. package/python/Lib/encodings/mac_farsi.py +307 -0
  403. package/python/Lib/encodings/mac_greek.py +307 -0
  404. package/python/Lib/encodings/mac_iceland.py +307 -0
  405. package/python/Lib/encodings/mac_latin2.py +312 -0
  406. package/python/Lib/encodings/mac_roman.py +307 -0
  407. package/python/Lib/encodings/mac_romanian.py +307 -0
  408. package/python/Lib/encodings/mac_turkish.py +307 -0
  409. package/python/Lib/encodings/mbcs.py +47 -0
  410. package/python/Lib/encodings/oem.py +41 -0
  411. package/python/Lib/encodings/palmos.py +308 -0
  412. package/python/Lib/encodings/ptcp154.py +312 -0
  413. package/python/Lib/encodings/punycode.py +253 -0
  414. package/python/Lib/encodings/quopri_codec.py +56 -0
  415. package/python/Lib/encodings/raw_unicode_escape.py +46 -0
  416. package/python/Lib/encodings/rot_13.py +113 -0
  417. package/python/Lib/encodings/shift_jis.py +39 -0
  418. package/python/Lib/encodings/shift_jis_2004.py +39 -0
  419. package/python/Lib/encodings/shift_jisx0213.py +39 -0
  420. package/python/Lib/encodings/tis_620.py +307 -0
  421. package/python/Lib/encodings/undefined.py +49 -0
  422. package/python/Lib/encodings/unicode_escape.py +46 -0
  423. package/python/Lib/encodings/utf_16.py +155 -0
  424. package/python/Lib/encodings/utf_16_be.py +42 -0
  425. package/python/Lib/encodings/utf_16_le.py +42 -0
  426. package/python/Lib/encodings/utf_32.py +150 -0
  427. package/python/Lib/encodings/utf_32_be.py +37 -0
  428. package/python/Lib/encodings/utf_32_le.py +37 -0
  429. package/python/Lib/encodings/utf_7.py +38 -0
  430. package/python/Lib/encodings/utf_8.py +42 -0
  431. package/python/Lib/encodings/utf_8_sig.py +130 -0
  432. package/python/Lib/encodings/uu_codec.py +103 -0
  433. package/python/Lib/encodings/zlib_codec.py +77 -0
  434. package/python/Lib/enum.py +2183 -0
  435. package/python/Lib/filecmp.py +320 -0
  436. package/python/Lib/fileinput.py +442 -0
  437. package/python/Lib/fnmatch.py +192 -0
  438. package/python/Lib/fractions.py +1043 -0
  439. package/python/Lib/ftplib.py +975 -0
  440. package/python/Lib/functools.py +1036 -0
  441. package/python/Lib/genericpath.py +200 -0
  442. package/python/Lib/getopt.py +215 -0
  443. package/python/Lib/getpass.py +192 -0
  444. package/python/Lib/gettext.py +657 -0
  445. package/python/Lib/glob.py +572 -0
  446. package/python/Lib/graphlib.py +250 -0
  447. package/python/Lib/gzip.py +693 -0
  448. package/python/Lib/hashlib.py +255 -0
  449. package/python/Lib/heapq.py +603 -0
  450. package/python/Lib/hmac.py +220 -0
  451. package/python/Lib/html/__init__.py +132 -0
  452. package/python/Lib/html/__pycache__/__init__.cpython-313.pyc +0 -0
  453. package/python/Lib/html/__pycache__/entities.cpython-313.pyc +0 -0
  454. package/python/Lib/html/__pycache__/parser.cpython-313.pyc +0 -0
  455. package/python/Lib/html/entities.py +2513 -0
  456. package/python/Lib/html/parser.py +583 -0
  457. package/python/Lib/http/__init__.py +202 -0
  458. package/python/Lib/http/__pycache__/__init__.cpython-313.pyc +0 -0
  459. package/python/Lib/http/__pycache__/client.cpython-313.pyc +0 -0
  460. package/python/Lib/http/__pycache__/cookiejar.cpython-313.pyc +0 -0
  461. package/python/Lib/http/__pycache__/cookies.cpython-313.pyc +0 -0
  462. package/python/Lib/http/client.py +1598 -0
  463. package/python/Lib/http/cookiejar.py +2122 -0
  464. package/python/Lib/http/cookies.py +635 -0
  465. package/python/Lib/http/server.py +1355 -0
  466. package/python/Lib/imaplib.py +1769 -0
  467. package/python/Lib/importlib/__init__.py +136 -0
  468. package/python/Lib/importlib/__pycache__/__init__.cpython-313.pyc +0 -0
  469. package/python/Lib/importlib/__pycache__/_abc.cpython-313.pyc +0 -0
  470. package/python/Lib/importlib/__pycache__/abc.cpython-313.pyc +0 -0
  471. package/python/Lib/importlib/__pycache__/readers.cpython-313.pyc +0 -0
  472. package/python/Lib/importlib/_abc.py +39 -0
  473. package/python/Lib/importlib/_bootstrap.py +1559 -0
  474. package/python/Lib/importlib/_bootstrap_external.py +1826 -0
  475. package/python/Lib/importlib/abc.py +243 -0
  476. package/python/Lib/importlib/machinery.py +21 -0
  477. package/python/Lib/importlib/metadata/__init__.py +1093 -0
  478. package/python/Lib/importlib/metadata/__pycache__/__init__.cpython-313.pyc +0 -0
  479. package/python/Lib/importlib/metadata/__pycache__/_adapters.cpython-313.pyc +0 -0
  480. package/python/Lib/importlib/metadata/__pycache__/_collections.cpython-313.pyc +0 -0
  481. package/python/Lib/importlib/metadata/__pycache__/_functools.cpython-313.pyc +0 -0
  482. package/python/Lib/importlib/metadata/__pycache__/_itertools.cpython-313.pyc +0 -0
  483. package/python/Lib/importlib/metadata/__pycache__/_meta.cpython-313.pyc +0 -0
  484. package/python/Lib/importlib/metadata/__pycache__/_text.cpython-313.pyc +0 -0
  485. package/python/Lib/importlib/metadata/_adapters.py +89 -0
  486. package/python/Lib/importlib/metadata/_collections.py +30 -0
  487. package/python/Lib/importlib/metadata/_functools.py +104 -0
  488. package/python/Lib/importlib/metadata/_itertools.py +73 -0
  489. package/python/Lib/importlib/metadata/_meta.py +67 -0
  490. package/python/Lib/importlib/metadata/_text.py +99 -0
  491. package/python/Lib/importlib/metadata/diagnose.py +21 -0
  492. package/python/Lib/importlib/readers.py +12 -0
  493. package/python/Lib/importlib/resources/__init__.py +43 -0
  494. package/python/Lib/importlib/resources/__pycache__/__init__.cpython-313.pyc +0 -0
  495. package/python/Lib/importlib/resources/__pycache__/_adapters.cpython-313.pyc +0 -0
  496. package/python/Lib/importlib/resources/__pycache__/_common.cpython-313.pyc +0 -0
  497. package/python/Lib/importlib/resources/__pycache__/_functional.cpython-313.pyc +0 -0
  498. package/python/Lib/importlib/resources/__pycache__/_itertools.cpython-313.pyc +0 -0
  499. package/python/Lib/importlib/resources/__pycache__/abc.cpython-313.pyc +0 -0
  500. package/python/Lib/importlib/resources/__pycache__/readers.cpython-313.pyc +0 -0
  501. package/python/Lib/importlib/resources/_adapters.py +168 -0
  502. package/python/Lib/importlib/resources/_common.py +211 -0
  503. package/python/Lib/importlib/resources/_functional.py +81 -0
  504. package/python/Lib/importlib/resources/_itertools.py +38 -0
  505. package/python/Lib/importlib/resources/abc.py +173 -0
  506. package/python/Lib/importlib/resources/readers.py +203 -0
  507. package/python/Lib/importlib/resources/simple.py +106 -0
  508. package/python/Lib/importlib/simple.py +14 -0
  509. package/python/Lib/importlib/util.py +274 -0
  510. package/python/Lib/inspect.py +3479 -0
  511. package/python/Lib/io.py +99 -0
  512. package/python/Lib/ipaddress.py +2440 -0
  513. package/python/Lib/json/__init__.py +365 -0
  514. package/python/Lib/json/__pycache__/__init__.cpython-313.pyc +0 -0
  515. package/python/Lib/json/__pycache__/decoder.cpython-313.pyc +0 -0
  516. package/python/Lib/json/__pycache__/encoder.cpython-313.pyc +0 -0
  517. package/python/Lib/json/__pycache__/scanner.cpython-313.pyc +0 -0
  518. package/python/Lib/json/decoder.py +364 -0
  519. package/python/Lib/json/encoder.py +446 -0
  520. package/python/Lib/json/scanner.py +73 -0
  521. package/python/Lib/json/tool.py +90 -0
  522. package/python/Lib/keyword.py +64 -0
  523. package/python/Lib/linecache.py +236 -0
  524. package/python/Lib/locale.py +1987 -0
  525. package/python/Lib/logging/__init__.py +2330 -0
  526. package/python/Lib/logging/__pycache__/__init__.cpython-313.pyc +0 -0
  527. package/python/Lib/logging/__pycache__/config.cpython-313.pyc +0 -0
  528. package/python/Lib/logging/__pycache__/handlers.cpython-313.pyc +0 -0
  529. package/python/Lib/logging/config.py +1080 -0
  530. package/python/Lib/logging/handlers.py +1629 -0
  531. package/python/Lib/lzma.py +364 -0
  532. package/python/Lib/mailbox.py +2219 -0
  533. package/python/Lib/mimetypes.py +679 -0
  534. package/python/Lib/modulefinder.py +671 -0
  535. package/python/Lib/multiprocessing/__init__.py +37 -0
  536. package/python/Lib/multiprocessing/connection.py +1216 -0
  537. package/python/Lib/multiprocessing/context.py +383 -0
  538. package/python/Lib/multiprocessing/dummy/__init__.py +126 -0
  539. package/python/Lib/multiprocessing/dummy/connection.py +75 -0
  540. package/python/Lib/multiprocessing/forkserver.py +373 -0
  541. package/python/Lib/multiprocessing/heap.py +337 -0
  542. package/python/Lib/multiprocessing/managers.py +1397 -0
  543. package/python/Lib/multiprocessing/pool.py +957 -0
  544. package/python/Lib/multiprocessing/popen_fork.py +97 -0
  545. package/python/Lib/multiprocessing/popen_forkserver.py +74 -0
  546. package/python/Lib/multiprocessing/popen_spawn_posix.py +76 -0
  547. package/python/Lib/multiprocessing/popen_spawn_win32.py +147 -0
  548. package/python/Lib/multiprocessing/process.py +436 -0
  549. package/python/Lib/multiprocessing/queues.py +399 -0
  550. package/python/Lib/multiprocessing/reduction.py +281 -0
  551. package/python/Lib/multiprocessing/resource_sharer.py +154 -0
  552. package/python/Lib/multiprocessing/resource_tracker.py +499 -0
  553. package/python/Lib/multiprocessing/shared_memory.py +544 -0
  554. package/python/Lib/multiprocessing/sharedctypes.py +240 -0
  555. package/python/Lib/multiprocessing/spawn.py +307 -0
  556. package/python/Lib/multiprocessing/synchronize.py +404 -0
  557. package/python/Lib/multiprocessing/util.py +562 -0
  558. package/python/Lib/netrc.py +199 -0
  559. package/python/Lib/ntpath.py +872 -0
  560. package/python/Lib/nturl2path.py +69 -0
  561. package/python/Lib/numbers.py +427 -0
  562. package/python/Lib/opcode.py +115 -0
  563. package/python/Lib/operator.py +467 -0
  564. package/python/Lib/optparse.py +1681 -0
  565. package/python/Lib/os.py +1184 -0
  566. package/python/Lib/pathlib/__init__.py +12 -0
  567. package/python/Lib/pathlib/__pycache__/__init__.cpython-313.pyc +0 -0
  568. package/python/Lib/pathlib/__pycache__/_abc.cpython-313.pyc +0 -0
  569. package/python/Lib/pathlib/__pycache__/_local.cpython-313.pyc +0 -0
  570. package/python/Lib/pathlib/_abc.py +930 -0
  571. package/python/Lib/pathlib/_local.py +861 -0
  572. package/python/Lib/pdb.py +2550 -0
  573. package/python/Lib/pickle.py +1860 -0
  574. package/python/Lib/pickletools.py +2904 -0
  575. package/python/Lib/pkgutil.py +529 -0
  576. package/python/Lib/platform.py +1454 -0
  577. package/python/Lib/plistlib.py +948 -0
  578. package/python/Lib/poplib.py +477 -0
  579. package/python/Lib/posixpath.py +578 -0
  580. package/python/Lib/pprint.py +658 -0
  581. package/python/Lib/profile.py +616 -0
  582. package/python/Lib/pstats.py +778 -0
  583. package/python/Lib/pty.py +211 -0
  584. package/python/Lib/py_compile.py +212 -0
  585. package/python/Lib/pyclbr.py +314 -0
  586. package/python/Lib/pydoc.py +2861 -0
  587. package/python/Lib/queue.py +383 -0
  588. package/python/Lib/quopri.py +237 -0
  589. package/python/Lib/random.py +1078 -0
  590. package/python/Lib/re/__init__.py +428 -0
  591. package/python/Lib/re/__pycache__/__init__.cpython-313.pyc +0 -0
  592. package/python/Lib/re/__pycache__/_casefix.cpython-313.pyc +0 -0
  593. package/python/Lib/re/__pycache__/_compiler.cpython-313.pyc +0 -0
  594. package/python/Lib/re/__pycache__/_constants.cpython-313.pyc +0 -0
  595. package/python/Lib/re/__pycache__/_parser.cpython-313.pyc +0 -0
  596. package/python/Lib/re/_casefix.py +106 -0
  597. package/python/Lib/re/_compiler.py +768 -0
  598. package/python/Lib/re/_constants.py +222 -0
  599. package/python/Lib/re/_parser.py +1081 -0
  600. package/python/Lib/reprlib.py +230 -0
  601. package/python/Lib/rlcompleter.py +222 -0
  602. package/python/Lib/runpy.py +326 -0
  603. package/python/Lib/sched.py +167 -0
  604. package/python/Lib/secrets.py +71 -0
  605. package/python/Lib/selectors.py +603 -0
  606. package/python/Lib/shelve.py +250 -0
  607. package/python/Lib/shlex.py +345 -0
  608. package/python/Lib/shutil.py +1569 -0
  609. package/python/Lib/signal.py +94 -0
  610. package/python/Lib/site.py +773 -0
  611. package/python/Lib/smtplib.py +1123 -0
  612. package/python/Lib/socket.py +988 -0
  613. package/python/Lib/socketserver.py +863 -0
  614. package/python/Lib/sqlite3/__init__.py +70 -0
  615. package/python/Lib/sqlite3/__main__.py +139 -0
  616. package/python/Lib/sqlite3/dbapi2.py +108 -0
  617. package/python/Lib/sqlite3/dump.py +118 -0
  618. package/python/Lib/sre_compile.py +7 -0
  619. package/python/Lib/sre_constants.py +7 -0
  620. package/python/Lib/sre_parse.py +7 -0
  621. package/python/Lib/ssl.py +1529 -0
  622. package/python/Lib/stat.py +212 -0
  623. package/python/Lib/statistics.py +1817 -0
  624. package/python/Lib/string.py +314 -0
  625. package/python/Lib/stringprep.py +272 -0
  626. package/python/Lib/struct.py +15 -0
  627. package/python/Lib/subprocess.py +2258 -0
  628. package/python/Lib/symtable.py +414 -0
  629. package/python/Lib/sysconfig/__init__.py +734 -0
  630. package/python/Lib/sysconfig/__main__.py +248 -0
  631. package/python/Lib/sysconfig/__pycache__/__init__.cpython-313.pyc +0 -0
  632. package/python/Lib/tabnanny.py +340 -0
  633. package/python/Lib/tarfile.py +3136 -0
  634. package/python/Lib/tempfile.py +958 -0
  635. package/python/Lib/textwrap.py +497 -0
  636. package/python/Lib/this.py +28 -0
  637. package/python/Lib/threading.py +1602 -0
  638. package/python/Lib/timeit.py +381 -0
  639. package/python/Lib/token.py +141 -0
  640. package/python/Lib/tokenize.py +592 -0
  641. package/python/Lib/tomllib/__init__.py +10 -0
  642. package/python/Lib/tomllib/__pycache__/__init__.cpython-313.pyc +0 -0
  643. package/python/Lib/tomllib/__pycache__/_parser.cpython-313.pyc +0 -0
  644. package/python/Lib/tomllib/__pycache__/_re.cpython-313.pyc +0 -0
  645. package/python/Lib/tomllib/__pycache__/_types.cpython-313.pyc +0 -0
  646. package/python/Lib/tomllib/_parser.py +703 -0
  647. package/python/Lib/tomllib/_re.py +107 -0
  648. package/python/Lib/tomllib/_types.py +10 -0
  649. package/python/Lib/tomllib/mypy.ini +15 -0
  650. package/python/Lib/trace.py +754 -0
  651. package/python/Lib/traceback.py +1639 -0
  652. package/python/Lib/tracemalloc.py +560 -0
  653. package/python/Lib/tty.py +73 -0
  654. package/python/Lib/types.py +346 -0
  655. package/python/Lib/typing.py +3846 -0
  656. package/python/Lib/unittest/__init__.py +80 -0
  657. package/python/Lib/unittest/__main__.py +18 -0
  658. package/python/Lib/unittest/_log.py +86 -0
  659. package/python/Lib/unittest/async_case.py +146 -0
  660. package/python/Lib/unittest/case.py +1478 -0
  661. package/python/Lib/unittest/loader.py +460 -0
  662. package/python/Lib/unittest/main.py +280 -0
  663. package/python/Lib/unittest/mock.py +3189 -0
  664. package/python/Lib/unittest/result.py +256 -0
  665. package/python/Lib/unittest/runner.py +292 -0
  666. package/python/Lib/unittest/signals.py +71 -0
  667. package/python/Lib/unittest/suite.py +379 -0
  668. package/python/Lib/unittest/util.py +170 -0
  669. package/python/Lib/urllib/__init__.py +0 -0
  670. package/python/Lib/urllib/__pycache__/__init__.cpython-313.pyc +0 -0
  671. package/python/Lib/urllib/__pycache__/error.cpython-313.pyc +0 -0
  672. package/python/Lib/urllib/__pycache__/parse.cpython-313.pyc +0 -0
  673. package/python/Lib/urllib/__pycache__/request.cpython-313.pyc +0 -0
  674. package/python/Lib/urllib/__pycache__/response.cpython-313.pyc +0 -0
  675. package/python/Lib/urllib/error.py +74 -0
  676. package/python/Lib/urllib/parse.py +1264 -0
  677. package/python/Lib/urllib/request.py +2796 -0
  678. package/python/Lib/urllib/response.py +84 -0
  679. package/python/Lib/urllib/robotparser.py +363 -0
  680. package/python/Lib/uuid.py +784 -0
  681. package/python/Lib/warnings.py +735 -0
  682. package/python/Lib/wave.py +665 -0
  683. package/python/Lib/weakref.py +674 -0
  684. package/python/Lib/webbrowser.py +724 -0
  685. package/python/Lib/wsgiref/__init__.py +25 -0
  686. package/python/Lib/wsgiref/handlers.py +575 -0
  687. package/python/Lib/wsgiref/headers.py +192 -0
  688. package/python/Lib/wsgiref/simple_server.py +161 -0
  689. package/python/Lib/wsgiref/types.py +54 -0
  690. package/python/Lib/wsgiref/util.py +159 -0
  691. package/python/Lib/wsgiref/validate.py +438 -0
  692. package/python/Lib/xml/__init__.py +20 -0
  693. package/python/Lib/xml/__pycache__/__init__.cpython-313.pyc +0 -0
  694. package/python/Lib/xml/dom/NodeFilter.py +27 -0
  695. package/python/Lib/xml/dom/__init__.py +140 -0
  696. package/python/Lib/xml/dom/domreg.py +99 -0
  697. package/python/Lib/xml/dom/expatbuilder.py +962 -0
  698. package/python/Lib/xml/dom/minicompat.py +109 -0
  699. package/python/Lib/xml/dom/minidom.py +2024 -0
  700. package/python/Lib/xml/dom/pulldom.py +336 -0
  701. package/python/Lib/xml/dom/xmlbuilder.py +389 -0
  702. package/python/Lib/xml/etree/ElementInclude.py +186 -0
  703. package/python/Lib/xml/etree/ElementPath.py +430 -0
  704. package/python/Lib/xml/etree/ElementTree.py +2116 -0
  705. package/python/Lib/xml/etree/__init__.py +33 -0
  706. package/python/Lib/xml/etree/cElementTree.py +3 -0
  707. package/python/Lib/xml/parsers/__init__.py +8 -0
  708. package/python/Lib/xml/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  709. package/python/Lib/xml/parsers/__pycache__/expat.cpython-313.pyc +0 -0
  710. package/python/Lib/xml/parsers/expat.py +8 -0
  711. package/python/Lib/xml/sax/__init__.py +94 -0
  712. package/python/Lib/xml/sax/_exceptions.py +127 -0
  713. package/python/Lib/xml/sax/expatreader.py +454 -0
  714. package/python/Lib/xml/sax/handler.py +387 -0
  715. package/python/Lib/xml/sax/saxutils.py +369 -0
  716. package/python/Lib/xml/sax/xmlreader.py +378 -0
  717. package/python/Lib/xmlrpc/__init__.py +1 -0
  718. package/python/Lib/xmlrpc/__pycache__/__init__.cpython-313.pyc +0 -0
  719. package/python/Lib/xmlrpc/__pycache__/client.cpython-313.pyc +0 -0
  720. package/python/Lib/xmlrpc/client.py +1503 -0
  721. package/python/Lib/xmlrpc/server.py +1002 -0
  722. package/python/Lib/zipapp.py +229 -0
  723. package/python/Lib/zipfile/__init__.py +2391 -0
  724. package/python/Lib/zipfile/__main__.py +4 -0
  725. package/python/Lib/zipfile/__pycache__/__init__.cpython-313.pyc +0 -0
  726. package/python/Lib/zipfile/_path/__init__.py +452 -0
  727. package/python/Lib/zipfile/_path/__pycache__/__init__.cpython-313.pyc +0 -0
  728. package/python/Lib/zipfile/_path/__pycache__/glob.cpython-313.pyc +0 -0
  729. package/python/Lib/zipfile/_path/glob.py +113 -0
  730. package/python/Lib/zipimport.py +803 -0
  731. package/python/Lib/zoneinfo/__init__.py +34 -0
  732. package/python/Lib/zoneinfo/_common.py +172 -0
  733. package/python/Lib/zoneinfo/_tzpath.py +189 -0
  734. package/python/Lib/zoneinfo/_zoneinfo.py +779 -0
  735. package/python/licenses/LICENSE.bdb.txt +126 -0
  736. package/python/licenses/LICENSE.bzip2.txt +37 -0
  737. package/python/licenses/LICENSE.cpython.txt +771 -0
  738. package/python/licenses/LICENSE.expat.txt +21 -0
  739. package/python/licenses/LICENSE.libX11.txt +942 -0
  740. package/python/licenses/LICENSE.libXau.txt +21 -0
  741. package/python/licenses/LICENSE.libedit.txt +29 -0
  742. package/python/licenses/LICENSE.libffi.txt +21 -0
  743. package/python/licenses/LICENSE.liblzma.txt +13 -0
  744. package/python/licenses/LICENSE.libuuid.txt +27 -0
  745. package/python/licenses/LICENSE.libxcb.txt +30 -0
  746. package/python/licenses/LICENSE.mpdecimal.txt +24 -0
  747. package/python/licenses/LICENSE.ncurses.txt +29 -0
  748. package/python/licenses/LICENSE.openssl-1.1.txt +124 -0
  749. package/python/licenses/LICENSE.openssl-3.txt +177 -0
  750. package/python/licenses/LICENSE.sqlite.txt +23 -0
  751. package/python/licenses/LICENSE.tcl.txt +40 -0
  752. package/python/licenses/LICENSE.tix.txt +54 -0
  753. package/python/licenses/LICENSE.zlib.txt +21 -0
  754. package/python/python.exe +0 -0
  755. package/python/python3.dll +0 -0
  756. package/python/python313.dll +0 -0
  757. package/python/pythonw.exe +0 -0
  758. package/python/vcruntime140.dll +0 -0
  759. package/python/vcruntime140_1.dll +0 -0
@@ -0,0 +1,768 @@
1
+ #
2
+ # Secret Labs' Regular Expression Engine
3
+ #
4
+ # convert template to internal format
5
+ #
6
+ # Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.
7
+ #
8
+ # See the __init__.py file for information on usage and redistribution.
9
+ #
10
+
11
+ """Internal support module for sre"""
12
+
13
+ import _sre
14
+ from . import _parser
15
+ from ._constants import *
16
+ from ._casefix import _EXTRA_CASES
17
+
18
+ assert _sre.MAGIC == MAGIC, "SRE module mismatch"
19
+
20
+ _LITERAL_CODES = {LITERAL, NOT_LITERAL}
21
+ _SUCCESS_CODES = {SUCCESS, FAILURE}
22
+ _ASSERT_CODES = {ASSERT, ASSERT_NOT}
23
+ _UNIT_CODES = _LITERAL_CODES | {ANY, IN}
24
+
25
+ _REPEATING_CODES = {
26
+ MIN_REPEAT: (REPEAT, MIN_UNTIL, MIN_REPEAT_ONE),
27
+ MAX_REPEAT: (REPEAT, MAX_UNTIL, REPEAT_ONE),
28
+ POSSESSIVE_REPEAT: (POSSESSIVE_REPEAT, SUCCESS, POSSESSIVE_REPEAT_ONE),
29
+ }
30
+
31
+ def _combine_flags(flags, add_flags, del_flags,
32
+ TYPE_FLAGS=_parser.TYPE_FLAGS):
33
+ if add_flags & TYPE_FLAGS:
34
+ flags &= ~TYPE_FLAGS
35
+ return (flags | add_flags) & ~del_flags
36
+
37
+ def _compile(code, pattern, flags):
38
+ # internal: compile a (sub)pattern
39
+ emit = code.append
40
+ _len = len
41
+ LITERAL_CODES = _LITERAL_CODES
42
+ REPEATING_CODES = _REPEATING_CODES
43
+ SUCCESS_CODES = _SUCCESS_CODES
44
+ ASSERT_CODES = _ASSERT_CODES
45
+ iscased = None
46
+ tolower = None
47
+ fixes = None
48
+ if flags & SRE_FLAG_IGNORECASE and not flags & SRE_FLAG_LOCALE:
49
+ if flags & SRE_FLAG_UNICODE:
50
+ iscased = _sre.unicode_iscased
51
+ tolower = _sre.unicode_tolower
52
+ fixes = _EXTRA_CASES
53
+ else:
54
+ iscased = _sre.ascii_iscased
55
+ tolower = _sre.ascii_tolower
56
+ for op, av in pattern:
57
+ if op in LITERAL_CODES:
58
+ if not flags & SRE_FLAG_IGNORECASE:
59
+ emit(op)
60
+ emit(av)
61
+ elif flags & SRE_FLAG_LOCALE:
62
+ emit(OP_LOCALE_IGNORE[op])
63
+ emit(av)
64
+ elif not iscased(av):
65
+ emit(op)
66
+ emit(av)
67
+ else:
68
+ lo = tolower(av)
69
+ if not fixes: # ascii
70
+ emit(OP_IGNORE[op])
71
+ emit(lo)
72
+ elif lo not in fixes:
73
+ emit(OP_UNICODE_IGNORE[op])
74
+ emit(lo)
75
+ else:
76
+ emit(IN_UNI_IGNORE)
77
+ skip = _len(code); emit(0)
78
+ if op is NOT_LITERAL:
79
+ emit(NEGATE)
80
+ for k in (lo,) + fixes[lo]:
81
+ emit(LITERAL)
82
+ emit(k)
83
+ emit(FAILURE)
84
+ code[skip] = _len(code) - skip
85
+ elif op is IN:
86
+ charset, hascased = _optimize_charset(av, iscased, tolower, fixes)
87
+ if flags & SRE_FLAG_IGNORECASE and flags & SRE_FLAG_LOCALE:
88
+ emit(IN_LOC_IGNORE)
89
+ elif not hascased:
90
+ emit(IN)
91
+ elif not fixes: # ascii
92
+ emit(IN_IGNORE)
93
+ else:
94
+ emit(IN_UNI_IGNORE)
95
+ skip = _len(code); emit(0)
96
+ _compile_charset(charset, flags, code)
97
+ code[skip] = _len(code) - skip
98
+ elif op is ANY:
99
+ if flags & SRE_FLAG_DOTALL:
100
+ emit(ANY_ALL)
101
+ else:
102
+ emit(ANY)
103
+ elif op in REPEATING_CODES:
104
+ if _simple(av[2]):
105
+ emit(REPEATING_CODES[op][2])
106
+ skip = _len(code); emit(0)
107
+ emit(av[0])
108
+ emit(av[1])
109
+ _compile(code, av[2], flags)
110
+ emit(SUCCESS)
111
+ code[skip] = _len(code) - skip
112
+ else:
113
+ emit(REPEATING_CODES[op][0])
114
+ skip = _len(code); emit(0)
115
+ emit(av[0])
116
+ emit(av[1])
117
+ _compile(code, av[2], flags)
118
+ code[skip] = _len(code) - skip
119
+ emit(REPEATING_CODES[op][1])
120
+ elif op is SUBPATTERN:
121
+ group, add_flags, del_flags, p = av
122
+ if group:
123
+ emit(MARK)
124
+ emit((group-1)*2)
125
+ # _compile_info(code, p, _combine_flags(flags, add_flags, del_flags))
126
+ _compile(code, p, _combine_flags(flags, add_flags, del_flags))
127
+ if group:
128
+ emit(MARK)
129
+ emit((group-1)*2+1)
130
+ elif op is ATOMIC_GROUP:
131
+ # Atomic Groups are handled by starting with an Atomic
132
+ # Group op code, then putting in the atomic group pattern
133
+ # and finally a success op code to tell any repeat
134
+ # operations within the Atomic Group to stop eating and
135
+ # pop their stack if they reach it
136
+ emit(ATOMIC_GROUP)
137
+ skip = _len(code); emit(0)
138
+ _compile(code, av, flags)
139
+ emit(SUCCESS)
140
+ code[skip] = _len(code) - skip
141
+ elif op in SUCCESS_CODES:
142
+ emit(op)
143
+ elif op in ASSERT_CODES:
144
+ emit(op)
145
+ skip = _len(code); emit(0)
146
+ if av[0] >= 0:
147
+ emit(0) # look ahead
148
+ else:
149
+ lo, hi = av[1].getwidth()
150
+ if lo > MAXCODE:
151
+ raise error("looks too much behind")
152
+ if lo != hi:
153
+ raise PatternError("look-behind requires fixed-width pattern")
154
+ emit(lo) # look behind
155
+ _compile(code, av[1], flags)
156
+ emit(SUCCESS)
157
+ code[skip] = _len(code) - skip
158
+ elif op is AT:
159
+ emit(op)
160
+ if flags & SRE_FLAG_MULTILINE:
161
+ av = AT_MULTILINE.get(av, av)
162
+ if flags & SRE_FLAG_LOCALE:
163
+ av = AT_LOCALE.get(av, av)
164
+ elif flags & SRE_FLAG_UNICODE:
165
+ av = AT_UNICODE.get(av, av)
166
+ emit(av)
167
+ elif op is BRANCH:
168
+ emit(op)
169
+ tail = []
170
+ tailappend = tail.append
171
+ for av in av[1]:
172
+ skip = _len(code); emit(0)
173
+ # _compile_info(code, av, flags)
174
+ _compile(code, av, flags)
175
+ emit(JUMP)
176
+ tailappend(_len(code)); emit(0)
177
+ code[skip] = _len(code) - skip
178
+ emit(FAILURE) # end of branch
179
+ for tail in tail:
180
+ code[tail] = _len(code) - tail
181
+ elif op is CATEGORY:
182
+ emit(op)
183
+ if flags & SRE_FLAG_LOCALE:
184
+ av = CH_LOCALE[av]
185
+ elif flags & SRE_FLAG_UNICODE:
186
+ av = CH_UNICODE[av]
187
+ emit(av)
188
+ elif op is GROUPREF:
189
+ if not flags & SRE_FLAG_IGNORECASE:
190
+ emit(op)
191
+ elif flags & SRE_FLAG_LOCALE:
192
+ emit(GROUPREF_LOC_IGNORE)
193
+ elif not fixes: # ascii
194
+ emit(GROUPREF_IGNORE)
195
+ else:
196
+ emit(GROUPREF_UNI_IGNORE)
197
+ emit(av-1)
198
+ elif op is GROUPREF_EXISTS:
199
+ emit(op)
200
+ emit(av[0]-1)
201
+ skipyes = _len(code); emit(0)
202
+ _compile(code, av[1], flags)
203
+ if av[2]:
204
+ emit(JUMP)
205
+ skipno = _len(code); emit(0)
206
+ code[skipyes] = _len(code) - skipyes + 1
207
+ _compile(code, av[2], flags)
208
+ code[skipno] = _len(code) - skipno
209
+ else:
210
+ code[skipyes] = _len(code) - skipyes + 1
211
+ else:
212
+ raise PatternError(f"internal: unsupported operand type {op!r}")
213
+
214
+ def _compile_charset(charset, flags, code):
215
+ # compile charset subprogram
216
+ emit = code.append
217
+ for op, av in charset:
218
+ emit(op)
219
+ if op is NEGATE:
220
+ pass
221
+ elif op is LITERAL:
222
+ emit(av)
223
+ elif op is RANGE or op is RANGE_UNI_IGNORE:
224
+ emit(av[0])
225
+ emit(av[1])
226
+ elif op is CHARSET:
227
+ code.extend(av)
228
+ elif op is BIGCHARSET:
229
+ code.extend(av)
230
+ elif op is CATEGORY:
231
+ if flags & SRE_FLAG_LOCALE:
232
+ emit(CH_LOCALE[av])
233
+ elif flags & SRE_FLAG_UNICODE:
234
+ emit(CH_UNICODE[av])
235
+ else:
236
+ emit(av)
237
+ else:
238
+ raise PatternError(f"internal: unsupported set operator {op!r}")
239
+ emit(FAILURE)
240
+
241
+ def _optimize_charset(charset, iscased=None, fixup=None, fixes=None):
242
+ # internal: optimize character set
243
+ out = []
244
+ tail = []
245
+ charmap = bytearray(256)
246
+ hascased = False
247
+ for op, av in charset:
248
+ while True:
249
+ try:
250
+ if op is LITERAL:
251
+ if fixup: # IGNORECASE and not LOCALE
252
+ av = fixup(av)
253
+ charmap[av] = 1
254
+ if fixes and av in fixes:
255
+ for k in fixes[av]:
256
+ charmap[k] = 1
257
+ if not hascased and iscased(av):
258
+ hascased = True
259
+ else:
260
+ charmap[av] = 1
261
+ elif op is RANGE:
262
+ r = range(av[0], av[1]+1)
263
+ if fixup: # IGNORECASE and not LOCALE
264
+ if fixes:
265
+ for i in map(fixup, r):
266
+ charmap[i] = 1
267
+ if i in fixes:
268
+ for k in fixes[i]:
269
+ charmap[k] = 1
270
+ else:
271
+ for i in map(fixup, r):
272
+ charmap[i] = 1
273
+ if not hascased:
274
+ hascased = any(map(iscased, r))
275
+ else:
276
+ for i in r:
277
+ charmap[i] = 1
278
+ elif op is NEGATE:
279
+ out.append((op, av))
280
+ else:
281
+ tail.append((op, av))
282
+ except IndexError:
283
+ if len(charmap) == 256:
284
+ # character set contains non-UCS1 character codes
285
+ charmap += b'\0' * 0xff00
286
+ continue
287
+ # Character set contains non-BMP character codes.
288
+ # For range, all BMP characters in the range are already
289
+ # proceeded.
290
+ if fixup: # IGNORECASE and not LOCALE
291
+ # For now, IN_UNI_IGNORE+LITERAL and
292
+ # IN_UNI_IGNORE+RANGE_UNI_IGNORE work for all non-BMP
293
+ # characters, because two characters (at least one of
294
+ # which is not in the BMP) match case-insensitively
295
+ # if and only if:
296
+ # 1) c1.lower() == c2.lower()
297
+ # 2) c1.lower() == c2 or c1.lower().upper() == c2
298
+ # Also, both c.lower() and c.lower().upper() are single
299
+ # characters for every non-BMP character.
300
+ if op is RANGE:
301
+ if fixes: # not ASCII
302
+ op = RANGE_UNI_IGNORE
303
+ hascased = True
304
+ else:
305
+ assert op is LITERAL
306
+ if not hascased and iscased(av):
307
+ hascased = True
308
+ tail.append((op, av))
309
+ break
310
+
311
+ # compress character map
312
+ runs = []
313
+ q = 0
314
+ while True:
315
+ p = charmap.find(1, q)
316
+ if p < 0:
317
+ break
318
+ if len(runs) >= 2:
319
+ runs = None
320
+ break
321
+ q = charmap.find(0, p)
322
+ if q < 0:
323
+ runs.append((p, len(charmap)))
324
+ break
325
+ runs.append((p, q))
326
+ if runs is not None:
327
+ # use literal/range
328
+ for p, q in runs:
329
+ if q - p == 1:
330
+ out.append((LITERAL, p))
331
+ else:
332
+ out.append((RANGE, (p, q - 1)))
333
+ out += tail
334
+ # if the case was changed or new representation is more compact
335
+ if hascased or len(out) < len(charset):
336
+ return out, hascased
337
+ # else original character set is good enough
338
+ return charset, hascased
339
+
340
+ # use bitmap
341
+ if len(charmap) == 256:
342
+ data = _mk_bitmap(charmap)
343
+ out.append((CHARSET, data))
344
+ out += tail
345
+ return out, hascased
346
+
347
+ # To represent a big charset, first a bitmap of all characters in the
348
+ # set is constructed. Then, this bitmap is sliced into chunks of 256
349
+ # characters, duplicate chunks are eliminated, and each chunk is
350
+ # given a number. In the compiled expression, the charset is
351
+ # represented by a 32-bit word sequence, consisting of one word for
352
+ # the number of different chunks, a sequence of 256 bytes (64 words)
353
+ # of chunk numbers indexed by their original chunk position, and a
354
+ # sequence of 256-bit chunks (8 words each).
355
+
356
+ # Compression is normally good: in a typical charset, large ranges of
357
+ # Unicode will be either completely excluded (e.g. if only cyrillic
358
+ # letters are to be matched), or completely included (e.g. if large
359
+ # subranges of Kanji match). These ranges will be represented by
360
+ # chunks of all one-bits or all zero-bits.
361
+
362
+ # Matching can be also done efficiently: the more significant byte of
363
+ # the Unicode character is an index into the chunk number, and the
364
+ # less significant byte is a bit index in the chunk (just like the
365
+ # CHARSET matching).
366
+
367
+ charmap = bytes(charmap) # should be hashable
368
+ comps = {}
369
+ mapping = bytearray(256)
370
+ block = 0
371
+ data = bytearray()
372
+ for i in range(0, 65536, 256):
373
+ chunk = charmap[i: i + 256]
374
+ if chunk in comps:
375
+ mapping[i // 256] = comps[chunk]
376
+ else:
377
+ mapping[i // 256] = comps[chunk] = block
378
+ block += 1
379
+ data += chunk
380
+ data = _mk_bitmap(data)
381
+ data[0:0] = [block] + _bytes_to_codes(mapping)
382
+ out.append((BIGCHARSET, data))
383
+ out += tail
384
+ return out, hascased
385
+
386
+ _CODEBITS = _sre.CODESIZE * 8
387
+ MAXCODE = (1 << _CODEBITS) - 1
388
+ _BITS_TRANS = b'0' + b'1' * 255
389
+ def _mk_bitmap(bits, _CODEBITS=_CODEBITS, _int=int):
390
+ s = bits.translate(_BITS_TRANS)[::-1]
391
+ return [_int(s[i - _CODEBITS: i], 2)
392
+ for i in range(len(s), 0, -_CODEBITS)]
393
+
394
+ def _bytes_to_codes(b):
395
+ # Convert block indices to word array
396
+ a = memoryview(b).cast('I')
397
+ assert a.itemsize == _sre.CODESIZE
398
+ assert len(a) * a.itemsize == len(b)
399
+ return a.tolist()
400
+
401
+ def _simple(p):
402
+ # check if this subpattern is a "simple" operator
403
+ if len(p) != 1:
404
+ return False
405
+ op, av = p[0]
406
+ if op is SUBPATTERN:
407
+ return av[0] is None and _simple(av[-1])
408
+ return op in _UNIT_CODES
409
+
410
+ def _generate_overlap_table(prefix):
411
+ """
412
+ Generate an overlap table for the following prefix.
413
+ An overlap table is a table of the same size as the prefix which
414
+ informs about the potential self-overlap for each index in the prefix:
415
+ - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...]
416
+ - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with
417
+ prefix[0:k]
418
+ """
419
+ table = [0] * len(prefix)
420
+ for i in range(1, len(prefix)):
421
+ idx = table[i - 1]
422
+ while prefix[i] != prefix[idx]:
423
+ if idx == 0:
424
+ table[i] = 0
425
+ break
426
+ idx = table[idx - 1]
427
+ else:
428
+ table[i] = idx + 1
429
+ return table
430
+
431
+ def _get_iscased(flags):
432
+ if not flags & SRE_FLAG_IGNORECASE:
433
+ return None
434
+ elif flags & SRE_FLAG_UNICODE:
435
+ return _sre.unicode_iscased
436
+ else:
437
+ return _sre.ascii_iscased
438
+
439
+ def _get_literal_prefix(pattern, flags):
440
+ # look for literal prefix
441
+ prefix = []
442
+ prefixappend = prefix.append
443
+ prefix_skip = None
444
+ iscased = _get_iscased(flags)
445
+ for op, av in pattern.data:
446
+ if op is LITERAL:
447
+ if iscased and iscased(av):
448
+ break
449
+ prefixappend(av)
450
+ elif op is SUBPATTERN:
451
+ group, add_flags, del_flags, p = av
452
+ flags1 = _combine_flags(flags, add_flags, del_flags)
453
+ if flags1 & SRE_FLAG_IGNORECASE and flags1 & SRE_FLAG_LOCALE:
454
+ break
455
+ prefix1, prefix_skip1, got_all = _get_literal_prefix(p, flags1)
456
+ if prefix_skip is None:
457
+ if group is not None:
458
+ prefix_skip = len(prefix)
459
+ elif prefix_skip1 is not None:
460
+ prefix_skip = len(prefix) + prefix_skip1
461
+ prefix.extend(prefix1)
462
+ if not got_all:
463
+ break
464
+ else:
465
+ break
466
+ else:
467
+ return prefix, prefix_skip, True
468
+ return prefix, prefix_skip, False
469
+
470
+ def _get_charset_prefix(pattern, flags):
471
+ while True:
472
+ if not pattern.data:
473
+ return None
474
+ op, av = pattern.data[0]
475
+ if op is not SUBPATTERN:
476
+ break
477
+ group, add_flags, del_flags, pattern = av
478
+ flags = _combine_flags(flags, add_flags, del_flags)
479
+ if flags & SRE_FLAG_IGNORECASE and flags & SRE_FLAG_LOCALE:
480
+ return None
481
+
482
+ iscased = _get_iscased(flags)
483
+ if op is LITERAL:
484
+ if iscased and iscased(av):
485
+ return None
486
+ return [(op, av)]
487
+ elif op is BRANCH:
488
+ charset = []
489
+ charsetappend = charset.append
490
+ for p in av[1]:
491
+ if not p:
492
+ return None
493
+ op, av = p[0]
494
+ if op is LITERAL and not (iscased and iscased(av)):
495
+ charsetappend((op, av))
496
+ else:
497
+ return None
498
+ return charset
499
+ elif op is IN:
500
+ charset = av
501
+ if iscased:
502
+ for op, av in charset:
503
+ if op is LITERAL:
504
+ if iscased(av):
505
+ return None
506
+ elif op is RANGE:
507
+ if av[1] > 0xffff:
508
+ return None
509
+ if any(map(iscased, range(av[0], av[1]+1))):
510
+ return None
511
+ return charset
512
+ return None
513
+
514
+ def _compile_info(code, pattern, flags):
515
+ # internal: compile an info block. in the current version,
516
+ # this contains min/max pattern width, and an optional literal
517
+ # prefix or a character map
518
+ lo, hi = pattern.getwidth()
519
+ if hi > MAXCODE:
520
+ hi = MAXCODE
521
+ if lo == 0:
522
+ code.extend([INFO, 4, 0, lo, hi])
523
+ return
524
+ # look for a literal prefix
525
+ prefix = []
526
+ prefix_skip = 0
527
+ charset = [] # not used
528
+ if not (flags & SRE_FLAG_IGNORECASE and flags & SRE_FLAG_LOCALE):
529
+ # look for literal prefix
530
+ prefix, prefix_skip, got_all = _get_literal_prefix(pattern, flags)
531
+ # if no prefix, look for charset prefix
532
+ if not prefix:
533
+ charset = _get_charset_prefix(pattern, flags)
534
+ ## if prefix:
535
+ ## print("*** PREFIX", prefix, prefix_skip)
536
+ ## if charset:
537
+ ## print("*** CHARSET", charset)
538
+ # add an info block
539
+ emit = code.append
540
+ emit(INFO)
541
+ skip = len(code); emit(0)
542
+ # literal flag
543
+ mask = 0
544
+ if prefix:
545
+ mask = SRE_INFO_PREFIX
546
+ if prefix_skip is None and got_all:
547
+ mask = mask | SRE_INFO_LITERAL
548
+ elif charset:
549
+ mask = mask | SRE_INFO_CHARSET
550
+ emit(mask)
551
+ # pattern length
552
+ if lo < MAXCODE:
553
+ emit(lo)
554
+ else:
555
+ emit(MAXCODE)
556
+ prefix = prefix[:MAXCODE]
557
+ emit(hi)
558
+ # add literal prefix
559
+ if prefix:
560
+ emit(len(prefix)) # length
561
+ if prefix_skip is None:
562
+ prefix_skip = len(prefix)
563
+ emit(prefix_skip) # skip
564
+ code.extend(prefix)
565
+ # generate overlap table
566
+ code.extend(_generate_overlap_table(prefix))
567
+ elif charset:
568
+ charset, hascased = _optimize_charset(charset)
569
+ assert not hascased
570
+ _compile_charset(charset, flags, code)
571
+ code[skip] = len(code) - skip
572
+
573
+ def isstring(obj):
574
+ return isinstance(obj, (str, bytes))
575
+
576
+ def _code(p, flags):
577
+
578
+ flags = p.state.flags | flags
579
+ code = []
580
+
581
+ # compile info block
582
+ _compile_info(code, p, flags)
583
+
584
+ # compile the pattern
585
+ _compile(code, p.data, flags)
586
+
587
+ code.append(SUCCESS)
588
+
589
+ return code
590
+
591
+ def _hex_code(code):
592
+ return '[%s]' % ', '.join('%#0*x' % (_sre.CODESIZE*2+2, x) for x in code)
593
+
594
+ def dis(code):
595
+ import sys
596
+
597
+ labels = set()
598
+ level = 0
599
+ offset_width = len(str(len(code) - 1))
600
+
601
+ def dis_(start, end):
602
+ def print_(*args, to=None):
603
+ if to is not None:
604
+ labels.add(to)
605
+ args += ('(to %d)' % (to,),)
606
+ print('%*d%s ' % (offset_width, start, ':' if start in labels else '.'),
607
+ end=' '*(level-1))
608
+ print(*args)
609
+
610
+ def print_2(*args):
611
+ print(end=' '*(offset_width + 2*level))
612
+ print(*args)
613
+
614
+ nonlocal level
615
+ level += 1
616
+ i = start
617
+ while i < end:
618
+ start = i
619
+ op = code[i]
620
+ i += 1
621
+ op = OPCODES[op]
622
+ if op in (SUCCESS, FAILURE, ANY, ANY_ALL,
623
+ MAX_UNTIL, MIN_UNTIL, NEGATE):
624
+ print_(op)
625
+ elif op in (LITERAL, NOT_LITERAL,
626
+ LITERAL_IGNORE, NOT_LITERAL_IGNORE,
627
+ LITERAL_UNI_IGNORE, NOT_LITERAL_UNI_IGNORE,
628
+ LITERAL_LOC_IGNORE, NOT_LITERAL_LOC_IGNORE):
629
+ arg = code[i]
630
+ i += 1
631
+ print_(op, '%#02x (%r)' % (arg, chr(arg)))
632
+ elif op is AT:
633
+ arg = code[i]
634
+ i += 1
635
+ arg = str(ATCODES[arg])
636
+ assert arg[:3] == 'AT_'
637
+ print_(op, arg[3:])
638
+ elif op is CATEGORY:
639
+ arg = code[i]
640
+ i += 1
641
+ arg = str(CHCODES[arg])
642
+ assert arg[:9] == 'CATEGORY_'
643
+ print_(op, arg[9:])
644
+ elif op in (IN, IN_IGNORE, IN_UNI_IGNORE, IN_LOC_IGNORE):
645
+ skip = code[i]
646
+ print_(op, skip, to=i+skip)
647
+ dis_(i+1, i+skip)
648
+ i += skip
649
+ elif op in (RANGE, RANGE_UNI_IGNORE):
650
+ lo, hi = code[i: i+2]
651
+ i += 2
652
+ print_(op, '%#02x %#02x (%r-%r)' % (lo, hi, chr(lo), chr(hi)))
653
+ elif op is CHARSET:
654
+ print_(op, _hex_code(code[i: i + 256//_CODEBITS]))
655
+ i += 256//_CODEBITS
656
+ elif op is BIGCHARSET:
657
+ arg = code[i]
658
+ i += 1
659
+ mapping = list(b''.join(x.to_bytes(_sre.CODESIZE, sys.byteorder)
660
+ for x in code[i: i + 256//_sre.CODESIZE]))
661
+ print_(op, arg, mapping)
662
+ i += 256//_sre.CODESIZE
663
+ level += 1
664
+ for j in range(arg):
665
+ print_2(_hex_code(code[i: i + 256//_CODEBITS]))
666
+ i += 256//_CODEBITS
667
+ level -= 1
668
+ elif op in (MARK, GROUPREF, GROUPREF_IGNORE, GROUPREF_UNI_IGNORE,
669
+ GROUPREF_LOC_IGNORE):
670
+ arg = code[i]
671
+ i += 1
672
+ print_(op, arg)
673
+ elif op is JUMP:
674
+ skip = code[i]
675
+ print_(op, skip, to=i+skip)
676
+ i += 1
677
+ elif op is BRANCH:
678
+ skip = code[i]
679
+ print_(op, skip, to=i+skip)
680
+ while skip:
681
+ dis_(i+1, i+skip)
682
+ i += skip
683
+ start = i
684
+ skip = code[i]
685
+ if skip:
686
+ print_('branch', skip, to=i+skip)
687
+ else:
688
+ print_(FAILURE)
689
+ i += 1
690
+ elif op in (REPEAT, REPEAT_ONE, MIN_REPEAT_ONE,
691
+ POSSESSIVE_REPEAT, POSSESSIVE_REPEAT_ONE):
692
+ skip, min, max = code[i: i+3]
693
+ if max == MAXREPEAT:
694
+ max = 'MAXREPEAT'
695
+ print_(op, skip, min, max, to=i+skip)
696
+ dis_(i+3, i+skip)
697
+ i += skip
698
+ elif op is GROUPREF_EXISTS:
699
+ arg, skip = code[i: i+2]
700
+ print_(op, arg, skip, to=i+skip)
701
+ i += 2
702
+ elif op in (ASSERT, ASSERT_NOT):
703
+ skip, arg = code[i: i+2]
704
+ print_(op, skip, arg, to=i+skip)
705
+ dis_(i+2, i+skip)
706
+ i += skip
707
+ elif op is ATOMIC_GROUP:
708
+ skip = code[i]
709
+ print_(op, skip, to=i+skip)
710
+ dis_(i+1, i+skip)
711
+ i += skip
712
+ elif op is INFO:
713
+ skip, flags, min, max = code[i: i+4]
714
+ if max == MAXREPEAT:
715
+ max = 'MAXREPEAT'
716
+ print_(op, skip, bin(flags), min, max, to=i+skip)
717
+ start = i+4
718
+ if flags & SRE_INFO_PREFIX:
719
+ prefix_len, prefix_skip = code[i+4: i+6]
720
+ print_2(' prefix_skip', prefix_skip)
721
+ start = i + 6
722
+ prefix = code[start: start+prefix_len]
723
+ print_2(' prefix',
724
+ '[%s]' % ', '.join('%#02x' % x for x in prefix),
725
+ '(%r)' % ''.join(map(chr, prefix)))
726
+ start += prefix_len
727
+ print_2(' overlap', code[start: start+prefix_len])
728
+ start += prefix_len
729
+ if flags & SRE_INFO_CHARSET:
730
+ level += 1
731
+ print_2('in')
732
+ dis_(start, i+skip)
733
+ level -= 1
734
+ i += skip
735
+ else:
736
+ raise ValueError(op)
737
+
738
+ level -= 1
739
+
740
+ dis_(0, len(code))
741
+
742
+
743
+ def compile(p, flags=0):
744
+ # internal: convert pattern list to internal format
745
+
746
+ if isstring(p):
747
+ pattern = p
748
+ p = _parser.parse(p, flags)
749
+ else:
750
+ pattern = None
751
+
752
+ code = _code(p, flags)
753
+
754
+ if flags & SRE_FLAG_DEBUG:
755
+ print()
756
+ dis(code)
757
+
758
+ # map in either direction
759
+ groupindex = p.state.groupdict
760
+ indexgroup = [None] * p.state.groups
761
+ for k, i in groupindex.items():
762
+ indexgroup[i] = k
763
+
764
+ return _sre.compile(
765
+ pattern, flags | p.state.flags, code,
766
+ p.state.groups-1,
767
+ groupindex, tuple(indexgroup)
768
+ )