shortcutxl 0.2.19 → 0.2.21

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 (951) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/agent-docs/api-reference.json +2041 -0
  3. package/agent-docs/examples/extensions/built-in-tool-renderer.ts +2 -13
  4. package/agent-docs/examples/extensions/claude-code.ts +69 -0
  5. package/agent-docs/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -7
  6. package/agent-docs/examples/sdk/04-skills.ts +1 -6
  7. package/dist/cli/config-selector.js +1 -1
  8. package/dist/cli/session-picker.js +1 -1
  9. package/dist/config.js +15 -5
  10. package/dist/core/agent-loop.js +8 -9
  11. package/dist/core/agent-session.js +102 -462
  12. package/dist/core/agent.js +1 -0
  13. package/dist/core/export-html/template.js +14 -2
  14. package/dist/core/extensions/loader.js +4 -4
  15. package/dist/core/keybindings.js +1 -1
  16. package/dist/core/run-agent.js +84 -0
  17. package/dist/core/session/extension-emitter.js +36 -0
  18. package/dist/core/session/model-manager.js +111 -0
  19. package/dist/core/session/persistence-handler.js +104 -0
  20. package/dist/core/session/queue-tracker.js +91 -0
  21. package/dist/core/session/tool-registry.js +231 -0
  22. package/dist/core/settings-manager.js +11 -3
  23. package/dist/core/theme.js +1 -1
  24. package/dist/core/tools/edit.js +1 -1
  25. package/dist/core/tools/find.js +1 -1
  26. package/dist/core/tools/grep.js +1 -1
  27. package/dist/core/tools/ls.js +1 -1
  28. package/dist/core/tools/read.js +1 -1
  29. package/dist/core/tools/write.js +1 -1
  30. package/dist/custom/dev/index.js +16 -1
  31. package/dist/custom/excel-session.js +2 -2
  32. package/dist/custom/exec-mode-command.js +27 -0
  33. package/dist/custom/install-utils.js +1 -4
  34. package/dist/custom/new-sheet/api-guidelines.js +83 -0
  35. package/dist/custom/new-sheet/api-lookup.js +69 -0
  36. package/dist/custom/new-sheet/api-overlay.js +133 -0
  37. package/dist/custom/new-sheet/api-reference-loader.js +29 -0
  38. package/dist/custom/new-sheet/cell-diff/address-utils.js +80 -0
  39. package/dist/custom/new-sheet/cell-diff/cell-categorizer.js +100 -0
  40. package/dist/custom/new-sheet/cell-diff/cell-diff-formatter.js +201 -0
  41. package/dist/custom/new-sheet/cell-diff/index.js +23 -0
  42. package/dist/custom/new-sheet/cell-diff/types.js +33 -0
  43. package/dist/custom/new-sheet/mutation-tracker.js +358 -0
  44. package/dist/custom/new-sheet/sandbox-globals.js +118 -0
  45. package/dist/custom/new-sheet/sdk-types.js +9 -0
  46. package/dist/custom/new-sheet/sheet-engine-poc.js +112 -0
  47. package/dist/custom/new-sheet/sheet-engine.js +146 -0
  48. package/dist/custom/new-sheet/sheet-exec.js +219 -0
  49. package/dist/custom/new-sheet-command.js +24 -0
  50. package/dist/custom/preflight.js +28 -18
  51. package/dist/custom/prompts/action.js +33 -12
  52. package/dist/custom/prompts/shared.js +0 -6
  53. package/dist/custom/providers/llm-usage.js +1 -5
  54. package/dist/custom/providers/shortcut-invoke.js +3 -4
  55. package/dist/custom/providers/shortcut-stream.js +3 -4
  56. package/dist/custom/sandbox/index.js +6 -10
  57. package/dist/custom/sandbox/lib/bwrap.js +93 -0
  58. package/dist/custom/sandbox/lib/index.js +20 -0
  59. package/dist/custom/sandbox/lib/manager.js +87 -0
  60. package/dist/custom/sandbox/lib/network/domain-filter.js +29 -0
  61. package/dist/custom/sandbox/lib/network/http-proxy.js +172 -0
  62. package/dist/custom/sandbox/lib/network/index.js +5 -0
  63. package/dist/custom/sandbox/lib/network/proxy.js +145 -0
  64. package/dist/custom/sandbox/lib/network/socks-proxy.js +269 -0
  65. package/dist/custom/sandbox/{sandbox-paths.js → lib/paths.js} +1 -3
  66. package/dist/custom/sandbox/lib/resolve.js +320 -0
  67. package/dist/custom/sandbox/lib/smoke.js +87 -0
  68. package/dist/custom/sandbox/lib/types.js +9 -0
  69. package/dist/custom/sandbox/lib/wrap-command.js +110 -0
  70. package/dist/custom/sandbox/{wsl-detect.js → lib/wsl-detect.js} +10 -14
  71. package/dist/custom/sandbox/lib/wsl-setup.js +152 -0
  72. package/dist/custom/sandbox/sandbox-bash-tool.js +12 -7
  73. package/dist/custom/sandbox/sandbox-command.js +17 -16
  74. package/dist/custom/sandbox/sandbox-executor.js +13 -38
  75. package/dist/custom/sandbox/sandbox-manager.js +43 -31
  76. package/dist/custom/sandbox/sandbox-prompt.js +2 -2
  77. package/dist/custom/sandbox/tests/test-helpers.js +24 -0
  78. package/dist/custom/sheet-api/api-guidelines.js +83 -0
  79. package/dist/custom/sheet-api/api-lookup.js +69 -0
  80. package/dist/custom/sheet-api/api-overlay.js +133 -0
  81. package/dist/custom/sheet-api/api-reference-loader.js +29 -0
  82. package/dist/custom/sync-xll.js +1 -1
  83. package/dist/custom/tools/approval.js +2 -2
  84. package/dist/custom/tools/excel-exec.js +29 -9
  85. package/dist/custom/tools/llm-analysis.js +54 -29
  86. package/dist/custom/tools/task/task.js +4 -7
  87. package/dist/custom/tools/todo-list.js +5 -1
  88. package/dist/custom/tracing/session-upload.js +4 -1
  89. package/dist/custom/uninstall.js +31 -20
  90. package/dist/main.js +77 -22
  91. package/dist/modes/interactive/components/assistant-message.js +1 -1
  92. package/dist/modes/interactive/components/bash-execution.js +5 -9
  93. package/dist/modes/interactive/components/branch-summary-message.js +1 -1
  94. package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
  95. package/dist/modes/interactive/components/config-selector.js +1 -1
  96. package/dist/modes/interactive/components/custom-editor.js +3 -1
  97. package/dist/modes/interactive/components/custom-message.js +1 -1
  98. package/dist/modes/interactive/components/extension-editor.js +1 -1
  99. package/dist/modes/interactive/components/extension-input.js +1 -1
  100. package/dist/modes/interactive/components/extension-selector.js +1 -1
  101. package/dist/modes/interactive/components/footer.js +3 -2
  102. package/dist/modes/interactive/components/keybinding-hints.js +1 -1
  103. package/dist/modes/interactive/components/layout.js +1 -1
  104. package/dist/modes/interactive/components/login-dialog.js +1 -1
  105. package/dist/modes/interactive/components/model-selector.js +1 -1
  106. package/dist/modes/interactive/components/oauth-selector.js +1 -1
  107. package/dist/modes/interactive/components/session-selector.js +1 -1
  108. package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
  109. package/dist/modes/interactive/components/theme-selector.js +1 -1
  110. package/dist/modes/interactive/components/tool-execution.js +1 -1
  111. package/dist/modes/interactive/components/tool-group.js +1 -1
  112. package/dist/modes/interactive/components/tree-selector.js +1 -1
  113. package/dist/modes/interactive/components/user-message-selector.js +1 -1
  114. package/dist/modes/interactive/components/user-message.js +1 -1
  115. package/dist/modes/interactive/file-attachments.js +4 -9
  116. package/dist/modes/interactive/interactive-mode.js +8 -136
  117. package/dist/modes/print-mode.js +2 -1
  118. package/dist/modes/rpc/rpc-mode.js +3 -4
  119. package/dist/tui/autocomplete.js +543 -555
  120. package/dist/tui/components/box.js +93 -89
  121. package/dist/tui/components/cancellable-loader.js +23 -23
  122. package/dist/tui/components/editor.js +1671 -1642
  123. package/dist/tui/components/image.js +67 -63
  124. package/dist/tui/components/input.js +408 -408
  125. package/dist/tui/components/loader.js +42 -42
  126. package/dist/tui/components/markdown.js +612 -617
  127. package/dist/tui/components/select-list.js +148 -142
  128. package/dist/tui/components/settings-list.js +187 -172
  129. package/dist/tui/components/spacer.js +17 -17
  130. package/dist/tui/components/text.js +83 -80
  131. package/dist/tui/components/truncated-text.js +43 -43
  132. package/dist/tui/editor-component.js +1 -1
  133. package/dist/tui/fuzzy.js +86 -88
  134. package/dist/tui/get-east-asian-width/index.js +13 -17
  135. package/dist/tui/get-east-asian-width/lookup.js +386 -384
  136. package/dist/tui/index.js +54 -22
  137. package/dist/tui/keybindings.js +92 -95
  138. package/dist/tui/keys.js +794 -806
  139. package/dist/tui/kill-ring.js +31 -33
  140. package/dist/tui/stdin-buffer.js +236 -241
  141. package/dist/tui/terminal-image.js +210 -224
  142. package/dist/tui/terminal.js +235 -242
  143. package/dist/tui/tui/autocomplete.js +543 -555
  144. package/dist/tui/tui/components/box.js +91 -89
  145. package/dist/tui/tui/components/cancellable-loader.js +23 -23
  146. package/dist/tui/tui/components/editor.js +1671 -1642
  147. package/dist/tui/tui/components/image.js +67 -63
  148. package/dist/tui/tui/components/input.js +408 -408
  149. package/dist/tui/tui/components/loader.js +42 -42
  150. package/dist/tui/tui/components/markdown.js +612 -617
  151. package/dist/tui/tui/components/select-list.js +148 -142
  152. package/dist/tui/tui/components/settings-list.js +187 -172
  153. package/dist/tui/tui/components/spacer.js +17 -17
  154. package/dist/tui/tui/components/text.js +81 -80
  155. package/dist/tui/tui/components/truncated-text.js +43 -43
  156. package/dist/tui/tui/editor-component.js +1 -1
  157. package/dist/tui/tui/fuzzy.js +86 -88
  158. package/dist/tui/tui/get-east-asian-width/index.js +13 -17
  159. package/dist/tui/tui/get-east-asian-width/lookup.js +386 -384
  160. package/dist/tui/tui/index.js +54 -22
  161. package/dist/tui/tui/keybindings.js +92 -95
  162. package/dist/tui/tui/keys.js +794 -806
  163. package/dist/tui/tui/kill-ring.js +31 -33
  164. package/dist/tui/tui/stdin-buffer.js +236 -241
  165. package/dist/tui/tui/terminal-image.js +210 -224
  166. package/dist/tui/tui/terminal.js +235 -242
  167. package/dist/tui/tui/tui.js +908 -920
  168. package/dist/tui/tui/undo-stack.js +17 -17
  169. package/dist/tui/tui/utils.js +647 -674
  170. package/dist/tui/tui.js +908 -920
  171. package/dist/tui/undo-stack.js +17 -17
  172. package/dist/tui/utils.js +647 -674
  173. package/dist/utils/log.js +51 -0
  174. package/package.json +9 -5
  175. package/skills/{com-advanced-api → advanced-com-api}/SKILL.md +1 -1
  176. package/skills/advanced-com-api/excel-type-library.py +30935 -0
  177. package/skills/advanced-com-api/office-type-library.py +11220 -0
  178. package/skills/sec-edgar/sec_to_pdf.py +26 -28
  179. package/wsl/alpine-minirootfs.tar.gz +0 -0
  180. package/xll/ShortcutXL.xll +0 -0
  181. package/xll/modules/debug_render.py +289 -0
  182. package/xll/modules/shortcut_xl/_com.py +10 -11
  183. package/xll/modules/shortcut_xl/_diff_highlight.py +17 -15
  184. package/xll/modules/shortcut_xl/_exec_entry.py +32 -14
  185. package/xll/modules/shortcut_xl/_log.py +4 -4
  186. package/xll/modules/shortcut_xl/_managed.py +25 -8
  187. package/xll/modules/shortcut_xl/_registry.py +12 -7
  188. package/xll/modules/shortcut_xl/_threading.py +33 -20
  189. package/xll/modules/shortcut_xl/_tracking.py +31 -14
  190. package/xll/modules/shortcut_xl/api/categorize.py +31 -17
  191. package/xll/modules/shortcut_xl/api/format.py +16 -26
  192. package/xll/modules/shortcut_xl/api/named_ranges.py +10 -10
  193. package/xll/modules/shortcut_xl/api/picture.py +6 -6
  194. package/xll/modules/shortcut_xl/api/range_formatter.py +44 -22
  195. package/xll/modules/shortcut_xl/api/style.py +3 -3
  196. package/xll/modules/shortcut_xl/api/utils/helpers.py +16 -26
  197. package/xll/modules/shortcut_xl/api/utils/numerical.py +6 -1
  198. package/xll/modules/shortcut_xl/api/utils/ranges.py +12 -7
  199. package/xll/modules/shortcut_xl/api/workbook.py +14 -28
  200. package/xll/modules/shortcut_xl/api/worksheet.py +33 -49
  201. package/xll/modules/shortcut_xl/api-reference.py +9 -5
  202. package/xll/python/Lib/site-packages/__pycache__/typing_extensions.cpython-312.pyc +0 -0
  203. package/xll/python/Lib/site-packages/anyio/__pycache__/__init__.cpython-312.pyc +0 -0
  204. package/xll/python/Lib/site-packages/anyio/__pycache__/from_thread.cpython-312.pyc +0 -0
  205. package/xll/python/Lib/site-packages/anyio/__pycache__/functools.cpython-312.pyc +0 -0
  206. package/xll/python/Lib/site-packages/anyio/__pycache__/lowlevel.cpython-312.pyc +0 -0
  207. package/xll/python/Lib/site-packages/anyio/__pycache__/pytest_plugin.cpython-312.pyc +0 -0
  208. package/xll/python/Lib/site-packages/anyio/__pycache__/to_interpreter.cpython-312.pyc +0 -0
  209. package/xll/python/Lib/site-packages/anyio/__pycache__/to_process.cpython-312.pyc +0 -0
  210. package/xll/python/Lib/site-packages/anyio/__pycache__/to_thread.cpython-312.pyc +0 -0
  211. package/xll/python/Lib/site-packages/anyio/_backends/__pycache__/__init__.cpython-312.pyc +0 -0
  212. package/xll/python/Lib/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-312.pyc +0 -0
  213. package/xll/python/Lib/site-packages/anyio/_backends/__pycache__/_trio.cpython-312.pyc +0 -0
  214. package/xll/python/Lib/site-packages/anyio/_backends/_asyncio.py +39 -23
  215. package/xll/python/Lib/site-packages/anyio/_backends/_trio.py +2 -5
  216. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/__init__.cpython-312.pyc +0 -0
  217. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_asyncio_selector_thread.cpython-312.pyc +0 -0
  218. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_contextmanagers.cpython-312.pyc +0 -0
  219. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_eventloop.cpython-312.pyc +0 -0
  220. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_exceptions.cpython-312.pyc +0 -0
  221. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_fileio.cpython-312.pyc +0 -0
  222. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_resources.cpython-312.pyc +0 -0
  223. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_signals.cpython-312.pyc +0 -0
  224. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_sockets.cpython-312.pyc +0 -0
  225. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_streams.cpython-312.pyc +0 -0
  226. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-312.pyc +0 -0
  227. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_synchronization.cpython-312.pyc +0 -0
  228. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_tasks.cpython-312.pyc +0 -0
  229. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_tempfile.cpython-312.pyc +0 -0
  230. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_testing.cpython-312.pyc +0 -0
  231. package/xll/python/Lib/site-packages/anyio/_core/__pycache__/_typedattr.cpython-312.pyc +0 -0
  232. package/xll/python/Lib/site-packages/anyio/_core/_fileio.py +12 -10
  233. package/xll/python/Lib/site-packages/anyio/_core/_subprocesses.py +2 -8
  234. package/xll/python/Lib/site-packages/anyio/_core/_synchronization.py +4 -0
  235. package/xll/python/Lib/site-packages/anyio/_core/_tempfile.py +1 -4
  236. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/__init__.cpython-312.pyc +0 -0
  237. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_eventloop.cpython-312.pyc +0 -0
  238. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_resources.cpython-312.pyc +0 -0
  239. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_sockets.cpython-312.pyc +0 -0
  240. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_streams.cpython-312.pyc +0 -0
  241. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-312.pyc +0 -0
  242. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_tasks.cpython-312.pyc +0 -0
  243. package/xll/python/Lib/site-packages/anyio/abc/__pycache__/_testing.cpython-312.pyc +0 -0
  244. package/xll/python/Lib/site-packages/anyio/abc/_eventloop.py +2 -7
  245. package/xll/python/Lib/site-packages/anyio/abc/_sockets.py +5 -11
  246. package/xll/python/Lib/site-packages/anyio/abc/_streams.py +14 -20
  247. package/xll/python/Lib/site-packages/anyio/functools.py +51 -17
  248. package/xll/python/Lib/site-packages/anyio/pytest_plugin.py +62 -1
  249. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/__init__.cpython-312.pyc +0 -0
  250. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/buffered.cpython-312.pyc +0 -0
  251. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/file.cpython-312.pyc +0 -0
  252. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/memory.cpython-312.pyc +0 -0
  253. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/stapled.cpython-312.pyc +0 -0
  254. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/text.cpython-312.pyc +0 -0
  255. package/xll/python/Lib/site-packages/anyio/streams/__pycache__/tls.cpython-312.pyc +0 -0
  256. package/xll/python/Lib/site-packages/anyio/streams/file.py +5 -5
  257. package/xll/python/Lib/site-packages/anyio/streams/tls.py +6 -9
  258. package/xll/python/Lib/site-packages/anyio/to_thread.py +3 -3
  259. package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/METADATA +14 -5
  260. package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/RECORD +21 -21
  261. package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/WHEEL +1 -1
  262. package/xll/python/Lib/site-packages/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  263. package/xll/python/Lib/site-packages/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  264. package/xll/python/Lib/site-packages/certifi/__pycache__/core.cpython-312.pyc +0 -0
  265. package/xll/python/Lib/site-packages/et_xmlfile/__pycache__/__init__.cpython-312.pyc +0 -0
  266. package/xll/python/Lib/site-packages/et_xmlfile/__pycache__/incremental_tree.cpython-312.pyc +0 -0
  267. package/xll/python/Lib/site-packages/et_xmlfile/__pycache__/xmlfile.cpython-312.pyc +0 -0
  268. package/xll/python/Lib/site-packages/h11/__pycache__/__init__.cpython-312.pyc +0 -0
  269. package/xll/python/Lib/site-packages/h11/__pycache__/_abnf.cpython-312.pyc +0 -0
  270. package/xll/python/Lib/site-packages/h11/__pycache__/_connection.cpython-312.pyc +0 -0
  271. package/xll/python/Lib/site-packages/h11/__pycache__/_events.cpython-312.pyc +0 -0
  272. package/xll/python/Lib/site-packages/h11/__pycache__/_headers.cpython-312.pyc +0 -0
  273. package/xll/python/Lib/site-packages/h11/__pycache__/_readers.cpython-312.pyc +0 -0
  274. package/xll/python/Lib/site-packages/h11/__pycache__/_receivebuffer.cpython-312.pyc +0 -0
  275. package/xll/python/Lib/site-packages/h11/__pycache__/_state.cpython-312.pyc +0 -0
  276. package/xll/python/Lib/site-packages/h11/__pycache__/_util.cpython-312.pyc +0 -0
  277. package/xll/python/Lib/site-packages/h11/__pycache__/_version.cpython-312.pyc +0 -0
  278. package/xll/python/Lib/site-packages/h11/__pycache__/_writers.cpython-312.pyc +0 -0
  279. package/xll/python/Lib/site-packages/httpcore/__pycache__/__init__.cpython-312.pyc +0 -0
  280. package/xll/python/Lib/site-packages/httpcore/__pycache__/_api.cpython-312.pyc +0 -0
  281. package/xll/python/Lib/site-packages/httpcore/__pycache__/_exceptions.cpython-312.pyc +0 -0
  282. package/xll/python/Lib/site-packages/httpcore/__pycache__/_models.cpython-312.pyc +0 -0
  283. package/xll/python/Lib/site-packages/httpcore/__pycache__/_ssl.cpython-312.pyc +0 -0
  284. package/xll/python/Lib/site-packages/httpcore/__pycache__/_synchronization.cpython-312.pyc +0 -0
  285. package/xll/python/Lib/site-packages/httpcore/__pycache__/_trace.cpython-312.pyc +0 -0
  286. package/xll/python/Lib/site-packages/httpcore/__pycache__/_utils.cpython-312.pyc +0 -0
  287. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/__init__.cpython-312.pyc +0 -0
  288. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/connection.cpython-312.pyc +0 -0
  289. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/connection_pool.cpython-312.pyc +0 -0
  290. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/http11.cpython-312.pyc +0 -0
  291. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/http2.cpython-312.pyc +0 -0
  292. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/http_proxy.cpython-312.pyc +0 -0
  293. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/interfaces.cpython-312.pyc +0 -0
  294. package/xll/python/Lib/site-packages/httpcore/_async/__pycache__/socks_proxy.cpython-312.pyc +0 -0
  295. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/__init__.cpython-312.pyc +0 -0
  296. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/anyio.cpython-312.pyc +0 -0
  297. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/auto.cpython-312.pyc +0 -0
  298. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/base.cpython-312.pyc +0 -0
  299. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/mock.cpython-312.pyc +0 -0
  300. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/sync.cpython-312.pyc +0 -0
  301. package/xll/python/Lib/site-packages/httpcore/_backends/__pycache__/trio.cpython-312.pyc +0 -0
  302. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/__init__.cpython-312.pyc +0 -0
  303. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/connection.cpython-312.pyc +0 -0
  304. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/connection_pool.cpython-312.pyc +0 -0
  305. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/http11.cpython-312.pyc +0 -0
  306. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/http2.cpython-312.pyc +0 -0
  307. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/http_proxy.cpython-312.pyc +0 -0
  308. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/interfaces.cpython-312.pyc +0 -0
  309. package/xll/python/Lib/site-packages/httpcore/_sync/__pycache__/socks_proxy.cpython-312.pyc +0 -0
  310. package/xll/python/Lib/site-packages/httpx/__pycache__/__init__.cpython-312.pyc +0 -0
  311. package/xll/python/Lib/site-packages/httpx/__pycache__/__version__.cpython-312.pyc +0 -0
  312. package/xll/python/Lib/site-packages/httpx/__pycache__/_api.cpython-312.pyc +0 -0
  313. package/xll/python/Lib/site-packages/httpx/__pycache__/_auth.cpython-312.pyc +0 -0
  314. package/xll/python/Lib/site-packages/httpx/__pycache__/_client.cpython-312.pyc +0 -0
  315. package/xll/python/Lib/site-packages/httpx/__pycache__/_config.cpython-312.pyc +0 -0
  316. package/xll/python/Lib/site-packages/httpx/__pycache__/_content.cpython-312.pyc +0 -0
  317. package/xll/python/Lib/site-packages/httpx/__pycache__/_decoders.cpython-312.pyc +0 -0
  318. package/xll/python/Lib/site-packages/httpx/__pycache__/_exceptions.cpython-312.pyc +0 -0
  319. package/xll/python/Lib/site-packages/httpx/__pycache__/_main.cpython-312.pyc +0 -0
  320. package/xll/python/Lib/site-packages/httpx/__pycache__/_models.cpython-312.pyc +0 -0
  321. package/xll/python/Lib/site-packages/httpx/__pycache__/_multipart.cpython-312.pyc +0 -0
  322. package/xll/python/Lib/site-packages/httpx/__pycache__/_status_codes.cpython-312.pyc +0 -0
  323. package/xll/python/Lib/site-packages/httpx/__pycache__/_types.cpython-312.pyc +0 -0
  324. package/xll/python/Lib/site-packages/httpx/__pycache__/_urlparse.cpython-312.pyc +0 -0
  325. package/xll/python/Lib/site-packages/httpx/__pycache__/_urls.cpython-312.pyc +0 -0
  326. package/xll/python/Lib/site-packages/httpx/__pycache__/_utils.cpython-312.pyc +0 -0
  327. package/xll/python/Lib/site-packages/httpx/_transports/__pycache__/__init__.cpython-312.pyc +0 -0
  328. package/xll/python/Lib/site-packages/httpx/_transports/__pycache__/asgi.cpython-312.pyc +0 -0
  329. package/xll/python/Lib/site-packages/httpx/_transports/__pycache__/base.cpython-312.pyc +0 -0
  330. package/xll/python/Lib/site-packages/httpx/_transports/__pycache__/default.cpython-312.pyc +0 -0
  331. package/xll/python/Lib/site-packages/httpx/_transports/__pycache__/mock.cpython-312.pyc +0 -0
  332. package/xll/python/Lib/site-packages/httpx/_transports/__pycache__/wsgi.cpython-312.pyc +0 -0
  333. package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
  334. package/xll/python/Lib/site-packages/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  335. package/xll/python/Lib/site-packages/idna/__pycache__/codec.cpython-312.pyc +0 -0
  336. package/xll/python/Lib/site-packages/idna/__pycache__/compat.cpython-312.pyc +0 -0
  337. package/xll/python/Lib/site-packages/idna/__pycache__/core.cpython-312.pyc +0 -0
  338. package/xll/python/Lib/site-packages/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  339. package/xll/python/Lib/site-packages/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  340. package/xll/python/Lib/site-packages/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  341. package/xll/python/Lib/site-packages/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  342. package/xll/python/Lib/site-packages/openpyxl/__pycache__/__init__.cpython-312.pyc +0 -0
  343. package/xll/python/Lib/site-packages/openpyxl/__pycache__/_constants.cpython-312.pyc +0 -0
  344. package/xll/python/Lib/site-packages/openpyxl/cell/__pycache__/__init__.cpython-312.pyc +0 -0
  345. package/xll/python/Lib/site-packages/openpyxl/cell/__pycache__/_writer.cpython-312.pyc +0 -0
  346. package/xll/python/Lib/site-packages/openpyxl/cell/__pycache__/cell.cpython-312.pyc +0 -0
  347. package/xll/python/Lib/site-packages/openpyxl/cell/__pycache__/read_only.cpython-312.pyc +0 -0
  348. package/xll/python/Lib/site-packages/openpyxl/cell/__pycache__/rich_text.cpython-312.pyc +0 -0
  349. package/xll/python/Lib/site-packages/openpyxl/cell/__pycache__/text.cpython-312.pyc +0 -0
  350. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/_3d.cpython-312.pyc +0 -0
  351. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/__init__.cpython-312.pyc +0 -0
  352. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/_chart.cpython-312.pyc +0 -0
  353. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/area_chart.cpython-312.pyc +0 -0
  354. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/axis.cpython-312.pyc +0 -0
  355. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/bar_chart.cpython-312.pyc +0 -0
  356. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/bubble_chart.cpython-312.pyc +0 -0
  357. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/chartspace.cpython-312.pyc +0 -0
  358. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/data_source.cpython-312.pyc +0 -0
  359. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/descriptors.cpython-312.pyc +0 -0
  360. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/error_bar.cpython-312.pyc +0 -0
  361. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/label.cpython-312.pyc +0 -0
  362. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/layout.cpython-312.pyc +0 -0
  363. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/legend.cpython-312.pyc +0 -0
  364. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/line_chart.cpython-312.pyc +0 -0
  365. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/marker.cpython-312.pyc +0 -0
  366. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/picture.cpython-312.pyc +0 -0
  367. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/pie_chart.cpython-312.pyc +0 -0
  368. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/pivot.cpython-312.pyc +0 -0
  369. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/plotarea.cpython-312.pyc +0 -0
  370. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/print_settings.cpython-312.pyc +0 -0
  371. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/radar_chart.cpython-312.pyc +0 -0
  372. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/reader.cpython-312.pyc +0 -0
  373. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/reference.cpython-312.pyc +0 -0
  374. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/scatter_chart.cpython-312.pyc +0 -0
  375. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/series.cpython-312.pyc +0 -0
  376. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/series_factory.cpython-312.pyc +0 -0
  377. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/shapes.cpython-312.pyc +0 -0
  378. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/stock_chart.cpython-312.pyc +0 -0
  379. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/surface_chart.cpython-312.pyc +0 -0
  380. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/text.cpython-312.pyc +0 -0
  381. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/title.cpython-312.pyc +0 -0
  382. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/trendline.cpython-312.pyc +0 -0
  383. package/xll/python/Lib/site-packages/openpyxl/chart/__pycache__/updown_bars.cpython-312.pyc +0 -0
  384. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/__init__.cpython-312.pyc +0 -0
  385. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/chartsheet.cpython-312.pyc +0 -0
  386. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/custom.cpython-312.pyc +0 -0
  387. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/properties.cpython-312.pyc +0 -0
  388. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/protection.cpython-312.pyc +0 -0
  389. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/publish.cpython-312.pyc +0 -0
  390. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/relation.cpython-312.pyc +0 -0
  391. package/xll/python/Lib/site-packages/openpyxl/chartsheet/__pycache__/views.cpython-312.pyc +0 -0
  392. package/xll/python/Lib/site-packages/openpyxl/comments/__pycache__/__init__.cpython-312.pyc +0 -0
  393. package/xll/python/Lib/site-packages/openpyxl/comments/__pycache__/author.cpython-312.pyc +0 -0
  394. package/xll/python/Lib/site-packages/openpyxl/comments/__pycache__/comment_sheet.cpython-312.pyc +0 -0
  395. package/xll/python/Lib/site-packages/openpyxl/comments/__pycache__/comments.cpython-312.pyc +0 -0
  396. package/xll/python/Lib/site-packages/openpyxl/comments/__pycache__/shape_writer.cpython-312.pyc +0 -0
  397. package/xll/python/Lib/site-packages/openpyxl/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  398. package/xll/python/Lib/site-packages/openpyxl/compat/__pycache__/abc.cpython-312.pyc +0 -0
  399. package/xll/python/Lib/site-packages/openpyxl/compat/__pycache__/numbers.cpython-312.pyc +0 -0
  400. package/xll/python/Lib/site-packages/openpyxl/compat/__pycache__/product.cpython-312.pyc +0 -0
  401. package/xll/python/Lib/site-packages/openpyxl/compat/__pycache__/singleton.cpython-312.pyc +0 -0
  402. package/xll/python/Lib/site-packages/openpyxl/compat/__pycache__/strings.cpython-312.pyc +0 -0
  403. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/__init__.cpython-312.pyc +0 -0
  404. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/base.cpython-312.pyc +0 -0
  405. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/container.cpython-312.pyc +0 -0
  406. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/excel.cpython-312.pyc +0 -0
  407. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/namespace.cpython-312.pyc +0 -0
  408. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/nested.cpython-312.pyc +0 -0
  409. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/sequence.cpython-312.pyc +0 -0
  410. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/serialisable.cpython-312.pyc +0 -0
  411. package/xll/python/Lib/site-packages/openpyxl/descriptors/__pycache__/slots.cpython-312.pyc +0 -0
  412. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/__init__.cpython-312.pyc +0 -0
  413. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/colors.cpython-312.pyc +0 -0
  414. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/connector.cpython-312.pyc +0 -0
  415. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/drawing.cpython-312.pyc +0 -0
  416. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/effect.cpython-312.pyc +0 -0
  417. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/fill.cpython-312.pyc +0 -0
  418. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/geometry.cpython-312.pyc +0 -0
  419. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/graphic.cpython-312.pyc +0 -0
  420. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/image.cpython-312.pyc +0 -0
  421. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/line.cpython-312.pyc +0 -0
  422. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/picture.cpython-312.pyc +0 -0
  423. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/properties.cpython-312.pyc +0 -0
  424. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/relation.cpython-312.pyc +0 -0
  425. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/spreadsheet_drawing.cpython-312.pyc +0 -0
  426. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/text.cpython-312.pyc +0 -0
  427. package/xll/python/Lib/site-packages/openpyxl/drawing/__pycache__/xdr.cpython-312.pyc +0 -0
  428. package/xll/python/Lib/site-packages/openpyxl/formatting/__pycache__/__init__.cpython-312.pyc +0 -0
  429. package/xll/python/Lib/site-packages/openpyxl/formatting/__pycache__/formatting.cpython-312.pyc +0 -0
  430. package/xll/python/Lib/site-packages/openpyxl/formatting/__pycache__/rule.cpython-312.pyc +0 -0
  431. package/xll/python/Lib/site-packages/openpyxl/formula/__pycache__/__init__.cpython-312.pyc +0 -0
  432. package/xll/python/Lib/site-packages/openpyxl/formula/__pycache__/tokenizer.cpython-312.pyc +0 -0
  433. package/xll/python/Lib/site-packages/openpyxl/formula/__pycache__/translate.cpython-312.pyc +0 -0
  434. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  435. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/core.cpython-312.pyc +0 -0
  436. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/custom.cpython-312.pyc +0 -0
  437. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/extended.cpython-312.pyc +0 -0
  438. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/interface.cpython-312.pyc +0 -0
  439. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/manifest.cpython-312.pyc +0 -0
  440. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/relationship.cpython-312.pyc +0 -0
  441. package/xll/python/Lib/site-packages/openpyxl/packaging/__pycache__/workbook.cpython-312.pyc +0 -0
  442. package/xll/python/Lib/site-packages/openpyxl/pivot/__pycache__/__init__.cpython-312.pyc +0 -0
  443. package/xll/python/Lib/site-packages/openpyxl/pivot/__pycache__/cache.cpython-312.pyc +0 -0
  444. package/xll/python/Lib/site-packages/openpyxl/pivot/__pycache__/fields.cpython-312.pyc +0 -0
  445. package/xll/python/Lib/site-packages/openpyxl/pivot/__pycache__/record.cpython-312.pyc +0 -0
  446. package/xll/python/Lib/site-packages/openpyxl/pivot/__pycache__/table.cpython-312.pyc +0 -0
  447. package/xll/python/Lib/site-packages/openpyxl/reader/__pycache__/__init__.cpython-312.pyc +0 -0
  448. package/xll/python/Lib/site-packages/openpyxl/reader/__pycache__/drawings.cpython-312.pyc +0 -0
  449. package/xll/python/Lib/site-packages/openpyxl/reader/__pycache__/excel.cpython-312.pyc +0 -0
  450. package/xll/python/Lib/site-packages/openpyxl/reader/__pycache__/strings.cpython-312.pyc +0 -0
  451. package/xll/python/Lib/site-packages/openpyxl/reader/__pycache__/workbook.cpython-312.pyc +0 -0
  452. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  453. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/alignment.cpython-312.pyc +0 -0
  454. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/borders.cpython-312.pyc +0 -0
  455. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/builtins.cpython-312.pyc +0 -0
  456. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/cell_style.cpython-312.pyc +0 -0
  457. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/colors.cpython-312.pyc +0 -0
  458. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/differential.cpython-312.pyc +0 -0
  459. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/fills.cpython-312.pyc +0 -0
  460. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/fonts.cpython-312.pyc +0 -0
  461. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/named_styles.cpython-312.pyc +0 -0
  462. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/numbers.cpython-312.pyc +0 -0
  463. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/protection.cpython-312.pyc +0 -0
  464. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/proxy.cpython-312.pyc +0 -0
  465. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/styleable.cpython-312.pyc +0 -0
  466. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/stylesheet.cpython-312.pyc +0 -0
  467. package/xll/python/Lib/site-packages/openpyxl/styles/__pycache__/table.cpython-312.pyc +0 -0
  468. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  469. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/bound_dictionary.cpython-312.pyc +0 -0
  470. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/cell.cpython-312.pyc +0 -0
  471. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/dataframe.cpython-312.pyc +0 -0
  472. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  473. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/escape.cpython-312.pyc +0 -0
  474. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/exceptions.cpython-312.pyc +0 -0
  475. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/formulas.cpython-312.pyc +0 -0
  476. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/indexed_list.cpython-312.pyc +0 -0
  477. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/inference.cpython-312.pyc +0 -0
  478. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/protection.cpython-312.pyc +0 -0
  479. package/xll/python/Lib/site-packages/openpyxl/utils/__pycache__/units.cpython-312.pyc +0 -0
  480. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/__init__.cpython-312.pyc +0 -0
  481. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/_writer.cpython-312.pyc +0 -0
  482. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/child.cpython-312.pyc +0 -0
  483. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/defined_name.cpython-312.pyc +0 -0
  484. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/external_reference.cpython-312.pyc +0 -0
  485. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/function_group.cpython-312.pyc +0 -0
  486. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/properties.cpython-312.pyc +0 -0
  487. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/protection.cpython-312.pyc +0 -0
  488. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/smart_tags.cpython-312.pyc +0 -0
  489. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/views.cpython-312.pyc +0 -0
  490. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/web.cpython-312.pyc +0 -0
  491. package/xll/python/Lib/site-packages/openpyxl/workbook/__pycache__/workbook.cpython-312.pyc +0 -0
  492. package/xll/python/Lib/site-packages/openpyxl/workbook/external_link/__pycache__/__init__.cpython-312.pyc +0 -0
  493. package/xll/python/Lib/site-packages/openpyxl/workbook/external_link/__pycache__/external.cpython-312.pyc +0 -0
  494. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/__init__.cpython-312.pyc +0 -0
  495. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/_read_only.cpython-312.pyc +0 -0
  496. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/_reader.cpython-312.pyc +0 -0
  497. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/_write_only.cpython-312.pyc +0 -0
  498. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/_writer.cpython-312.pyc +0 -0
  499. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/cell_range.cpython-312.pyc +0 -0
  500. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/cell_watch.cpython-312.pyc +0 -0
  501. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/controls.cpython-312.pyc +0 -0
  502. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/copier.cpython-312.pyc +0 -0
  503. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/custom.cpython-312.pyc +0 -0
  504. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/datavalidation.cpython-312.pyc +0 -0
  505. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/dimensions.cpython-312.pyc +0 -0
  506. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/drawing.cpython-312.pyc +0 -0
  507. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/errors.cpython-312.pyc +0 -0
  508. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/filters.cpython-312.pyc +0 -0
  509. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/formula.cpython-312.pyc +0 -0
  510. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/header_footer.cpython-312.pyc +0 -0
  511. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/hyperlink.cpython-312.pyc +0 -0
  512. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/merge.cpython-312.pyc +0 -0
  513. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/ole.cpython-312.pyc +0 -0
  514. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/page.cpython-312.pyc +0 -0
  515. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/pagebreak.cpython-312.pyc +0 -0
  516. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/picture.cpython-312.pyc +0 -0
  517. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/print_settings.cpython-312.pyc +0 -0
  518. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/properties.cpython-312.pyc +0 -0
  519. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/protection.cpython-312.pyc +0 -0
  520. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/related.cpython-312.pyc +0 -0
  521. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/scenario.cpython-312.pyc +0 -0
  522. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/smart_tag.cpython-312.pyc +0 -0
  523. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/table.cpython-312.pyc +0 -0
  524. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/views.cpython-312.pyc +0 -0
  525. package/xll/python/Lib/site-packages/openpyxl/worksheet/__pycache__/worksheet.cpython-312.pyc +0 -0
  526. package/xll/python/Lib/site-packages/openpyxl/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  527. package/xll/python/Lib/site-packages/openpyxl/writer/__pycache__/excel.cpython-312.pyc +0 -0
  528. package/xll/python/Lib/site-packages/openpyxl/writer/__pycache__/theme.cpython-312.pyc +0 -0
  529. package/xll/python/Lib/site-packages/openpyxl/xml/__pycache__/__init__.cpython-312.pyc +0 -0
  530. package/xll/python/Lib/site-packages/openpyxl/xml/__pycache__/constants.cpython-312.pyc +0 -0
  531. package/xll/python/Lib/site-packages/openpyxl/xml/__pycache__/functions.cpython-312.pyc +0 -0
  532. package/xll/python/Lib/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
  533. package/xll/python/Lib/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
  534. package/xll/python/Lib/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
  535. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
  536. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
  537. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
  538. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
  539. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
  540. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
  541. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
  542. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
  543. package/xll/python/Lib/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
  544. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  545. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
  546. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
  547. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
  548. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
  549. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc +0 -0
  550. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
  551. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
  552. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
  553. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
  554. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
  555. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
  556. package/xll/python/Lib/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
  557. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
  558. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
  559. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
  560. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
  561. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
  562. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
  563. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
  564. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
  565. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
  566. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
  567. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
  568. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
  569. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
  570. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
  571. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/lock.cpython-312.pyc +0 -0
  572. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
  573. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
  574. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
  575. package/xll/python/Lib/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
  576. package/xll/python/Lib/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
  577. package/xll/python/Lib/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
  578. package/xll/python/Lib/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
  579. package/xll/python/Lib/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
  580. package/xll/python/Lib/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
  581. package/xll/python/Lib/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
  582. package/xll/python/Lib/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
  583. package/xll/python/Lib/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
  584. package/xll/python/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
  585. package/xll/python/Lib/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
  586. package/xll/python/Lib/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
  587. package/xll/python/Lib/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
  588. package/xll/python/Lib/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
  589. package/xll/python/Lib/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
  590. package/xll/python/Lib/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
  591. package/xll/python/Lib/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
  592. package/xll/python/Lib/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
  593. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
  594. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
  595. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
  596. package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
  597. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
  598. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
  599. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
  600. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
  601. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
  602. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
  603. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
  604. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/release_control.cpython-312.pyc +0 -0
  605. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
  606. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
  607. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
  608. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
  609. package/xll/python/Lib/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
  610. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
  611. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
  612. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
  613. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
  614. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
  615. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
  616. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
  617. package/xll/python/Lib/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
  618. package/xll/python/Lib/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
  619. package/xll/python/Lib/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
  620. package/xll/python/Lib/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
  621. package/xll/python/Lib/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
  622. package/xll/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
  623. package/xll/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
  624. package/xll/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
  625. package/xll/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
  626. package/xll/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
  627. package/xll/python/Lib/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
  628. package/xll/python/Lib/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
  629. package/xll/python/Lib/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
  630. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
  631. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
  632. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/pep723.cpython-312.pyc +0 -0
  633. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/req_dependency_group.cpython-312.pyc +0 -0
  634. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
  635. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
  636. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
  637. package/xll/python/Lib/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
  638. package/xll/python/Lib/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
  639. package/xll/python/Lib/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
  640. package/xll/python/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
  641. package/xll/python/Lib/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
  642. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  643. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
  644. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
  645. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
  646. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
  647. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
  648. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
  649. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
  650. package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
  651. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  652. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
  653. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
  654. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
  655. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
  656. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
  657. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
  658. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
  659. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
  660. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
  661. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
  662. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
  663. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
  664. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
  665. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
  666. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
  667. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
  668. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
  669. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/pylock.cpython-312.pyc +0 -0
  670. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc +0 -0
  671. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
  672. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
  673. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
  674. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
  675. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
  676. package/xll/python/Lib/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
  677. package/xll/python/Lib/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
  678. package/xll/python/Lib/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
  679. package/xll/python/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
  680. package/xll/python/Lib/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
  681. package/xll/python/Lib/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
  682. package/xll/python/Lib/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
  683. package/xll/python/Lib/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
  684. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
  685. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
  686. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
  687. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
  688. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
  689. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
  690. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
  691. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
  692. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
  693. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
  694. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
  695. package/xll/python/Lib/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
  696. package/xll/python/Lib/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
  697. package/xll/python/Lib/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
  698. package/xll/python/Lib/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
  699. package/xll/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/__init__.cpython-312.pyc +0 -0
  700. package/xll/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/__main__.cpython-312.pyc +0 -0
  701. package/xll/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_implementation.cpython-312.pyc +0 -0
  702. package/xll/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_lint_dependency_groups.cpython-312.pyc +0 -0
  703. package/xll/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_pip_wrapper.cpython-312.pyc +0 -0
  704. package/xll/python/Lib/site-packages/pip/_vendor/dependency_groups/__pycache__/_toml_compat.cpython-312.pyc +0 -0
  705. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
  706. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
  707. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
  708. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
  709. package/xll/python/Lib/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
  710. package/xll/python/Lib/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
  711. package/xll/python/Lib/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
  712. package/xll/python/Lib/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
  713. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
  714. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
  715. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
  716. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
  717. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
  718. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
  719. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
  720. package/xll/python/Lib/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
  721. package/xll/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
  722. package/xll/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
  723. package/xll/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
  724. package/xll/python/Lib/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
  725. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  726. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
  727. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
  728. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
  729. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
  730. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  731. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
  732. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
  733. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
  734. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/pylock.cpython-312.pyc +0 -0
  735. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
  736. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
  737. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
  738. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
  739. package/xll/python/Lib/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
  740. package/xll/python/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/__init__.cpython-312.pyc +0 -0
  741. package/xll/python/Lib/site-packages/pip/_vendor/packaging/licenses/__pycache__/_spdx.cpython-312.pyc +0 -0
  742. package/xll/python/Lib/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
  743. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
  744. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
  745. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
  746. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
  747. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
  748. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
  749. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
  750. package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
  751. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
  752. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
  753. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
  754. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
  755. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
  756. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
  757. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
  758. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
  759. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
  760. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
  761. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
  762. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
  763. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
  764. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
  765. package/xll/python/Lib/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
  766. package/xll/python/Lib/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  767. package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
  768. package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
  769. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
  770. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
  771. package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
  772. package/xll/python/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
  773. package/xll/python/Lib/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc +0 -0
  774. package/xll/python/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  775. package/xll/python/Lib/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
  776. package/xll/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
  777. package/xll/python/Lib/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
  778. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  779. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
  780. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
  781. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
  782. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
  783. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
  784. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
  785. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
  786. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
  787. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  788. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
  789. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
  790. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
  791. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
  792. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
  793. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
  794. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
  795. package/xll/python/Lib/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
  796. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
  797. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
  798. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
  799. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
  800. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/__init__.cpython-312.pyc +0 -0
  801. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/abstract.cpython-312.pyc +0 -0
  802. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/criterion.cpython-312.pyc +0 -0
  803. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/exceptions.cpython-312.pyc +0 -0
  804. package/xll/python/Lib/site-packages/pip/_vendor/resolvelib/resolvers/__pycache__/resolution.cpython-312.pyc +0 -0
  805. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
  806. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
  807. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
  808. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
  809. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
  810. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
  811. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
  812. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
  813. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
  814. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
  815. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
  816. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
  817. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
  818. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
  819. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
  820. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
  821. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
  822. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
  823. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
  824. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
  825. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
  826. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
  827. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
  828. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
  829. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
  830. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
  831. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
  832. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
  833. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
  834. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
  835. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
  836. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
  837. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
  838. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
  839. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
  840. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
  841. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
  842. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
  843. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
  844. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
  845. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
  846. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
  847. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
  848. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
  849. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
  850. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
  851. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
  852. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
  853. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
  854. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
  855. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
  856. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
  857. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
  858. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
  859. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
  860. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
  861. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
  862. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
  863. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
  864. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
  865. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
  866. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
  867. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
  868. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
  869. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
  870. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
  871. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
  872. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
  873. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
  874. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
  875. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
  876. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
  877. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
  878. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
  879. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
  880. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
  881. package/xll/python/Lib/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
  882. package/xll/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
  883. package/xll/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
  884. package/xll/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
  885. package/xll/python/Lib/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
  886. package/xll/python/Lib/site-packages/pip/_vendor/tomli_w/__pycache__/__init__.cpython-312.pyc +0 -0
  887. package/xll/python/Lib/site-packages/pip/_vendor/tomli_w/__pycache__/_writer.cpython-312.pyc +0 -0
  888. package/xll/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
  889. package/xll/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
  890. package/xll/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
  891. package/xll/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
  892. package/xll/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
  893. package/xll/python/Lib/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
  894. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  895. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  896. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  897. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  898. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  899. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  900. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  901. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  902. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  903. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
  904. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  905. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  906. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
  907. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
  908. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
  909. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  910. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
  911. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  912. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
  913. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
  914. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
  915. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  916. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
  917. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
  918. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
  919. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
  920. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  921. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  922. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  923. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
  924. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  925. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  926. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  927. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  928. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  929. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  930. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  931. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  932. package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  933. package/xll/python/Lib/site-packages/pip-26.0.1.dist-info/RECORD +3 -3
  934. package/xll/python/Scripts/httpx.exe +0 -0
  935. package/xll/python/Scripts/pip.exe +0 -0
  936. package/xll/python/Scripts/pip3.12.exe +0 -0
  937. package/xll/python/Scripts/pip3.exe +0 -0
  938. package/dist/custom/ensure-excel.js +0 -63
  939. package/dist/custom/sandbox/network/index.js +0 -8
  940. package/dist/custom/sandbox/network/network-proxy.js +0 -136
  941. package/dist/custom/sandbox/network/proxy-worker.py +0 -257
  942. package/dist/custom/sandbox/sandbox-config.js +0 -153
  943. package/dist/custom/sandbox/sandbox-smoke.js +0 -49
  944. package/dist/custom/sandbox/wsl-setup.js +0 -92
  945. package/dist/custom/tools/task/agents.js +0 -6
  946. package/skills/com-advanced-api/excel-type-library.py +0 -27767
  947. package/skills/com-advanced-api/office-type-library.py +0 -10867
  948. /package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/INSTALLER +0 -0
  949. /package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/entry_points.txt +0 -0
  950. /package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/licenses/LICENSE +0 -0
  951. /package/xll/python/Lib/site-packages/{anyio-4.12.1.dist-info → anyio-4.13.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Node.js SOCKS5 proxy server.
3
+ *
4
+ * Implements RFC 1928 (SOCKS5) with no-auth method and CONNECT command only.
5
+ * Domain filtering is delegated to a callback.
6
+ *
7
+ * Covers: SSH, git-over-SSH, database connections, gRPC, and any
8
+ * SOCKS-aware tool that respects ALL_PROXY.
9
+ */
10
+ import * as net from 'net';
11
+ // SOCKS5 constants (RFC 1928)
12
+ const SOCKS_VERSION = 0x05;
13
+ const AUTH_NO_AUTH = 0x00;
14
+ const AUTH_NO_ACCEPTABLE = 0xff;
15
+ const CMD_CONNECT = 0x01;
16
+ const ATYP_IPV4 = 0x01;
17
+ const ATYP_DOMAIN = 0x03;
18
+ const ATYP_IPV6 = 0x04;
19
+ const REP_SUCCESS = 0x00;
20
+ const REP_GENERAL_FAILURE = 0x01;
21
+ const REP_CONNECTION_NOT_ALLOWED = 0x02;
22
+ const REP_HOST_UNREACHABLE = 0x04;
23
+ const REP_COMMAND_NOT_SUPPORTED = 0x07;
24
+ const REP_ADDRESS_TYPE_NOT_SUPPORTED = 0x08;
25
+ /** Max bytes buffered during handshake before we drop the connection. */
26
+ const MAX_HANDSHAKE_BUFFER = 4096;
27
+ /**
28
+ * Start a SOCKS5 proxy on a random localhost port.
29
+ *
30
+ * Supports CONNECT command with IPv4, IPv6, and domain name addressing.
31
+ * Only no-auth method is offered.
32
+ */
33
+ export function startSocksProxy(options) {
34
+ return new Promise((resolve, reject) => {
35
+ const server = net.createServer((client) => {
36
+ handleSocksClient(client, options.checkDomain);
37
+ });
38
+ server.on('error', reject);
39
+ // Bind to all interfaces — the socat bridge in WSL connects via the host IP
40
+ // (172.29.x.x), not 127.0.0.1. Windows Firewall blocks external access.
41
+ server.listen(0, '0.0.0.0', () => {
42
+ const addr = server.address();
43
+ if (!addr || typeof addr === 'string') {
44
+ server.close();
45
+ reject(new Error('Failed to get server address'));
46
+ return;
47
+ }
48
+ resolve({
49
+ port: addr.port,
50
+ stop: () => server.close()
51
+ });
52
+ });
53
+ });
54
+ }
55
+ // ---------------------------------------------------------------------------
56
+ // Buffered reader — maintains a persistent data listener on the socket
57
+ // ---------------------------------------------------------------------------
58
+ class SocketReader {
59
+ socket;
60
+ buffer = Buffer.alloc(0);
61
+ waiting = null;
62
+ closed = false;
63
+ // Track our own handlers so detach() only removes ours
64
+ onDataHandler;
65
+ onErrorHandler;
66
+ onCloseHandler;
67
+ constructor(socket) {
68
+ this.socket = socket;
69
+ this.onDataHandler = (chunk) => this.onData(chunk);
70
+ this.onErrorHandler = () => this.onClose();
71
+ this.onCloseHandler = () => this.onClose();
72
+ socket.on('data', this.onDataHandler);
73
+ socket.on('error', this.onErrorHandler);
74
+ socket.on('close', this.onCloseHandler);
75
+ }
76
+ onData(chunk) {
77
+ this.buffer = Buffer.concat([this.buffer, chunk]);
78
+ if (this.buffer.length > MAX_HANDSHAKE_BUFFER && !this.waiting) {
79
+ // Buffer overflow during handshake — abort
80
+ this.closed = true;
81
+ this.socket.destroy();
82
+ return;
83
+ }
84
+ this.tryDeliver();
85
+ }
86
+ onClose() {
87
+ this.closed = true;
88
+ if (this.waiting) {
89
+ this.waiting.reject(new Error('socket closed'));
90
+ this.waiting = null;
91
+ }
92
+ }
93
+ tryDeliver() {
94
+ if (!this.waiting)
95
+ return;
96
+ if (this.buffer.length >= this.waiting.count) {
97
+ const { count, resolve } = this.waiting;
98
+ this.waiting = null;
99
+ const result = this.buffer.subarray(0, count);
100
+ this.buffer = this.buffer.subarray(count);
101
+ resolve(result);
102
+ }
103
+ }
104
+ /** Read exactly `count` bytes. Rejects on timeout or socket close. */
105
+ read(count, timeoutMs) {
106
+ if (this.buffer.length >= count) {
107
+ const result = this.buffer.subarray(0, count);
108
+ this.buffer = this.buffer.subarray(count);
109
+ return Promise.resolve(result);
110
+ }
111
+ if (this.closed) {
112
+ return Promise.reject(new Error('socket closed'));
113
+ }
114
+ return new Promise((resolve, reject) => {
115
+ this.waiting = { count, resolve, reject };
116
+ const timer = setTimeout(() => {
117
+ if (this.waiting) {
118
+ this.waiting = null;
119
+ reject(new Error('read timeout'));
120
+ }
121
+ }, timeoutMs);
122
+ const origResolve = resolve;
123
+ const origReject = reject;
124
+ this.waiting.resolve = (buf) => {
125
+ clearTimeout(timer);
126
+ origResolve(buf);
127
+ };
128
+ this.waiting.reject = (err) => {
129
+ clearTimeout(timer);
130
+ origReject(err);
131
+ };
132
+ this.tryDeliver();
133
+ });
134
+ }
135
+ /** Stop reading and return the underlying socket for piping. */
136
+ detach() {
137
+ this.socket.removeListener('data', this.onDataHandler);
138
+ this.socket.removeListener('error', this.onErrorHandler);
139
+ this.socket.removeListener('close', this.onCloseHandler);
140
+ if (this.buffer.length > 0) {
141
+ this.socket.unshift(this.buffer);
142
+ this.buffer = Buffer.alloc(0);
143
+ }
144
+ return this.socket;
145
+ }
146
+ }
147
+ // ---------------------------------------------------------------------------
148
+ // SOCKS5 connection handler
149
+ // ---------------------------------------------------------------------------
150
+ async function handleSocksClient(client, checkDomain) {
151
+ const reader = new SocketReader(client);
152
+ try {
153
+ // Phase 1: Method negotiation
154
+ const greeting = await reader.read(2, 5000);
155
+ if (greeting[0] !== SOCKS_VERSION) {
156
+ client.destroy();
157
+ return;
158
+ }
159
+ const nmethods = greeting[1];
160
+ const methods = await reader.read(nmethods, 3000);
161
+ if (!methods.includes(AUTH_NO_AUTH)) {
162
+ client.write(Buffer.from([SOCKS_VERSION, AUTH_NO_ACCEPTABLE]));
163
+ client.destroy();
164
+ return;
165
+ }
166
+ client.write(Buffer.from([SOCKS_VERSION, AUTH_NO_AUTH]));
167
+ // Phase 2: CONNECT request
168
+ const header = await reader.read(4, 5000);
169
+ if (header[0] !== SOCKS_VERSION) {
170
+ client.destroy();
171
+ return;
172
+ }
173
+ const cmd = header[1];
174
+ const atyp = header[3];
175
+ if (cmd !== CMD_CONNECT) {
176
+ sendReply(client, REP_COMMAND_NOT_SUPPORTED);
177
+ client.destroy();
178
+ return;
179
+ }
180
+ // Parse address
181
+ let host;
182
+ if (atyp === ATYP_IPV4) {
183
+ const addr = await reader.read(4, 3000);
184
+ host = `${addr[0]}.${addr[1]}.${addr[2]}.${addr[3]}`;
185
+ }
186
+ else if (atyp === ATYP_DOMAIN) {
187
+ const lenBuf = await reader.read(1, 3000);
188
+ const domainLen = lenBuf[0];
189
+ const domainBuf = await reader.read(domainLen, 3000);
190
+ host = domainBuf.toString('utf-8');
191
+ }
192
+ else if (atyp === ATYP_IPV6) {
193
+ const addr = await reader.read(16, 3000);
194
+ const parts = [];
195
+ for (let i = 0; i < 16; i += 2) {
196
+ parts.push(((addr[i] << 8) | addr[i + 1]).toString(16));
197
+ }
198
+ host = parts.join(':');
199
+ }
200
+ else {
201
+ sendReply(client, REP_ADDRESS_TYPE_NOT_SUPPORTED);
202
+ client.destroy();
203
+ return;
204
+ }
205
+ const portBuf = await reader.read(2, 3000);
206
+ const port = (portBuf[0] << 8) | portBuf[1];
207
+ const allowed = await checkDomain(host);
208
+ if (!allowed) {
209
+ sendReply(client, REP_CONNECTION_NOT_ALLOWED);
210
+ client.destroy();
211
+ return;
212
+ }
213
+ // Detach the reader so we can pipe the raw socket
214
+ const rawClient = reader.detach();
215
+ // Track whether we've sent the SOCKS reply (exactly one allowed)
216
+ let replied = false;
217
+ const target = net.createConnection({ host, port }, () => {
218
+ replied = true;
219
+ sendReply(rawClient, REP_SUCCESS);
220
+ rawClient.pipe(target);
221
+ target.pipe(rawClient);
222
+ });
223
+ target.on('error', () => {
224
+ if (!replied) {
225
+ replied = true;
226
+ sendReply(rawClient, REP_HOST_UNREACHABLE);
227
+ }
228
+ rawClient.destroy();
229
+ });
230
+ rawClient.on('error', () => target.destroy());
231
+ rawClient.on('close', () => target.destroy());
232
+ target.on('close', () => rawClient.destroy());
233
+ target.setTimeout(10000, () => {
234
+ if (!replied) {
235
+ replied = true;
236
+ sendReply(rawClient, REP_GENERAL_FAILURE);
237
+ }
238
+ target.destroy();
239
+ rawClient.destroy();
240
+ });
241
+ }
242
+ catch {
243
+ client.destroy();
244
+ }
245
+ }
246
+ // ---------------------------------------------------------------------------
247
+ // SOCKS5 reply
248
+ // ---------------------------------------------------------------------------
249
+ function sendReply(client, rep) {
250
+ const reply = Buffer.from([
251
+ SOCKS_VERSION,
252
+ rep,
253
+ 0x00,
254
+ ATYP_IPV4,
255
+ 0,
256
+ 0,
257
+ 0,
258
+ 0, // BND.ADDR
259
+ 0,
260
+ 0 // BND.PORT
261
+ ]);
262
+ try {
263
+ client.write(reply);
264
+ }
265
+ catch {
266
+ // Client already gone
267
+ }
268
+ }
269
+ //# sourceMappingURL=socks-proxy.js.map
@@ -2,7 +2,6 @@
2
2
  * Path translation between Windows and WSL2 mount paths.
3
3
  *
4
4
  * Only used at config-resolution time (not per-command).
5
- * The LLM is prompted to use Linux paths directly when sandbox is active.
6
5
  */
7
6
  /**
8
7
  * Convert a Windows absolute path to its WSL2 /mnt/ equivalent.
@@ -12,7 +11,6 @@
12
11
  * Returns the input unchanged if it doesn't look like a Windows absolute path.
13
12
  */
14
13
  export function toLinuxPath(winPath) {
15
- // Match drive letter patterns: C:\, C:/, or already-linux paths
16
14
  const match = winPath.match(/^([A-Za-z]):[/\\](.*)/);
17
15
  if (!match)
18
16
  return winPath;
@@ -20,4 +18,4 @@ export function toLinuxPath(winPath) {
20
18
  const rest = match[2].replace(/\\/g, '/');
21
19
  return `/mnt/${drive}/${rest}`;
22
20
  }
23
- //# sourceMappingURL=sandbox-paths.js.map
21
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1,320 @@
1
+ /**
2
+ * Resolve caller-provided SandboxConfig into concrete SandboxState.
3
+ *
4
+ * Converts Windows paths to Linux /mnt/ paths and probes the WSL
5
+ * filesystem so that buildBwrapArgs() needs no I/O.
6
+ */
7
+ import { spawnSync } from 'child_process';
8
+ import { ETC_ENTRIES_FOR_NETWORK } from './bwrap.js';
9
+ import { toLinuxPath } from './paths.js';
10
+ export const DEFAULT_DISTRO = 'shortcutxl';
11
+ /**
12
+ * Paths always write-protected, even within writable regions.
13
+ *
14
+ * Relative paths are expanded against each writable mount.
15
+ * These close real escape vectors: shell config injection,
16
+ * git hook planting, credential theft, config tampering.
17
+ */
18
+ export const MANDATORY_DENY_PATHS = [
19
+ // Shell configs — code execution on next shell open
20
+ '.bashrc',
21
+ '.profile',
22
+ '.zshrc',
23
+ // Git — hook injection, repo redirect
24
+ '.gitconfig',
25
+ '.git/hooks',
26
+ // SSH — key exfiltration, authorized_keys injection
27
+ '.ssh',
28
+ // Environment — credential theft via auto-sourcing
29
+ '.env',
30
+ '.envrc',
31
+ // MCP — direct sandbox escape via server config tampering
32
+ '.mcp.json'
33
+ ];
34
+ /**
35
+ * Resolve sandbox config + cwd into ready-to-use sandbox state.
36
+ *
37
+ * Probes the WSL distro for /lib64, /etc entries, resolv.conf,
38
+ * and deny path existence so that subsequent buildBwrapArgs() calls are pure.
39
+ */
40
+ export function resolveSandboxConfig(config, cwd) {
41
+ const distro = config.distro ?? DEFAULT_DISTRO;
42
+ const networkMode = config.networkMode ?? 'none';
43
+ const needsNetwork = networkMode !== 'none';
44
+ const rawReadMounts = (config.readPaths ?? []).map(toLinuxPath);
45
+ const rawWriteMounts = (config.writePaths ?? []).map(toLinuxPath);
46
+ const denyPatterns = config.denyPaths ?? MANDATORY_DENY_PATHS;
47
+ // Resolve symlinks and reject paths that escape allowed boundaries.
48
+ // Allowed boundaries = union of all read + write paths.
49
+ const allBoundaries = [...rawReadMounts, ...rawWriteMounts];
50
+ const readMounts = resolveAndValidateMounts(distro, rawReadMounts, allBoundaries);
51
+ const writeMounts = resolveAndValidateMounts(distro, rawWriteMounts, allBoundaries);
52
+ // Probe for seccomp infrastructure (apply-seccomp binary + BPF filter).
53
+ // Both must exist for seccomp to be active. Graceful degradation if missing.
54
+ const seccompEnabled = config.seccomp !== false;
55
+ const SECCOMP_FILTER = '/etc/seccomp/unix-block.bpf';
56
+ const SECCOMP_BINARY = '/usr/local/bin/apply-seccomp';
57
+ const seccompFilterPath = seccompEnabled && existsInWsl(distro, SECCOMP_FILTER) && existsInWsl(distro, SECCOMP_BINARY)
58
+ ? SECCOMP_FILTER
59
+ : null;
60
+ return {
61
+ distro,
62
+ readMounts,
63
+ writeMounts,
64
+ workdir: toLinuxPath(cwd),
65
+ networkMode,
66
+ env: config.env ?? {},
67
+ denyMounts: resolveDenyMounts(distro, writeMounts, denyPatterns),
68
+ seccompFilterPath,
69
+ hasLib64: existsInWsl(distro, '/lib64'),
70
+ resolvedResolvConf: needsNetwork ? resolveWslPath(distro, '/etc/resolv.conf') : null,
71
+ existingEtcEntries: needsNetwork
72
+ ? ETC_ENTRIES_FOR_NETWORK.filter((e) => existsInWsl(distro, e))
73
+ : []
74
+ };
75
+ }
76
+ // ---------------------------------------------------------------------------
77
+ // Symlink boundary checking
78
+ // ---------------------------------------------------------------------------
79
+ /**
80
+ * Batch-resolve symlinks via `readlink -f` and filter out paths that
81
+ * escape their allowed boundaries.
82
+ *
83
+ * A mount is valid if its resolved (real) path either:
84
+ * 1. Equals the original path (not a symlink, or symlink to itself), OR
85
+ * 2. Falls within one of the allowed boundary paths.
86
+ *
87
+ * Broken symlinks and non-existent paths are rejected (readlink -f fails).
88
+ *
89
+ * @param distro - WSL distro name
90
+ * @param mounts - Linux mount paths to validate
91
+ * @param allowedBoundaries - All configured mount paths (read + write) that
92
+ * define the allowed scope. A resolved path is accepted if it starts with
93
+ * any of these boundaries.
94
+ * @returns Only the mounts that pass boundary checking (using resolved paths).
95
+ */
96
+ export function resolveAndValidateMounts(distro, mounts, allowedBoundaries) {
97
+ if (mounts.length === 0)
98
+ return [];
99
+ const resolved = batchResolveSymlinks(distro, mounts);
100
+ const validated = [];
101
+ for (const original of mounts) {
102
+ const real = resolved.get(original);
103
+ if (real == null)
104
+ continue; // broken symlink or doesn't exist — reject
105
+ // Accept if resolved path equals original (no symlink)
106
+ if (real === original) {
107
+ validated.push(original);
108
+ continue;
109
+ }
110
+ // Accept if resolved path falls within any allowed boundary
111
+ const withinBoundary = allowedBoundaries.some((boundary) => real === boundary || real.startsWith(boundary + '/'));
112
+ if (withinBoundary) {
113
+ validated.push(real); // use the resolved path
114
+ }
115
+ // Otherwise: symlink escapes boundaries — silently rejected
116
+ }
117
+ return validated;
118
+ }
119
+ /**
120
+ * Batch-resolve symlinks for multiple paths in a single WSL call.
121
+ * Returns a Map from original path to resolved path (null if resolution failed).
122
+ */
123
+ function batchResolveSymlinks(distro, paths) {
124
+ const results = new Map();
125
+ const uncached = [];
126
+ for (const p of paths) {
127
+ const key = `resolve:${distro}:${p}`;
128
+ if (wslPathCache.has(key)) {
129
+ results.set(p, wslPathCache.get(key));
130
+ }
131
+ else {
132
+ uncached.push(p);
133
+ }
134
+ }
135
+ if (uncached.length === 0)
136
+ return results;
137
+ // Batch: "readlink -f '/p1' 2>/dev/null || echo '::FAIL::'; readlink -f '/p2' ..."
138
+ // Each readlink outputs one line on success, or ::FAIL:: on failure.
139
+ const script = uncached
140
+ .map((p) => {
141
+ const escaped = shellEscape(p);
142
+ return `readlink -f '${escaped}' 2>/dev/null || echo '::FAIL::'`;
143
+ })
144
+ .join('; ');
145
+ try {
146
+ const result = spawnSync('wsl', ['-d', distro, '--', 'sh', '-c', script], {
147
+ timeout: 5000,
148
+ encoding: 'utf-8',
149
+ windowsHide: true
150
+ });
151
+ const lines = (result.stdout ?? '').split('\n').map((l) => l.trim());
152
+ for (let i = 0; i < uncached.length; i++) {
153
+ const line = lines[i] ?? '::FAIL::';
154
+ const resolved = line === '::FAIL::' || line === '' ? null : line;
155
+ const key = `resolve:${distro}:${uncached[i]}`;
156
+ wslPathCache.set(key, resolved);
157
+ results.set(uncached[i], resolved);
158
+ }
159
+ }
160
+ catch {
161
+ for (const p of uncached) {
162
+ wslPathCache.set(`resolve:${distro}:${p}`, null);
163
+ results.set(p, null);
164
+ }
165
+ }
166
+ return results;
167
+ }
168
+ // ---------------------------------------------------------------------------
169
+ // Deny path resolution
170
+ // ---------------------------------------------------------------------------
171
+ /**
172
+ * Expand relative deny patterns against each writable mount and
173
+ * return only the paths that exist in WSL (bwrap can't overlay non-existent paths).
174
+ *
175
+ * If a deny path is a symlink, both the symlink and its resolved target
176
+ * are included so both the alias and the real path are protected.
177
+ *
178
+ * Non-existent deny paths are a known gap — sandboxed code could create them.
179
+ * This will be addressed by Phase 6 (seccomp).
180
+ */
181
+ function resolveDenyMounts(distro, writeMounts, denyPatterns) {
182
+ if (denyPatterns.length === 0 || writeMounts.length === 0)
183
+ return [];
184
+ const candidates = [];
185
+ for (const mount of writeMounts) {
186
+ for (const pattern of denyPatterns) {
187
+ if (pattern.startsWith('/')) {
188
+ if (pattern.startsWith(mount + '/') || pattern === mount) {
189
+ candidates.push(pattern);
190
+ }
191
+ }
192
+ else {
193
+ candidates.push(`${mount}/${pattern}`);
194
+ }
195
+ }
196
+ }
197
+ const unique = [...new Set(candidates)];
198
+ if (unique.length === 0)
199
+ return [];
200
+ // Check which candidates exist, then resolve symlinks
201
+ const existing = batchExistsInWsl(distro, unique);
202
+ const resolved = batchResolveSymlinks(distro, existing);
203
+ const result = new Set();
204
+ for (const original of existing) {
205
+ result.add(original);
206
+ const real = resolved.get(original);
207
+ if (real != null && real !== original) {
208
+ result.add(real); // also protect the resolved target
209
+ }
210
+ }
211
+ return [...result];
212
+ }
213
+ /** Escape a string for use inside single quotes in sh. */
214
+ function shellEscape(s) {
215
+ // In single-quoted strings, the only character that can't appear is '.
216
+ // Replace each ' with the sequence: end quote, escaped quote, start quote.
217
+ return s.replace(/'/g, "'\\''");
218
+ }
219
+ /**
220
+ * Check multiple paths in a single WSL call.
221
+ * Returns the subset of paths that exist.
222
+ */
223
+ function batchExistsInWsl(distro, paths) {
224
+ // Check cache first — return cached results and only probe uncached paths
225
+ const results = [];
226
+ const uncached = [];
227
+ for (const p of paths) {
228
+ const key = `exists:${distro}:${p}`;
229
+ if (wslPathCache.has(key)) {
230
+ if (wslPathCache.get(key) !== null)
231
+ results.push(p);
232
+ }
233
+ else {
234
+ uncached.push(p);
235
+ }
236
+ }
237
+ if (uncached.length === 0)
238
+ return results;
239
+ // Batch check: "test -e 'P1' && echo 'P1'; test -e 'P2' && echo 'P2'; ..."
240
+ const script = uncached
241
+ .map((p) => {
242
+ const escaped = shellEscape(p);
243
+ return `test -e '${escaped}' && echo '${escaped}'`;
244
+ })
245
+ .join('; ');
246
+ try {
247
+ const result = spawnSync('wsl', ['-d', distro, '--', 'sh', '-c', script], {
248
+ timeout: 5000,
249
+ encoding: 'utf-8',
250
+ windowsHide: true
251
+ });
252
+ const found = new Set((result.stdout ?? '')
253
+ .split('\n')
254
+ .map((l) => l.trim())
255
+ .filter(Boolean));
256
+ for (const p of uncached) {
257
+ const exists = found.has(p);
258
+ wslPathCache.set(`exists:${distro}:${p}`, exists ? 'true' : null);
259
+ if (exists)
260
+ results.push(p);
261
+ }
262
+ }
263
+ catch {
264
+ // On failure, mark all as non-existent
265
+ for (const p of uncached) {
266
+ wslPathCache.set(`exists:${distro}:${p}`, null);
267
+ }
268
+ }
269
+ return results;
270
+ }
271
+ // ---------------------------------------------------------------------------
272
+ // WSL filesystem probes (cached per session)
273
+ // ---------------------------------------------------------------------------
274
+ const wslPathCache = new Map();
275
+ /** Resolve a potentially-symlinked path inside the WSL distro to its real path. */
276
+ function resolveWslPath(distro, path) {
277
+ const key = `resolve:${distro}:${path}`;
278
+ if (wslPathCache.has(key))
279
+ return wslPathCache.get(key);
280
+ try {
281
+ const result = spawnSync('wsl', ['-d', distro, '--', 'readlink', '-f', path], {
282
+ timeout: 3000,
283
+ encoding: 'utf-8',
284
+ windowsHide: true
285
+ });
286
+ const resolved = result.status === 0 ? (result.stdout ?? '').trim() || null : null;
287
+ wslPathCache.set(key, resolved);
288
+ return resolved;
289
+ }
290
+ catch {
291
+ wslPathCache.set(key, null);
292
+ return null;
293
+ }
294
+ }
295
+ /** Check if a path exists inside the WSL distro. Cached per session. */
296
+ function existsInWsl(distro, path) {
297
+ const key = `exists:${distro}:${path}`;
298
+ if (wslPathCache.has(key))
299
+ return wslPathCache.get(key) !== null;
300
+ try {
301
+ const result = spawnSync('wsl', ['-d', distro, '--', 'test', '-e', path], {
302
+ timeout: 3000,
303
+ windowsHide: true
304
+ });
305
+ wslPathCache.set(key, result.status === 0 ? 'true' : null);
306
+ return result.status === 0;
307
+ }
308
+ catch {
309
+ wslPathCache.set(key, null);
310
+ return false;
311
+ }
312
+ }
313
+ /**
314
+ * Clear the WSL path cache.
315
+ * Call after distro changes (import, unregister) to force re-probing.
316
+ */
317
+ export function clearResolveCache() {
318
+ wslPathCache.clear();
319
+ }
320
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Smoke test for a WSL2 sandbox distro.
3
+ *
4
+ * Verifies that all expected binaries and Python packages are available.
5
+ */
6
+ import { spawn } from 'child_process';
7
+ /** Binaries that must exist in the distro. */
8
+ const REQUIRED_BINARIES = ['bwrap', 'bash', 'python3', 'pip', 'curl', 'socat'];
9
+ /** Python packages that must be importable. */
10
+ const REQUIRED_PYTHON_PACKAGES = ['openpyxl', 'httpx'];
11
+ /** Run a smoke test against the sandbox distro. */
12
+ export async function runSandboxSmokeTestAsync(distro) {
13
+ const output = await runBatchedSmokeAsync(distro);
14
+ return parseSmokeTestOutput(output);
15
+ }
16
+ function buildSmokeScript() {
17
+ const binaryChecks = REQUIRED_BINARIES.map((bin) => `_p=$(which ${bin} 2>/dev/null) && echo "bin:${bin}:$_p:OK" || echo "bin:${bin}::FAIL"`);
18
+ const pythonChecks = REQUIRED_PYTHON_PACKAGES.map((pkg) => `_v=$(python3 -c 'import ${pkg}; print(${pkg}.__version__)' 2>/dev/null) && echo "py:${pkg}:$_v:OK" || echo "py:${pkg}::FAIL"`);
19
+ return [...binaryChecks, ...pythonChecks].join('; ');
20
+ }
21
+ function parseSmokeTestOutput(output) {
22
+ const checks = [];
23
+ const lines = output.split('\n').filter(Boolean);
24
+ const expectedBins = new Set(REQUIRED_BINARIES);
25
+ const expectedPkgs = new Set(REQUIRED_PYTHON_PACKAGES);
26
+ for (const line of lines) {
27
+ const match = line.match(/^(bin|py):([^:]+):(.*?):(OK|FAIL)\s*$/);
28
+ if (!match)
29
+ continue;
30
+ const [, type, name, detail, status] = match;
31
+ const isOk = status === 'OK';
32
+ if (type === 'bin') {
33
+ expectedBins.delete(name);
34
+ checks.push({ name: name, ok: isOk, detail: isOk ? detail || name : 'not found' });
35
+ }
36
+ else {
37
+ expectedPkgs.delete(name);
38
+ checks.push({ name: `python:${name}`, ok: isOk, detail: isOk ? detail : 'import failed' });
39
+ }
40
+ }
41
+ for (const bin of expectedBins) {
42
+ checks.push({ name: bin, ok: false, detail: 'not found' });
43
+ }
44
+ for (const pkg of expectedPkgs) {
45
+ checks.push({ name: `python:${pkg}`, ok: false, detail: 'import failed' });
46
+ }
47
+ return { ok: checks.every((c) => c.ok), checks };
48
+ }
49
+ function runBatchedSmokeAsync(distro) {
50
+ const script = buildSmokeScript();
51
+ return new Promise((resolve) => {
52
+ const child = spawn('wsl', ['-d', distro, '--', 'sh', '-c', script], {
53
+ stdio: ['ignore', 'pipe', 'pipe'],
54
+ windowsHide: true
55
+ });
56
+ let output = '';
57
+ let settled = false;
58
+ child.stdout?.on('data', (chunk) => {
59
+ output += chunk.toString();
60
+ });
61
+ child.stderr?.on('data', (chunk) => {
62
+ output += chunk.toString();
63
+ });
64
+ child.on('error', () => {
65
+ if (!settled) {
66
+ settled = true;
67
+ clearTimeout(timer);
68
+ resolve(output);
69
+ }
70
+ });
71
+ const timer = setTimeout(() => {
72
+ if (!settled) {
73
+ settled = true;
74
+ child.kill();
75
+ resolve(output);
76
+ }
77
+ }, 15_000);
78
+ child.on('close', () => {
79
+ if (!settled) {
80
+ settled = true;
81
+ clearTimeout(timer);
82
+ resolve(output);
83
+ }
84
+ });
85
+ });
86
+ }
87
+ //# sourceMappingURL=smoke.js.map