@pairling/runtime-darwin-x64 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1238) hide show
  1. package/bin/pairling-connectd +0 -0
  2. package/manifest.json +9 -3
  3. package/package.json +1 -1
  4. package/python/bin/2to3-3.12 +7 -0
  5. package/python/bin/idle3.12 +7 -0
  6. package/python/bin/pip +8 -0
  7. package/python/bin/pip3 +8 -0
  8. package/python/bin/pip3.12 +8 -0
  9. package/python/bin/pydoc3.12 +7 -0
  10. package/python/bin/python3 +0 -0
  11. package/python/bin/python3.12 +0 -0
  12. package/python/bin/python3.12-config +76 -0
  13. package/python/include/python3.12/Python.h +109 -0
  14. package/python/include/python3.12/abstract.h +899 -0
  15. package/python/include/python3.12/bltinmodule.h +14 -0
  16. package/python/include/python3.12/boolobject.h +42 -0
  17. package/python/include/python3.12/bytearrayobject.h +44 -0
  18. package/python/include/python3.12/bytesobject.h +69 -0
  19. package/python/include/python3.12/ceval.h +168 -0
  20. package/python/include/python3.12/codecs.h +248 -0
  21. package/python/include/python3.12/compile.h +22 -0
  22. package/python/include/python3.12/complexobject.h +30 -0
  23. package/python/include/python3.12/cpython/abstract.h +206 -0
  24. package/python/include/python3.12/cpython/bytearrayobject.h +34 -0
  25. package/python/include/python3.12/cpython/bytesobject.h +133 -0
  26. package/python/include/python3.12/cpython/cellobject.h +44 -0
  27. package/python/include/python3.12/cpython/ceval.h +35 -0
  28. package/python/include/python3.12/cpython/classobject.h +71 -0
  29. package/python/include/python3.12/cpython/code.h +389 -0
  30. package/python/include/python3.12/cpython/compile.h +69 -0
  31. package/python/include/python3.12/cpython/complexobject.h +44 -0
  32. package/python/include/python3.12/cpython/context.h +78 -0
  33. package/python/include/python3.12/cpython/descrobject.h +64 -0
  34. package/python/include/python3.12/cpython/dictobject.h +118 -0
  35. package/python/include/python3.12/cpython/fileobject.h +19 -0
  36. package/python/include/python3.12/cpython/fileutils.h +8 -0
  37. package/python/include/python3.12/cpython/floatobject.h +27 -0
  38. package/python/include/python3.12/cpython/frameobject.h +29 -0
  39. package/python/include/python3.12/cpython/funcobject.h +190 -0
  40. package/python/include/python3.12/cpython/genobject.h +89 -0
  41. package/python/include/python3.12/cpython/import.h +46 -0
  42. package/python/include/python3.12/cpython/initconfig.h +256 -0
  43. package/python/include/python3.12/cpython/interpreteridobject.h +11 -0
  44. package/python/include/python3.12/cpython/listobject.h +47 -0
  45. package/python/include/python3.12/cpython/longintrepr.h +133 -0
  46. package/python/include/python3.12/cpython/longobject.h +100 -0
  47. package/python/include/python3.12/cpython/memoryobject.h +52 -0
  48. package/python/include/python3.12/cpython/methodobject.h +66 -0
  49. package/python/include/python3.12/cpython/modsupport.h +109 -0
  50. package/python/include/python3.12/cpython/object.h +575 -0
  51. package/python/include/python3.12/cpython/objimpl.h +95 -0
  52. package/python/include/python3.12/cpython/odictobject.h +43 -0
  53. package/python/include/python3.12/cpython/picklebufobject.h +31 -0
  54. package/python/include/python3.12/cpython/pthread_stubs.h +88 -0
  55. package/python/include/python3.12/cpython/pyctype.h +39 -0
  56. package/python/include/python3.12/cpython/pydebug.h +38 -0
  57. package/python/include/python3.12/cpython/pyerrors.h +178 -0
  58. package/python/include/python3.12/cpython/pyfpe.h +15 -0
  59. package/python/include/python3.12/cpython/pyframe.h +35 -0
  60. package/python/include/python3.12/cpython/pylifecycle.h +111 -0
  61. package/python/include/python3.12/cpython/pymem.h +98 -0
  62. package/python/include/python3.12/cpython/pystate.h +456 -0
  63. package/python/include/python3.12/cpython/pythonrun.h +121 -0
  64. package/python/include/python3.12/cpython/pythread.h +42 -0
  65. package/python/include/python3.12/cpython/pytime.h +331 -0
  66. package/python/include/python3.12/cpython/setobject.h +72 -0
  67. package/python/include/python3.12/cpython/sysmodule.h +16 -0
  68. package/python/include/python3.12/cpython/traceback.h +16 -0
  69. package/python/include/python3.12/cpython/tupleobject.h +39 -0
  70. package/python/include/python3.12/cpython/unicodeobject.h +976 -0
  71. package/python/include/python3.12/cpython/warnings.h +20 -0
  72. package/python/include/python3.12/cpython/weakrefobject.h +56 -0
  73. package/python/include/python3.12/datetime.h +267 -0
  74. package/python/include/python3.12/descrobject.h +100 -0
  75. package/python/include/python3.12/dictobject.h +97 -0
  76. package/python/include/python3.12/dynamic_annotations.h +499 -0
  77. package/python/include/python3.12/enumobject.h +17 -0
  78. package/python/include/python3.12/errcode.h +38 -0
  79. package/python/include/python3.12/exports.h +36 -0
  80. package/python/include/python3.12/fileobject.h +49 -0
  81. package/python/include/python3.12/fileutils.h +26 -0
  82. package/python/include/python3.12/floatobject.h +54 -0
  83. package/python/include/python3.12/frameobject.h +20 -0
  84. package/python/include/python3.12/genericaliasobject.h +14 -0
  85. package/python/include/python3.12/import.h +98 -0
  86. package/python/include/python3.12/internal/pycore_abstract.h +25 -0
  87. package/python/include/python3.12/internal/pycore_asdl.h +112 -0
  88. package/python/include/python3.12/internal/pycore_ast.h +922 -0
  89. package/python/include/python3.12/internal/pycore_ast_state.h +265 -0
  90. package/python/include/python3.12/internal/pycore_atexit.h +57 -0
  91. package/python/include/python3.12/internal/pycore_atomic.h +557 -0
  92. package/python/include/python3.12/internal/pycore_atomic_funcs.h +94 -0
  93. package/python/include/python3.12/internal/pycore_bitutils.h +186 -0
  94. package/python/include/python3.12/internal/pycore_blocks_output_buffer.h +317 -0
  95. package/python/include/python3.12/internal/pycore_bytes_methods.h +73 -0
  96. package/python/include/python3.12/internal/pycore_bytesobject.h +47 -0
  97. package/python/include/python3.12/internal/pycore_call.h +133 -0
  98. package/python/include/python3.12/internal/pycore_ceval.h +164 -0
  99. package/python/include/python3.12/internal/pycore_ceval_state.h +103 -0
  100. package/python/include/python3.12/internal/pycore_code.h +496 -0
  101. package/python/include/python3.12/internal/pycore_compile.h +118 -0
  102. package/python/include/python3.12/internal/pycore_condvar.h +99 -0
  103. package/python/include/python3.12/internal/pycore_context.h +71 -0
  104. package/python/include/python3.12/internal/pycore_descrobject.h +26 -0
  105. package/python/include/python3.12/internal/pycore_dict.h +199 -0
  106. package/python/include/python3.12/internal/pycore_dict_state.h +50 -0
  107. package/python/include/python3.12/internal/pycore_dtoa.h +69 -0
  108. package/python/include/python3.12/internal/pycore_emscripten_signal.h +25 -0
  109. package/python/include/python3.12/internal/pycore_exceptions.h +37 -0
  110. package/python/include/python3.12/internal/pycore_faulthandler.h +99 -0
  111. package/python/include/python3.12/internal/pycore_fileutils.h +292 -0
  112. package/python/include/python3.12/internal/pycore_fileutils_windows.h +98 -0
  113. package/python/include/python3.12/internal/pycore_floatobject.h +71 -0
  114. package/python/include/python3.12/internal/pycore_flowgraph.h +120 -0
  115. package/python/include/python3.12/internal/pycore_format.h +27 -0
  116. package/python/include/python3.12/internal/pycore_frame.h +283 -0
  117. package/python/include/python3.12/internal/pycore_function.h +26 -0
  118. package/python/include/python3.12/internal/pycore_gc.h +211 -0
  119. package/python/include/python3.12/internal/pycore_genobject.h +49 -0
  120. package/python/include/python3.12/internal/pycore_getopt.h +22 -0
  121. package/python/include/python3.12/internal/pycore_gil.h +50 -0
  122. package/python/include/python3.12/internal/pycore_global_objects.h +105 -0
  123. package/python/include/python3.12/internal/pycore_global_objects_fini_generated.h +1517 -0
  124. package/python/include/python3.12/internal/pycore_global_strings.h +777 -0
  125. package/python/include/python3.12/internal/pycore_hamt.h +134 -0
  126. package/python/include/python3.12/internal/pycore_hashtable.h +149 -0
  127. package/python/include/python3.12/internal/pycore_import.h +183 -0
  128. package/python/include/python3.12/internal/pycore_initconfig.h +179 -0
  129. package/python/include/python3.12/internal/pycore_instruments.h +106 -0
  130. package/python/include/python3.12/internal/pycore_interp.h +275 -0
  131. package/python/include/python3.12/internal/pycore_intrinsics.h +32 -0
  132. package/python/include/python3.12/internal/pycore_list.h +83 -0
  133. package/python/include/python3.12/internal/pycore_long.h +258 -0
  134. package/python/include/python3.12/internal/pycore_memoryobject.h +18 -0
  135. package/python/include/python3.12/internal/pycore_moduleobject.h +45 -0
  136. package/python/include/python3.12/internal/pycore_namespace.h +20 -0
  137. package/python/include/python3.12/internal/pycore_object.h +455 -0
  138. package/python/include/python3.12/internal/pycore_object_state.h +42 -0
  139. package/python/include/python3.12/internal/pycore_obmalloc.h +700 -0
  140. package/python/include/python3.12/internal/pycore_obmalloc_init.h +73 -0
  141. package/python/include/python3.12/internal/pycore_opcode.h +587 -0
  142. package/python/include/python3.12/internal/pycore_opcode_utils.h +92 -0
  143. package/python/include/python3.12/internal/pycore_parser.h +66 -0
  144. package/python/include/python3.12/internal/pycore_pathconfig.h +24 -0
  145. package/python/include/python3.12/internal/pycore_pyarena.h +64 -0
  146. package/python/include/python3.12/internal/pycore_pyerrors.h +129 -0
  147. package/python/include/python3.12/internal/pycore_pyhash.h +40 -0
  148. package/python/include/python3.12/internal/pycore_pylifecycle.h +99 -0
  149. package/python/include/python3.12/internal/pycore_pymath.h +205 -0
  150. package/python/include/python3.12/internal/pycore_pymem.h +98 -0
  151. package/python/include/python3.12/internal/pycore_pymem_init.h +85 -0
  152. package/python/include/python3.12/internal/pycore_pystate.h +180 -0
  153. package/python/include/python3.12/internal/pycore_pythread.h +81 -0
  154. package/python/include/python3.12/internal/pycore_range.h +21 -0
  155. package/python/include/python3.12/internal/pycore_runtime.h +235 -0
  156. package/python/include/python3.12/internal/pycore_runtime_init.h +188 -0
  157. package/python/include/python3.12/internal/pycore_runtime_init_generated.h +1511 -0
  158. package/python/include/python3.12/internal/pycore_signal.h +98 -0
  159. package/python/include/python3.12/internal/pycore_sliceobject.h +22 -0
  160. package/python/include/python3.12/internal/pycore_strhex.h +36 -0
  161. package/python/include/python3.12/internal/pycore_structseq.h +39 -0
  162. package/python/include/python3.12/internal/pycore_symtable.h +160 -0
  163. package/python/include/python3.12/internal/pycore_sysmodule.h +34 -0
  164. package/python/include/python3.12/internal/pycore_time.h +25 -0
  165. package/python/include/python3.12/internal/pycore_token.h +108 -0
  166. package/python/include/python3.12/internal/pycore_traceback.h +101 -0
  167. package/python/include/python3.12/internal/pycore_tracemalloc.h +123 -0
  168. package/python/include/python3.12/internal/pycore_tuple.h +79 -0
  169. package/python/include/python3.12/internal/pycore_typeobject.h +151 -0
  170. package/python/include/python3.12/internal/pycore_typevarobject.h +24 -0
  171. package/python/include/python3.12/internal/pycore_ucnhash.h +34 -0
  172. package/python/include/python3.12/internal/pycore_unicodeobject.h +86 -0
  173. package/python/include/python3.12/internal/pycore_unicodeobject_generated.h +2832 -0
  174. package/python/include/python3.12/internal/pycore_unionobject.h +23 -0
  175. package/python/include/python3.12/internal/pycore_warnings.h +29 -0
  176. package/python/include/python3.12/interpreteridobject.h +17 -0
  177. package/python/include/python3.12/intrcheck.h +30 -0
  178. package/python/include/python3.12/iterobject.h +27 -0
  179. package/python/include/python3.12/listobject.h +52 -0
  180. package/python/include/python3.12/longobject.h +108 -0
  181. package/python/include/python3.12/marshal.h +31 -0
  182. package/python/include/python3.12/memoryobject.h +34 -0
  183. package/python/include/python3.12/methodobject.h +132 -0
  184. package/python/include/python3.12/modsupport.h +168 -0
  185. package/python/include/python3.12/moduleobject.h +119 -0
  186. package/python/include/python3.12/object.h +993 -0
  187. package/python/include/python3.12/objimpl.h +234 -0
  188. package/python/include/python3.12/opcode.h +271 -0
  189. package/python/include/python3.12/osdefs.h +51 -0
  190. package/python/include/python3.12/osmodule.h +17 -0
  191. package/python/include/python3.12/patchlevel.h +35 -0
  192. package/python/include/python3.12/py_curses.h +99 -0
  193. package/python/include/python3.12/pybuffer.h +145 -0
  194. package/python/include/python3.12/pycapsule.h +59 -0
  195. package/python/include/python3.12/pyconfig.h +1943 -0
  196. package/python/include/python3.12/pydtrace.h +59 -0
  197. package/python/include/python3.12/pyerrors.h +337 -0
  198. package/python/include/python3.12/pyexpat.h +62 -0
  199. package/python/include/python3.12/pyframe.h +26 -0
  200. package/python/include/python3.12/pyhash.h +144 -0
  201. package/python/include/python3.12/pylifecycle.h +78 -0
  202. package/python/include/python3.12/pymacconfig.h +99 -0
  203. package/python/include/python3.12/pymacro.h +172 -0
  204. package/python/include/python3.12/pymath.h +62 -0
  205. package/python/include/python3.12/pymem.h +104 -0
  206. package/python/include/python3.12/pyport.h +782 -0
  207. package/python/include/python3.12/pystate.h +132 -0
  208. package/python/include/python3.12/pystats.h +110 -0
  209. package/python/include/python3.12/pystrcmp.h +23 -0
  210. package/python/include/python3.12/pystrtod.h +46 -0
  211. package/python/include/python3.12/pythonrun.h +49 -0
  212. package/python/include/python3.12/pythread.h +135 -0
  213. package/python/include/python3.12/pytypedefs.h +30 -0
  214. package/python/include/python3.12/rangeobject.h +27 -0
  215. package/python/include/python3.12/setobject.h +49 -0
  216. package/python/include/python3.12/sliceobject.h +65 -0
  217. package/python/include/python3.12/structmember.h +56 -0
  218. package/python/include/python3.12/structseq.h +49 -0
  219. package/python/include/python3.12/sysmodule.h +54 -0
  220. package/python/include/python3.12/traceback.h +26 -0
  221. package/python/include/python3.12/tracemalloc.h +77 -0
  222. package/python/include/python3.12/tupleobject.h +46 -0
  223. package/python/include/python3.12/typeslots.h +88 -0
  224. package/python/include/python3.12/unicodeobject.h +1020 -0
  225. package/python/include/python3.12/warnings.h +45 -0
  226. package/python/include/python3.12/weakrefobject.h +42 -0
  227. package/python/lib/libpython3.12.dylib +0 -0
  228. package/python/lib/python3.12/LICENSE.txt +279 -0
  229. package/python/lib/python3.12/__future__.py +147 -0
  230. package/python/lib/python3.12/__hello__.py +16 -0
  231. package/python/lib/python3.12/__phello__/__init__.py +7 -0
  232. package/python/lib/python3.12/__phello__/spam.py +7 -0
  233. package/python/lib/python3.12/_aix_support.py +108 -0
  234. package/python/lib/python3.12/_collections_abc.py +1173 -0
  235. package/python/lib/python3.12/_compat_pickle.py +252 -0
  236. package/python/lib/python3.12/_compression.py +162 -0
  237. package/python/lib/python3.12/_markupbase.py +396 -0
  238. package/python/lib/python3.12/_osx_support.py +579 -0
  239. package/python/lib/python3.12/_py_abc.py +147 -0
  240. package/python/lib/python3.12/_pydatetime.py +2643 -0
  241. package/python/lib/python3.12/_pydecimal.py +6339 -0
  242. package/python/lib/python3.12/_pyio.py +2698 -0
  243. package/python/lib/python3.12/_pylong.py +329 -0
  244. package/python/lib/python3.12/_sitebuiltins.py +103 -0
  245. package/python/lib/python3.12/_strptime.py +664 -0
  246. package/python/lib/python3.12/_sysconfigdata__darwin_darwin.py +984 -0
  247. package/python/lib/python3.12/_threading_local.py +242 -0
  248. package/python/lib/python3.12/_weakrefset.py +205 -0
  249. package/python/lib/python3.12/abc.py +188 -0
  250. package/python/lib/python3.12/aifc.py +984 -0
  251. package/python/lib/python3.12/antigravity.py +17 -0
  252. package/python/lib/python3.12/argparse.py +2650 -0
  253. package/python/lib/python3.12/ast.py +1840 -0
  254. package/python/lib/python3.12/asyncio/__init__.py +47 -0
  255. package/python/lib/python3.12/asyncio/__main__.py +128 -0
  256. package/python/lib/python3.12/asyncio/base_events.py +2024 -0
  257. package/python/lib/python3.12/asyncio/base_futures.py +67 -0
  258. package/python/lib/python3.12/asyncio/base_subprocess.py +285 -0
  259. package/python/lib/python3.12/asyncio/base_tasks.py +94 -0
  260. package/python/lib/python3.12/asyncio/constants.py +41 -0
  261. package/python/lib/python3.12/asyncio/coroutines.py +109 -0
  262. package/python/lib/python3.12/asyncio/events.py +868 -0
  263. package/python/lib/python3.12/asyncio/exceptions.py +62 -0
  264. package/python/lib/python3.12/asyncio/format_helpers.py +76 -0
  265. package/python/lib/python3.12/asyncio/futures.py +430 -0
  266. package/python/lib/python3.12/asyncio/locks.py +586 -0
  267. package/python/lib/python3.12/asyncio/log.py +7 -0
  268. package/python/lib/python3.12/asyncio/mixins.py +21 -0
  269. package/python/lib/python3.12/asyncio/proactor_events.py +897 -0
  270. package/python/lib/python3.12/asyncio/protocols.py +216 -0
  271. package/python/lib/python3.12/asyncio/queues.py +244 -0
  272. package/python/lib/python3.12/asyncio/runners.py +216 -0
  273. package/python/lib/python3.12/asyncio/selector_events.py +1324 -0
  274. package/python/lib/python3.12/asyncio/sslproto.py +929 -0
  275. package/python/lib/python3.12/asyncio/staggered.py +174 -0
  276. package/python/lib/python3.12/asyncio/streams.py +770 -0
  277. package/python/lib/python3.12/asyncio/subprocess.py +229 -0
  278. package/python/lib/python3.12/asyncio/taskgroups.py +268 -0
  279. package/python/lib/python3.12/asyncio/tasks.py +1065 -0
  280. package/python/lib/python3.12/asyncio/threads.py +25 -0
  281. package/python/lib/python3.12/asyncio/timeouts.py +168 -0
  282. package/python/lib/python3.12/asyncio/transports.py +335 -0
  283. package/python/lib/python3.12/asyncio/trsock.py +98 -0
  284. package/python/lib/python3.12/asyncio/unix_events.py +1500 -0
  285. package/python/lib/python3.12/asyncio/windows_events.py +901 -0
  286. package/python/lib/python3.12/asyncio/windows_utils.py +173 -0
  287. package/python/lib/python3.12/base64.py +586 -0
  288. package/python/lib/python3.12/bdb.py +920 -0
  289. package/python/lib/python3.12/bisect.py +118 -0
  290. package/python/lib/python3.12/bz2.py +344 -0
  291. package/python/lib/python3.12/cProfile.py +195 -0
  292. package/python/lib/python3.12/calendar.py +808 -0
  293. package/python/lib/python3.12/cgi.py +1014 -0
  294. package/python/lib/python3.12/cgitb.py +332 -0
  295. package/python/lib/python3.12/chunk.py +173 -0
  296. package/python/lib/python3.12/cmd.py +401 -0
  297. package/python/lib/python3.12/code.py +324 -0
  298. package/python/lib/python3.12/codecs.py +1129 -0
  299. package/python/lib/python3.12/codeop.py +161 -0
  300. package/python/lib/python3.12/collections/__init__.py +1592 -0
  301. package/python/lib/python3.12/collections/abc.py +3 -0
  302. package/python/lib/python3.12/colorsys.py +166 -0
  303. package/python/lib/python3.12/compileall.py +469 -0
  304. package/python/lib/python3.12/concurrent/__init__.py +1 -0
  305. package/python/lib/python3.12/concurrent/futures/__init__.py +54 -0
  306. package/python/lib/python3.12/concurrent/futures/_base.py +654 -0
  307. package/python/lib/python3.12/concurrent/futures/process.py +876 -0
  308. package/python/lib/python3.12/concurrent/futures/thread.py +240 -0
  309. package/python/lib/python3.12/config-3.12-darwin/Makefile +3224 -0
  310. package/python/lib/python3.12/config-3.12-darwin/Setup +303 -0
  311. package/python/lib/python3.12/config-3.12-darwin/Setup.bootstrap +36 -0
  312. package/python/lib/python3.12/config-3.12-darwin/Setup.local +90 -0
  313. package/python/lib/python3.12/config-3.12-darwin/Setup.stdlib +183 -0
  314. package/python/lib/python3.12/config-3.12-darwin/config.c +246 -0
  315. package/python/lib/python3.12/config-3.12-darwin/config.c.in +71 -0
  316. package/python/lib/python3.12/config-3.12-darwin/install-sh +541 -0
  317. package/python/lib/python3.12/config-3.12-darwin/makesetup +353 -0
  318. package/python/lib/python3.12/config-3.12-darwin/python-config.py +76 -0
  319. package/python/lib/python3.12/config-3.12-darwin/python.o +0 -0
  320. package/python/lib/python3.12/configparser.py +1333 -0
  321. package/python/lib/python3.12/contextlib.py +800 -0
  322. package/python/lib/python3.12/contextvars.py +4 -0
  323. package/python/lib/python3.12/copy.py +292 -0
  324. package/python/lib/python3.12/copyreg.py +217 -0
  325. package/python/lib/python3.12/crypt.py +124 -0
  326. package/python/lib/python3.12/csv.py +451 -0
  327. package/python/lib/python3.12/ctypes/__init__.py +582 -0
  328. package/python/lib/python3.12/ctypes/_aix.py +327 -0
  329. package/python/lib/python3.12/ctypes/_endian.py +78 -0
  330. package/python/lib/python3.12/ctypes/macholib/README.ctypes +7 -0
  331. package/python/lib/python3.12/ctypes/macholib/__init__.py +9 -0
  332. package/python/lib/python3.12/ctypes/macholib/dyld.py +165 -0
  333. package/python/lib/python3.12/ctypes/macholib/dylib.py +42 -0
  334. package/python/lib/python3.12/ctypes/macholib/fetch_macholib +2 -0
  335. package/python/lib/python3.12/ctypes/macholib/fetch_macholib.bat +1 -0
  336. package/python/lib/python3.12/ctypes/macholib/framework.py +42 -0
  337. package/python/lib/python3.12/ctypes/util.py +379 -0
  338. package/python/lib/python3.12/ctypes/wintypes.py +202 -0
  339. package/python/lib/python3.12/curses/__init__.py +101 -0
  340. package/python/lib/python3.12/curses/ascii.py +99 -0
  341. package/python/lib/python3.12/curses/has_key.py +192 -0
  342. package/python/lib/python3.12/curses/panel.py +6 -0
  343. package/python/lib/python3.12/curses/textpad.py +204 -0
  344. package/python/lib/python3.12/dataclasses.py +1588 -0
  345. package/python/lib/python3.12/datetime.py +9 -0
  346. package/python/lib/python3.12/dbm/__init__.py +190 -0
  347. package/python/lib/python3.12/dbm/dumb.py +317 -0
  348. package/python/lib/python3.12/dbm/gnu.py +3 -0
  349. package/python/lib/python3.12/dbm/ndbm.py +3 -0
  350. package/python/lib/python3.12/decimal.py +108 -0
  351. package/python/lib/python3.12/difflib.py +2056 -0
  352. package/python/lib/python3.12/dis.py +805 -0
  353. package/python/lib/python3.12/doctest.py +2845 -0
  354. package/python/lib/python3.12/email/__init__.py +61 -0
  355. package/python/lib/python3.12/email/_encoded_words.py +233 -0
  356. package/python/lib/python3.12/email/_header_value_parser.py +3108 -0
  357. package/python/lib/python3.12/email/_parseaddr.py +557 -0
  358. package/python/lib/python3.12/email/_policybase.py +382 -0
  359. package/python/lib/python3.12/email/architecture.rst +216 -0
  360. package/python/lib/python3.12/email/base64mime.py +115 -0
  361. package/python/lib/python3.12/email/charset.py +398 -0
  362. package/python/lib/python3.12/email/contentmanager.py +251 -0
  363. package/python/lib/python3.12/email/encoders.py +65 -0
  364. package/python/lib/python3.12/email/errors.py +117 -0
  365. package/python/lib/python3.12/email/feedparser.py +534 -0
  366. package/python/lib/python3.12/email/generator.py +530 -0
  367. package/python/lib/python3.12/email/header.py +573 -0
  368. package/python/lib/python3.12/email/headerregistry.py +604 -0
  369. package/python/lib/python3.12/email/iterators.py +68 -0
  370. package/python/lib/python3.12/email/message.py +1215 -0
  371. package/python/lib/python3.12/email/mime/__init__.py +0 -0
  372. package/python/lib/python3.12/email/mime/application.py +37 -0
  373. package/python/lib/python3.12/email/mime/audio.py +100 -0
  374. package/python/lib/python3.12/email/mime/base.py +29 -0
  375. package/python/lib/python3.12/email/mime/image.py +152 -0
  376. package/python/lib/python3.12/email/mime/message.py +33 -0
  377. package/python/lib/python3.12/email/mime/multipart.py +47 -0
  378. package/python/lib/python3.12/email/mime/nonmultipart.py +21 -0
  379. package/python/lib/python3.12/email/mime/text.py +40 -0
  380. package/python/lib/python3.12/email/parser.py +127 -0
  381. package/python/lib/python3.12/email/policy.py +232 -0
  382. package/python/lib/python3.12/email/quoprimime.py +300 -0
  383. package/python/lib/python3.12/email/utils.py +486 -0
  384. package/python/lib/python3.12/encodings/__init__.py +174 -0
  385. package/python/lib/python3.12/encodings/aliases.py +551 -0
  386. package/python/lib/python3.12/encodings/ascii.py +50 -0
  387. package/python/lib/python3.12/encodings/base64_codec.py +55 -0
  388. package/python/lib/python3.12/encodings/big5.py +39 -0
  389. package/python/lib/python3.12/encodings/big5hkscs.py +39 -0
  390. package/python/lib/python3.12/encodings/bz2_codec.py +78 -0
  391. package/python/lib/python3.12/encodings/charmap.py +69 -0
  392. package/python/lib/python3.12/encodings/cp037.py +307 -0
  393. package/python/lib/python3.12/encodings/cp1006.py +307 -0
  394. package/python/lib/python3.12/encodings/cp1026.py +307 -0
  395. package/python/lib/python3.12/encodings/cp1125.py +698 -0
  396. package/python/lib/python3.12/encodings/cp1140.py +307 -0
  397. package/python/lib/python3.12/encodings/cp1250.py +307 -0
  398. package/python/lib/python3.12/encodings/cp1251.py +307 -0
  399. package/python/lib/python3.12/encodings/cp1252.py +307 -0
  400. package/python/lib/python3.12/encodings/cp1253.py +307 -0
  401. package/python/lib/python3.12/encodings/cp1254.py +307 -0
  402. package/python/lib/python3.12/encodings/cp1255.py +307 -0
  403. package/python/lib/python3.12/encodings/cp1256.py +307 -0
  404. package/python/lib/python3.12/encodings/cp1257.py +307 -0
  405. package/python/lib/python3.12/encodings/cp1258.py +307 -0
  406. package/python/lib/python3.12/encodings/cp273.py +307 -0
  407. package/python/lib/python3.12/encodings/cp424.py +307 -0
  408. package/python/lib/python3.12/encodings/cp437.py +698 -0
  409. package/python/lib/python3.12/encodings/cp500.py +307 -0
  410. package/python/lib/python3.12/encodings/cp720.py +309 -0
  411. package/python/lib/python3.12/encodings/cp737.py +698 -0
  412. package/python/lib/python3.12/encodings/cp775.py +697 -0
  413. package/python/lib/python3.12/encodings/cp850.py +698 -0
  414. package/python/lib/python3.12/encodings/cp852.py +698 -0
  415. package/python/lib/python3.12/encodings/cp855.py +698 -0
  416. package/python/lib/python3.12/encodings/cp856.py +307 -0
  417. package/python/lib/python3.12/encodings/cp857.py +694 -0
  418. package/python/lib/python3.12/encodings/cp858.py +698 -0
  419. package/python/lib/python3.12/encodings/cp860.py +698 -0
  420. package/python/lib/python3.12/encodings/cp861.py +698 -0
  421. package/python/lib/python3.12/encodings/cp862.py +698 -0
  422. package/python/lib/python3.12/encodings/cp863.py +698 -0
  423. package/python/lib/python3.12/encodings/cp864.py +690 -0
  424. package/python/lib/python3.12/encodings/cp865.py +698 -0
  425. package/python/lib/python3.12/encodings/cp866.py +698 -0
  426. package/python/lib/python3.12/encodings/cp869.py +689 -0
  427. package/python/lib/python3.12/encodings/cp874.py +307 -0
  428. package/python/lib/python3.12/encodings/cp875.py +307 -0
  429. package/python/lib/python3.12/encodings/cp932.py +39 -0
  430. package/python/lib/python3.12/encodings/cp949.py +39 -0
  431. package/python/lib/python3.12/encodings/cp950.py +39 -0
  432. package/python/lib/python3.12/encodings/euc_jis_2004.py +39 -0
  433. package/python/lib/python3.12/encodings/euc_jisx0213.py +39 -0
  434. package/python/lib/python3.12/encodings/euc_jp.py +39 -0
  435. package/python/lib/python3.12/encodings/euc_kr.py +39 -0
  436. package/python/lib/python3.12/encodings/gb18030.py +39 -0
  437. package/python/lib/python3.12/encodings/gb2312.py +39 -0
  438. package/python/lib/python3.12/encodings/gbk.py +39 -0
  439. package/python/lib/python3.12/encodings/hex_codec.py +55 -0
  440. package/python/lib/python3.12/encodings/hp_roman8.py +314 -0
  441. package/python/lib/python3.12/encodings/hz.py +39 -0
  442. package/python/lib/python3.12/encodings/idna.py +317 -0
  443. package/python/lib/python3.12/encodings/iso2022_jp.py +39 -0
  444. package/python/lib/python3.12/encodings/iso2022_jp_1.py +39 -0
  445. package/python/lib/python3.12/encodings/iso2022_jp_2.py +39 -0
  446. package/python/lib/python3.12/encodings/iso2022_jp_2004.py +39 -0
  447. package/python/lib/python3.12/encodings/iso2022_jp_3.py +39 -0
  448. package/python/lib/python3.12/encodings/iso2022_jp_ext.py +39 -0
  449. package/python/lib/python3.12/encodings/iso2022_kr.py +39 -0
  450. package/python/lib/python3.12/encodings/iso8859_1.py +307 -0
  451. package/python/lib/python3.12/encodings/iso8859_10.py +307 -0
  452. package/python/lib/python3.12/encodings/iso8859_11.py +307 -0
  453. package/python/lib/python3.12/encodings/iso8859_13.py +307 -0
  454. package/python/lib/python3.12/encodings/iso8859_14.py +307 -0
  455. package/python/lib/python3.12/encodings/iso8859_15.py +307 -0
  456. package/python/lib/python3.12/encodings/iso8859_16.py +307 -0
  457. package/python/lib/python3.12/encodings/iso8859_2.py +307 -0
  458. package/python/lib/python3.12/encodings/iso8859_3.py +307 -0
  459. package/python/lib/python3.12/encodings/iso8859_4.py +307 -0
  460. package/python/lib/python3.12/encodings/iso8859_5.py +307 -0
  461. package/python/lib/python3.12/encodings/iso8859_6.py +307 -0
  462. package/python/lib/python3.12/encodings/iso8859_7.py +307 -0
  463. package/python/lib/python3.12/encodings/iso8859_8.py +307 -0
  464. package/python/lib/python3.12/encodings/iso8859_9.py +307 -0
  465. package/python/lib/python3.12/encodings/johab.py +39 -0
  466. package/python/lib/python3.12/encodings/koi8_r.py +307 -0
  467. package/python/lib/python3.12/encodings/koi8_t.py +308 -0
  468. package/python/lib/python3.12/encodings/koi8_u.py +307 -0
  469. package/python/lib/python3.12/encodings/kz1048.py +307 -0
  470. package/python/lib/python3.12/encodings/latin_1.py +50 -0
  471. package/python/lib/python3.12/encodings/mac_arabic.py +698 -0
  472. package/python/lib/python3.12/encodings/mac_croatian.py +307 -0
  473. package/python/lib/python3.12/encodings/mac_cyrillic.py +307 -0
  474. package/python/lib/python3.12/encodings/mac_farsi.py +307 -0
  475. package/python/lib/python3.12/encodings/mac_greek.py +307 -0
  476. package/python/lib/python3.12/encodings/mac_iceland.py +307 -0
  477. package/python/lib/python3.12/encodings/mac_latin2.py +312 -0
  478. package/python/lib/python3.12/encodings/mac_roman.py +307 -0
  479. package/python/lib/python3.12/encodings/mac_romanian.py +307 -0
  480. package/python/lib/python3.12/encodings/mac_turkish.py +307 -0
  481. package/python/lib/python3.12/encodings/mbcs.py +47 -0
  482. package/python/lib/python3.12/encodings/oem.py +41 -0
  483. package/python/lib/python3.12/encodings/palmos.py +308 -0
  484. package/python/lib/python3.12/encodings/ptcp154.py +312 -0
  485. package/python/lib/python3.12/encodings/punycode.py +237 -0
  486. package/python/lib/python3.12/encodings/quopri_codec.py +56 -0
  487. package/python/lib/python3.12/encodings/raw_unicode_escape.py +46 -0
  488. package/python/lib/python3.12/encodings/rot_13.py +113 -0
  489. package/python/lib/python3.12/encodings/shift_jis.py +39 -0
  490. package/python/lib/python3.12/encodings/shift_jis_2004.py +39 -0
  491. package/python/lib/python3.12/encodings/shift_jisx0213.py +39 -0
  492. package/python/lib/python3.12/encodings/tis_620.py +307 -0
  493. package/python/lib/python3.12/encodings/undefined.py +49 -0
  494. package/python/lib/python3.12/encodings/unicode_escape.py +46 -0
  495. package/python/lib/python3.12/encodings/utf_16.py +155 -0
  496. package/python/lib/python3.12/encodings/utf_16_be.py +42 -0
  497. package/python/lib/python3.12/encodings/utf_16_le.py +42 -0
  498. package/python/lib/python3.12/encodings/utf_32.py +150 -0
  499. package/python/lib/python3.12/encodings/utf_32_be.py +37 -0
  500. package/python/lib/python3.12/encodings/utf_32_le.py +37 -0
  501. package/python/lib/python3.12/encodings/utf_7.py +38 -0
  502. package/python/lib/python3.12/encodings/utf_8.py +42 -0
  503. package/python/lib/python3.12/encodings/utf_8_sig.py +130 -0
  504. package/python/lib/python3.12/encodings/uu_codec.py +103 -0
  505. package/python/lib/python3.12/encodings/zlib_codec.py +77 -0
  506. package/python/lib/python3.12/ensurepip/__init__.py +291 -0
  507. package/python/lib/python3.12/ensurepip/__main__.py +5 -0
  508. package/python/lib/python3.12/ensurepip/_bundled/pip-25.0.1-py3-none-any.whl +0 -0
  509. package/python/lib/python3.12/ensurepip/_uninstall.py +31 -0
  510. package/python/lib/python3.12/enum.py +2108 -0
  511. package/python/lib/python3.12/filecmp.py +315 -0
  512. package/python/lib/python3.12/fileinput.py +442 -0
  513. package/python/lib/python3.12/fnmatch.py +185 -0
  514. package/python/lib/python3.12/fractions.py +990 -0
  515. package/python/lib/python3.12/ftplib.py +966 -0
  516. package/python/lib/python3.12/functools.py +1009 -0
  517. package/python/lib/python3.12/genericpath.py +176 -0
  518. package/python/lib/python3.12/getopt.py +215 -0
  519. package/python/lib/python3.12/getpass.py +185 -0
  520. package/python/lib/python3.12/gettext.py +646 -0
  521. package/python/lib/python3.12/glob.py +252 -0
  522. package/python/lib/python3.12/graphlib.py +250 -0
  523. package/python/lib/python3.12/gzip.py +711 -0
  524. package/python/lib/python3.12/hashlib.py +253 -0
  525. package/python/lib/python3.12/heapq.py +603 -0
  526. package/python/lib/python3.12/hmac.py +219 -0
  527. package/python/lib/python3.12/html/__init__.py +132 -0
  528. package/python/lib/python3.12/html/entities.py +2513 -0
  529. package/python/lib/python3.12/html/parser.py +535 -0
  530. package/python/lib/python3.12/http/__init__.py +200 -0
  531. package/python/lib/python3.12/http/client.py +1570 -0
  532. package/python/lib/python3.12/http/cookiejar.py +2121 -0
  533. package/python/lib/python3.12/http/cookies.py +615 -0
  534. package/python/lib/python3.12/http/server.py +1335 -0
  535. package/python/lib/python3.12/imaplib.py +1641 -0
  536. package/python/lib/python3.12/imghdr.py +180 -0
  537. package/python/lib/python3.12/importlib/__init__.py +138 -0
  538. package/python/lib/python3.12/importlib/_abc.py +39 -0
  539. package/python/lib/python3.12/importlib/_bootstrap.py +1551 -0
  540. package/python/lib/python3.12/importlib/_bootstrap_external.py +1749 -0
  541. package/python/lib/python3.12/importlib/abc.py +239 -0
  542. package/python/lib/python3.12/importlib/machinery.py +20 -0
  543. package/python/lib/python3.12/importlib/metadata/__init__.py +966 -0
  544. package/python/lib/python3.12/importlib/metadata/_adapters.py +89 -0
  545. package/python/lib/python3.12/importlib/metadata/_collections.py +30 -0
  546. package/python/lib/python3.12/importlib/metadata/_functools.py +104 -0
  547. package/python/lib/python3.12/importlib/metadata/_itertools.py +73 -0
  548. package/python/lib/python3.12/importlib/metadata/_meta.py +63 -0
  549. package/python/lib/python3.12/importlib/metadata/_text.py +99 -0
  550. package/python/lib/python3.12/importlib/readers.py +12 -0
  551. package/python/lib/python3.12/importlib/resources/__init__.py +38 -0
  552. package/python/lib/python3.12/importlib/resources/_adapters.py +168 -0
  553. package/python/lib/python3.12/importlib/resources/_common.py +208 -0
  554. package/python/lib/python3.12/importlib/resources/_itertools.py +38 -0
  555. package/python/lib/python3.12/importlib/resources/_legacy.py +98 -0
  556. package/python/lib/python3.12/importlib/resources/abc.py +173 -0
  557. package/python/lib/python3.12/importlib/resources/readers.py +146 -0
  558. package/python/lib/python3.12/importlib/resources/simple.py +106 -0
  559. package/python/lib/python3.12/importlib/simple.py +14 -0
  560. package/python/lib/python3.12/importlib/util.py +270 -0
  561. package/python/lib/python3.12/inspect.py +3433 -0
  562. package/python/lib/python3.12/io.py +99 -0
  563. package/python/lib/python3.12/ipaddress.py +2430 -0
  564. package/python/lib/python3.12/json/__init__.py +359 -0
  565. package/python/lib/python3.12/json/decoder.py +357 -0
  566. package/python/lib/python3.12/json/encoder.py +443 -0
  567. package/python/lib/python3.12/json/scanner.py +73 -0
  568. package/python/lib/python3.12/json/tool.py +85 -0
  569. package/python/lib/python3.12/keyword.py +64 -0
  570. package/python/lib/python3.12/lib-dynload/.empty +0 -0
  571. package/python/lib/python3.12/lib-dynload/_crypt.cpython-312-darwin.so +0 -0
  572. package/python/lib/python3.12/lib-dynload/_dbm.cpython-312-darwin.so +0 -0
  573. package/python/lib/python3.12/linecache.py +185 -0
  574. package/python/lib/python3.12/locale.py +1779 -0
  575. package/python/lib/python3.12/logging/__init__.py +2345 -0
  576. package/python/lib/python3.12/logging/config.py +1078 -0
  577. package/python/lib/python3.12/logging/handlers.py +1624 -0
  578. package/python/lib/python3.12/lzma.py +356 -0
  579. package/python/lib/python3.12/mailbox.py +2153 -0
  580. package/python/lib/python3.12/mailcap.py +302 -0
  581. package/python/lib/python3.12/mimetypes.py +656 -0
  582. package/python/lib/python3.12/modulefinder.py +666 -0
  583. package/python/lib/python3.12/multiprocessing/__init__.py +37 -0
  584. package/python/lib/python3.12/multiprocessing/connection.py +1178 -0
  585. package/python/lib/python3.12/multiprocessing/context.py +377 -0
  586. package/python/lib/python3.12/multiprocessing/dummy/__init__.py +126 -0
  587. package/python/lib/python3.12/multiprocessing/dummy/connection.py +75 -0
  588. package/python/lib/python3.12/multiprocessing/forkserver.py +350 -0
  589. package/python/lib/python3.12/multiprocessing/heap.py +337 -0
  590. package/python/lib/python3.12/multiprocessing/managers.py +1387 -0
  591. package/python/lib/python3.12/multiprocessing/pool.py +957 -0
  592. package/python/lib/python3.12/multiprocessing/popen_fork.py +83 -0
  593. package/python/lib/python3.12/multiprocessing/popen_forkserver.py +74 -0
  594. package/python/lib/python3.12/multiprocessing/popen_spawn_posix.py +72 -0
  595. package/python/lib/python3.12/multiprocessing/popen_spawn_win32.py +145 -0
  596. package/python/lib/python3.12/multiprocessing/process.py +439 -0
  597. package/python/lib/python3.12/multiprocessing/queues.py +401 -0
  598. package/python/lib/python3.12/multiprocessing/reduction.py +281 -0
  599. package/python/lib/python3.12/multiprocessing/resource_sharer.py +154 -0
  600. package/python/lib/python3.12/multiprocessing/resource_tracker.py +294 -0
  601. package/python/lib/python3.12/multiprocessing/shared_memory.py +534 -0
  602. package/python/lib/python3.12/multiprocessing/sharedctypes.py +240 -0
  603. package/python/lib/python3.12/multiprocessing/spawn.py +307 -0
  604. package/python/lib/python3.12/multiprocessing/synchronize.py +404 -0
  605. package/python/lib/python3.12/multiprocessing/util.py +494 -0
  606. package/python/lib/python3.12/netrc.py +192 -0
  607. package/python/lib/python3.12/nntplib.py +1093 -0
  608. package/python/lib/python3.12/ntpath.py +869 -0
  609. package/python/lib/python3.12/nturl2path.py +69 -0
  610. package/python/lib/python3.12/numbers.py +418 -0
  611. package/python/lib/python3.12/opcode.py +493 -0
  612. package/python/lib/python3.12/operator.py +467 -0
  613. package/python/lib/python3.12/optparse.py +1681 -0
  614. package/python/lib/python3.12/os.py +1159 -0
  615. package/python/lib/python3.12/pathlib.py +1435 -0
  616. package/python/lib/python3.12/pdb.py +1987 -0
  617. package/python/lib/python3.12/pickle.py +1866 -0
  618. package/python/lib/python3.12/pickletools.py +2904 -0
  619. package/python/lib/python3.12/pipes.py +250 -0
  620. package/python/lib/python3.12/pkgutil.py +529 -0
  621. package/python/lib/python3.12/platform.py +1359 -0
  622. package/python/lib/python3.12/plistlib.py +920 -0
  623. package/python/lib/python3.12/poplib.py +478 -0
  624. package/python/lib/python3.12/posixpath.py +577 -0
  625. package/python/lib/python3.12/pprint.py +658 -0
  626. package/python/lib/python3.12/profile.py +615 -0
  627. package/python/lib/python3.12/pstats.py +778 -0
  628. package/python/lib/python3.12/pty.py +211 -0
  629. package/python/lib/python3.12/py_compile.py +212 -0
  630. package/python/lib/python3.12/pyclbr.py +314 -0
  631. package/python/lib/python3.12/pydoc.py +2950 -0
  632. package/python/lib/python3.12/pydoc_data/__init__.py +0 -0
  633. package/python/lib/python3.12/pydoc_data/_pydoc.css +112 -0
  634. package/python/lib/python3.12/pydoc_data/topics.py +12500 -0
  635. package/python/lib/python3.12/queue.py +326 -0
  636. package/python/lib/python3.12/quopri.py +237 -0
  637. package/python/lib/python3.12/random.py +996 -0
  638. package/python/lib/python3.12/re/__init__.py +385 -0
  639. package/python/lib/python3.12/re/_casefix.py +106 -0
  640. package/python/lib/python3.12/re/_compiler.py +770 -0
  641. package/python/lib/python3.12/re/_constants.py +220 -0
  642. package/python/lib/python3.12/re/_parser.py +1080 -0
  643. package/python/lib/python3.12/reprlib.py +214 -0
  644. package/python/lib/python3.12/rlcompleter.py +219 -0
  645. package/python/lib/python3.12/runpy.py +319 -0
  646. package/python/lib/python3.12/sched.py +167 -0
  647. package/python/lib/python3.12/secrets.py +71 -0
  648. package/python/lib/python3.12/selectors.py +623 -0
  649. package/python/lib/python3.12/shelve.py +243 -0
  650. package/python/lib/python3.12/shlex.py +345 -0
  651. package/python/lib/python3.12/shutil.py +1566 -0
  652. package/python/lib/python3.12/signal.py +94 -0
  653. package/python/lib/python3.12/site-packages/README.txt +2 -0
  654. package/python/lib/python3.12/site-packages/pip/__init__.py +13 -0
  655. package/python/lib/python3.12/site-packages/pip/__main__.py +24 -0
  656. package/python/lib/python3.12/site-packages/pip/__pip-runner__.py +50 -0
  657. package/python/lib/python3.12/site-packages/pip/_internal/__init__.py +18 -0
  658. package/python/lib/python3.12/site-packages/pip/_internal/build_env.py +606 -0
  659. package/python/lib/python3.12/site-packages/pip/_internal/cache.py +291 -0
  660. package/python/lib/python3.12/site-packages/pip/_internal/cli/__init__.py +3 -0
  661. package/python/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py +184 -0
  662. package/python/lib/python3.12/site-packages/pip/_internal/cli/base_command.py +264 -0
  663. package/python/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py +1298 -0
  664. package/python/lib/python3.12/site-packages/pip/_internal/cli/command_context.py +28 -0
  665. package/python/lib/python3.12/site-packages/pip/_internal/cli/index_command.py +212 -0
  666. package/python/lib/python3.12/site-packages/pip/_internal/cli/main.py +85 -0
  667. package/python/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py +136 -0
  668. package/python/lib/python3.12/site-packages/pip/_internal/cli/parser.py +358 -0
  669. package/python/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py +153 -0
  670. package/python/lib/python3.12/site-packages/pip/_internal/cli/req_command.py +472 -0
  671. package/python/lib/python3.12/site-packages/pip/_internal/cli/spinners.py +235 -0
  672. package/python/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py +6 -0
  673. package/python/lib/python3.12/site-packages/pip/_internal/commands/__init__.py +139 -0
  674. package/python/lib/python3.12/site-packages/pip/_internal/commands/cache.py +255 -0
  675. package/python/lib/python3.12/site-packages/pip/_internal/commands/check.py +66 -0
  676. package/python/lib/python3.12/site-packages/pip/_internal/commands/completion.py +136 -0
  677. package/python/lib/python3.12/site-packages/pip/_internal/commands/configuration.py +288 -0
  678. package/python/lib/python3.12/site-packages/pip/_internal/commands/debug.py +196 -0
  679. package/python/lib/python3.12/site-packages/pip/_internal/commands/download.py +146 -0
  680. package/python/lib/python3.12/site-packages/pip/_internal/commands/freeze.py +107 -0
  681. package/python/lib/python3.12/site-packages/pip/_internal/commands/hash.py +58 -0
  682. package/python/lib/python3.12/site-packages/pip/_internal/commands/help.py +40 -0
  683. package/python/lib/python3.12/site-packages/pip/_internal/commands/index.py +166 -0
  684. package/python/lib/python3.12/site-packages/pip/_internal/commands/inspect.py +92 -0
  685. package/python/lib/python3.12/site-packages/pip/_internal/commands/install.py +904 -0
  686. package/python/lib/python3.12/site-packages/pip/_internal/commands/list.py +403 -0
  687. package/python/lib/python3.12/site-packages/pip/_internal/commands/lock.py +175 -0
  688. package/python/lib/python3.12/site-packages/pip/_internal/commands/search.py +178 -0
  689. package/python/lib/python3.12/site-packages/pip/_internal/commands/show.py +231 -0
  690. package/python/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py +113 -0
  691. package/python/lib/python3.12/site-packages/pip/_internal/commands/wheel.py +171 -0
  692. package/python/lib/python3.12/site-packages/pip/_internal/configuration.py +396 -0
  693. package/python/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py +21 -0
  694. package/python/lib/python3.12/site-packages/pip/_internal/distributions/base.py +55 -0
  695. package/python/lib/python3.12/site-packages/pip/_internal/distributions/installed.py +33 -0
  696. package/python/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py +164 -0
  697. package/python/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py +44 -0
  698. package/python/lib/python3.12/site-packages/pip/_internal/exceptions.py +971 -0
  699. package/python/lib/python3.12/site-packages/pip/_internal/index/__init__.py +1 -0
  700. package/python/lib/python3.12/site-packages/pip/_internal/index/collector.py +488 -0
  701. package/python/lib/python3.12/site-packages/pip/_internal/index/package_finder.py +1113 -0
  702. package/python/lib/python3.12/site-packages/pip/_internal/index/sources.py +287 -0
  703. package/python/lib/python3.12/site-packages/pip/_internal/locations/__init__.py +438 -0
  704. package/python/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py +173 -0
  705. package/python/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py +218 -0
  706. package/python/lib/python3.12/site-packages/pip/_internal/locations/base.py +82 -0
  707. package/python/lib/python3.12/site-packages/pip/_internal/main.py +12 -0
  708. package/python/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py +169 -0
  709. package/python/lib/python3.12/site-packages/pip/_internal/metadata/_json.py +87 -0
  710. package/python/lib/python3.12/site-packages/pip/_internal/metadata/base.py +685 -0
  711. package/python/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
  712. package/python/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py +87 -0
  713. package/python/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py +235 -0
  714. package/python/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py +143 -0
  715. package/python/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py +298 -0
  716. package/python/lib/python3.12/site-packages/pip/_internal/models/__init__.py +1 -0
  717. package/python/lib/python3.12/site-packages/pip/_internal/models/candidate.py +23 -0
  718. package/python/lib/python3.12/site-packages/pip/_internal/models/direct_url.py +42 -0
  719. package/python/lib/python3.12/site-packages/pip/_internal/models/format_control.py +78 -0
  720. package/python/lib/python3.12/site-packages/pip/_internal/models/index.py +28 -0
  721. package/python/lib/python3.12/site-packages/pip/_internal/models/installation_report.py +57 -0
  722. package/python/lib/python3.12/site-packages/pip/_internal/models/link.py +617 -0
  723. package/python/lib/python3.12/site-packages/pip/_internal/models/release_control.py +91 -0
  724. package/python/lib/python3.12/site-packages/pip/_internal/models/scheme.py +23 -0
  725. package/python/lib/python3.12/site-packages/pip/_internal/models/search_scope.py +124 -0
  726. package/python/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py +36 -0
  727. package/python/lib/python3.12/site-packages/pip/_internal/models/target_python.py +122 -0
  728. package/python/lib/python3.12/site-packages/pip/_internal/models/wheel.py +80 -0
  729. package/python/lib/python3.12/site-packages/pip/_internal/network/__init__.py +1 -0
  730. package/python/lib/python3.12/site-packages/pip/_internal/network/auth.py +570 -0
  731. package/python/lib/python3.12/site-packages/pip/_internal/network/cache.py +128 -0
  732. package/python/lib/python3.12/site-packages/pip/_internal/network/download.py +340 -0
  733. package/python/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py +215 -0
  734. package/python/lib/python3.12/site-packages/pip/_internal/network/session.py +537 -0
  735. package/python/lib/python3.12/site-packages/pip/_internal/network/utils.py +98 -0
  736. package/python/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py +61 -0
  737. package/python/lib/python3.12/site-packages/pip/_internal/operations/__init__.py +0 -0
  738. package/python/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  739. package/python/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py +140 -0
  740. package/python/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  741. package/python/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
  742. package/python/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py +38 -0
  743. package/python/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py +47 -0
  744. package/python/lib/python3.12/site-packages/pip/_internal/operations/check.py +175 -0
  745. package/python/lib/python3.12/site-packages/pip/_internal/operations/freeze.py +259 -0
  746. package/python/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py +1 -0
  747. package/python/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py +759 -0
  748. package/python/lib/python3.12/site-packages/pip/_internal/operations/prepare.py +751 -0
  749. package/python/lib/python3.12/site-packages/pip/_internal/pyproject.py +123 -0
  750. package/python/lib/python3.12/site-packages/pip/_internal/req/__init__.py +103 -0
  751. package/python/lib/python3.12/site-packages/pip/_internal/req/constructors.py +677 -0
  752. package/python/lib/python3.12/site-packages/pip/_internal/req/pep723.py +41 -0
  753. package/python/lib/python3.12/site-packages/pip/_internal/req/req_dependency_group.py +86 -0
  754. package/python/lib/python3.12/site-packages/pip/_internal/req/req_file.py +622 -0
  755. package/python/lib/python3.12/site-packages/pip/_internal/req/req_install.py +838 -0
  756. package/python/lib/python3.12/site-packages/pip/_internal/req/req_set.py +81 -0
  757. package/python/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py +639 -0
  758. package/python/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py +0 -0
  759. package/python/lib/python3.12/site-packages/pip/_internal/resolution/base.py +20 -0
  760. package/python/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  761. package/python/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py +598 -0
  762. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  763. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py +164 -0
  764. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py +599 -0
  765. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py +914 -0
  766. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +166 -0
  767. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py +306 -0
  768. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py +98 -0
  769. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py +251 -0
  770. package/python/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py +332 -0
  771. package/python/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py +246 -0
  772. package/python/lib/python3.12/site-packages/pip/_internal/utils/__init__.py +0 -0
  773. package/python/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
  774. package/python/lib/python3.12/site-packages/pip/_internal/utils/_log.py +38 -0
  775. package/python/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py +52 -0
  776. package/python/lib/python3.12/site-packages/pip/_internal/utils/compat.py +85 -0
  777. package/python/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py +201 -0
  778. package/python/lib/python3.12/site-packages/pip/_internal/utils/datetime.py +28 -0
  779. package/python/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py +139 -0
  780. package/python/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py +92 -0
  781. package/python/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py +81 -0
  782. package/python/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py +88 -0
  783. package/python/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py +201 -0
  784. package/python/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py +24 -0
  785. package/python/lib/python3.12/site-packages/pip/_internal/utils/glibc.py +102 -0
  786. package/python/lib/python3.12/site-packages/pip/_internal/utils/hashes.py +150 -0
  787. package/python/lib/python3.12/site-packages/pip/_internal/utils/logging.py +396 -0
  788. package/python/lib/python3.12/site-packages/pip/_internal/utils/misc.py +771 -0
  789. package/python/lib/python3.12/site-packages/pip/_internal/utils/packaging.py +44 -0
  790. package/python/lib/python3.12/site-packages/pip/_internal/utils/pylock.py +283 -0
  791. package/python/lib/python3.12/site-packages/pip/_internal/utils/retry.py +45 -0
  792. package/python/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py +248 -0
  793. package/python/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py +294 -0
  794. package/python/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py +381 -0
  795. package/python/lib/python3.12/site-packages/pip/_internal/utils/urls.py +55 -0
  796. package/python/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py +105 -0
  797. package/python/lib/python3.12/site-packages/pip/_internal/utils/wheel.py +132 -0
  798. package/python/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py +15 -0
  799. package/python/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py +130 -0
  800. package/python/lib/python3.12/site-packages/pip/_internal/vcs/git.py +571 -0
  801. package/python/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py +186 -0
  802. package/python/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py +335 -0
  803. package/python/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py +695 -0
  804. package/python/lib/python3.12/site-packages/pip/_internal/wheel_builder.py +261 -0
  805. package/python/lib/python3.12/site-packages/pip/_vendor/README.rst +178 -0
  806. package/python/lib/python3.12/site-packages/pip/_vendor/__init__.py +117 -0
  807. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/LICENSE.txt +13 -0
  808. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py +32 -0
  809. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
  810. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py +167 -0
  811. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py +75 -0
  812. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
  813. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +145 -0
  814. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
  815. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py +511 -0
  816. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py +121 -0
  817. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py +157 -0
  818. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  819. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
  820. package/python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
  821. package/python/lib/python3.12/site-packages/pip/_vendor/certifi/LICENSE +20 -0
  822. package/python/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py +4 -0
  823. package/python/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  824. package/python/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem +4494 -0
  825. package/python/lib/python3.12/site-packages/pip/_vendor/certifi/core.py +83 -0
  826. package/python/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed +0 -0
  827. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/LICENSE.txt +284 -0
  828. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py +33 -0
  829. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py +1137 -0
  830. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py +358 -0
  831. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py +447 -0
  832. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  833. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
  834. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  835. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/util.py +1984 -0
  836. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  837. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
  838. package/python/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  839. package/python/lib/python3.12/site-packages/pip/_vendor/distro/LICENSE +202 -0
  840. package/python/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py +54 -0
  841. package/python/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py +4 -0
  842. package/python/lib/python3.12/site-packages/pip/_vendor/distro/distro.py +1403 -0
  843. package/python/lib/python3.12/site-packages/pip/_vendor/distro/py.typed +0 -0
  844. package/python/lib/python3.12/site-packages/pip/_vendor/idna/LICENSE.md +31 -0
  845. package/python/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py +45 -0
  846. package/python/lib/python3.12/site-packages/pip/_vendor/idna/codec.py +122 -0
  847. package/python/lib/python3.12/site-packages/pip/_vendor/idna/compat.py +15 -0
  848. package/python/lib/python3.12/site-packages/pip/_vendor/idna/core.py +437 -0
  849. package/python/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py +4309 -0
  850. package/python/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py +57 -0
  851. package/python/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py +1 -0
  852. package/python/lib/python3.12/site-packages/pip/_vendor/idna/py.typed +0 -0
  853. package/python/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py +8841 -0
  854. package/python/lib/python3.12/site-packages/pip/_vendor/msgpack/COPYING +14 -0
  855. package/python/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
  856. package/python/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  857. package/python/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py +170 -0
  858. package/python/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py +929 -0
  859. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE +3 -0
  860. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.APACHE +177 -0
  861. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/LICENSE.BSD +23 -0
  862. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py +15 -0
  863. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py +108 -0
  864. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
  865. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
  866. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py +393 -0
  867. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py +33 -0
  868. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py +193 -0
  869. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/dependency_groups.py +302 -0
  870. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/direct_url.py +325 -0
  871. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/errors.py +94 -0
  872. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/__init__.py +186 -0
  873. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/licenses/_spdx.py +799 -0
  874. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py +492 -0
  875. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py +964 -0
  876. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed +0 -0
  877. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/pylock.py +905 -0
  878. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py +129 -0
  879. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py +1943 -0
  880. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py +932 -0
  881. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py +296 -0
  882. package/python/lib/python3.12/site-packages/pip/_vendor/packaging/version.py +1231 -0
  883. package/python/lib/python3.12/site-packages/pip/_vendor/pkg_resources/LICENSE +17 -0
  884. package/python/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
  885. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/LICENSE +21 -0
  886. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py +631 -0
  887. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
  888. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py +249 -0
  889. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py +299 -0
  890. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py +146 -0
  891. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  892. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py +272 -0
  893. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py +34 -0
  894. package/python/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py +278 -0
  895. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/LICENSE +25 -0
  896. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py +82 -0
  897. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py +17 -0
  898. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/console.py +70 -0
  899. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py +70 -0
  900. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
  901. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py +129 -0
  902. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
  903. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
  904. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py +963 -0
  905. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
  906. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py +602 -0
  907. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py +1201 -0
  908. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py +43 -0
  909. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py +72 -0
  910. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
  911. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py +104 -0
  912. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
  913. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/style.py +203 -0
  914. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
  915. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
  916. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/token.py +214 -0
  917. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py +153 -0
  918. package/python/lib/python3.12/site-packages/pip/_vendor/pygments/util.py +324 -0
  919. package/python/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/LICENSE +21 -0
  920. package/python/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py +31 -0
  921. package/python/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py +410 -0
  922. package/python/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +21 -0
  923. package/python/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +389 -0
  924. package/python/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/py.typed +0 -0
  925. package/python/lib/python3.12/site-packages/pip/_vendor/requests/LICENSE +175 -0
  926. package/python/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py +178 -0
  927. package/python/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py +14 -0
  928. package/python/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py +51 -0
  929. package/python/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py +697 -0
  930. package/python/lib/python3.12/site-packages/pip/_vendor/requests/api.py +157 -0
  931. package/python/lib/python3.12/site-packages/pip/_vendor/requests/auth.py +314 -0
  932. package/python/lib/python3.12/site-packages/pip/_vendor/requests/certs.py +18 -0
  933. package/python/lib/python3.12/site-packages/pip/_vendor/requests/compat.py +90 -0
  934. package/python/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py +561 -0
  935. package/python/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py +152 -0
  936. package/python/lib/python3.12/site-packages/pip/_vendor/requests/help.py +124 -0
  937. package/python/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py +34 -0
  938. package/python/lib/python3.12/site-packages/pip/_vendor/requests/models.py +1041 -0
  939. package/python/lib/python3.12/site-packages/pip/_vendor/requests/packages.py +25 -0
  940. package/python/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py +834 -0
  941. package/python/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py +128 -0
  942. package/python/lib/python3.12/site-packages/pip/_vendor/requests/structures.py +99 -0
  943. package/python/lib/python3.12/site-packages/pip/_vendor/requests/utils.py +1083 -0
  944. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/LICENSE +13 -0
  945. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py +27 -0
  946. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py +196 -0
  947. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  948. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py +55 -0
  949. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/__init__.py +27 -0
  950. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/abstract.py +47 -0
  951. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py +48 -0
  952. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.py +57 -0
  953. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/resolution.py +627 -0
  954. package/python/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py +209 -0
  955. package/python/lib/python3.12/site-packages/pip/_vendor/rich/LICENSE +19 -0
  956. package/python/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py +177 -0
  957. package/python/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py +245 -0
  958. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
  959. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
  960. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
  961. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py +76 -0
  962. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py +10 -0
  963. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py +24 -0
  964. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py +268 -0
  965. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py +94 -0
  966. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py +43 -0
  967. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py +69 -0
  968. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py +309 -0
  969. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py +17 -0
  970. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py +153 -0
  971. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py +482 -0
  972. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py +16 -0
  973. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py +19 -0
  974. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py +661 -0
  975. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py +71 -0
  976. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
  977. package/python/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py +93 -0
  978. package/python/lib/python3.12/site-packages/pip/_vendor/rich/abc.py +33 -0
  979. package/python/lib/python3.12/site-packages/pip/_vendor/rich/align.py +306 -0
  980. package/python/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py +241 -0
  981. package/python/lib/python3.12/site-packages/pip/_vendor/rich/bar.py +93 -0
  982. package/python/lib/python3.12/site-packages/pip/_vendor/rich/box.py +474 -0
  983. package/python/lib/python3.12/site-packages/pip/_vendor/rich/cells.py +174 -0
  984. package/python/lib/python3.12/site-packages/pip/_vendor/rich/color.py +621 -0
  985. package/python/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
  986. package/python/lib/python3.12/site-packages/pip/_vendor/rich/columns.py +187 -0
  987. package/python/lib/python3.12/site-packages/pip/_vendor/rich/console.py +2680 -0
  988. package/python/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py +37 -0
  989. package/python/lib/python3.12/site-packages/pip/_vendor/rich/containers.py +167 -0
  990. package/python/lib/python3.12/site-packages/pip/_vendor/rich/control.py +219 -0
  991. package/python/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py +193 -0
  992. package/python/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py +39 -0
  993. package/python/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py +91 -0
  994. package/python/lib/python3.12/site-packages/pip/_vendor/rich/errors.py +34 -0
  995. package/python/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
  996. package/python/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py +88 -0
  997. package/python/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py +232 -0
  998. package/python/lib/python3.12/site-packages/pip/_vendor/rich/json.py +139 -0
  999. package/python/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py +101 -0
  1000. package/python/lib/python3.12/site-packages/pip/_vendor/rich/layout.py +442 -0
  1001. package/python/lib/python3.12/site-packages/pip/_vendor/rich/live.py +400 -0
  1002. package/python/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py +106 -0
  1003. package/python/lib/python3.12/site-packages/pip/_vendor/rich/logging.py +297 -0
  1004. package/python/lib/python3.12/site-packages/pip/_vendor/rich/markup.py +251 -0
  1005. package/python/lib/python3.12/site-packages/pip/_vendor/rich/measure.py +151 -0
  1006. package/python/lib/python3.12/site-packages/pip/_vendor/rich/padding.py +141 -0
  1007. package/python/lib/python3.12/site-packages/pip/_vendor/rich/pager.py +34 -0
  1008. package/python/lib/python3.12/site-packages/pip/_vendor/rich/palette.py +100 -0
  1009. package/python/lib/python3.12/site-packages/pip/_vendor/rich/panel.py +317 -0
  1010. package/python/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py +1016 -0
  1011. package/python/lib/python3.12/site-packages/pip/_vendor/rich/progress.py +1715 -0
  1012. package/python/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
  1013. package/python/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py +400 -0
  1014. package/python/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py +42 -0
  1015. package/python/lib/python3.12/site-packages/pip/_vendor/rich/py.typed +0 -0
  1016. package/python/lib/python3.12/site-packages/pip/_vendor/rich/region.py +10 -0
  1017. package/python/lib/python3.12/site-packages/pip/_vendor/rich/repr.py +149 -0
  1018. package/python/lib/python3.12/site-packages/pip/_vendor/rich/rule.py +130 -0
  1019. package/python/lib/python3.12/site-packages/pip/_vendor/rich/scope.py +86 -0
  1020. package/python/lib/python3.12/site-packages/pip/_vendor/rich/screen.py +54 -0
  1021. package/python/lib/python3.12/site-packages/pip/_vendor/rich/segment.py +752 -0
  1022. package/python/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py +132 -0
  1023. package/python/lib/python3.12/site-packages/pip/_vendor/rich/status.py +131 -0
  1024. package/python/lib/python3.12/site-packages/pip/_vendor/rich/style.py +792 -0
  1025. package/python/lib/python3.12/site-packages/pip/_vendor/rich/styled.py +42 -0
  1026. package/python/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py +985 -0
  1027. package/python/lib/python3.12/site-packages/pip/_vendor/rich/table.py +1006 -0
  1028. package/python/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
  1029. package/python/lib/python3.12/site-packages/pip/_vendor/rich/text.py +1361 -0
  1030. package/python/lib/python3.12/site-packages/pip/_vendor/rich/theme.py +115 -0
  1031. package/python/lib/python3.12/site-packages/pip/_vendor/rich/themes.py +5 -0
  1032. package/python/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py +899 -0
  1033. package/python/lib/python3.12/site-packages/pip/_vendor/rich/tree.py +257 -0
  1034. package/python/lib/python3.12/site-packages/pip/_vendor/tomli/LICENSE +21 -0
  1035. package/python/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py +8 -0
  1036. package/python/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py +788 -0
  1037. package/python/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py +115 -0
  1038. package/python/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py +10 -0
  1039. package/python/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed +1 -0
  1040. package/python/lib/python3.12/site-packages/pip/_vendor/tomli_w/LICENSE +21 -0
  1041. package/python/lib/python3.12/site-packages/pip/_vendor/tomli_w/__init__.py +4 -0
  1042. package/python/lib/python3.12/site-packages/pip/_vendor/tomli_w/_writer.py +229 -0
  1043. package/python/lib/python3.12/site-packages/pip/_vendor/tomli_w/py.typed +1 -0
  1044. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/LICENSE +21 -0
  1045. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py +36 -0
  1046. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py +341 -0
  1047. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py +571 -0
  1048. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py +68 -0
  1049. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
  1050. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py +567 -0
  1051. package/python/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed +0 -0
  1052. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/LICENSE.txt +21 -0
  1053. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py +211 -0
  1054. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/_base_connection.py +165 -0
  1055. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py +487 -0
  1056. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/_request_methods.py +278 -0
  1057. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py +34 -0
  1058. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py +1099 -0
  1059. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py +1178 -0
  1060. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  1061. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/__init__.py +17 -0
  1062. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/connection.py +260 -0
  1063. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/emscripten_fetch_worker.js +110 -0
  1064. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/fetch.py +726 -0
  1065. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/request.py +22 -0
  1066. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py +277 -0
  1067. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +564 -0
  1068. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py +228 -0
  1069. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py +335 -0
  1070. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py +341 -0
  1071. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py +89 -0
  1072. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/__init__.py +53 -0
  1073. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/connection.py +356 -0
  1074. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/http2/probe.py +87 -0
  1075. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py +651 -0
  1076. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/py.typed +2 -0
  1077. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py +1474 -0
  1078. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py +42 -0
  1079. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py +137 -0
  1080. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py +43 -0
  1081. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py +254 -0
  1082. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py +101 -0
  1083. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py +549 -0
  1084. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py +527 -0
  1085. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
  1086. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py +271 -0
  1087. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py +275 -0
  1088. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py +469 -0
  1089. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/util.py +42 -0
  1090. package/python/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py +124 -0
  1091. package/python/lib/python3.12/site-packages/pip/_vendor/vendor.txt +18 -0
  1092. package/python/lib/python3.12/site-packages/pip/py.typed +4 -0
  1093. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/INSTALLER +1 -0
  1094. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/METADATA +109 -0
  1095. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/RECORD +866 -0
  1096. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/REQUESTED +0 -0
  1097. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/WHEEL +4 -0
  1098. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/direct_url.json +1 -0
  1099. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/entry_points.txt +4 -0
  1100. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/AUTHORS.txt +868 -0
  1101. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/LICENSE.txt +20 -0
  1102. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +13 -0
  1103. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/certifi/LICENSE +20 -0
  1104. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/distlib/LICENSE.txt +284 -0
  1105. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/distro/LICENSE +202 -0
  1106. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/idna/LICENSE.md +31 -0
  1107. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/msgpack/COPYING +14 -0
  1108. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/packaging/LICENSE +3 -0
  1109. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +177 -0
  1110. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/packaging/LICENSE.BSD +23 -0
  1111. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/pkg_resources/LICENSE +17 -0
  1112. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/platformdirs/LICENSE +21 -0
  1113. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/pygments/LICENSE +25 -0
  1114. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +21 -0
  1115. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/requests/LICENSE +175 -0
  1116. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/resolvelib/LICENSE +13 -0
  1117. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/rich/LICENSE +19 -0
  1118. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/tomli/LICENSE +21 -0
  1119. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/tomli_w/LICENSE +21 -0
  1120. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/truststore/LICENSE +21 -0
  1121. package/python/lib/python3.12/site-packages/pip-26.1.2.dist-info/licenses/src/pip/_vendor/urllib3/LICENSE.txt +21 -0
  1122. package/python/lib/python3.12/site.py +693 -0
  1123. package/python/lib/python3.12/smtplib.py +1109 -0
  1124. package/python/lib/python3.12/sndhdr.py +271 -0
  1125. package/python/lib/python3.12/socket.py +983 -0
  1126. package/python/lib/python3.12/socketserver.py +863 -0
  1127. package/python/lib/python3.12/sqlite3/__init__.py +70 -0
  1128. package/python/lib/python3.12/sqlite3/__main__.py +127 -0
  1129. package/python/lib/python3.12/sqlite3/dbapi2.py +108 -0
  1130. package/python/lib/python3.12/sqlite3/dump.py +89 -0
  1131. package/python/lib/python3.12/sre_compile.py +7 -0
  1132. package/python/lib/python3.12/sre_constants.py +7 -0
  1133. package/python/lib/python3.12/sre_parse.py +7 -0
  1134. package/python/lib/python3.12/ssl.py +1488 -0
  1135. package/python/lib/python3.12/stat.py +195 -0
  1136. package/python/lib/python3.12/statistics.py +1454 -0
  1137. package/python/lib/python3.12/string.py +309 -0
  1138. package/python/lib/python3.12/stringprep.py +272 -0
  1139. package/python/lib/python3.12/struct.py +15 -0
  1140. package/python/lib/python3.12/subprocess.py +2216 -0
  1141. package/python/lib/python3.12/sunau.py +533 -0
  1142. package/python/lib/python3.12/symtable.py +362 -0
  1143. package/python/lib/python3.12/sysconfig.py +894 -0
  1144. package/python/lib/python3.12/tabnanny.py +340 -0
  1145. package/python/lib/python3.12/tarfile.py +3031 -0
  1146. package/python/lib/python3.12/telnetlib.py +680 -0
  1147. package/python/lib/python3.12/tempfile.py +956 -0
  1148. package/python/lib/python3.12/textwrap.py +491 -0
  1149. package/python/lib/python3.12/this.py +28 -0
  1150. package/python/lib/python3.12/threading.py +1708 -0
  1151. package/python/lib/python3.12/timeit.py +381 -0
  1152. package/python/lib/python3.12/token.py +143 -0
  1153. package/python/lib/python3.12/tokenize.py +594 -0
  1154. package/python/lib/python3.12/tomllib/__init__.py +10 -0
  1155. package/python/lib/python3.12/tomllib/_parser.py +691 -0
  1156. package/python/lib/python3.12/tomllib/_re.py +107 -0
  1157. package/python/lib/python3.12/tomllib/_types.py +10 -0
  1158. package/python/lib/python3.12/trace.py +748 -0
  1159. package/python/lib/python3.12/traceback.py +1187 -0
  1160. package/python/lib/python3.12/tracemalloc.py +560 -0
  1161. package/python/lib/python3.12/tty.py +73 -0
  1162. package/python/lib/python3.12/turtle.py +4207 -0
  1163. package/python/lib/python3.12/types.py +333 -0
  1164. package/python/lib/python3.12/typing.py +3494 -0
  1165. package/python/lib/python3.12/unittest/__init__.py +85 -0
  1166. package/python/lib/python3.12/unittest/__main__.py +18 -0
  1167. package/python/lib/python3.12/unittest/_log.py +86 -0
  1168. package/python/lib/python3.12/unittest/async_case.py +143 -0
  1169. package/python/lib/python3.12/unittest/case.py +1456 -0
  1170. package/python/lib/python3.12/unittest/loader.py +497 -0
  1171. package/python/lib/python3.12/unittest/main.py +291 -0
  1172. package/python/lib/python3.12/unittest/mock.py +3054 -0
  1173. package/python/lib/python3.12/unittest/result.py +256 -0
  1174. package/python/lib/python3.12/unittest/runner.py +292 -0
  1175. package/python/lib/python3.12/unittest/signals.py +71 -0
  1176. package/python/lib/python3.12/unittest/suite.py +379 -0
  1177. package/python/lib/python3.12/unittest/util.py +170 -0
  1178. package/python/lib/python3.12/urllib/__init__.py +0 -0
  1179. package/python/lib/python3.12/urllib/error.py +74 -0
  1180. package/python/lib/python3.12/urllib/parse.py +1262 -0
  1181. package/python/lib/python3.12/urllib/request.py +2816 -0
  1182. package/python/lib/python3.12/urllib/response.py +84 -0
  1183. package/python/lib/python3.12/urllib/robotparser.py +275 -0
  1184. package/python/lib/python3.12/uu.py +216 -0
  1185. package/python/lib/python3.12/uuid.py +793 -0
  1186. package/python/lib/python3.12/venv/__init__.py +608 -0
  1187. package/python/lib/python3.12/venv/__main__.py +10 -0
  1188. package/python/lib/python3.12/venv/scripts/common/Activate.ps1 +247 -0
  1189. package/python/lib/python3.12/venv/scripts/common/activate +76 -0
  1190. package/python/lib/python3.12/venv/scripts/posix/activate.csh +27 -0
  1191. package/python/lib/python3.12/venv/scripts/posix/activate.fish +69 -0
  1192. package/python/lib/python3.12/warnings.py +598 -0
  1193. package/python/lib/python3.12/wave.py +653 -0
  1194. package/python/lib/python3.12/weakref.py +674 -0
  1195. package/python/lib/python3.12/webbrowser.py +689 -0
  1196. package/python/lib/python3.12/wsgiref/__init__.py +25 -0
  1197. package/python/lib/python3.12/wsgiref/handlers.py +573 -0
  1198. package/python/lib/python3.12/wsgiref/headers.py +192 -0
  1199. package/python/lib/python3.12/wsgiref/simple_server.py +165 -0
  1200. package/python/lib/python3.12/wsgiref/types.py +54 -0
  1201. package/python/lib/python3.12/wsgiref/util.py +159 -0
  1202. package/python/lib/python3.12/wsgiref/validate.py +438 -0
  1203. package/python/lib/python3.12/xdrlib.py +242 -0
  1204. package/python/lib/python3.12/xml/__init__.py +20 -0
  1205. package/python/lib/python3.12/xml/dom/NodeFilter.py +27 -0
  1206. package/python/lib/python3.12/xml/dom/__init__.py +140 -0
  1207. package/python/lib/python3.12/xml/dom/domreg.py +99 -0
  1208. package/python/lib/python3.12/xml/dom/expatbuilder.py +962 -0
  1209. package/python/lib/python3.12/xml/dom/minicompat.py +109 -0
  1210. package/python/lib/python3.12/xml/dom/minidom.py +2008 -0
  1211. package/python/lib/python3.12/xml/dom/pulldom.py +336 -0
  1212. package/python/lib/python3.12/xml/dom/xmlbuilder.py +389 -0
  1213. package/python/lib/python3.12/xml/etree/ElementInclude.py +186 -0
  1214. package/python/lib/python3.12/xml/etree/ElementPath.py +423 -0
  1215. package/python/lib/python3.12/xml/etree/ElementTree.py +2085 -0
  1216. package/python/lib/python3.12/xml/etree/__init__.py +33 -0
  1217. package/python/lib/python3.12/xml/etree/cElementTree.py +3 -0
  1218. package/python/lib/python3.12/xml/parsers/__init__.py +8 -0
  1219. package/python/lib/python3.12/xml/parsers/expat.py +8 -0
  1220. package/python/lib/python3.12/xml/sax/__init__.py +94 -0
  1221. package/python/lib/python3.12/xml/sax/_exceptions.py +127 -0
  1222. package/python/lib/python3.12/xml/sax/expatreader.py +454 -0
  1223. package/python/lib/python3.12/xml/sax/handler.py +387 -0
  1224. package/python/lib/python3.12/xml/sax/saxutils.py +369 -0
  1225. package/python/lib/python3.12/xml/sax/xmlreader.py +378 -0
  1226. package/python/lib/python3.12/xmlrpc/__init__.py +1 -0
  1227. package/python/lib/python3.12/xmlrpc/client.py +1529 -0
  1228. package/python/lib/python3.12/xmlrpc/server.py +1002 -0
  1229. package/python/lib/python3.12/zipapp.py +206 -0
  1230. package/python/lib/python3.12/zipfile/__init__.py +2340 -0
  1231. package/python/lib/python3.12/zipfile/__main__.py +4 -0
  1232. package/python/lib/python3.12/zipfile/_path/__init__.py +412 -0
  1233. package/python/lib/python3.12/zipfile/_path/glob.py +53 -0
  1234. package/python/lib/python3.12/zipimport.py +712 -0
  1235. package/python/lib/python3.12/zoneinfo/__init__.py +31 -0
  1236. package/python/lib/python3.12/zoneinfo/_common.py +164 -0
  1237. package/python/lib/python3.12/zoneinfo/_tzpath.py +181 -0
  1238. package/python/lib/python3.12/zoneinfo/_zoneinfo.py +772 -0
@@ -0,0 +1,1779 @@
1
+ """Locale support module.
2
+
3
+ The module provides low-level access to the C lib's locale APIs and adds high
4
+ level number formatting APIs as well as a locale aliasing engine to complement
5
+ these.
6
+
7
+ The aliasing engine includes support for many commonly used locale names and
8
+ maps them to values suitable for passing to the C lib's setlocale() function. It
9
+ also includes default encodings for all supported locale names.
10
+
11
+ """
12
+
13
+ import sys
14
+ import encodings
15
+ import encodings.aliases
16
+ import re
17
+ import _collections_abc
18
+ from builtins import str as _builtin_str
19
+ import functools
20
+
21
+ # Try importing the _locale module.
22
+ #
23
+ # If this fails, fall back on a basic 'C' locale emulation.
24
+
25
+ # Yuck: LC_MESSAGES is non-standard: can't tell whether it exists before
26
+ # trying the import. So __all__ is also fiddled at the end of the file.
27
+ __all__ = ["getlocale", "getdefaultlocale", "getpreferredencoding", "Error",
28
+ "setlocale", "resetlocale", "localeconv", "strcoll", "strxfrm",
29
+ "str", "atof", "atoi", "format_string", "currency",
30
+ "normalize", "LC_CTYPE", "LC_COLLATE", "LC_TIME", "LC_MONETARY",
31
+ "LC_NUMERIC", "LC_ALL", "CHAR_MAX", "getencoding"]
32
+
33
+ def _strcoll(a,b):
34
+ """ strcoll(string,string) -> int.
35
+ Compares two strings according to the locale.
36
+ """
37
+ return (a > b) - (a < b)
38
+
39
+ def _strxfrm(s):
40
+ """ strxfrm(string) -> string.
41
+ Returns a string that behaves for cmp locale-aware.
42
+ """
43
+ return s
44
+
45
+ try:
46
+
47
+ from _locale import *
48
+
49
+ except ImportError:
50
+
51
+ # Locale emulation
52
+
53
+ CHAR_MAX = 127
54
+ LC_ALL = 6
55
+ LC_COLLATE = 3
56
+ LC_CTYPE = 0
57
+ LC_MESSAGES = 5
58
+ LC_MONETARY = 4
59
+ LC_NUMERIC = 1
60
+ LC_TIME = 2
61
+ Error = ValueError
62
+
63
+ def localeconv():
64
+ """ localeconv() -> dict.
65
+ Returns numeric and monetary locale-specific parameters.
66
+ """
67
+ # 'C' locale default values
68
+ return {'grouping': [127],
69
+ 'currency_symbol': '',
70
+ 'n_sign_posn': 127,
71
+ 'p_cs_precedes': 127,
72
+ 'n_cs_precedes': 127,
73
+ 'mon_grouping': [],
74
+ 'n_sep_by_space': 127,
75
+ 'decimal_point': '.',
76
+ 'negative_sign': '',
77
+ 'positive_sign': '',
78
+ 'p_sep_by_space': 127,
79
+ 'int_curr_symbol': '',
80
+ 'p_sign_posn': 127,
81
+ 'thousands_sep': '',
82
+ 'mon_thousands_sep': '',
83
+ 'frac_digits': 127,
84
+ 'mon_decimal_point': '',
85
+ 'int_frac_digits': 127}
86
+
87
+ def setlocale(category, value=None):
88
+ """ setlocale(integer,string=None) -> string.
89
+ Activates/queries locale processing.
90
+ """
91
+ if value not in (None, '', 'C'):
92
+ raise Error('_locale emulation only supports "C" locale')
93
+ return 'C'
94
+
95
+ # These may or may not exist in _locale, so be sure to set them.
96
+ if 'strxfrm' not in globals():
97
+ strxfrm = _strxfrm
98
+ if 'strcoll' not in globals():
99
+ strcoll = _strcoll
100
+
101
+
102
+ _localeconv = localeconv
103
+
104
+ # With this dict, you can override some items of localeconv's return value.
105
+ # This is useful for testing purposes.
106
+ _override_localeconv = {}
107
+
108
+ @functools.wraps(_localeconv)
109
+ def localeconv():
110
+ d = _localeconv()
111
+ if _override_localeconv:
112
+ d.update(_override_localeconv)
113
+ return d
114
+
115
+
116
+ ### Number formatting APIs
117
+
118
+ # Author: Martin von Loewis
119
+ # improved by Georg Brandl
120
+
121
+ # Iterate over grouping intervals
122
+ def _grouping_intervals(grouping):
123
+ last_interval = None
124
+ for interval in grouping:
125
+ # if grouping is -1, we are done
126
+ if interval == CHAR_MAX:
127
+ return
128
+ # 0: re-use last group ad infinitum
129
+ if interval == 0:
130
+ if last_interval is None:
131
+ raise ValueError("invalid grouping")
132
+ while True:
133
+ yield last_interval
134
+ yield interval
135
+ last_interval = interval
136
+
137
+ #perform the grouping from right to left
138
+ def _group(s, monetary=False):
139
+ conv = localeconv()
140
+ thousands_sep = conv[monetary and 'mon_thousands_sep' or 'thousands_sep']
141
+ grouping = conv[monetary and 'mon_grouping' or 'grouping']
142
+ if not grouping:
143
+ return (s, 0)
144
+ if s[-1] == ' ':
145
+ stripped = s.rstrip()
146
+ right_spaces = s[len(stripped):]
147
+ s = stripped
148
+ else:
149
+ right_spaces = ''
150
+ left_spaces = ''
151
+ groups = []
152
+ for interval in _grouping_intervals(grouping):
153
+ if not s or s[-1] not in "0123456789":
154
+ # only non-digit characters remain (sign, spaces)
155
+ left_spaces = s
156
+ s = ''
157
+ break
158
+ groups.append(s[-interval:])
159
+ s = s[:-interval]
160
+ if s:
161
+ groups.append(s)
162
+ groups.reverse()
163
+ return (
164
+ left_spaces + thousands_sep.join(groups) + right_spaces,
165
+ len(thousands_sep) * (len(groups) - 1)
166
+ )
167
+
168
+ # Strip a given amount of excess padding from the given string
169
+ def _strip_padding(s, amount):
170
+ lpos = 0
171
+ while amount and s[lpos] == ' ':
172
+ lpos += 1
173
+ amount -= 1
174
+ rpos = len(s) - 1
175
+ while amount and s[rpos] == ' ':
176
+ rpos -= 1
177
+ amount -= 1
178
+ return s[lpos:rpos+1]
179
+
180
+ _percent_re = re.compile(r'%(?:\((?P<key>.*?)\))?'
181
+ r'(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]')
182
+
183
+ def _format(percent, value, grouping=False, monetary=False, *additional):
184
+ if additional:
185
+ formatted = percent % ((value,) + additional)
186
+ else:
187
+ formatted = percent % value
188
+ if percent[-1] in 'eEfFgGdiu':
189
+ formatted = _localize(formatted, grouping, monetary)
190
+ return formatted
191
+
192
+ # Transform formatted as locale number according to the locale settings
193
+ def _localize(formatted, grouping=False, monetary=False):
194
+ # floats and decimal ints need special action!
195
+ if '.' in formatted:
196
+ seps = 0
197
+ parts = formatted.split('.')
198
+ if grouping:
199
+ parts[0], seps = _group(parts[0], monetary=monetary)
200
+ decimal_point = localeconv()[monetary and 'mon_decimal_point'
201
+ or 'decimal_point']
202
+ formatted = decimal_point.join(parts)
203
+ if seps:
204
+ formatted = _strip_padding(formatted, seps)
205
+ else:
206
+ seps = 0
207
+ if grouping:
208
+ formatted, seps = _group(formatted, monetary=monetary)
209
+ if seps:
210
+ formatted = _strip_padding(formatted, seps)
211
+ return formatted
212
+
213
+ def format_string(f, val, grouping=False, monetary=False):
214
+ """Formats a string in the same way that the % formatting would use,
215
+ but takes the current locale into account.
216
+
217
+ Grouping is applied if the third parameter is true.
218
+ Conversion uses monetary thousands separator and grouping strings if
219
+ forth parameter monetary is true."""
220
+ percents = list(_percent_re.finditer(f))
221
+ new_f = _percent_re.sub('%s', f)
222
+
223
+ if isinstance(val, _collections_abc.Mapping):
224
+ new_val = []
225
+ for perc in percents:
226
+ if perc.group()[-1]=='%':
227
+ new_val.append('%')
228
+ else:
229
+ new_val.append(_format(perc.group(), val, grouping, monetary))
230
+ else:
231
+ if not isinstance(val, tuple):
232
+ val = (val,)
233
+ new_val = []
234
+ i = 0
235
+ for perc in percents:
236
+ if perc.group()[-1]=='%':
237
+ new_val.append('%')
238
+ else:
239
+ starcount = perc.group('modifiers').count('*')
240
+ new_val.append(_format(perc.group(),
241
+ val[i],
242
+ grouping,
243
+ monetary,
244
+ *val[i+1:i+1+starcount]))
245
+ i += (1 + starcount)
246
+ val = tuple(new_val)
247
+
248
+ return new_f % val
249
+
250
+ def currency(val, symbol=True, grouping=False, international=False):
251
+ """Formats val according to the currency settings
252
+ in the current locale."""
253
+ conv = localeconv()
254
+
255
+ # check for illegal values
256
+ digits = conv[international and 'int_frac_digits' or 'frac_digits']
257
+ if digits == 127:
258
+ raise ValueError("Currency formatting is not possible using "
259
+ "the 'C' locale.")
260
+
261
+ s = _localize(f'{abs(val):.{digits}f}', grouping, monetary=True)
262
+ # '<' and '>' are markers if the sign must be inserted between symbol and value
263
+ s = '<' + s + '>'
264
+
265
+ if symbol:
266
+ smb = conv[international and 'int_curr_symbol' or 'currency_symbol']
267
+ precedes = conv[val<0 and 'n_cs_precedes' or 'p_cs_precedes']
268
+ separated = conv[val<0 and 'n_sep_by_space' or 'p_sep_by_space']
269
+
270
+ if precedes:
271
+ s = smb + (separated and ' ' or '') + s
272
+ else:
273
+ if international and smb[-1] == ' ':
274
+ smb = smb[:-1]
275
+ s = s + (separated and ' ' or '') + smb
276
+
277
+ sign_pos = conv[val<0 and 'n_sign_posn' or 'p_sign_posn']
278
+ sign = conv[val<0 and 'negative_sign' or 'positive_sign']
279
+
280
+ if sign_pos == 0:
281
+ s = '(' + s + ')'
282
+ elif sign_pos == 1:
283
+ s = sign + s
284
+ elif sign_pos == 2:
285
+ s = s + sign
286
+ elif sign_pos == 3:
287
+ s = s.replace('<', sign)
288
+ elif sign_pos == 4:
289
+ s = s.replace('>', sign)
290
+ else:
291
+ # the default if nothing specified;
292
+ # this should be the most fitting sign position
293
+ s = sign + s
294
+
295
+ return s.replace('<', '').replace('>', '')
296
+
297
+ def str(val):
298
+ """Convert float to string, taking the locale into account."""
299
+ return _format("%.12g", val)
300
+
301
+ def delocalize(string):
302
+ "Parses a string as a normalized number according to the locale settings."
303
+
304
+ conv = localeconv()
305
+
306
+ #First, get rid of the grouping
307
+ ts = conv['thousands_sep']
308
+ if ts:
309
+ string = string.replace(ts, '')
310
+
311
+ #next, replace the decimal point with a dot
312
+ dd = conv['decimal_point']
313
+ if dd:
314
+ string = string.replace(dd, '.')
315
+ return string
316
+
317
+ def localize(string, grouping=False, monetary=False):
318
+ """Parses a string as locale number according to the locale settings."""
319
+ return _localize(string, grouping, monetary)
320
+
321
+ def atof(string, func=float):
322
+ "Parses a string as a float according to the locale settings."
323
+ return func(delocalize(string))
324
+
325
+ def atoi(string):
326
+ "Converts a string to an integer according to the locale settings."
327
+ return int(delocalize(string))
328
+
329
+ def _test():
330
+ setlocale(LC_ALL, "")
331
+ #do grouping
332
+ s1 = format_string("%d", 123456789,1)
333
+ print(s1, "is", atoi(s1))
334
+ #standard formatting
335
+ s1 = str(3.14)
336
+ print(s1, "is", atof(s1))
337
+
338
+ ### Locale name aliasing engine
339
+
340
+ # Author: Marc-Andre Lemburg, mal@lemburg.com
341
+ # Various tweaks by Fredrik Lundh <fredrik@pythonware.com>
342
+
343
+ # store away the low-level version of setlocale (it's
344
+ # overridden below)
345
+ _setlocale = setlocale
346
+
347
+ def _replace_encoding(code, encoding):
348
+ if '.' in code:
349
+ langname = code[:code.index('.')]
350
+ else:
351
+ langname = code
352
+ # Convert the encoding to a C lib compatible encoding string
353
+ norm_encoding = encodings.normalize_encoding(encoding)
354
+ #print('norm encoding: %r' % norm_encoding)
355
+ norm_encoding = encodings.aliases.aliases.get(norm_encoding.lower(),
356
+ norm_encoding)
357
+ #print('aliased encoding: %r' % norm_encoding)
358
+ encoding = norm_encoding
359
+ norm_encoding = norm_encoding.lower()
360
+ if norm_encoding in locale_encoding_alias:
361
+ encoding = locale_encoding_alias[norm_encoding]
362
+ else:
363
+ norm_encoding = norm_encoding.replace('_', '')
364
+ norm_encoding = norm_encoding.replace('-', '')
365
+ if norm_encoding in locale_encoding_alias:
366
+ encoding = locale_encoding_alias[norm_encoding]
367
+ #print('found encoding %r' % encoding)
368
+ return langname + '.' + encoding
369
+
370
+ def _append_modifier(code, modifier):
371
+ if modifier == 'euro':
372
+ if '.' not in code:
373
+ return code + '.ISO8859-15'
374
+ _, _, encoding = code.partition('.')
375
+ if encoding in ('ISO8859-15', 'UTF-8'):
376
+ return code
377
+ if encoding == 'ISO8859-1':
378
+ return _replace_encoding(code, 'ISO8859-15')
379
+ return code + '@' + modifier
380
+
381
+ def normalize(localename):
382
+
383
+ """ Returns a normalized locale code for the given locale
384
+ name.
385
+
386
+ The returned locale code is formatted for use with
387
+ setlocale().
388
+
389
+ If normalization fails, the original name is returned
390
+ unchanged.
391
+
392
+ If the given encoding is not known, the function defaults to
393
+ the default encoding for the locale code just like setlocale()
394
+ does.
395
+
396
+ """
397
+ # Normalize the locale name and extract the encoding and modifier
398
+ code = localename.lower()
399
+ if ':' in code:
400
+ # ':' is sometimes used as encoding delimiter.
401
+ code = code.replace(':', '.')
402
+ if '@' in code:
403
+ code, modifier = code.split('@', 1)
404
+ else:
405
+ modifier = ''
406
+ if '.' in code:
407
+ langname, encoding = code.split('.')[:2]
408
+ else:
409
+ langname = code
410
+ encoding = ''
411
+
412
+ # First lookup: fullname (possibly with encoding and modifier)
413
+ lang_enc = langname
414
+ if encoding:
415
+ norm_encoding = encoding.replace('-', '')
416
+ norm_encoding = norm_encoding.replace('_', '')
417
+ lang_enc += '.' + norm_encoding
418
+ lookup_name = lang_enc
419
+ if modifier:
420
+ lookup_name += '@' + modifier
421
+ code = locale_alias.get(lookup_name, None)
422
+ if code is not None:
423
+ return code
424
+ #print('first lookup failed')
425
+
426
+ if modifier:
427
+ # Second try: fullname without modifier (possibly with encoding)
428
+ code = locale_alias.get(lang_enc, None)
429
+ if code is not None:
430
+ #print('lookup without modifier succeeded')
431
+ if '@' not in code:
432
+ return _append_modifier(code, modifier)
433
+ if code.split('@', 1)[1].lower() == modifier:
434
+ return code
435
+ #print('second lookup failed')
436
+
437
+ if encoding:
438
+ # Third try: langname (without encoding, possibly with modifier)
439
+ lookup_name = langname
440
+ if modifier:
441
+ lookup_name += '@' + modifier
442
+ code = locale_alias.get(lookup_name, None)
443
+ if code is not None:
444
+ #print('lookup without encoding succeeded')
445
+ if '@' not in code:
446
+ return _replace_encoding(code, encoding)
447
+ code, modifier = code.split('@', 1)
448
+ return _replace_encoding(code, encoding) + '@' + modifier
449
+
450
+ if modifier:
451
+ # Fourth try: langname (without encoding and modifier)
452
+ code = locale_alias.get(langname, None)
453
+ if code is not None:
454
+ #print('lookup without modifier and encoding succeeded')
455
+ if '@' not in code:
456
+ code = _replace_encoding(code, encoding)
457
+ return _append_modifier(code, modifier)
458
+ code, defmod = code.split('@', 1)
459
+ if defmod.lower() == modifier:
460
+ return _replace_encoding(code, encoding) + '@' + defmod
461
+
462
+ return localename
463
+
464
+ def _parse_localename(localename):
465
+
466
+ """ Parses the locale code for localename and returns the
467
+ result as tuple (language code, encoding).
468
+
469
+ The localename is normalized and passed through the locale
470
+ alias engine. A ValueError is raised in case the locale name
471
+ cannot be parsed.
472
+
473
+ The language code corresponds to RFC 1766. code and encoding
474
+ can be None in case the values cannot be determined or are
475
+ unknown to this implementation.
476
+
477
+ """
478
+ code = normalize(localename)
479
+ if '@' in code:
480
+ # Deal with locale modifiers
481
+ code, modifier = code.split('@', 1)
482
+ if modifier == 'euro' and '.' not in code:
483
+ # Assume Latin-9 for @euro locales. This is bogus,
484
+ # since some systems may use other encodings for these
485
+ # locales. Also, we ignore other modifiers.
486
+ return code, 'iso-8859-15'
487
+
488
+ if '.' in code:
489
+ return tuple(code.split('.')[:2])
490
+ elif code == 'C':
491
+ return None, None
492
+ elif code == 'UTF-8':
493
+ # On macOS "LC_CTYPE=UTF-8" is a valid locale setting
494
+ # for getting UTF-8 handling for text.
495
+ return None, 'UTF-8'
496
+ raise ValueError('unknown locale: %s' % localename)
497
+
498
+ def _build_localename(localetuple):
499
+
500
+ """ Builds a locale code from the given tuple (language code,
501
+ encoding).
502
+
503
+ No aliasing or normalizing takes place.
504
+
505
+ """
506
+ try:
507
+ language, encoding = localetuple
508
+
509
+ if language is None:
510
+ language = 'C'
511
+ if encoding is None:
512
+ return language
513
+ else:
514
+ return language + '.' + encoding
515
+ except (TypeError, ValueError):
516
+ raise TypeError('Locale must be None, a string, or an iterable of '
517
+ 'two strings -- language code, encoding.') from None
518
+
519
+ def getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')):
520
+
521
+ """ Tries to determine the default locale settings and returns
522
+ them as tuple (language code, encoding).
523
+
524
+ According to POSIX, a program which has not called
525
+ setlocale(LC_ALL, "") runs using the portable 'C' locale.
526
+ Calling setlocale(LC_ALL, "") lets it use the default locale as
527
+ defined by the LANG variable. Since we don't want to interfere
528
+ with the current locale setting we thus emulate the behavior
529
+ in the way described above.
530
+
531
+ To maintain compatibility with other platforms, not only the
532
+ LANG variable is tested, but a list of variables given as
533
+ envvars parameter. The first found to be defined will be
534
+ used. envvars defaults to the search path used in GNU gettext;
535
+ it must always contain the variable name 'LANG'.
536
+
537
+ Except for the code 'C', the language code corresponds to RFC
538
+ 1766. code and encoding can be None in case the values cannot
539
+ be determined.
540
+
541
+ """
542
+
543
+ import warnings
544
+ warnings._deprecated(
545
+ "locale.getdefaultlocale",
546
+ "{name!r} is deprecated and slated for removal in Python {remove}. "
547
+ "Use setlocale(), getencoding() and getlocale() instead.",
548
+ remove=(3, 15))
549
+ return _getdefaultlocale(envvars)
550
+
551
+
552
+ def _getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')):
553
+ try:
554
+ # check if it's supported by the _locale module
555
+ import _locale
556
+ code, encoding = _locale._getdefaultlocale()
557
+ except (ImportError, AttributeError):
558
+ pass
559
+ else:
560
+ # make sure the code/encoding values are valid
561
+ if sys.platform == "win32" and code and code[:2] == "0x":
562
+ # map windows language identifier to language name
563
+ code = windows_locale.get(int(code, 0))
564
+ # ...add other platform-specific processing here, if
565
+ # necessary...
566
+ return code, encoding
567
+
568
+ # fall back on POSIX behaviour
569
+ import os
570
+ lookup = os.environ.get
571
+ for variable in envvars:
572
+ localename = lookup(variable,None)
573
+ if localename:
574
+ if variable == 'LANGUAGE':
575
+ localename = localename.split(':')[0]
576
+ break
577
+ else:
578
+ localename = 'C'
579
+ return _parse_localename(localename)
580
+
581
+
582
+ def getlocale(category=LC_CTYPE):
583
+
584
+ """ Returns the current setting for the given locale category as
585
+ tuple (language code, encoding).
586
+
587
+ category may be one of the LC_* value except LC_ALL. It
588
+ defaults to LC_CTYPE.
589
+
590
+ Except for the code 'C', the language code corresponds to RFC
591
+ 1766. code and encoding can be None in case the values cannot
592
+ be determined.
593
+
594
+ """
595
+ localename = _setlocale(category)
596
+ if category == LC_ALL and ';' in localename:
597
+ raise TypeError('category LC_ALL is not supported')
598
+ return _parse_localename(localename)
599
+
600
+ def setlocale(category, locale=None):
601
+
602
+ """ Set the locale for the given category. The locale can be
603
+ a string, an iterable of two strings (language code and encoding),
604
+ or None.
605
+
606
+ Iterables are converted to strings using the locale aliasing
607
+ engine. Locale strings are passed directly to the C lib.
608
+
609
+ category may be given as one of the LC_* values.
610
+
611
+ """
612
+ if locale and not isinstance(locale, _builtin_str):
613
+ # convert to string
614
+ locale = normalize(_build_localename(locale))
615
+ return _setlocale(category, locale)
616
+
617
+ def resetlocale(category=LC_ALL):
618
+
619
+ """ Sets the locale for category to the default setting.
620
+
621
+ The default setting is determined by calling
622
+ getdefaultlocale(). category defaults to LC_ALL.
623
+
624
+ """
625
+ import warnings
626
+ warnings.warn(
627
+ 'Use locale.setlocale(locale.LC_ALL, "") instead',
628
+ DeprecationWarning, stacklevel=2
629
+ )
630
+
631
+ with warnings.catch_warnings():
632
+ warnings.simplefilter('ignore', category=DeprecationWarning)
633
+ loc = getdefaultlocale()
634
+
635
+ _setlocale(category, _build_localename(loc))
636
+
637
+
638
+ try:
639
+ from _locale import getencoding
640
+ except ImportError:
641
+ def getencoding():
642
+ if hasattr(sys, 'getandroidapilevel'):
643
+ # On Android langinfo.h and CODESET are missing, and UTF-8 is
644
+ # always used in mbstowcs() and wcstombs().
645
+ return 'utf-8'
646
+ encoding = _getdefaultlocale()[1]
647
+ if encoding is None:
648
+ # LANG not set, default to UTF-8
649
+ encoding = 'utf-8'
650
+ return encoding
651
+
652
+ try:
653
+ CODESET
654
+ except NameError:
655
+ def getpreferredencoding(do_setlocale=True):
656
+ """Return the charset that the user is likely using."""
657
+ if sys.flags.warn_default_encoding:
658
+ import warnings
659
+ warnings.warn(
660
+ "UTF-8 Mode affects locale.getpreferredencoding(). Consider locale.getencoding() instead.",
661
+ EncodingWarning, 2)
662
+ if sys.flags.utf8_mode:
663
+ return 'utf-8'
664
+ return getencoding()
665
+ else:
666
+ # On Unix, if CODESET is available, use that.
667
+ def getpreferredencoding(do_setlocale=True):
668
+ """Return the charset that the user is likely using,
669
+ according to the system configuration."""
670
+
671
+ if sys.flags.warn_default_encoding:
672
+ import warnings
673
+ warnings.warn(
674
+ "UTF-8 Mode affects locale.getpreferredencoding(). Consider locale.getencoding() instead.",
675
+ EncodingWarning, 2)
676
+ if sys.flags.utf8_mode:
677
+ return 'utf-8'
678
+
679
+ if not do_setlocale:
680
+ return getencoding()
681
+
682
+ old_loc = setlocale(LC_CTYPE)
683
+ try:
684
+ try:
685
+ setlocale(LC_CTYPE, "")
686
+ except Error:
687
+ pass
688
+ return getencoding()
689
+ finally:
690
+ setlocale(LC_CTYPE, old_loc)
691
+
692
+
693
+ ### Database
694
+ #
695
+ # The following data was extracted from the locale.alias file which
696
+ # comes with X11 and then hand edited removing the explicit encoding
697
+ # definitions and adding some more aliases. The file is usually
698
+ # available as /usr/lib/X11/locale/locale.alias.
699
+ #
700
+
701
+ #
702
+ # The local_encoding_alias table maps lowercase encoding alias names
703
+ # to C locale encoding names (case-sensitive). Note that normalize()
704
+ # first looks up the encoding in the encodings.aliases dictionary and
705
+ # then applies this mapping to find the correct C lib name for the
706
+ # encoding.
707
+ #
708
+ locale_encoding_alias = {
709
+
710
+ # Mappings for non-standard encoding names used in locale names
711
+ '437': 'C',
712
+ 'c': 'C',
713
+ 'en': 'ISO8859-1',
714
+ 'jis': 'JIS7',
715
+ 'jis7': 'JIS7',
716
+ 'ajec': 'eucJP',
717
+ 'koi8c': 'KOI8-C',
718
+ 'microsoftcp1251': 'CP1251',
719
+ 'microsoftcp1255': 'CP1255',
720
+ 'microsoftcp1256': 'CP1256',
721
+ '88591': 'ISO8859-1',
722
+ '88592': 'ISO8859-2',
723
+ '88595': 'ISO8859-5',
724
+ '885915': 'ISO8859-15',
725
+
726
+ # Mappings from Python codec names to C lib encoding names
727
+ 'ascii': 'ISO8859-1',
728
+ 'latin_1': 'ISO8859-1',
729
+ 'iso8859_1': 'ISO8859-1',
730
+ 'iso8859_10': 'ISO8859-10',
731
+ 'iso8859_11': 'ISO8859-11',
732
+ 'iso8859_13': 'ISO8859-13',
733
+ 'iso8859_14': 'ISO8859-14',
734
+ 'iso8859_15': 'ISO8859-15',
735
+ 'iso8859_16': 'ISO8859-16',
736
+ 'iso8859_2': 'ISO8859-2',
737
+ 'iso8859_3': 'ISO8859-3',
738
+ 'iso8859_4': 'ISO8859-4',
739
+ 'iso8859_5': 'ISO8859-5',
740
+ 'iso8859_6': 'ISO8859-6',
741
+ 'iso8859_7': 'ISO8859-7',
742
+ 'iso8859_8': 'ISO8859-8',
743
+ 'iso8859_9': 'ISO8859-9',
744
+ 'iso2022_jp': 'JIS7',
745
+ 'shift_jis': 'SJIS',
746
+ 'tactis': 'TACTIS',
747
+ 'euc_jp': 'eucJP',
748
+ 'euc_kr': 'eucKR',
749
+ 'utf_8': 'UTF-8',
750
+ 'koi8_r': 'KOI8-R',
751
+ 'koi8_t': 'KOI8-T',
752
+ 'koi8_u': 'KOI8-U',
753
+ 'kz1048': 'RK1048',
754
+ 'cp1251': 'CP1251',
755
+ 'cp1255': 'CP1255',
756
+ 'cp1256': 'CP1256',
757
+
758
+ # XXX This list is still incomplete. If you know more
759
+ # mappings, please file a bug report. Thanks.
760
+ }
761
+
762
+ for k, v in sorted(locale_encoding_alias.items()):
763
+ k = k.replace('_', '')
764
+ locale_encoding_alias.setdefault(k, v)
765
+ del k, v
766
+
767
+ #
768
+ # The locale_alias table maps lowercase alias names to C locale names
769
+ # (case-sensitive). Encodings are always separated from the locale
770
+ # name using a dot ('.'); they should only be given in case the
771
+ # language name is needed to interpret the given encoding alias
772
+ # correctly (CJK codes often have this need).
773
+ #
774
+ # Note that the normalize() function which uses this tables
775
+ # removes '_' and '-' characters from the encoding part of the
776
+ # locale name before doing the lookup. This saves a lot of
777
+ # space in the table.
778
+ #
779
+ # MAL 2004-12-10:
780
+ # Updated alias mapping to most recent locale.alias file
781
+ # from X.org distribution using makelocalealias.py.
782
+ #
783
+ # These are the differences compared to the old mapping (Python 2.4
784
+ # and older):
785
+ #
786
+ # updated 'bg' -> 'bg_BG.ISO8859-5' to 'bg_BG.CP1251'
787
+ # updated 'bg_bg' -> 'bg_BG.ISO8859-5' to 'bg_BG.CP1251'
788
+ # updated 'bulgarian' -> 'bg_BG.ISO8859-5' to 'bg_BG.CP1251'
789
+ # updated 'cz' -> 'cz_CZ.ISO8859-2' to 'cs_CZ.ISO8859-2'
790
+ # updated 'cz_cz' -> 'cz_CZ.ISO8859-2' to 'cs_CZ.ISO8859-2'
791
+ # updated 'czech' -> 'cs_CS.ISO8859-2' to 'cs_CZ.ISO8859-2'
792
+ # updated 'dutch' -> 'nl_BE.ISO8859-1' to 'nl_NL.ISO8859-1'
793
+ # updated 'et' -> 'et_EE.ISO8859-4' to 'et_EE.ISO8859-15'
794
+ # updated 'et_ee' -> 'et_EE.ISO8859-4' to 'et_EE.ISO8859-15'
795
+ # updated 'fi' -> 'fi_FI.ISO8859-1' to 'fi_FI.ISO8859-15'
796
+ # updated 'fi_fi' -> 'fi_FI.ISO8859-1' to 'fi_FI.ISO8859-15'
797
+ # updated 'iw' -> 'iw_IL.ISO8859-8' to 'he_IL.ISO8859-8'
798
+ # updated 'iw_il' -> 'iw_IL.ISO8859-8' to 'he_IL.ISO8859-8'
799
+ # updated 'japanese' -> 'ja_JP.SJIS' to 'ja_JP.eucJP'
800
+ # updated 'lt' -> 'lt_LT.ISO8859-4' to 'lt_LT.ISO8859-13'
801
+ # updated 'lv' -> 'lv_LV.ISO8859-4' to 'lv_LV.ISO8859-13'
802
+ # updated 'sl' -> 'sl_CS.ISO8859-2' to 'sl_SI.ISO8859-2'
803
+ # updated 'slovene' -> 'sl_CS.ISO8859-2' to 'sl_SI.ISO8859-2'
804
+ # updated 'th_th' -> 'th_TH.TACTIS' to 'th_TH.ISO8859-11'
805
+ # updated 'zh_cn' -> 'zh_CN.eucCN' to 'zh_CN.gb2312'
806
+ # updated 'zh_cn.big5' -> 'zh_TW.eucTW' to 'zh_TW.big5'
807
+ # updated 'zh_tw' -> 'zh_TW.eucTW' to 'zh_TW.big5'
808
+ #
809
+ # MAL 2008-05-30:
810
+ # Updated alias mapping to most recent locale.alias file
811
+ # from X.org distribution using makelocalealias.py.
812
+ #
813
+ # These are the differences compared to the old mapping (Python 2.5
814
+ # and older):
815
+ #
816
+ # updated 'cs_cs.iso88592' -> 'cs_CZ.ISO8859-2' to 'cs_CS.ISO8859-2'
817
+ # updated 'serbocroatian' -> 'sh_YU.ISO8859-2' to 'sr_CS.ISO8859-2'
818
+ # updated 'sh' -> 'sh_YU.ISO8859-2' to 'sr_CS.ISO8859-2'
819
+ # updated 'sh_hr.iso88592' -> 'sh_HR.ISO8859-2' to 'hr_HR.ISO8859-2'
820
+ # updated 'sh_sp' -> 'sh_YU.ISO8859-2' to 'sr_CS.ISO8859-2'
821
+ # updated 'sh_yu' -> 'sh_YU.ISO8859-2' to 'sr_CS.ISO8859-2'
822
+ # updated 'sp' -> 'sp_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
823
+ # updated 'sp_yu' -> 'sp_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
824
+ # updated 'sr' -> 'sr_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
825
+ # updated 'sr@cyrillic' -> 'sr_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
826
+ # updated 'sr_sp' -> 'sr_SP.ISO8859-2' to 'sr_CS.ISO8859-2'
827
+ # updated 'sr_yu' -> 'sr_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
828
+ # updated 'sr_yu.cp1251@cyrillic' -> 'sr_YU.CP1251' to 'sr_CS.CP1251'
829
+ # updated 'sr_yu.iso88592' -> 'sr_YU.ISO8859-2' to 'sr_CS.ISO8859-2'
830
+ # updated 'sr_yu.iso88595' -> 'sr_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
831
+ # updated 'sr_yu.iso88595@cyrillic' -> 'sr_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
832
+ # updated 'sr_yu.microsoftcp1251@cyrillic' -> 'sr_YU.CP1251' to 'sr_CS.CP1251'
833
+ # updated 'sr_yu.utf8@cyrillic' -> 'sr_YU.UTF-8' to 'sr_CS.UTF-8'
834
+ # updated 'sr_yu@cyrillic' -> 'sr_YU.ISO8859-5' to 'sr_CS.ISO8859-5'
835
+ #
836
+ # AP 2010-04-12:
837
+ # Updated alias mapping to most recent locale.alias file
838
+ # from X.org distribution using makelocalealias.py.
839
+ #
840
+ # These are the differences compared to the old mapping (Python 2.6.5
841
+ # and older):
842
+ #
843
+ # updated 'ru' -> 'ru_RU.ISO8859-5' to 'ru_RU.UTF-8'
844
+ # updated 'ru_ru' -> 'ru_RU.ISO8859-5' to 'ru_RU.UTF-8'
845
+ # updated 'serbocroatian' -> 'sr_CS.ISO8859-2' to 'sr_RS.UTF-8@latin'
846
+ # updated 'sh' -> 'sr_CS.ISO8859-2' to 'sr_RS.UTF-8@latin'
847
+ # updated 'sh_yu' -> 'sr_CS.ISO8859-2' to 'sr_RS.UTF-8@latin'
848
+ # updated 'sr' -> 'sr_CS.ISO8859-5' to 'sr_RS.UTF-8'
849
+ # updated 'sr@cyrillic' -> 'sr_CS.ISO8859-5' to 'sr_RS.UTF-8'
850
+ # updated 'sr@latn' -> 'sr_CS.ISO8859-2' to 'sr_RS.UTF-8@latin'
851
+ # updated 'sr_cs.utf8@latn' -> 'sr_CS.UTF-8' to 'sr_RS.UTF-8@latin'
852
+ # updated 'sr_cs@latn' -> 'sr_CS.ISO8859-2' to 'sr_RS.UTF-8@latin'
853
+ # updated 'sr_yu' -> 'sr_CS.ISO8859-5' to 'sr_RS.UTF-8@latin'
854
+ # updated 'sr_yu.utf8@cyrillic' -> 'sr_CS.UTF-8' to 'sr_RS.UTF-8'
855
+ # updated 'sr_yu@cyrillic' -> 'sr_CS.ISO8859-5' to 'sr_RS.UTF-8'
856
+ #
857
+ # SS 2013-12-20:
858
+ # Updated alias mapping to most recent locale.alias file
859
+ # from X.org distribution using makelocalealias.py.
860
+ #
861
+ # These are the differences compared to the old mapping (Python 3.3.3
862
+ # and older):
863
+ #
864
+ # updated 'a3' -> 'a3_AZ.KOI8-C' to 'az_AZ.KOI8-C'
865
+ # updated 'a3_az' -> 'a3_AZ.KOI8-C' to 'az_AZ.KOI8-C'
866
+ # updated 'a3_az.koi8c' -> 'a3_AZ.KOI8-C' to 'az_AZ.KOI8-C'
867
+ # updated 'cs_cs.iso88592' -> 'cs_CS.ISO8859-2' to 'cs_CZ.ISO8859-2'
868
+ # updated 'hebrew' -> 'iw_IL.ISO8859-8' to 'he_IL.ISO8859-8'
869
+ # updated 'hebrew.iso88598' -> 'iw_IL.ISO8859-8' to 'he_IL.ISO8859-8'
870
+ # updated 'sd' -> 'sd_IN@devanagari.UTF-8' to 'sd_IN.UTF-8'
871
+ # updated 'sr@latn' -> 'sr_RS.UTF-8@latin' to 'sr_CS.UTF-8@latin'
872
+ # updated 'sr_cs' -> 'sr_RS.UTF-8' to 'sr_CS.UTF-8'
873
+ # updated 'sr_cs.utf8@latn' -> 'sr_RS.UTF-8@latin' to 'sr_CS.UTF-8@latin'
874
+ # updated 'sr_cs@latn' -> 'sr_RS.UTF-8@latin' to 'sr_CS.UTF-8@latin'
875
+ #
876
+ # SS 2014-10-01:
877
+ # Updated alias mapping with glibc 2.19 supported locales.
878
+ #
879
+ # SS 2018-05-05:
880
+ # Updated alias mapping with glibc 2.27 supported locales.
881
+ #
882
+ # These are the differences compared to the old mapping (Python 3.6.5
883
+ # and older):
884
+ #
885
+ # updated 'ca_es@valencia' -> 'ca_ES.ISO8859-15@valencia' to 'ca_ES.UTF-8@valencia'
886
+ # updated 'kk_kz' -> 'kk_KZ.RK1048' to 'kk_KZ.ptcp154'
887
+ # updated 'russian' -> 'ru_RU.ISO8859-5' to 'ru_RU.KOI8-R'
888
+
889
+ locale_alias = {
890
+ 'a3': 'az_AZ.KOI8-C',
891
+ 'a3_az': 'az_AZ.KOI8-C',
892
+ 'a3_az.koic': 'az_AZ.KOI8-C',
893
+ 'aa_dj': 'aa_DJ.ISO8859-1',
894
+ 'aa_er': 'aa_ER.UTF-8',
895
+ 'aa_et': 'aa_ET.UTF-8',
896
+ 'af': 'af_ZA.ISO8859-1',
897
+ 'af_za': 'af_ZA.ISO8859-1',
898
+ 'agr_pe': 'agr_PE.UTF-8',
899
+ 'ak_gh': 'ak_GH.UTF-8',
900
+ 'am': 'am_ET.UTF-8',
901
+ 'am_et': 'am_ET.UTF-8',
902
+ 'american': 'en_US.ISO8859-1',
903
+ 'an_es': 'an_ES.ISO8859-15',
904
+ 'anp_in': 'anp_IN.UTF-8',
905
+ 'ar': 'ar_AA.ISO8859-6',
906
+ 'ar_aa': 'ar_AA.ISO8859-6',
907
+ 'ar_ae': 'ar_AE.ISO8859-6',
908
+ 'ar_bh': 'ar_BH.ISO8859-6',
909
+ 'ar_dz': 'ar_DZ.ISO8859-6',
910
+ 'ar_eg': 'ar_EG.ISO8859-6',
911
+ 'ar_in': 'ar_IN.UTF-8',
912
+ 'ar_iq': 'ar_IQ.ISO8859-6',
913
+ 'ar_jo': 'ar_JO.ISO8859-6',
914
+ 'ar_kw': 'ar_KW.ISO8859-6',
915
+ 'ar_lb': 'ar_LB.ISO8859-6',
916
+ 'ar_ly': 'ar_LY.ISO8859-6',
917
+ 'ar_ma': 'ar_MA.ISO8859-6',
918
+ 'ar_om': 'ar_OM.ISO8859-6',
919
+ 'ar_qa': 'ar_QA.ISO8859-6',
920
+ 'ar_sa': 'ar_SA.ISO8859-6',
921
+ 'ar_sd': 'ar_SD.ISO8859-6',
922
+ 'ar_ss': 'ar_SS.UTF-8',
923
+ 'ar_sy': 'ar_SY.ISO8859-6',
924
+ 'ar_tn': 'ar_TN.ISO8859-6',
925
+ 'ar_ye': 'ar_YE.ISO8859-6',
926
+ 'arabic': 'ar_AA.ISO8859-6',
927
+ 'as': 'as_IN.UTF-8',
928
+ 'as_in': 'as_IN.UTF-8',
929
+ 'ast_es': 'ast_ES.ISO8859-15',
930
+ 'ayc_pe': 'ayc_PE.UTF-8',
931
+ 'az': 'az_AZ.ISO8859-9E',
932
+ 'az_az': 'az_AZ.ISO8859-9E',
933
+ 'az_az.iso88599e': 'az_AZ.ISO8859-9E',
934
+ 'az_ir': 'az_IR.UTF-8',
935
+ 'be': 'be_BY.CP1251',
936
+ 'be@latin': 'be_BY.UTF-8@latin',
937
+ 'be_bg.utf8': 'bg_BG.UTF-8',
938
+ 'be_by': 'be_BY.CP1251',
939
+ 'be_by@latin': 'be_BY.UTF-8@latin',
940
+ 'bem_zm': 'bem_ZM.UTF-8',
941
+ 'ber_dz': 'ber_DZ.UTF-8',
942
+ 'ber_ma': 'ber_MA.UTF-8',
943
+ 'bg': 'bg_BG.CP1251',
944
+ 'bg_bg': 'bg_BG.CP1251',
945
+ 'bhb_in.utf8': 'bhb_IN.UTF-8',
946
+ 'bho_in': 'bho_IN.UTF-8',
947
+ 'bho_np': 'bho_NP.UTF-8',
948
+ 'bi_vu': 'bi_VU.UTF-8',
949
+ 'bn_bd': 'bn_BD.UTF-8',
950
+ 'bn_in': 'bn_IN.UTF-8',
951
+ 'bo_cn': 'bo_CN.UTF-8',
952
+ 'bo_in': 'bo_IN.UTF-8',
953
+ 'bokmal': 'nb_NO.ISO8859-1',
954
+ 'bokm\xe5l': 'nb_NO.ISO8859-1',
955
+ 'br': 'br_FR.ISO8859-1',
956
+ 'br_fr': 'br_FR.ISO8859-1',
957
+ 'brx_in': 'brx_IN.UTF-8',
958
+ 'bs': 'bs_BA.ISO8859-2',
959
+ 'bs_ba': 'bs_BA.ISO8859-2',
960
+ 'bulgarian': 'bg_BG.CP1251',
961
+ 'byn_er': 'byn_ER.UTF-8',
962
+ 'c': 'C',
963
+ 'c-french': 'fr_CA.ISO8859-1',
964
+ 'c.ascii': 'C',
965
+ 'c.en': 'C',
966
+ 'c.iso88591': 'en_US.ISO8859-1',
967
+ 'c.utf8': 'C.UTF-8',
968
+ 'c_c': 'C',
969
+ 'c_c.c': 'C',
970
+ 'ca': 'ca_ES.ISO8859-1',
971
+ 'ca_ad': 'ca_AD.ISO8859-1',
972
+ 'ca_es': 'ca_ES.ISO8859-1',
973
+ 'ca_es@valencia': 'ca_ES.UTF-8@valencia',
974
+ 'ca_fr': 'ca_FR.ISO8859-1',
975
+ 'ca_it': 'ca_IT.ISO8859-1',
976
+ 'catalan': 'ca_ES.ISO8859-1',
977
+ 'ce_ru': 'ce_RU.UTF-8',
978
+ 'cextend': 'en_US.ISO8859-1',
979
+ 'chinese-s': 'zh_CN.eucCN',
980
+ 'chinese-t': 'zh_TW.eucTW',
981
+ 'chr_us': 'chr_US.UTF-8',
982
+ 'ckb_iq': 'ckb_IQ.UTF-8',
983
+ 'cmn_tw': 'cmn_TW.UTF-8',
984
+ 'crh_ua': 'crh_UA.UTF-8',
985
+ 'croatian': 'hr_HR.ISO8859-2',
986
+ 'cs': 'cs_CZ.ISO8859-2',
987
+ 'cs_cs': 'cs_CZ.ISO8859-2',
988
+ 'cs_cz': 'cs_CZ.ISO8859-2',
989
+ 'csb_pl': 'csb_PL.UTF-8',
990
+ 'cv_ru': 'cv_RU.UTF-8',
991
+ 'cy': 'cy_GB.ISO8859-1',
992
+ 'cy_gb': 'cy_GB.ISO8859-1',
993
+ 'cz': 'cs_CZ.ISO8859-2',
994
+ 'cz_cz': 'cs_CZ.ISO8859-2',
995
+ 'czech': 'cs_CZ.ISO8859-2',
996
+ 'da': 'da_DK.ISO8859-1',
997
+ 'da_dk': 'da_DK.ISO8859-1',
998
+ 'danish': 'da_DK.ISO8859-1',
999
+ 'dansk': 'da_DK.ISO8859-1',
1000
+ 'de': 'de_DE.ISO8859-1',
1001
+ 'de_at': 'de_AT.ISO8859-1',
1002
+ 'de_be': 'de_BE.ISO8859-1',
1003
+ 'de_ch': 'de_CH.ISO8859-1',
1004
+ 'de_de': 'de_DE.ISO8859-1',
1005
+ 'de_it': 'de_IT.ISO8859-1',
1006
+ 'de_li.utf8': 'de_LI.UTF-8',
1007
+ 'de_lu': 'de_LU.ISO8859-1',
1008
+ 'deutsch': 'de_DE.ISO8859-1',
1009
+ 'doi_in': 'doi_IN.UTF-8',
1010
+ 'dutch': 'nl_NL.ISO8859-1',
1011
+ 'dutch.iso88591': 'nl_BE.ISO8859-1',
1012
+ 'dv_mv': 'dv_MV.UTF-8',
1013
+ 'dz_bt': 'dz_BT.UTF-8',
1014
+ 'ee': 'ee_EE.ISO8859-4',
1015
+ 'ee_ee': 'ee_EE.ISO8859-4',
1016
+ 'eesti': 'et_EE.ISO8859-1',
1017
+ 'el': 'el_GR.ISO8859-7',
1018
+ 'el_cy': 'el_CY.ISO8859-7',
1019
+ 'el_gr': 'el_GR.ISO8859-7',
1020
+ 'el_gr@euro': 'el_GR.ISO8859-15',
1021
+ 'en': 'en_US.ISO8859-1',
1022
+ 'en_ag': 'en_AG.UTF-8',
1023
+ 'en_au': 'en_AU.ISO8859-1',
1024
+ 'en_be': 'en_BE.ISO8859-1',
1025
+ 'en_bw': 'en_BW.ISO8859-1',
1026
+ 'en_ca': 'en_CA.ISO8859-1',
1027
+ 'en_dk': 'en_DK.ISO8859-1',
1028
+ 'en_dl.utf8': 'en_DL.UTF-8',
1029
+ 'en_gb': 'en_GB.ISO8859-1',
1030
+ 'en_hk': 'en_HK.ISO8859-1',
1031
+ 'en_ie': 'en_IE.ISO8859-1',
1032
+ 'en_il': 'en_IL.UTF-8',
1033
+ 'en_in': 'en_IN.ISO8859-1',
1034
+ 'en_ng': 'en_NG.UTF-8',
1035
+ 'en_nz': 'en_NZ.ISO8859-1',
1036
+ 'en_ph': 'en_PH.ISO8859-1',
1037
+ 'en_sc.utf8': 'en_SC.UTF-8',
1038
+ 'en_sg': 'en_SG.ISO8859-1',
1039
+ 'en_uk': 'en_GB.ISO8859-1',
1040
+ 'en_us': 'en_US.ISO8859-1',
1041
+ 'en_us@euro@euro': 'en_US.ISO8859-15',
1042
+ 'en_za': 'en_ZA.ISO8859-1',
1043
+ 'en_zm': 'en_ZM.UTF-8',
1044
+ 'en_zw': 'en_ZW.ISO8859-1',
1045
+ 'en_zw.utf8': 'en_ZS.UTF-8',
1046
+ 'eng_gb': 'en_GB.ISO8859-1',
1047
+ 'english': 'en_EN.ISO8859-1',
1048
+ 'english.iso88591': 'en_US.ISO8859-1',
1049
+ 'english_uk': 'en_GB.ISO8859-1',
1050
+ 'english_united-states': 'en_US.ISO8859-1',
1051
+ 'english_united-states.437': 'C',
1052
+ 'english_us': 'en_US.ISO8859-1',
1053
+ 'eo': 'eo_XX.ISO8859-3',
1054
+ 'eo.utf8': 'eo.UTF-8',
1055
+ 'eo_eo': 'eo_EO.ISO8859-3',
1056
+ 'eo_us.utf8': 'eo_US.UTF-8',
1057
+ 'eo_xx': 'eo_XX.ISO8859-3',
1058
+ 'es': 'es_ES.ISO8859-1',
1059
+ 'es_ar': 'es_AR.ISO8859-1',
1060
+ 'es_bo': 'es_BO.ISO8859-1',
1061
+ 'es_cl': 'es_CL.ISO8859-1',
1062
+ 'es_co': 'es_CO.ISO8859-1',
1063
+ 'es_cr': 'es_CR.ISO8859-1',
1064
+ 'es_cu': 'es_CU.UTF-8',
1065
+ 'es_do': 'es_DO.ISO8859-1',
1066
+ 'es_ec': 'es_EC.ISO8859-1',
1067
+ 'es_es': 'es_ES.ISO8859-1',
1068
+ 'es_gt': 'es_GT.ISO8859-1',
1069
+ 'es_hn': 'es_HN.ISO8859-1',
1070
+ 'es_mx': 'es_MX.ISO8859-1',
1071
+ 'es_ni': 'es_NI.ISO8859-1',
1072
+ 'es_pa': 'es_PA.ISO8859-1',
1073
+ 'es_pe': 'es_PE.ISO8859-1',
1074
+ 'es_pr': 'es_PR.ISO8859-1',
1075
+ 'es_py': 'es_PY.ISO8859-1',
1076
+ 'es_sv': 'es_SV.ISO8859-1',
1077
+ 'es_us': 'es_US.ISO8859-1',
1078
+ 'es_uy': 'es_UY.ISO8859-1',
1079
+ 'es_ve': 'es_VE.ISO8859-1',
1080
+ 'estonian': 'et_EE.ISO8859-1',
1081
+ 'et': 'et_EE.ISO8859-15',
1082
+ 'et_ee': 'et_EE.ISO8859-15',
1083
+ 'eu': 'eu_ES.ISO8859-1',
1084
+ 'eu_es': 'eu_ES.ISO8859-1',
1085
+ 'eu_fr': 'eu_FR.ISO8859-1',
1086
+ 'fa': 'fa_IR.UTF-8',
1087
+ 'fa_ir': 'fa_IR.UTF-8',
1088
+ 'fa_ir.isiri3342': 'fa_IR.ISIRI-3342',
1089
+ 'ff_sn': 'ff_SN.UTF-8',
1090
+ 'fi': 'fi_FI.ISO8859-15',
1091
+ 'fi_fi': 'fi_FI.ISO8859-15',
1092
+ 'fil_ph': 'fil_PH.UTF-8',
1093
+ 'finnish': 'fi_FI.ISO8859-1',
1094
+ 'fo': 'fo_FO.ISO8859-1',
1095
+ 'fo_fo': 'fo_FO.ISO8859-1',
1096
+ 'fr': 'fr_FR.ISO8859-1',
1097
+ 'fr_be': 'fr_BE.ISO8859-1',
1098
+ 'fr_ca': 'fr_CA.ISO8859-1',
1099
+ 'fr_ch': 'fr_CH.ISO8859-1',
1100
+ 'fr_fr': 'fr_FR.ISO8859-1',
1101
+ 'fr_lu': 'fr_LU.ISO8859-1',
1102
+ 'fran\xe7ais': 'fr_FR.ISO8859-1',
1103
+ 'fre_fr': 'fr_FR.ISO8859-1',
1104
+ 'french': 'fr_FR.ISO8859-1',
1105
+ 'french.iso88591': 'fr_CH.ISO8859-1',
1106
+ 'french_france': 'fr_FR.ISO8859-1',
1107
+ 'fur_it': 'fur_IT.UTF-8',
1108
+ 'fy_de': 'fy_DE.UTF-8',
1109
+ 'fy_nl': 'fy_NL.UTF-8',
1110
+ 'ga': 'ga_IE.ISO8859-1',
1111
+ 'ga_ie': 'ga_IE.ISO8859-1',
1112
+ 'galego': 'gl_ES.ISO8859-1',
1113
+ 'galician': 'gl_ES.ISO8859-1',
1114
+ 'gd': 'gd_GB.ISO8859-1',
1115
+ 'gd_gb': 'gd_GB.ISO8859-1',
1116
+ 'ger_de': 'de_DE.ISO8859-1',
1117
+ 'german': 'de_DE.ISO8859-1',
1118
+ 'german.iso88591': 'de_CH.ISO8859-1',
1119
+ 'german_germany': 'de_DE.ISO8859-1',
1120
+ 'gez_er': 'gez_ER.UTF-8',
1121
+ 'gez_et': 'gez_ET.UTF-8',
1122
+ 'gl': 'gl_ES.ISO8859-1',
1123
+ 'gl_es': 'gl_ES.ISO8859-1',
1124
+ 'greek': 'el_GR.ISO8859-7',
1125
+ 'gu_in': 'gu_IN.UTF-8',
1126
+ 'gv': 'gv_GB.ISO8859-1',
1127
+ 'gv_gb': 'gv_GB.ISO8859-1',
1128
+ 'ha_ng': 'ha_NG.UTF-8',
1129
+ 'hak_tw': 'hak_TW.UTF-8',
1130
+ 'he': 'he_IL.ISO8859-8',
1131
+ 'he_il': 'he_IL.ISO8859-8',
1132
+ 'hebrew': 'he_IL.ISO8859-8',
1133
+ 'hi': 'hi_IN.ISCII-DEV',
1134
+ 'hi_in': 'hi_IN.ISCII-DEV',
1135
+ 'hi_in.isciidev': 'hi_IN.ISCII-DEV',
1136
+ 'hif_fj': 'hif_FJ.UTF-8',
1137
+ 'hne': 'hne_IN.UTF-8',
1138
+ 'hne_in': 'hne_IN.UTF-8',
1139
+ 'hr': 'hr_HR.ISO8859-2',
1140
+ 'hr_hr': 'hr_HR.ISO8859-2',
1141
+ 'hrvatski': 'hr_HR.ISO8859-2',
1142
+ 'hsb_de': 'hsb_DE.ISO8859-2',
1143
+ 'ht_ht': 'ht_HT.UTF-8',
1144
+ 'hu': 'hu_HU.ISO8859-2',
1145
+ 'hu_hu': 'hu_HU.ISO8859-2',
1146
+ 'hungarian': 'hu_HU.ISO8859-2',
1147
+ 'hy_am': 'hy_AM.UTF-8',
1148
+ 'hy_am.armscii8': 'hy_AM.ARMSCII_8',
1149
+ 'ia': 'ia.UTF-8',
1150
+ 'ia_fr': 'ia_FR.UTF-8',
1151
+ 'icelandic': 'is_IS.ISO8859-1',
1152
+ 'id': 'id_ID.ISO8859-1',
1153
+ 'id_id': 'id_ID.ISO8859-1',
1154
+ 'ig_ng': 'ig_NG.UTF-8',
1155
+ 'ik_ca': 'ik_CA.UTF-8',
1156
+ 'in': 'id_ID.ISO8859-1',
1157
+ 'in_id': 'id_ID.ISO8859-1',
1158
+ 'is': 'is_IS.ISO8859-1',
1159
+ 'is_is': 'is_IS.ISO8859-1',
1160
+ 'iso-8859-1': 'en_US.ISO8859-1',
1161
+ 'iso-8859-15': 'en_US.ISO8859-15',
1162
+ 'iso8859-1': 'en_US.ISO8859-1',
1163
+ 'iso8859-15': 'en_US.ISO8859-15',
1164
+ 'iso_8859_1': 'en_US.ISO8859-1',
1165
+ 'iso_8859_15': 'en_US.ISO8859-15',
1166
+ 'it': 'it_IT.ISO8859-1',
1167
+ 'it_ch': 'it_CH.ISO8859-1',
1168
+ 'it_it': 'it_IT.ISO8859-1',
1169
+ 'italian': 'it_IT.ISO8859-1',
1170
+ 'iu': 'iu_CA.NUNACOM-8',
1171
+ 'iu_ca': 'iu_CA.NUNACOM-8',
1172
+ 'iu_ca.nunacom8': 'iu_CA.NUNACOM-8',
1173
+ 'iw': 'he_IL.ISO8859-8',
1174
+ 'iw_il': 'he_IL.ISO8859-8',
1175
+ 'iw_il.utf8': 'iw_IL.UTF-8',
1176
+ 'ja': 'ja_JP.eucJP',
1177
+ 'ja_jp': 'ja_JP.eucJP',
1178
+ 'ja_jp.euc': 'ja_JP.eucJP',
1179
+ 'ja_jp.mscode': 'ja_JP.SJIS',
1180
+ 'ja_jp.pck': 'ja_JP.SJIS',
1181
+ 'japan': 'ja_JP.eucJP',
1182
+ 'japanese': 'ja_JP.eucJP',
1183
+ 'japanese-euc': 'ja_JP.eucJP',
1184
+ 'japanese.euc': 'ja_JP.eucJP',
1185
+ 'jp_jp': 'ja_JP.eucJP',
1186
+ 'ka': 'ka_GE.GEORGIAN-ACADEMY',
1187
+ 'ka_ge': 'ka_GE.GEORGIAN-ACADEMY',
1188
+ 'ka_ge.georgianacademy': 'ka_GE.GEORGIAN-ACADEMY',
1189
+ 'ka_ge.georgianps': 'ka_GE.GEORGIAN-PS',
1190
+ 'ka_ge.georgianrs': 'ka_GE.GEORGIAN-ACADEMY',
1191
+ 'kab_dz': 'kab_DZ.UTF-8',
1192
+ 'kk_kz': 'kk_KZ.ptcp154',
1193
+ 'kl': 'kl_GL.ISO8859-1',
1194
+ 'kl_gl': 'kl_GL.ISO8859-1',
1195
+ 'km_kh': 'km_KH.UTF-8',
1196
+ 'kn': 'kn_IN.UTF-8',
1197
+ 'kn_in': 'kn_IN.UTF-8',
1198
+ 'ko': 'ko_KR.eucKR',
1199
+ 'ko_kr': 'ko_KR.eucKR',
1200
+ 'ko_kr.euc': 'ko_KR.eucKR',
1201
+ 'kok_in': 'kok_IN.UTF-8',
1202
+ 'korean': 'ko_KR.eucKR',
1203
+ 'korean.euc': 'ko_KR.eucKR',
1204
+ 'ks': 'ks_IN.UTF-8',
1205
+ 'ks_in': 'ks_IN.UTF-8',
1206
+ 'ks_in@devanagari.utf8': 'ks_IN.UTF-8@devanagari',
1207
+ 'ku_tr': 'ku_TR.ISO8859-9',
1208
+ 'kw': 'kw_GB.ISO8859-1',
1209
+ 'kw_gb': 'kw_GB.ISO8859-1',
1210
+ 'ky': 'ky_KG.UTF-8',
1211
+ 'ky_kg': 'ky_KG.UTF-8',
1212
+ 'lb_lu': 'lb_LU.UTF-8',
1213
+ 'lg_ug': 'lg_UG.ISO8859-10',
1214
+ 'li_be': 'li_BE.UTF-8',
1215
+ 'li_nl': 'li_NL.UTF-8',
1216
+ 'lij_it': 'lij_IT.UTF-8',
1217
+ 'lithuanian': 'lt_LT.ISO8859-13',
1218
+ 'ln_cd': 'ln_CD.UTF-8',
1219
+ 'lo': 'lo_LA.MULELAO-1',
1220
+ 'lo_la': 'lo_LA.MULELAO-1',
1221
+ 'lo_la.cp1133': 'lo_LA.IBM-CP1133',
1222
+ 'lo_la.ibmcp1133': 'lo_LA.IBM-CP1133',
1223
+ 'lo_la.mulelao1': 'lo_LA.MULELAO-1',
1224
+ 'lt': 'lt_LT.ISO8859-13',
1225
+ 'lt_lt': 'lt_LT.ISO8859-13',
1226
+ 'lv': 'lv_LV.ISO8859-13',
1227
+ 'lv_lv': 'lv_LV.ISO8859-13',
1228
+ 'lzh_tw': 'lzh_TW.UTF-8',
1229
+ 'mag_in': 'mag_IN.UTF-8',
1230
+ 'mai': 'mai_IN.UTF-8',
1231
+ 'mai_in': 'mai_IN.UTF-8',
1232
+ 'mai_np': 'mai_NP.UTF-8',
1233
+ 'mfe_mu': 'mfe_MU.UTF-8',
1234
+ 'mg_mg': 'mg_MG.ISO8859-15',
1235
+ 'mhr_ru': 'mhr_RU.UTF-8',
1236
+ 'mi': 'mi_NZ.ISO8859-1',
1237
+ 'mi_nz': 'mi_NZ.ISO8859-1',
1238
+ 'miq_ni': 'miq_NI.UTF-8',
1239
+ 'mjw_in': 'mjw_IN.UTF-8',
1240
+ 'mk': 'mk_MK.ISO8859-5',
1241
+ 'mk_mk': 'mk_MK.ISO8859-5',
1242
+ 'ml': 'ml_IN.UTF-8',
1243
+ 'ml_in': 'ml_IN.UTF-8',
1244
+ 'mn_mn': 'mn_MN.UTF-8',
1245
+ 'mni_in': 'mni_IN.UTF-8',
1246
+ 'mr': 'mr_IN.UTF-8',
1247
+ 'mr_in': 'mr_IN.UTF-8',
1248
+ 'ms': 'ms_MY.ISO8859-1',
1249
+ 'ms_my': 'ms_MY.ISO8859-1',
1250
+ 'mt': 'mt_MT.ISO8859-3',
1251
+ 'mt_mt': 'mt_MT.ISO8859-3',
1252
+ 'my_mm': 'my_MM.UTF-8',
1253
+ 'nan_tw': 'nan_TW.UTF-8',
1254
+ 'nb': 'nb_NO.ISO8859-1',
1255
+ 'nb_no': 'nb_NO.ISO8859-1',
1256
+ 'nds_de': 'nds_DE.UTF-8',
1257
+ 'nds_nl': 'nds_NL.UTF-8',
1258
+ 'ne_np': 'ne_NP.UTF-8',
1259
+ 'nhn_mx': 'nhn_MX.UTF-8',
1260
+ 'niu_nu': 'niu_NU.UTF-8',
1261
+ 'niu_nz': 'niu_NZ.UTF-8',
1262
+ 'nl': 'nl_NL.ISO8859-1',
1263
+ 'nl_aw': 'nl_AW.UTF-8',
1264
+ 'nl_be': 'nl_BE.ISO8859-1',
1265
+ 'nl_nl': 'nl_NL.ISO8859-1',
1266
+ 'nn': 'nn_NO.ISO8859-1',
1267
+ 'nn_no': 'nn_NO.ISO8859-1',
1268
+ 'no': 'no_NO.ISO8859-1',
1269
+ 'no@nynorsk': 'ny_NO.ISO8859-1',
1270
+ 'no_no': 'no_NO.ISO8859-1',
1271
+ 'no_no.iso88591@bokmal': 'no_NO.ISO8859-1',
1272
+ 'no_no.iso88591@nynorsk': 'no_NO.ISO8859-1',
1273
+ 'norwegian': 'no_NO.ISO8859-1',
1274
+ 'nr': 'nr_ZA.ISO8859-1',
1275
+ 'nr_za': 'nr_ZA.ISO8859-1',
1276
+ 'nso': 'nso_ZA.ISO8859-15',
1277
+ 'nso_za': 'nso_ZA.ISO8859-15',
1278
+ 'ny': 'ny_NO.ISO8859-1',
1279
+ 'ny_no': 'ny_NO.ISO8859-1',
1280
+ 'nynorsk': 'nn_NO.ISO8859-1',
1281
+ 'oc': 'oc_FR.ISO8859-1',
1282
+ 'oc_fr': 'oc_FR.ISO8859-1',
1283
+ 'om_et': 'om_ET.UTF-8',
1284
+ 'om_ke': 'om_KE.ISO8859-1',
1285
+ 'or': 'or_IN.UTF-8',
1286
+ 'or_in': 'or_IN.UTF-8',
1287
+ 'os_ru': 'os_RU.UTF-8',
1288
+ 'pa': 'pa_IN.UTF-8',
1289
+ 'pa_in': 'pa_IN.UTF-8',
1290
+ 'pa_pk': 'pa_PK.UTF-8',
1291
+ 'pap_an': 'pap_AN.UTF-8',
1292
+ 'pap_aw': 'pap_AW.UTF-8',
1293
+ 'pap_cw': 'pap_CW.UTF-8',
1294
+ 'pd': 'pd_US.ISO8859-1',
1295
+ 'pd_de': 'pd_DE.ISO8859-1',
1296
+ 'pd_us': 'pd_US.ISO8859-1',
1297
+ 'ph': 'ph_PH.ISO8859-1',
1298
+ 'ph_ph': 'ph_PH.ISO8859-1',
1299
+ 'pl': 'pl_PL.ISO8859-2',
1300
+ 'pl_pl': 'pl_PL.ISO8859-2',
1301
+ 'polish': 'pl_PL.ISO8859-2',
1302
+ 'portuguese': 'pt_PT.ISO8859-1',
1303
+ 'portuguese_brazil': 'pt_BR.ISO8859-1',
1304
+ 'posix': 'C',
1305
+ 'posix-utf2': 'C',
1306
+ 'pp': 'pp_AN.ISO8859-1',
1307
+ 'pp_an': 'pp_AN.ISO8859-1',
1308
+ 'ps_af': 'ps_AF.UTF-8',
1309
+ 'pt': 'pt_PT.ISO8859-1',
1310
+ 'pt_br': 'pt_BR.ISO8859-1',
1311
+ 'pt_pt': 'pt_PT.ISO8859-1',
1312
+ 'quz_pe': 'quz_PE.UTF-8',
1313
+ 'raj_in': 'raj_IN.UTF-8',
1314
+ 'ro': 'ro_RO.ISO8859-2',
1315
+ 'ro_ro': 'ro_RO.ISO8859-2',
1316
+ 'romanian': 'ro_RO.ISO8859-2',
1317
+ 'ru': 'ru_RU.UTF-8',
1318
+ 'ru_ru': 'ru_RU.UTF-8',
1319
+ 'ru_ua': 'ru_UA.KOI8-U',
1320
+ 'rumanian': 'ro_RO.ISO8859-2',
1321
+ 'russian': 'ru_RU.KOI8-R',
1322
+ 'rw': 'rw_RW.ISO8859-1',
1323
+ 'rw_rw': 'rw_RW.ISO8859-1',
1324
+ 'sa_in': 'sa_IN.UTF-8',
1325
+ 'sat_in': 'sat_IN.UTF-8',
1326
+ 'sc_it': 'sc_IT.UTF-8',
1327
+ 'sd': 'sd_IN.UTF-8',
1328
+ 'sd_in': 'sd_IN.UTF-8',
1329
+ 'sd_in@devanagari.utf8': 'sd_IN.UTF-8@devanagari',
1330
+ 'sd_pk': 'sd_PK.UTF-8',
1331
+ 'se_no': 'se_NO.UTF-8',
1332
+ 'serbocroatian': 'sr_RS.UTF-8@latin',
1333
+ 'sgs_lt': 'sgs_LT.UTF-8',
1334
+ 'sh': 'sr_RS.UTF-8@latin',
1335
+ 'sh_ba.iso88592@bosnia': 'sr_CS.ISO8859-2',
1336
+ 'sh_hr': 'sh_HR.ISO8859-2',
1337
+ 'sh_hr.iso88592': 'hr_HR.ISO8859-2',
1338
+ 'sh_sp': 'sr_CS.ISO8859-2',
1339
+ 'sh_yu': 'sr_RS.UTF-8@latin',
1340
+ 'shn_mm': 'shn_MM.UTF-8',
1341
+ 'shs_ca': 'shs_CA.UTF-8',
1342
+ 'si': 'si_LK.UTF-8',
1343
+ 'si_lk': 'si_LK.UTF-8',
1344
+ 'sid_et': 'sid_ET.UTF-8',
1345
+ 'sinhala': 'si_LK.UTF-8',
1346
+ 'sk': 'sk_SK.ISO8859-2',
1347
+ 'sk_sk': 'sk_SK.ISO8859-2',
1348
+ 'sl': 'sl_SI.ISO8859-2',
1349
+ 'sl_cs': 'sl_CS.ISO8859-2',
1350
+ 'sl_si': 'sl_SI.ISO8859-2',
1351
+ 'slovak': 'sk_SK.ISO8859-2',
1352
+ 'slovene': 'sl_SI.ISO8859-2',
1353
+ 'slovenian': 'sl_SI.ISO8859-2',
1354
+ 'sm_ws': 'sm_WS.UTF-8',
1355
+ 'so_dj': 'so_DJ.ISO8859-1',
1356
+ 'so_et': 'so_ET.UTF-8',
1357
+ 'so_ke': 'so_KE.ISO8859-1',
1358
+ 'so_so': 'so_SO.ISO8859-1',
1359
+ 'sp': 'sr_CS.ISO8859-5',
1360
+ 'sp_yu': 'sr_CS.ISO8859-5',
1361
+ 'spanish': 'es_ES.ISO8859-1',
1362
+ 'spanish_spain': 'es_ES.ISO8859-1',
1363
+ 'sq': 'sq_AL.ISO8859-2',
1364
+ 'sq_al': 'sq_AL.ISO8859-2',
1365
+ 'sq_mk': 'sq_MK.UTF-8',
1366
+ 'sr': 'sr_RS.UTF-8',
1367
+ 'sr@cyrillic': 'sr_RS.UTF-8',
1368
+ 'sr@latn': 'sr_CS.UTF-8@latin',
1369
+ 'sr_cs': 'sr_CS.UTF-8',
1370
+ 'sr_cs.iso88592@latn': 'sr_CS.ISO8859-2',
1371
+ 'sr_cs@latn': 'sr_CS.UTF-8@latin',
1372
+ 'sr_me': 'sr_ME.UTF-8',
1373
+ 'sr_rs': 'sr_RS.UTF-8',
1374
+ 'sr_rs@latn': 'sr_RS.UTF-8@latin',
1375
+ 'sr_sp': 'sr_CS.ISO8859-2',
1376
+ 'sr_yu': 'sr_RS.UTF-8@latin',
1377
+ 'sr_yu.cp1251@cyrillic': 'sr_CS.CP1251',
1378
+ 'sr_yu.iso88592': 'sr_CS.ISO8859-2',
1379
+ 'sr_yu.iso88595': 'sr_CS.ISO8859-5',
1380
+ 'sr_yu.iso88595@cyrillic': 'sr_CS.ISO8859-5',
1381
+ 'sr_yu.microsoftcp1251@cyrillic': 'sr_CS.CP1251',
1382
+ 'sr_yu.utf8': 'sr_RS.UTF-8',
1383
+ 'sr_yu.utf8@cyrillic': 'sr_RS.UTF-8',
1384
+ 'sr_yu@cyrillic': 'sr_RS.UTF-8',
1385
+ 'ss': 'ss_ZA.ISO8859-1',
1386
+ 'ss_za': 'ss_ZA.ISO8859-1',
1387
+ 'st': 'st_ZA.ISO8859-1',
1388
+ 'st_za': 'st_ZA.ISO8859-1',
1389
+ 'sv': 'sv_SE.ISO8859-1',
1390
+ 'sv_fi': 'sv_FI.ISO8859-1',
1391
+ 'sv_se': 'sv_SE.ISO8859-1',
1392
+ 'sw_ke': 'sw_KE.UTF-8',
1393
+ 'sw_tz': 'sw_TZ.UTF-8',
1394
+ 'swedish': 'sv_SE.ISO8859-1',
1395
+ 'szl_pl': 'szl_PL.UTF-8',
1396
+ 'ta': 'ta_IN.TSCII-0',
1397
+ 'ta_in': 'ta_IN.TSCII-0',
1398
+ 'ta_in.tscii': 'ta_IN.TSCII-0',
1399
+ 'ta_in.tscii0': 'ta_IN.TSCII-0',
1400
+ 'ta_lk': 'ta_LK.UTF-8',
1401
+ 'tcy_in.utf8': 'tcy_IN.UTF-8',
1402
+ 'te': 'te_IN.UTF-8',
1403
+ 'te_in': 'te_IN.UTF-8',
1404
+ 'tg': 'tg_TJ.KOI8-C',
1405
+ 'tg_tj': 'tg_TJ.KOI8-C',
1406
+ 'th': 'th_TH.ISO8859-11',
1407
+ 'th_th': 'th_TH.ISO8859-11',
1408
+ 'th_th.tactis': 'th_TH.TIS620',
1409
+ 'th_th.tis620': 'th_TH.TIS620',
1410
+ 'thai': 'th_TH.ISO8859-11',
1411
+ 'the_np': 'the_NP.UTF-8',
1412
+ 'ti_er': 'ti_ER.UTF-8',
1413
+ 'ti_et': 'ti_ET.UTF-8',
1414
+ 'tig_er': 'tig_ER.UTF-8',
1415
+ 'tk_tm': 'tk_TM.UTF-8',
1416
+ 'tl': 'tl_PH.ISO8859-1',
1417
+ 'tl_ph': 'tl_PH.ISO8859-1',
1418
+ 'tn': 'tn_ZA.ISO8859-15',
1419
+ 'tn_za': 'tn_ZA.ISO8859-15',
1420
+ 'to_to': 'to_TO.UTF-8',
1421
+ 'tpi_pg': 'tpi_PG.UTF-8',
1422
+ 'tr': 'tr_TR.ISO8859-9',
1423
+ 'tr_cy': 'tr_CY.ISO8859-9',
1424
+ 'tr_tr': 'tr_TR.ISO8859-9',
1425
+ 'ts': 'ts_ZA.ISO8859-1',
1426
+ 'ts_za': 'ts_ZA.ISO8859-1',
1427
+ 'tt': 'tt_RU.TATAR-CYR',
1428
+ 'tt_ru': 'tt_RU.TATAR-CYR',
1429
+ 'tt_ru.tatarcyr': 'tt_RU.TATAR-CYR',
1430
+ 'tt_ru@iqtelif': 'tt_RU.UTF-8@iqtelif',
1431
+ 'turkish': 'tr_TR.ISO8859-9',
1432
+ 'ug_cn': 'ug_CN.UTF-8',
1433
+ 'uk': 'uk_UA.KOI8-U',
1434
+ 'uk_ua': 'uk_UA.KOI8-U',
1435
+ 'univ': 'en_US.utf',
1436
+ 'universal': 'en_US.utf',
1437
+ 'universal.utf8@ucs4': 'en_US.UTF-8',
1438
+ 'unm_us': 'unm_US.UTF-8',
1439
+ 'ur': 'ur_PK.CP1256',
1440
+ 'ur_in': 'ur_IN.UTF-8',
1441
+ 'ur_pk': 'ur_PK.CP1256',
1442
+ 'uz': 'uz_UZ.UTF-8',
1443
+ 'uz_uz': 'uz_UZ.UTF-8',
1444
+ 'uz_uz@cyrillic': 'uz_UZ.UTF-8',
1445
+ 've': 've_ZA.UTF-8',
1446
+ 've_za': 've_ZA.UTF-8',
1447
+ 'vi': 'vi_VN.TCVN',
1448
+ 'vi_vn': 'vi_VN.TCVN',
1449
+ 'vi_vn.tcvn': 'vi_VN.TCVN',
1450
+ 'vi_vn.tcvn5712': 'vi_VN.TCVN',
1451
+ 'vi_vn.viscii': 'vi_VN.VISCII',
1452
+ 'vi_vn.viscii111': 'vi_VN.VISCII',
1453
+ 'wa': 'wa_BE.ISO8859-1',
1454
+ 'wa_be': 'wa_BE.ISO8859-1',
1455
+ 'wae_ch': 'wae_CH.UTF-8',
1456
+ 'wal_et': 'wal_ET.UTF-8',
1457
+ 'wo_sn': 'wo_SN.UTF-8',
1458
+ 'xh': 'xh_ZA.ISO8859-1',
1459
+ 'xh_za': 'xh_ZA.ISO8859-1',
1460
+ 'yi': 'yi_US.CP1255',
1461
+ 'yi_us': 'yi_US.CP1255',
1462
+ 'yo_ng': 'yo_NG.UTF-8',
1463
+ 'yue_hk': 'yue_HK.UTF-8',
1464
+ 'yuw_pg': 'yuw_PG.UTF-8',
1465
+ 'zh': 'zh_CN.eucCN',
1466
+ 'zh_cn': 'zh_CN.gb2312',
1467
+ 'zh_cn.big5': 'zh_TW.big5',
1468
+ 'zh_cn.euc': 'zh_CN.eucCN',
1469
+ 'zh_hk': 'zh_HK.big5hkscs',
1470
+ 'zh_hk.big5hk': 'zh_HK.big5hkscs',
1471
+ 'zh_sg': 'zh_SG.GB2312',
1472
+ 'zh_sg.gbk': 'zh_SG.GBK',
1473
+ 'zh_tw': 'zh_TW.big5',
1474
+ 'zh_tw.euc': 'zh_TW.eucTW',
1475
+ 'zh_tw.euctw': 'zh_TW.eucTW',
1476
+ 'zu': 'zu_ZA.ISO8859-1',
1477
+ 'zu_za': 'zu_ZA.ISO8859-1',
1478
+ }
1479
+
1480
+ #
1481
+ # This maps Windows language identifiers to locale strings.
1482
+ #
1483
+ # This list has been updated from
1484
+ # http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_238z.asp
1485
+ # to include every locale up to Windows Vista.
1486
+ #
1487
+ # NOTE: this mapping is incomplete. If your language is missing, please
1488
+ # submit a bug report as detailed in the Python devguide at:
1489
+ # https://devguide.python.org/triage/issue-tracker/
1490
+ # Make sure you include the missing language identifier and the suggested
1491
+ # locale code.
1492
+ #
1493
+
1494
+ windows_locale = {
1495
+ 0x0436: "af_ZA", # Afrikaans
1496
+ 0x041c: "sq_AL", # Albanian
1497
+ 0x0484: "gsw_FR",# Alsatian - France
1498
+ 0x045e: "am_ET", # Amharic - Ethiopia
1499
+ 0x0401: "ar_SA", # Arabic - Saudi Arabia
1500
+ 0x0801: "ar_IQ", # Arabic - Iraq
1501
+ 0x0c01: "ar_EG", # Arabic - Egypt
1502
+ 0x1001: "ar_LY", # Arabic - Libya
1503
+ 0x1401: "ar_DZ", # Arabic - Algeria
1504
+ 0x1801: "ar_MA", # Arabic - Morocco
1505
+ 0x1c01: "ar_TN", # Arabic - Tunisia
1506
+ 0x2001: "ar_OM", # Arabic - Oman
1507
+ 0x2401: "ar_YE", # Arabic - Yemen
1508
+ 0x2801: "ar_SY", # Arabic - Syria
1509
+ 0x2c01: "ar_JO", # Arabic - Jordan
1510
+ 0x3001: "ar_LB", # Arabic - Lebanon
1511
+ 0x3401: "ar_KW", # Arabic - Kuwait
1512
+ 0x3801: "ar_AE", # Arabic - United Arab Emirates
1513
+ 0x3c01: "ar_BH", # Arabic - Bahrain
1514
+ 0x4001: "ar_QA", # Arabic - Qatar
1515
+ 0x042b: "hy_AM", # Armenian
1516
+ 0x044d: "as_IN", # Assamese - India
1517
+ 0x042c: "az_AZ", # Azeri - Latin
1518
+ 0x082c: "az_AZ", # Azeri - Cyrillic
1519
+ 0x046d: "ba_RU", # Bashkir
1520
+ 0x042d: "eu_ES", # Basque - Russia
1521
+ 0x0423: "be_BY", # Belarusian
1522
+ 0x0445: "bn_IN", # Begali
1523
+ 0x201a: "bs_BA", # Bosnian - Cyrillic
1524
+ 0x141a: "bs_BA", # Bosnian - Latin
1525
+ 0x047e: "br_FR", # Breton - France
1526
+ 0x0402: "bg_BG", # Bulgarian
1527
+ # 0x0455: "my_MM", # Burmese - Not supported
1528
+ 0x0403: "ca_ES", # Catalan
1529
+ 0x0004: "zh_CHS",# Chinese - Simplified
1530
+ 0x0404: "zh_TW", # Chinese - Taiwan
1531
+ 0x0804: "zh_CN", # Chinese - PRC
1532
+ 0x0c04: "zh_HK", # Chinese - Hong Kong S.A.R.
1533
+ 0x1004: "zh_SG", # Chinese - Singapore
1534
+ 0x1404: "zh_MO", # Chinese - Macao S.A.R.
1535
+ 0x7c04: "zh_CHT",# Chinese - Traditional
1536
+ 0x0483: "co_FR", # Corsican - France
1537
+ 0x041a: "hr_HR", # Croatian
1538
+ 0x101a: "hr_BA", # Croatian - Bosnia
1539
+ 0x0405: "cs_CZ", # Czech
1540
+ 0x0406: "da_DK", # Danish
1541
+ 0x048c: "gbz_AF",# Dari - Afghanistan
1542
+ 0x0465: "div_MV",# Divehi - Maldives
1543
+ 0x0413: "nl_NL", # Dutch - The Netherlands
1544
+ 0x0813: "nl_BE", # Dutch - Belgium
1545
+ 0x0409: "en_US", # English - United States
1546
+ 0x0809: "en_GB", # English - United Kingdom
1547
+ 0x0c09: "en_AU", # English - Australia
1548
+ 0x1009: "en_CA", # English - Canada
1549
+ 0x1409: "en_NZ", # English - New Zealand
1550
+ 0x1809: "en_IE", # English - Ireland
1551
+ 0x1c09: "en_ZA", # English - South Africa
1552
+ 0x2009: "en_JA", # English - Jamaica
1553
+ 0x2409: "en_CB", # English - Caribbean
1554
+ 0x2809: "en_BZ", # English - Belize
1555
+ 0x2c09: "en_TT", # English - Trinidad
1556
+ 0x3009: "en_ZW", # English - Zimbabwe
1557
+ 0x3409: "en_PH", # English - Philippines
1558
+ 0x4009: "en_IN", # English - India
1559
+ 0x4409: "en_MY", # English - Malaysia
1560
+ 0x4809: "en_IN", # English - Singapore
1561
+ 0x0425: "et_EE", # Estonian
1562
+ 0x0438: "fo_FO", # Faroese
1563
+ 0x0464: "fil_PH",# Filipino
1564
+ 0x040b: "fi_FI", # Finnish
1565
+ 0x040c: "fr_FR", # French - France
1566
+ 0x080c: "fr_BE", # French - Belgium
1567
+ 0x0c0c: "fr_CA", # French - Canada
1568
+ 0x100c: "fr_CH", # French - Switzerland
1569
+ 0x140c: "fr_LU", # French - Luxembourg
1570
+ 0x180c: "fr_MC", # French - Monaco
1571
+ 0x0462: "fy_NL", # Frisian - Netherlands
1572
+ 0x0456: "gl_ES", # Galician
1573
+ 0x0437: "ka_GE", # Georgian
1574
+ 0x0407: "de_DE", # German - Germany
1575
+ 0x0807: "de_CH", # German - Switzerland
1576
+ 0x0c07: "de_AT", # German - Austria
1577
+ 0x1007: "de_LU", # German - Luxembourg
1578
+ 0x1407: "de_LI", # German - Liechtenstein
1579
+ 0x0408: "el_GR", # Greek
1580
+ 0x046f: "kl_GL", # Greenlandic - Greenland
1581
+ 0x0447: "gu_IN", # Gujarati
1582
+ 0x0468: "ha_NG", # Hausa - Latin
1583
+ 0x040d: "he_IL", # Hebrew
1584
+ 0x0439: "hi_IN", # Hindi
1585
+ 0x040e: "hu_HU", # Hungarian
1586
+ 0x040f: "is_IS", # Icelandic
1587
+ 0x0421: "id_ID", # Indonesian
1588
+ 0x045d: "iu_CA", # Inuktitut - Syllabics
1589
+ 0x085d: "iu_CA", # Inuktitut - Latin
1590
+ 0x083c: "ga_IE", # Irish - Ireland
1591
+ 0x0410: "it_IT", # Italian - Italy
1592
+ 0x0810: "it_CH", # Italian - Switzerland
1593
+ 0x0411: "ja_JP", # Japanese
1594
+ 0x044b: "kn_IN", # Kannada - India
1595
+ 0x043f: "kk_KZ", # Kazakh
1596
+ 0x0453: "kh_KH", # Khmer - Cambodia
1597
+ 0x0486: "qut_GT",# K'iche - Guatemala
1598
+ 0x0487: "rw_RW", # Kinyarwanda - Rwanda
1599
+ 0x0457: "kok_IN",# Konkani
1600
+ 0x0412: "ko_KR", # Korean
1601
+ 0x0440: "ky_KG", # Kyrgyz
1602
+ 0x0454: "lo_LA", # Lao - Lao PDR
1603
+ 0x0426: "lv_LV", # Latvian
1604
+ 0x0427: "lt_LT", # Lithuanian
1605
+ 0x082e: "dsb_DE",# Lower Sorbian - Germany
1606
+ 0x046e: "lb_LU", # Luxembourgish
1607
+ 0x042f: "mk_MK", # FYROM Macedonian
1608
+ 0x043e: "ms_MY", # Malay - Malaysia
1609
+ 0x083e: "ms_BN", # Malay - Brunei Darussalam
1610
+ 0x044c: "ml_IN", # Malayalam - India
1611
+ 0x043a: "mt_MT", # Maltese
1612
+ 0x0481: "mi_NZ", # Maori
1613
+ 0x047a: "arn_CL",# Mapudungun
1614
+ 0x044e: "mr_IN", # Marathi
1615
+ 0x047c: "moh_CA",# Mohawk - Canada
1616
+ 0x0450: "mn_MN", # Mongolian - Cyrillic
1617
+ 0x0850: "mn_CN", # Mongolian - PRC
1618
+ 0x0461: "ne_NP", # Nepali
1619
+ 0x0414: "nb_NO", # Norwegian - Bokmal
1620
+ 0x0814: "nn_NO", # Norwegian - Nynorsk
1621
+ 0x0482: "oc_FR", # Occitan - France
1622
+ 0x0448: "or_IN", # Oriya - India
1623
+ 0x0463: "ps_AF", # Pashto - Afghanistan
1624
+ 0x0429: "fa_IR", # Persian
1625
+ 0x0415: "pl_PL", # Polish
1626
+ 0x0416: "pt_BR", # Portuguese - Brazil
1627
+ 0x0816: "pt_PT", # Portuguese - Portugal
1628
+ 0x0446: "pa_IN", # Punjabi
1629
+ 0x046b: "quz_BO",# Quechua (Bolivia)
1630
+ 0x086b: "quz_EC",# Quechua (Ecuador)
1631
+ 0x0c6b: "quz_PE",# Quechua (Peru)
1632
+ 0x0418: "ro_RO", # Romanian - Romania
1633
+ 0x0417: "rm_CH", # Romansh
1634
+ 0x0419: "ru_RU", # Russian
1635
+ 0x243b: "smn_FI",# Sami Finland
1636
+ 0x103b: "smj_NO",# Sami Norway
1637
+ 0x143b: "smj_SE",# Sami Sweden
1638
+ 0x043b: "se_NO", # Sami Northern Norway
1639
+ 0x083b: "se_SE", # Sami Northern Sweden
1640
+ 0x0c3b: "se_FI", # Sami Northern Finland
1641
+ 0x203b: "sms_FI",# Sami Skolt
1642
+ 0x183b: "sma_NO",# Sami Southern Norway
1643
+ 0x1c3b: "sma_SE",# Sami Southern Sweden
1644
+ 0x044f: "sa_IN", # Sanskrit
1645
+ 0x0c1a: "sr_SP", # Serbian - Cyrillic
1646
+ 0x1c1a: "sr_BA", # Serbian - Bosnia Cyrillic
1647
+ 0x081a: "sr_SP", # Serbian - Latin
1648
+ 0x181a: "sr_BA", # Serbian - Bosnia Latin
1649
+ 0x045b: "si_LK", # Sinhala - Sri Lanka
1650
+ 0x046c: "ns_ZA", # Northern Sotho
1651
+ 0x0432: "tn_ZA", # Setswana - Southern Africa
1652
+ 0x041b: "sk_SK", # Slovak
1653
+ 0x0424: "sl_SI", # Slovenian
1654
+ 0x040a: "es_ES", # Spanish - Spain
1655
+ 0x080a: "es_MX", # Spanish - Mexico
1656
+ 0x0c0a: "es_ES", # Spanish - Spain (Modern)
1657
+ 0x100a: "es_GT", # Spanish - Guatemala
1658
+ 0x140a: "es_CR", # Spanish - Costa Rica
1659
+ 0x180a: "es_PA", # Spanish - Panama
1660
+ 0x1c0a: "es_DO", # Spanish - Dominican Republic
1661
+ 0x200a: "es_VE", # Spanish - Venezuela
1662
+ 0x240a: "es_CO", # Spanish - Colombia
1663
+ 0x280a: "es_PE", # Spanish - Peru
1664
+ 0x2c0a: "es_AR", # Spanish - Argentina
1665
+ 0x300a: "es_EC", # Spanish - Ecuador
1666
+ 0x340a: "es_CL", # Spanish - Chile
1667
+ 0x380a: "es_UR", # Spanish - Uruguay
1668
+ 0x3c0a: "es_PY", # Spanish - Paraguay
1669
+ 0x400a: "es_BO", # Spanish - Bolivia
1670
+ 0x440a: "es_SV", # Spanish - El Salvador
1671
+ 0x480a: "es_HN", # Spanish - Honduras
1672
+ 0x4c0a: "es_NI", # Spanish - Nicaragua
1673
+ 0x500a: "es_PR", # Spanish - Puerto Rico
1674
+ 0x540a: "es_US", # Spanish - United States
1675
+ # 0x0430: "", # Sutu - Not supported
1676
+ 0x0441: "sw_KE", # Swahili
1677
+ 0x041d: "sv_SE", # Swedish - Sweden
1678
+ 0x081d: "sv_FI", # Swedish - Finland
1679
+ 0x045a: "syr_SY",# Syriac
1680
+ 0x0428: "tg_TJ", # Tajik - Cyrillic
1681
+ 0x085f: "tmz_DZ",# Tamazight - Latin
1682
+ 0x0449: "ta_IN", # Tamil
1683
+ 0x0444: "tt_RU", # Tatar
1684
+ 0x044a: "te_IN", # Telugu
1685
+ 0x041e: "th_TH", # Thai
1686
+ 0x0851: "bo_BT", # Tibetan - Bhutan
1687
+ 0x0451: "bo_CN", # Tibetan - PRC
1688
+ 0x041f: "tr_TR", # Turkish
1689
+ 0x0442: "tk_TM", # Turkmen - Cyrillic
1690
+ 0x0480: "ug_CN", # Uighur - Arabic
1691
+ 0x0422: "uk_UA", # Ukrainian
1692
+ 0x042e: "wen_DE",# Upper Sorbian - Germany
1693
+ 0x0420: "ur_PK", # Urdu
1694
+ 0x0820: "ur_IN", # Urdu - India
1695
+ 0x0443: "uz_UZ", # Uzbek - Latin
1696
+ 0x0843: "uz_UZ", # Uzbek - Cyrillic
1697
+ 0x042a: "vi_VN", # Vietnamese
1698
+ 0x0452: "cy_GB", # Welsh
1699
+ 0x0488: "wo_SN", # Wolof - Senegal
1700
+ 0x0434: "xh_ZA", # Xhosa - South Africa
1701
+ 0x0485: "sah_RU",# Yakut - Cyrillic
1702
+ 0x0478: "ii_CN", # Yi - PRC
1703
+ 0x046a: "yo_NG", # Yoruba - Nigeria
1704
+ 0x0435: "zu_ZA", # Zulu
1705
+ }
1706
+
1707
+ def _print_locale():
1708
+
1709
+ """ Test function.
1710
+ """
1711
+ categories = {}
1712
+ def _init_categories(categories=categories):
1713
+ for k,v in globals().items():
1714
+ if k[:3] == 'LC_':
1715
+ categories[k] = v
1716
+ _init_categories()
1717
+ del categories['LC_ALL']
1718
+
1719
+ print('Locale defaults as determined by getdefaultlocale():')
1720
+ print('-'*72)
1721
+ lang, enc = getdefaultlocale()
1722
+ print('Language: ', lang or '(undefined)')
1723
+ print('Encoding: ', enc or '(undefined)')
1724
+ print()
1725
+
1726
+ print('Locale settings on startup:')
1727
+ print('-'*72)
1728
+ for name,category in categories.items():
1729
+ print(name, '...')
1730
+ lang, enc = getlocale(category)
1731
+ print(' Language: ', lang or '(undefined)')
1732
+ print(' Encoding: ', enc or '(undefined)')
1733
+ print()
1734
+
1735
+ print()
1736
+ print('Locale settings after calling resetlocale():')
1737
+ print('-'*72)
1738
+ resetlocale()
1739
+ for name,category in categories.items():
1740
+ print(name, '...')
1741
+ lang, enc = getlocale(category)
1742
+ print(' Language: ', lang or '(undefined)')
1743
+ print(' Encoding: ', enc or '(undefined)')
1744
+ print()
1745
+
1746
+ try:
1747
+ setlocale(LC_ALL, "")
1748
+ except:
1749
+ print('NOTE:')
1750
+ print('setlocale(LC_ALL, "") does not support the default locale')
1751
+ print('given in the OS environment variables.')
1752
+ else:
1753
+ print()
1754
+ print('Locale settings after calling setlocale(LC_ALL, ""):')
1755
+ print('-'*72)
1756
+ for name,category in categories.items():
1757
+ print(name, '...')
1758
+ lang, enc = getlocale(category)
1759
+ print(' Language: ', lang or '(undefined)')
1760
+ print(' Encoding: ', enc or '(undefined)')
1761
+ print()
1762
+
1763
+ ###
1764
+
1765
+ try:
1766
+ LC_MESSAGES
1767
+ except NameError:
1768
+ pass
1769
+ else:
1770
+ __all__.append("LC_MESSAGES")
1771
+
1772
+ if __name__=='__main__':
1773
+ print('Locale aliasing:')
1774
+ print()
1775
+ _print_locale()
1776
+ print()
1777
+ print('Number formatting:')
1778
+ print()
1779
+ _test()