@inkeep/open-knowledge 0.2.0 → 0.4.0-beta.6
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.
- package/dist/THIRD_PARTY_NOTICES.md +6097 -0
- package/dist/alias-JE7RI5QX-Bia4gLMF.mjs +1 -0
- package/dist/assets/skills/open-knowledge/SKILL.md +347 -0
- package/dist/awk2-POPGKRAI-DDrFV-7v.mjs +1 -0
- package/dist/banner-DdbR6AZr.mjs +3 -0
- package/dist/base64-4YMZCVJ5-DDKKOjMm.mjs +1 -0
- package/dist/basename-AA2KJYZQ-BK5zVs3W.mjs +1 -0
- package/dist/bash-IJWYRKFO-B9r1a0X9.mjs +1 -0
- package/dist/build-B6buVrsB.mjs +2 -0
- package/dist/cat-RDUMLXKC-CeNrSElK.mjs +1 -0
- package/dist/chmod-SYMGL4JA-DFJ4ylQU.mjs +1 -0
- package/dist/chokidar-CxU7f6JW.mjs +4 -0
- package/dist/chunk-24IMIIXA-B6yIPkk2.mjs +2 -0
- package/dist/chunk-3THT3N7L-DztAF386.mjs +2 -0
- package/dist/chunk-3ZUFRYJ4-qsYuZX7b.mjs +2 -0
- package/dist/chunk-44UOCSGV-CaFxJDHm.mjs +2 -0
- package/dist/chunk-4GTNDTRF-PuLVuVJW.mjs +8 -0
- package/dist/chunk-4HHKTUW3-CQ53AiA_.mjs +3 -0
- package/dist/chunk-4Q4SM6WR-BlQvqCag.mjs +5 -0
- package/dist/chunk-55VFSPNA-DLwfww5b.mjs +3 -0
- package/dist/chunk-5QMZ5MUS-CAp625aG.mjs +5 -0
- package/dist/chunk-5QVNJEHU-dbrKfPGl.mjs +9 -0
- package/dist/chunk-5V6VZH6T-DMPvCPbn.mjs +2 -0
- package/dist/chunk-62RKD26F-B9la0pfD.mjs +21 -0
- package/dist/chunk-64BAICW3-D92CLSK-.mjs +2 -0
- package/dist/chunk-74CEPOFO-BcZUJMO1.mjs +23 -0
- package/dist/chunk-7L36YK2X-D7Z_Qw_C.mjs +3 -0
- package/dist/chunk-7TSDKFEO-DUQhJkDy.mjs +2 -0
- package/dist/chunk-A4HU7SVR-DKLaJeys.mjs +3 -0
- package/dist/chunk-A4JSPFCI-CEm2r8SB.mjs +7 -0
- package/dist/chunk-A5O5YHGN-DvJz5Cpw.mjs +2 -0
- package/dist/chunk-A65PWWJC-DV6RO_es.mjs +3 -0
- package/dist/chunk-A7A2DBEE-dTNL-45u.mjs +7 -0
- package/dist/chunk-A7ICOL4V-BvXPAaHu.mjs +14 -0
- package/dist/chunk-ALLTKNUZ-Cu6JFoC4.mjs +6 -0
- package/dist/chunk-APT7OOP2-DmUrFuRy.mjs +2 -0
- package/dist/chunk-BBXLRYSX-K758HlCs.mjs +6 -0
- package/dist/chunk-BRGMQKJV-BXc-9Cgj.mjs +63 -0
- package/dist/chunk-CR5AFCPT-DxNsgM0M.mjs +24 -0
- package/dist/chunk-CWQS3NFK-Co4ALolT.mjs +2 -0
- package/dist/chunk-D4J545R4-DkHLjHX6.mjs +12 -0
- package/dist/chunk-D6CWQ5DW-7lvT8dGP.mjs +6 -0
- package/dist/chunk-D7MEQ3VN-D8jJZr4A.mjs +5 -0
- package/dist/chunk-DCAAORBQ-C3s1D8OY.mjs +2 -0
- package/dist/chunk-DXB73IDG-DIKSLkPq.mjs +2 -0
- package/dist/chunk-EEXR5ZDP-CETL3_Uw.mjs +3 -0
- package/dist/chunk-EIZGF4BS-DOoQW9jQ.mjs +9 -0
- package/dist/chunk-F23WWYKW-BK2tpXPf.mjs +17 -0
- package/dist/chunk-F55TLFGB-Vy5RU2P3.mjs +10 -0
- package/dist/chunk-FEIOJCZD-C25Und0M.mjs +75 -0
- package/dist/chunk-FK9Q3tQk.mjs +1 -0
- package/dist/chunk-GCTKCWKD-Di-RB9Qt.mjs +4 -0
- package/dist/chunk-GFQRA5P5-DnjwTqP3.mjs +8 -0
- package/dist/chunk-GOV5EKKI-CKV9jOGv.mjs +10 -0
- package/dist/chunk-GXVXFKBA-CUKDClxt.mjs +6 -0
- package/dist/chunk-HDQ56CKY-MTQ75a8z.mjs +16 -0
- package/dist/chunk-HJQJAYMS-D-8Vc6Zb.mjs +3 -0
- package/dist/chunk-HJWBQKYG-XrOcsn2f.mjs +6 -0
- package/dist/chunk-HWBSOZZR-BZF8XsyZ.mjs +37 -0
- package/dist/chunk-HWKDQ44K-wgmyck2O.mjs +4 -0
- package/dist/chunk-I57KEIP3-DipCOPKf.mjs +11 -0
- package/dist/chunk-IPJHKYVM-C3IodQq7.mjs +2 -0
- package/dist/chunk-J642UCRS-YiNealfn.mjs +2 -0
- package/dist/chunk-JVPRLUMK-VMFWXimu.mjs +8 -0
- package/dist/chunk-KMEYNNUA-pRogdye4.mjs +16 -0
- package/dist/chunk-LL3S3NLB-ByBS5IDP.mjs +2 -0
- package/dist/chunk-LPQPILI2-FRQB9gt5.mjs +12 -0
- package/dist/chunk-LTZRCH7N-46S7WKw8.mjs +32 -0
- package/dist/chunk-LWEGUNWT-DdGmM3wr.mjs +8 -0
- package/dist/chunk-MDDMCKUK-CuRdI1Uv.mjs +7 -0
- package/dist/chunk-MDLLFABN-Wd1iVjXi.mjs +73 -0
- package/dist/chunk-MHTUABJP-BWrqic3t.mjs +9 -0
- package/dist/chunk-MIZPJHVH-DWdPvcYR.mjs +8 -0
- package/dist/chunk-MLXIYONF-CiCzoeGt.mjs +16 -0
- package/dist/chunk-MYE6AGBJ-DJo74dVC.mjs +17 -0
- package/dist/chunk-NAERJDUW-CIHrNgJB.mjs +9 -0
- package/dist/chunk-NCNPKYJZ-BVljycUZ.mjs +3 -0
- package/dist/chunk-NUYSJFDK-BTseBdxv.mjs +8 -0
- package/dist/chunk-NYQYO467-BgXuDHUQ.mjs +33 -0
- package/dist/chunk-OARHFVLG-Cr0x3Si_.mjs +21 -0
- package/dist/chunk-OCLXQMOG-BW6rwyzS.mjs +7 -0
- package/dist/chunk-OCS6LSEM-D7VAOziZ.mjs +14 -0
- package/dist/chunk-OJDRYQWQ-ikvLWpfV.mjs +2 -0
- package/dist/chunk-OL3S66CO-CQnF8cPH.mjs +100 -0
- package/dist/chunk-PBXLG62G-CgbPJTiw.mjs +9 -0
- package/dist/chunk-PP6PSHAB-CO4MYU__.mjs +5 -0
- package/dist/chunk-PYSFUGCK-DsRn64Ef.mjs +11 -0
- package/dist/chunk-QCDB2VPH-BUMOhlW7.mjs +7 -0
- package/dist/chunk-QJ7O6ZN3-F0_rcDPM.mjs +6 -0
- package/dist/chunk-R6QSAL5T-CeW6f7-x.mjs +2 -0
- package/dist/chunk-R6VWJ2ZL-FwG_Za20.mjs +2 -0
- package/dist/chunk-RPNGRAAP-BmkapBPD.mjs +8 -0
- package/dist/chunk-SDNKECQQ-DkebEzkd.mjs +6 -0
- package/dist/chunk-SYMJJMQ4-DOZMaECk.mjs +22 -0
- package/dist/chunk-T56QNPHK-DPXaSSfC.mjs +15 -0
- package/dist/chunk-TLSUDHID-BovZg0r1.mjs +7 -0
- package/dist/chunk-TOMNU26N-AAglMy4J.mjs +5 -0
- package/dist/chunk-TXBZCHCQ-WeVWfqYv.mjs +6 -0
- package/dist/chunk-UNYNJIFU-CqGlXAg7.mjs +140 -0
- package/dist/chunk-V7TAPXDL-DQgGPvBY.mjs +28 -0
- package/dist/chunk-VJFXDYWH-DIo0Ia0_.mjs +11 -0
- package/dist/chunk-VLGZJRPG-DymOu90-.mjs +17 -0
- package/dist/chunk-VOBGTVA6-Bfa1NTzt.mjs +7 -0
- package/dist/chunk-VYOJP4TV-PBsHe2md.mjs +14 -0
- package/dist/chunk-WKFATFPP-KO2zkfs2.mjs +5 -0
- package/dist/chunk-X2AJGDEF-D5w6wtaX.mjs +2 -0
- package/dist/chunk-XHM67O4N-akBjDPaR.mjs +2 -0
- package/dist/chunk-XKQRETAK-RHzVmuiF.mjs +2 -0
- package/dist/chunk-XORM457F-wr_DBBnV.mjs +288 -0
- package/dist/chunk-XVDPCNWR-DxaG1FfA.mjs +12 -0
- package/dist/chunk-YCFVLTST-Dzwevuc3.mjs +13 -0
- package/dist/chunk-YFG2CMIF-BoZQym0L.mjs +5 -0
- package/dist/chunk-YNYSPYQ5-DesxOVHh.mjs +34 -0
- package/dist/chunk-YS3AZT3J-CBc9LHIy.mjs +9 -0
- package/dist/chunk-YTNYSM6T-WMIf3AF8.mjs +12 -0
- package/dist/chunk-Z6LRHWXI-DGTVoTuf.mjs +14 -0
- package/dist/chunk-Z7JVV2SM-Cb4YKOCM.mjs +12 -0
- package/dist/clear-5CZ5X4YR-CadVxKrq.mjs +1 -0
- package/dist/cli.mjs +61 -593
- package/dist/colors-BNufdynn.mjs +2 -0
- package/dist/colors-T3xmlXQT.mjs +1 -0
- package/dist/column-WLPMMSTS-6o4DDsDk.mjs +1 -0
- package/dist/comm-5SLSESQG-C2GatHU6.mjs +1 -0
- package/dist/config-schema.json +87 -0
- package/dist/config.project-local.schema.json +30 -0
- package/dist/config.project.schema.json +59 -0
- package/dist/config.user.schema.json +58 -0
- package/dist/constants-Dc6GZ6j9.mjs +2 -0
- package/dist/cp-XOYR4ABJ-DmS6dER-.mjs +1 -0
- package/dist/curl-47BFPSFW-C2kRcGkX.mjs +26 -0
- package/dist/cut-OPC3VAGB-s4tQWhL5.mjs +1 -0
- package/dist/date-DD7FVA2V-Dubgjr6a.mjs +1 -0
- package/dist/diff-HJF2MPDN-DjGBLQph.mjs +1 -0
- package/dist/dirname-LEMTZZFS-B477CImE.mjs +1 -0
- package/dist/dist-B6pNPboH.mjs +1609 -0
- package/dist/dist-DVM7wH81.mjs +359 -0
- package/dist/dist-DXLSMgBY.mjs +1 -0
- package/dist/dist-bundle-BSdjl7Rj.mjs +2 -0
- package/dist/dist-bundle-BmF5_Mcp.mjs +1 -0
- package/dist/du-WO2ENHXQ-C4c5wweW.mjs +1 -0
- package/dist/echo-O45JWWI2-TudodhHR.mjs +1 -0
- package/dist/env-5EPCWSXR-CTcNEMpy.mjs +1 -0
- package/dist/esm-BbkJd7ro.mjs +2 -0
- package/dist/esm-CEs3LWY3.mjs +20 -0
- package/dist/execAsync-CulVJBMN.mjs +2 -0
- package/dist/execAsync-CzW9fUYQ.mjs +2 -0
- package/dist/execAsync-DuQoqWaW.mjs +2 -0
- package/dist/expand-DTNXU4LQ-BT6M2Tdc.mjs +1 -0
- package/dist/expansion-ENLSRCXJ-Cy7j--Iy.mjs +1 -0
- package/dist/expr-5T3UU5KE-D2Kr5nuJ.mjs +1 -0
- package/dist/file-ZIGAJ4YS-BH3jYcuM.mjs +1 -0
- package/dist/find-TPUOAIUQ-RFxkUcGN.mjs +1 -0
- package/dist/flag-coverage-QT4N2Z44--nNG-HLV.mjs +2 -0
- package/dist/fold-LDSORVYE-CfKQmrJ1.mjs +1 -0
- package/dist/getMachineId-bsd-DAmB-Ym0.mjs +2 -0
- package/dist/getMachineId-bsd-FYDP9w5Q.mjs +2 -0
- package/dist/getMachineId-bsd-mPrX3ckm.mjs +2 -0
- package/dist/getMachineId-darwin-B0Qw-MTj.mjs +3 -0
- package/dist/getMachineId-darwin-C79HtyON.mjs +3 -0
- package/dist/getMachineId-darwin-Co8Jnu5v.mjs +3 -0
- package/dist/getMachineId-linux-BBORs2cS.mjs +2 -0
- package/dist/getMachineId-linux-BizmCjYq.mjs +2 -0
- package/dist/getMachineId-linux-BvLCCmKQ.mjs +2 -0
- package/dist/getMachineId-unsupported-Bgp-Es9j.mjs +2 -0
- package/dist/getMachineId-unsupported-CbR45h2D.mjs +2 -0
- package/dist/getMachineId-unsupported-DbGFOAw1.mjs +2 -0
- package/dist/getMachineId-win-CT_Y5i_4.mjs +2 -0
- package/dist/getMachineId-win-Cy0XHq4X.mjs +2 -0
- package/dist/getMachineId-win-D5gDnBHa.mjs +2 -0
- package/dist/git-handle-DwfYp_z--CfyPz4Dz.mjs +10 -0
- package/dist/git-handle-DwfYp_z--DreW3fNC.mjs +1 -0
- package/dist/grep-3AIAIJVR-DgQJLmW0.mjs +1 -0
- package/dist/gzip-AQXSGOVS-yXjpnIVd.mjs +1 -0
- package/dist/head-HT2B6D2J-BR4RHRTk.mjs +1 -0
- package/dist/help-VVWX7SA5-M6C6klSC.mjs +1 -0
- package/dist/history-J4QRNGRO-C1r7-kvT.mjs +1 -0
- package/dist/hostname-BK6HG2DE-BBBcRrtV.mjs +1 -0
- package/dist/html-to-markdown-TFCECAGV-B9oYuMVf.mjs +1 -0
- package/dist/index.d.mts +52 -76
- package/dist/index.mjs +1 -1
- package/dist/init-B7qJnXKB.mjs +397 -0
- package/dist/init-DiH9oQ6_.mjs +1 -0
- package/dist/{is-object-WgQ3abDo.mjs → is-object-DF0ZeuvD.mjs} +1 -1
- package/dist/join-GG2LDHE5-xeTE0Mi4.mjs +1 -0
- package/dist/jq-ODXZBPLY-C5v6qNu_.mjs +1 -0
- package/dist/js-exec-M6UR76J5-IyD-lpzv.mjs +97 -0
- package/dist/lib-BOCdCkg7.mjs +2 -0
- package/dist/libesm-YL3Bqolr.mjs +14 -0
- package/dist/ln-4TRFBYAT-4XMTO1OQ.mjs +1 -0
- package/dist/loader-BQf8AJXb.mjs +4 -0
- package/dist/loader-C8lkPKn8.mjs +1 -0
- package/dist/ls-KSXFZCWH-Bw_Cf-VY.mjs +1 -0
- package/dist/lzma-vr8hBkhz.mjs +2 -0
- package/dist/md5sum-INMIK4DX-CAIH4ZVI.mjs +1 -0
- package/dist/mkdir-TDEMSB6C-D1oUG8Jf.mjs +1 -0
- package/dist/mrmime-C2W7cgq2.mjs +2 -0
- package/dist/mv-Z6MORUFL-CN471qcL.mjs +1 -0
- package/dist/nl-U5YJDM32-CFzXKze3.mjs +1 -0
- package/dist/od-VJEF2UR5-C2R4Accu.mjs +1 -0
- package/dist/{open-browser-rbaiEzUy.mjs → open-browser-BZZK_gJj.mjs} +1 -1
- package/dist/paste-7N6AFSDS-bUl2Dwz3.mjs +1 -0
- package/dist/preview-CN1rHXBb.mjs +1 -0
- package/dist/preview-DUTos2Es.mjs +3 -0
- package/dist/printf-CX64KX2P-Ce--gWAq.mjs +1 -0
- package/dist/public/assets/ActivityModeContent-1ymqlcHI.js +2 -0
- package/dist/public/assets/ActivityPanelDiffView-DoHWP1ak.js +13 -0
- package/dist/public/assets/ActivityPanelDiffView-legcy4jI.css +1 -0
- package/dist/public/assets/DocumentContext-bvfr7pL2.js +37 -0
- package/dist/public/assets/GraphPanel-DdVygxYk.js +46 -0
- package/dist/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/public/assets/McpConsentDialogBody-CJwPf_uv.js +1 -0
- package/dist/public/assets/OutlinePanel-dumodx-h.js +2 -0
- package/dist/public/assets/SettingsPane-CtgbQZxP.js +6 -0
- package/dist/public/assets/SourceEditor-CR_7DOAH.js +2 -0
- package/dist/public/assets/__vite-browser-external-FEGw1XPd.js +1 -0
- package/dist/public/assets/_baseFor-CX8dsZbW.js +1 -0
- package/dist/public/assets/agent-presence-Ds2n3U5P.js +1 -0
- package/dist/public/assets/arc-BL_OKZmE.js +1 -0
- package/dist/public/assets/architecture-YZFGNWBL-DVxNz-zn.js +1 -0
- package/dist/public/assets/architectureDiagram-Q4EWVU46-BKKtWWhU.js +36 -0
- package/dist/public/assets/array-X0JlPOfd.js +1 -0
- package/dist/public/assets/blockDiagram-DXYQGD6D-fzO4vZye.js +132 -0
- package/dist/public/assets/button-BsFpqlpT.js +1 -0
- package/dist/public/assets/c4Diagram-AHTNJAMY-BkXqEjiP.js +10 -0
- package/dist/public/assets/channel-CR-xJel6.js +1 -0
- package/dist/public/assets/chunk-2KRD3SAO-DQj0pw3H.js +1 -0
- package/dist/public/assets/chunk-336JU56O-CBajDulv.js +2 -0
- package/dist/public/assets/chunk-426QAEUC-BoBKbVmN.js +1 -0
- package/dist/public/assets/chunk-4BX2VUAB-D8pbSOlJ.js +1 -0
- package/dist/public/assets/chunk-4TB4RGXK-mA6CujZO.js +206 -0
- package/dist/public/assets/chunk-55IACEB6-CqVyNzhX.js +1 -0
- package/dist/public/assets/chunk-5FUZZQ4R-BVDLgFg2.js +62 -0
- package/dist/public/assets/chunk-5PVQY5BW-Cxi5d3lT.js +2 -0
- package/dist/public/assets/chunk-67CJDMHE-CdrAY8qZ.js +1 -0
- package/dist/public/assets/chunk-7N4EOEYR-CJ3HBg3c.js +1 -0
- package/dist/public/assets/chunk-AA7GKIK3-D0ckJAXt.js +1 -0
- package/dist/public/assets/chunk-BSJP7CBP-D4bNhKd7.js +1 -0
- package/dist/public/assets/chunk-CFjPhJqf.js +1 -0
- package/dist/public/assets/chunk-CIAEETIT-D1Fpp2md.js +1 -0
- package/dist/public/assets/chunk-EDXVE4YY-ChhT3Iyo.js +1 -0
- package/dist/public/assets/chunk-ENJZ2VHE-Bby39so4.js +10 -0
- package/dist/public/assets/chunk-FMBD7UC4-pRkDIOZn.js +15 -0
- package/dist/public/assets/chunk-FOC6F5B3-BsB4oTj4.js +1 -0
- package/dist/public/assets/chunk-ICPOFSXX-CrnuSfeJ.js +122 -0
- package/dist/public/assets/chunk-K5T4RW27-CtREah_n.js +94 -0
- package/dist/public/assets/chunk-KGLVRYIC-DtDxSfKu.js +1 -0
- package/dist/public/assets/chunk-LIHQZDEY-D63TRk6j.js +1 -0
- package/dist/public/assets/chunk-ORNJ4GCN-Dv2PvYVu.js +1 -0
- package/dist/public/assets/chunk-OYMX7WX6-BhfqKepC.js +231 -0
- package/dist/public/assets/chunk-QZHKN3VN-DBRWHtgj.js +1 -0
- package/dist/public/assets/chunk-U2HBQHQK-6BAKH95D.js +70 -0
- package/dist/public/assets/chunk-X2U36JSP-Cqpkx90-.js +1 -0
- package/dist/public/assets/chunk-XPW4576I-DSytTnq4.js +32 -0
- package/dist/public/assets/chunk-YZCP3GAM-Dt9awjVh.js +1 -0
- package/dist/public/assets/chunk-ZZ45TVLE-JGFITgiO.js +1 -0
- package/dist/public/assets/classDiagram-6PBFFD2Q-oopM_Z0m.js +1 -0
- package/dist/public/assets/classDiagram-v2-HSJHXN6E-ZAL74u9S.js +1 -0
- package/dist/public/assets/clone-C5y6xhRJ.js +1 -0
- package/dist/public/assets/colors-XIJoz9Bd.js +1 -0
- package/dist/public/assets/compiler-runtime-CVnuRdak.js +1 -0
- package/dist/public/assets/config-validation-events-BvuBj41U.js +1 -0
- package/dist/public/assets/cose-bilkent-S5V4N54A-B9nG-SHi.js +1 -0
- package/dist/public/assets/cytoscape.esm-BkjNfcSF.js +321 -0
- package/dist/public/assets/dagre-BEdPLXba.js +1 -0
- package/dist/public/assets/dagre-KV5264BT-DKn5nGCC.js +4 -0
- package/dist/public/assets/defaultLocale-ZxyFnXCb.js +1 -0
- package/dist/public/assets/diagram-5BDNPKRD-BQuwYEd0.js +10 -0
- package/dist/public/assets/diagram-G4DWMVQ6-BmzIMyV5.js +24 -0
- package/dist/public/assets/diagram-MMDJMWI5-CI5eJfgr.js +43 -0
- package/dist/public/assets/diagram-TYMM5635-Cc8TJ7v3.js +24 -0
- package/dist/public/assets/dialog-Cv1qneWl.js +45 -0
- package/dist/public/assets/dist-B4kUko7n.js +9 -0
- package/dist/public/assets/dist-BH1b1nWB.js +1 -0
- package/dist/public/assets/dist-BOapDt7N.js +1 -0
- package/dist/public/assets/dist-CIRuNcH5.js +1 -0
- package/dist/public/assets/dist-D08h1pJc.js +1 -0
- package/dist/public/assets/dist-S8LJmtzL.js +1 -0
- package/dist/public/assets/dist-VyzSEzD4.js +1 -0
- package/dist/public/assets/dist-nPpvoMNC.js +13 -0
- package/dist/public/assets/doc-hash-Q6dTjwu5.js +421 -0
- package/dist/public/assets/erDiagram-SMLLAGMA-BkrhGWMT.js +85 -0
- package/dist/public/assets/flatten-UmyAv3V9.js +1 -0
- package/dist/public/assets/flowDiagram-DWJPFMVM-qh62fanI.js +162 -0
- package/dist/public/assets/ganttDiagram-T4ZO3ILL-DXuCeCk6.js +292 -0
- package/dist/public/assets/gitGraph-7Q5UKJZL-CYhZlmk3.js +1 -0
- package/dist/public/assets/gitGraphDiagram-UUTBAWPF-BbcuenPj.js +106 -0
- package/dist/public/assets/graphlib-CasrTmMJ.js +1 -0
- package/dist/public/assets/image-preview-BJSGEOo4.png +0 -0
- package/dist/public/assets/index-B1y9QLHF.js +1858 -0
- package/dist/public/assets/index-DoXig4bf.css +1 -0
- package/dist/public/assets/info-OMHHGYJF-BslcKZhH.js +1 -0
- package/dist/public/assets/infoDiagram-42DDH7IO-WFAMbO2S.js +2 -0
- package/dist/public/assets/init-CBj3ecIW.js +1 -0
- package/dist/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/dist/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/dist/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/dist/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/dist/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/dist/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/dist/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/dist/public/assets/isEmpty-DWJlzxR1.js +1 -0
- package/dist/public/assets/isObjectLike-AdQZ65l0.js +1 -0
- package/dist/public/assets/isSymbol-BP7IOIqG.js +1 -0
- package/dist/public/assets/ishikawaDiagram-UXIWVN3A-BJBiReWg.js +70 -0
- package/dist/public/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/public/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/public/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/public/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/public/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/public/assets/journeyDiagram-VCZTEJTY-Boq77pl6.js +139 -0
- package/dist/public/assets/kanban-definition-6JOO6SKY-DYMSr18F.js +89 -0
- package/dist/public/assets/katex-qwlL5fSd.js +257 -0
- package/dist/public/assets/line-_p5Px7MV.js +1 -0
- package/dist/public/assets/linear-DwuDS4qT.js +1 -0
- package/dist/public/assets/mcp-consent-store-BBTXqzE6.js +1 -0
- package/dist/public/assets/mermaid-parser.core-BcBb_Ows.js +4 -0
- package/dist/public/assets/mermaid.core-ZLTnLqVQ.js +11 -0
- package/dist/public/assets/min-HKuGSUqa.js +1 -0
- package/dist/public/assets/mindmap-definition-QFDTVHPH-BSxM4djR.js +96 -0
- package/dist/public/assets/now-BBH4UqDm.js +1 -0
- package/dist/public/assets/ordinal-CeOFUmRv.js +1 -0
- package/dist/public/assets/packet-4T2RLAQJ-QVnYA304.js +1 -0
- package/dist/public/assets/panel-BgMqDESF.js +1 -0
- package/dist/public/assets/path-rUlDLHdA.js +1 -0
- package/dist/public/assets/pdf-a35ddrIO.js +54 -0
- package/dist/public/assets/pdf.worker-B1D2UnXD.mjs +63133 -0
- package/dist/public/assets/pdf.worker-CM-zAFN-.js +1 -0
- package/dist/public/assets/pie-ZZUOXDRM-C61c5byc.js +1 -0
- package/dist/public/assets/pieDiagram-DEJITSTG-CHRE_Jie.js +30 -0
- package/dist/public/assets/preload-helper-2ej06EnG.js +1 -0
- package/dist/public/assets/propagation-api-qAYD7s-v.js +1 -0
- package/dist/public/assets/quadrantDiagram-34T5L4WZ-CQkE5TwH.js +7 -0
- package/dist/public/assets/radar-PYXPWWZC-CMxjRtd8.js +1 -0
- package/dist/public/assets/reduce-DotyoGA7.js +1 -0
- package/dist/public/assets/requirementDiagram-MS252O5E-DHK98tKS.js +84 -0
- package/dist/public/assets/rough.esm-BFJ-MgcB.js +1 -0
- package/dist/public/assets/sankeyDiagram-XADWPNL6-BIXaStZh.js +10 -0
- package/dist/public/assets/sequenceDiagram-FGHM5R23-BCNH3kJo.js +157 -0
- package/dist/public/assets/src-C9jsS3p4.js +1 -0
- package/dist/public/assets/src-zyMpT2LE.js +1 -0
- package/dist/public/assets/stateDiagram-FHFEXIEX-BC5mjB6x.js +1 -0
- package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-B8L3BBt1.js +1 -0
- package/dist/public/assets/stex-BKMR5xQj.js +1 -0
- package/dist/public/assets/target-navigation-intent-BfGOumP6.js +1 -0
- package/dist/public/assets/telemetry-impl-CMeDUVKn.js +2 -0
- package/dist/public/assets/timeline-definition-GMOUNBTQ-VNxUGgXp.js +120 -0
- package/dist/public/assets/tooltip-CBGDOTMI.js +1 -0
- package/dist/public/assets/trace-api-DPMyR1_m.js +1 -0
- package/dist/public/assets/treeView-SZITEDCU-DfSa_Oiv.js +1 -0
- package/dist/public/assets/treemap-W4RFUUIX-Cp0s5wEq.js +1 -0
- package/dist/public/assets/vennDiagram-DHZGUBPP-DV2Y2j0r.js +34 -0
- package/dist/public/assets/video-preview-vLovc_Vy.png +0 -0
- package/dist/public/assets/w3c-keyname-Dfj2imOv.js +1 -0
- package/dist/public/assets/wardley-RL74JXVD-CXcBKCuj.js +1 -0
- package/dist/public/assets/wardleyDiagram-NUSXRM2D-C1mMZ3kx.js +20 -0
- package/dist/public/assets/xychartDiagram-5P7HB3ND-CxFcwN2X.js +7 -0
- package/dist/public/favicon.svg +19 -4
- package/dist/public/index.html +57 -4
- package/dist/pwd-D4OZ7N27-C18XewhV.mjs +1 -0
- package/dist/python3-AUFTPCU6-BaJugIdp.mjs +12 -0
- package/dist/readlink-MI4GCHJF-CHvs7DDT.mjs +1 -0
- package/dist/rev-XOSYPP45-2mnFFZWW.mjs +1 -0
- package/dist/rg-FOQSCCX3-BJahNfSe.mjs +1 -0
- package/dist/rm-RTZG23RL-D9-0WGRY.mjs +1 -0
- package/dist/rmdir-XTQXT7RK-Br7eH9kL.mjs +1 -0
- package/dist/rolldown-runtime-twds-ZHy-Dxr-RWJs.mjs +2 -0
- package/dist/schemas/v0/config.project-local.schema.json +30 -0
- package/dist/schemas/v0/config.project.schema.json +59 -0
- package/dist/schemas/v0/config.user.schema.json +58 -0
- package/dist/sed-VFTTATXJ-mYhAmixc.mjs +1 -0
- package/dist/seq-RN5ZUASB-CKf5MNNO.mjs +1 -0
- package/dist/server-lock-D7DXNVql-B5nINglj.mjs +1 -0
- package/dist/server-lock-D7DXNVql-BRVVzA6T.mjs +2 -0
- package/dist/sha1sum-VJPNLNU6-DuOHap1X.mjs +1 -0
- package/dist/sha256sum-PI32XWXY-D9fEipQ7.mjs +1 -0
- package/dist/sleep-VZFPZFWA-B1fSoYuO.mjs +1 -0
- package/dist/sort-DCNRDA7U-DDCY4JZu.mjs +1 -0
- package/dist/split-SITCSYCZ-b9hfEJw7.mjs +1 -0
- package/dist/sqlite3-56UMWEY3-BQEx5i3P.mjs +1 -0
- package/dist/src-Cak39c0B.mjs +1 -0
- package/dist/start-BXk7J0Kh.mjs +1 -0
- package/dist/start-D6Ip3u6P.mjs +3 -0
- package/dist/stat-BT5A227F-Dzp4sgau.mjs +1 -0
- package/dist/strings-7PLOGTPD-DT41jX9d.mjs +1 -0
- package/dist/tac-SJGXQ4T2-BpdVoP8b.mjs +1 -0
- package/dist/tail-S5ULNTJU-0-sYrYik.mjs +1 -0
- package/dist/tar-ANUBEFJY-Wh3na_NU.mjs +1 -0
- package/dist/tee-O7VXZDCO-CwnGG0go.mjs +1 -0
- package/dist/time-DEUO3QV2-DzkqaQ1k.mjs +1 -0
- package/dist/timeout-VRKMCG72-BtPBpIRq.mjs +1 -0
- package/dist/touch-DX2IJOQ4-KW0Ui-lB.mjs +1 -0
- package/dist/tr-2HXZRDSW-C6Kf0M8T.mjs +1 -0
- package/dist/tree-LYXBS7DC-BN1FBqvM.mjs +1 -0
- package/dist/true-WHJNXCHG-DxCMVdqj.mjs +1 -0
- package/dist/unexpand-RGTMIGZM-DZ4Kf6Xq.mjs +1 -0
- package/dist/uniq-SUNANL47-Ceg51JdA.mjs +1 -0
- package/dist/wc-TQB3VNOX-BzWNq0MY.mjs +1 -0
- package/dist/which-XZHEH76L-DH_U2-Cj.mjs +1 -0
- package/dist/whoami-DGKU3D2X-BholYNPM.mjs +1 -0
- package/dist/xan-BXDXYEIB-b1eAtgch.mjs +1 -0
- package/dist/xan-view-ECQUO7AJ-DWDC57b_.mjs +1 -0
- package/dist/xargs-I6EZUCYF-Cov-i7kW.mjs +1 -0
- package/dist/yq-MJMAR36V-1r29nH4p.mjs +1 -0
- package/package.json +25 -19
- package/scripts/build-config-schema.mjs +69 -0
- package/scripts/postinstall.mjs +33 -0
- package/scripts/probe-exec.ts +98 -0
- package/scripts/probe-read-document.ts +100 -0
- package/dist/banner-De2a4ivv.mjs +0 -3
- package/dist/colors-C2vrt_OY.mjs +0 -1
- package/dist/colors-CshxhXdR.mjs +0 -2
- package/dist/constants-yNFhYMHH.mjs +0 -2
- package/dist/git-handle-B5vQdmjQ.mjs +0 -2
- package/dist/git-handle-DGTzeK-H.mjs +0 -1
- package/dist/init-BFZ4vnnX.mjs +0 -1
- package/dist/init-BH38QtfV.mjs +0 -6
- package/dist/init-BzEVODBI.mjs +0 -230
- package/dist/init-DCZhpKSO.mjs +0 -1
- package/dist/keepalive-Bp0nJiwT.mjs +0 -2
- package/dist/loader-CoGCjTcI.mjs +0 -3
- package/dist/loader-D8pf7fi6.mjs +0 -1
- package/dist/paths-C7TuvND0.mjs +0 -2
- package/dist/paths-CWTmBbr0.mjs +0 -1
- package/dist/preview-C-NvAf2r.mjs +0 -1
- package/dist/preview-Cmt2vdUG.mjs +0 -3
- package/dist/public/assets/dist-BDfJLgAe.js +0 -1
- package/dist/public/assets/dist-BSbGs59J.js +0 -1
- package/dist/public/assets/dist-BXK-5ZOh.js +0 -1
- package/dist/public/assets/dist-BipKfxqO.js +0 -15
- package/dist/public/assets/dist-C9Jm0v8G.js +0 -1
- package/dist/public/assets/dist-CDCPrjhY.js +0 -1
- package/dist/public/assets/dist-CHAniM6T.js +0 -9
- package/dist/public/assets/dist-CYsaeLzc.js +0 -1
- package/dist/public/assets/dist-Cq9Fm8Xi.js +0 -1
- package/dist/public/assets/dist-Ct0eqVZy.js +0 -1
- package/dist/public/assets/dist-PgXBewk9.js +0 -23
- package/dist/public/assets/index-BbLzex1v.css +0 -2
- package/dist/public/assets/index-gSm49umN.js +0 -409
- package/dist/src-B7snRveE.mjs +0 -1
- package/dist/src-CEP6NuWY.mjs +0 -1
- package/dist/src-EGbU552u.mjs +0 -278
- package/dist/start-BYXBgVJW.mjs +0 -1
- package/dist/start-DqcFf-BT.mjs +0 -2
- /package/dist/public/assets/{go-IODVg4Ok.js → go-a33xvodr.js} +0 -0
- /package/dist/public/assets/{shell-COsTRxlr.js → shell-40VLet8r.js} +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import{t as e}from"./chunk-YNYSPYQ5-DesxOVHh.mjs";import{c as t,d as n,f as r,h as i,i as a,o,u as s}from"./chunk-GFQRA5P5-DnjwTqP3.mjs";function c(e,t){for(;t<e.length;){if(e[t]===`\\`&&e[t+1]===`
|
|
2
|
+
`){t+=2;continue}if(/\s/.test(e[t])){t++;continue}break}return t}var l=[`=`,`+=`,`-=`,`*=`,`/=`,`%=`,`<<=`,`>>=`,`&=`,`|=`,`^=`];function u(e){if(e.includes(`#`)){let[t,n]=e.split(`#`),r=Number.parseInt(t,10);if(r<2||r>64)return NaN;if(r<=36){let e=Number.parseInt(n,r);return e>2**53-1?2**53-1:e}let i=0;for(let e of n){let t;if(/[0-9]/.test(e))t=e.charCodeAt(0)-48;else if(/[a-z]/.test(e))t=e.charCodeAt(0)-97+10;else if(/[A-Z]/.test(e))t=e.charCodeAt(0)-65+36;else if(e===`@`)t=62;else if(e===`_`)t=63;else return NaN;if(t>=r)return NaN;if(i=i*r+t,i>2**53-1)return 2**53-1}return i}if(e.startsWith(`0x`)||e.startsWith(`0X`)){let t=Number.parseInt(e.slice(2),16);return t>2**53-1?2**53-1:t}if(e.startsWith(`0`)&&e.length>1&&/^[0-9]+$/.test(e)){if(/[89]/.test(e))return NaN;let t=Number.parseInt(e,8);return t>2**53-1?2**53-1:t}let t=Number.parseInt(e,10);return t>2**53-1?2**53-1:t}function d(e,t,n,r){if(n.slice(r,r+3)!==`$((`)return null;let i=r+3,a=1,o=i;for(;i<n.length-1&&a>0;)n[i]===`(`&&n[i+1]===`(`?(a++,i+=2):n[i]===`)`&&n[i+1]===`)`?(a--,a>0&&(i+=2)):i++;let{expr:s}=e(t,n.slice(o,i),0);return i+=2,{expr:{type:`ArithNested`,expression:s},pos:i}}function f(e,t){if(e.slice(t,t+2)!==`$'`)return null;let n=t+2,r=``;for(;n<e.length&&e[n]!==`'`;)if(e[n]===`\\`&&n+1<e.length){let t=e[n+1];switch(t){case`n`:r+=`
|
|
3
|
+
`;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`'`:r+=`'`;break;default:r+=t}n+=2}else r+=e[n],n++;e[n]===`'`&&n++;let i=Number.parseInt(r,10);return{expr:{type:`ArithNumber`,value:Number.isNaN(i)?0:i},pos:n}}function p(e,t){if(e.slice(t,t+2)!==`$"`)return null;let n=t+2,r=``;for(;n<e.length&&e[n]!==`"`;)e[n]===`\\`&&n+1<e.length?(r+=e[n+1],n+=2):(r+=e[n],n++);e[n]===`"`&&n++;let i=Number.parseInt(r,10);return{expr:{type:`ArithNumber`,value:Number.isNaN(i)?0:i},pos:n}}function m(e){let t=``,n=0;for(;n<e.length;)if(e[n]===`"`){for(n++;n<e.length&&e[n]!==`"`;)e[n]===`\\`&&n+1<e.length?(t+=e[n+1],n+=2):(t+=e[n],n++);n<e.length&&n++}else t+=e[n],n++;return t}function h(e,t){let n=m(t),{expr:r,pos:i}=v(e,n,0),a=c(n,i);if(a<n.length){let e=t.slice(a).trim();if(e)return{type:`ArithmeticExpression`,originalText:t,expression:{type:`ArithSyntaxError`,errorToken:e,message:`${e}: syntax error: invalid arithmetic operator (error token is "${e}")`}}}return{type:`ArithmeticExpression`,expression:r,originalText:t}}function g(e,t){return{expr:{type:`ArithSyntaxError`,errorToken:e,message:`syntax error: operand expected (error token is "${e}")`},pos:t}}function _(e,t){return c(e,t)>=e.length}function v(e,t,n){return ee(e,t,n)}function ee(e,t,n){let{expr:r,pos:i}=y(e,t,n);for(i=c(t,i);t[i]===`,`;){if(i++,_(t,i))return g(`,`,i);let{expr:n,pos:a}=y(e,t,i);r={type:`ArithBinary`,operator:`,`,left:r,right:n},i=c(t,a)}return{expr:r,pos:i}}function y(e,t,n){let{expr:r,pos:i}=te(e,t,n);if(i=c(t,i),t[i]===`?`){i++;let{expr:n,pos:a}=v(e,t,i);if(i=c(t,a),t[i]===`:`){i++;let{expr:a,pos:o}=v(e,t,i);return{expr:{type:`ArithTernary`,condition:r,consequent:n,alternate:a},pos:o}}}return{expr:r,pos:i}}function te(e,t,n){let{expr:r,pos:i}=ne(e,t,n);for(;i=c(t,i),t.slice(i,i+2)===`||`;){if(i+=2,_(t,i))return g(`||`,i);let{expr:n,pos:a}=ne(e,t,i);r={type:`ArithBinary`,operator:`||`,left:r,right:n},i=a}return{expr:r,pos:i}}function ne(e,t,n){let{expr:r,pos:i}=re(e,t,n);for(;i=c(t,i),t.slice(i,i+2)===`&&`;){if(i+=2,_(t,i))return g(`&&`,i);let{expr:n,pos:a}=re(e,t,i);r={type:`ArithBinary`,operator:`&&`,left:r,right:n},i=a}return{expr:r,pos:i}}function re(e,t,n){let{expr:r,pos:i}=ie(e,t,n);for(;i=c(t,i),t[i]===`|`&&t[i+1]!==`|`;){if(i++,_(t,i))return g(`|`,i);let{expr:n,pos:a}=ie(e,t,i);r={type:`ArithBinary`,operator:`|`,left:r,right:n},i=a}return{expr:r,pos:i}}function ie(e,t,n){let{expr:r,pos:i}=ae(e,t,n);for(;i=c(t,i),t[i]===`^`;){if(i++,_(t,i))return g(`^`,i);let{expr:n,pos:a}=ae(e,t,i);r={type:`ArithBinary`,operator:`^`,left:r,right:n},i=a}return{expr:r,pos:i}}function ae(e,t,n){let{expr:r,pos:i}=oe(e,t,n);for(;i=c(t,i),t[i]===`&`&&t[i+1]!==`&`;){if(i++,_(t,i))return g(`&`,i);let{expr:n,pos:a}=oe(e,t,i);r={type:`ArithBinary`,operator:`&`,left:r,right:n},i=a}return{expr:r,pos:i}}function oe(e,t,n){let{expr:r,pos:i}=se(e,t,n);for(;i=c(t,i),t.slice(i,i+2)===`==`||t.slice(i,i+2)===`!=`;){let n=t.slice(i,i+2);if(i+=2,_(t,i))return g(n,i);let{expr:a,pos:o}=se(e,t,i);r={type:`ArithBinary`,operator:n,left:r,right:a},i=o}return{expr:r,pos:i}}function se(e,t,n){let{expr:r,pos:i}=ce(e,t,n);for(;;)if(i=c(t,i),t.slice(i,i+2)===`<=`||t.slice(i,i+2)===`>=`){let n=t.slice(i,i+2);if(i+=2,_(t,i))return g(n,i);let{expr:a,pos:o}=ce(e,t,i);r={type:`ArithBinary`,operator:n,left:r,right:a},i=o}else if(t[i]===`<`||t[i]===`>`){let n=t[i];if(i++,_(t,i))return g(n,i);let{expr:a,pos:o}=ce(e,t,i);r={type:`ArithBinary`,operator:n,left:r,right:a},i=o}else break;return{expr:r,pos:i}}function ce(e,t,n){let{expr:r,pos:i}=le(e,t,n);for(;i=c(t,i),t.slice(i,i+2)===`<<`||t.slice(i,i+2)===`>>`;){let n=t.slice(i,i+2);if(i+=2,_(t,i))return g(n,i);let{expr:a,pos:o}=le(e,t,i);r={type:`ArithBinary`,operator:n,left:r,right:a},i=o}return{expr:r,pos:i}}function le(e,t,n){let{expr:r,pos:i}=ue(e,t,n);for(;i=c(t,i),(t[i]===`+`||t[i]===`-`)&&t[i+1]!==t[i];){let n=t[i];if(i++,_(t,i))return g(n,i);let{expr:a,pos:o}=ue(e,t,i);r={type:`ArithBinary`,operator:n,left:r,right:a},i=o}return{expr:r,pos:i}}function ue(e,t,n){let{expr:r,pos:i}=de(e,t,n);for(;;)if(i=c(t,i),t[i]===`*`&&t[i+1]!==`*`){if(i++,_(t,i))return g(`*`,i);let{expr:n,pos:a}=de(e,t,i);r={type:`ArithBinary`,operator:`*`,left:r,right:n},i=a}else if(t[i]===`/`||t[i]===`%`){let n=t[i];if(i++,_(t,i))return g(n,i);let{expr:a,pos:o}=de(e,t,i);r={type:`ArithBinary`,operator:n,left:r,right:a},i=o}else break;return{expr:r,pos:i}}function de(e,t,n){let{expr:r,pos:i}=fe(e,t,n),a=c(t,i);if(t.slice(a,a+2)===`**`){if(a+=2,_(t,a))return g(`**`,a);let{expr:n,pos:i}=de(e,t,a);return{expr:{type:`ArithBinary`,operator:`**`,left:r,right:n},pos:i}}return{expr:r,pos:i}}function fe(e,t,n){let r=c(t,n);if(t.slice(r,r+2)===`++`||t.slice(r,r+2)===`--`){let n=t.slice(r,r+2);r+=2;let{expr:i,pos:a}=fe(e,t,r);return{expr:{type:`ArithUnary`,operator:n,operand:i,prefix:!0},pos:a}}if(t[r]===`+`||t[r]===`-`||t[r]===`!`||t[r]===`~`){let n=t[r];r++;let{expr:i,pos:a}=fe(e,t,r);return{expr:{type:`ArithUnary`,operator:n,operand:i,prefix:!0},pos:a}}return me(e,t,r)}function pe(e,t){let n=e[t];return n===`$`||n==="`"}function me(e,t,n){let{expr:r,pos:i}=he(e,t,n,!1),a=[r];for(;pe(t,i);){let{expr:n,pos:r}=he(e,t,i,!0);a.push(n),i=r}a.length>1&&(r={type:`ArithConcat`,parts:a});let o;if(t[i]===`[`&&r.type===`ArithConcat`){i++;let{expr:n,pos:r}=v(e,t,i);o=n,i=r,t[i]===`]`&&i++}if(o&&r.type===`ArithConcat`&&(r={type:`ArithDynamicElement`,nameExpr:r,subscript:o},o=void 0),i=c(t,i),r.type===`ArithConcat`||r.type===`ArithVariable`||r.type===`ArithDynamicElement`){for(let n of l)if(t.slice(i,i+n.length)===n&&t.slice(i,i+n.length+1)!==`==`){i+=n.length;let{expr:a,pos:o}=y(e,t,i);return r.type===`ArithDynamicElement`?{expr:{type:`ArithDynamicAssignment`,operator:n,target:r.nameExpr,subscript:r.subscript,value:a},pos:o}:r.type===`ArithConcat`?{expr:{type:`ArithDynamicAssignment`,operator:n,target:r,value:a},pos:o}:{expr:{type:`ArithAssignment`,operator:n,variable:r.name,value:a},pos:o}}}if(t.slice(i,i+2)===`++`||t.slice(i,i+2)===`--`){let e=t.slice(i,i+2);return i+=2,{expr:{type:`ArithUnary`,operator:e,operand:r,prefix:!1},pos:i}}return{expr:r,pos:i}}function he(e,t,n,i=!1){let a=c(t,n),o=d(v,e,t,a);if(o)return o;let s=f(t,a);if(s)return s;let m=p(t,a);if(m)return m;if(t.slice(a,a+2)===`$(`&&t[a+2]!==`(`){a+=2;let e=1,n=a;for(;a<t.length&&e>0;)t[a]===`(`?e++:t[a]===`)`&&e--,e>0&&a++;let r=t.slice(n,a);return a++,{expr:{type:`ArithCommandSubst`,command:r},pos:a}}if(t[a]==="`"){a++;let e=a;for(;a<t.length&&t[a]!=="`";)a++;let n=t.slice(e,a);return t[a]==="`"&&a++,{expr:{type:`ArithCommandSubst`,command:n},pos:a}}if(t[a]===`(`){a++;let{expr:n,pos:r}=v(e,t,a);return a=c(t,r),t[a]===`)`&&a++,{expr:{type:`ArithGroup`,expression:n},pos:a}}if(t[a]===`'`){a++;let e=``;for(;a<t.length&&t[a]!==`'`;)e+=t[a],a++;t[a]===`'`&&a++;let n=Number.parseInt(e,10);return{expr:{type:`ArithSingleQuote`,content:e,value:Number.isNaN(n)?0:n},pos:a}}if(t[a]===`"`){a++;let n=``;for(;a<t.length&&t[a]!==`"`;)t[a]===`\\`&&a+1<t.length?(n+=t[a+1],a+=2):(n+=t[a],a++);t[a]===`"`&&a++;let r=n.trim();if(!r)return{expr:{type:`ArithNumber`,value:0},pos:a};let{expr:i}=v(e,r,0);return{expr:i,pos:a}}if(/[0-9]/.test(t[a])){let e=``,n=!1,i=!1;for(;a<t.length;){let r=t[a];if(n)if(/[0-9a-zA-Z@_]/.test(r))e+=r,a++;else break;else if(r===`#`)n=!0,e+=r,a++;else if(e===`0`&&(r===`x`||r===`X`)&&a+1<t.length&&/[0-9a-fA-F]/.test(t[a+1]))i=!0,e+=r,a++;else if(i&&/[0-9a-fA-F]/.test(r))e+=r,a++;else if(!i&&/[0-9]/.test(r))e+=r,a++;else break}if(a<t.length&&/[a-zA-Z_]/.test(t[a])){let n=e;for(;a<t.length&&/[a-zA-Z0-9_]/.test(t[a]);)n+=t[a],a++;return{expr:{type:`ArithSyntaxError`,errorToken:n,message:`${n}: value too great for base (error token is "${n}")`},pos:a}}if(t[a]===`.`&&/[0-9]/.test(t[a+1]))throw new r(`${e}.${t[a+1]}...: syntax error: invalid arithmetic operator`);if(t[a]===`[`){let n=t.slice(a).trim();return{expr:{type:`ArithNumberSubscript`,number:e,errorToken:n},pos:t.length}}return{expr:{type:`ArithNumber`,value:u(e)},pos:a}}if(t[a]===`$`&&t[a+1]===`{`){let e=a+2,n=1,r=e;for(;r<t.length&&n>0;)t[r]===`{`?n++:t[r]===`}`&&n--,n>0&&r++;let i=t.slice(e,r),o=r+1;if(t[o]===`#`){let e=o+1;for(;e<t.length&&/[0-9a-zA-Z@_]/.test(t[e]);)e++;return{expr:{type:`ArithDynamicBase`,baseExpr:i,value:t.slice(o+1,e)},pos:e}}if(/[0-9]/.test(t[o])||t[o]===`x`||t[o]===`X`){let e=o;if(t[o]===`x`||t[o]===`X`)for(e++;e<t.length&&/[0-9a-fA-F]/.test(t[e]);)e++;else for(;e<t.length&&/[0-9]/.test(t[e]);)e++;return{expr:{type:`ArithDynamicNumber`,prefix:i,suffix:t.slice(o,e)},pos:e}}return a=o,{expr:{type:`ArithBracedExpansion`,content:i},pos:a}}if(t[a]===`$`&&a+1<t.length&&/[0-9]/.test(t[a+1])){a++;let e=``;for(;a<t.length&&/[0-9]/.test(t[a]);)e+=t[a],a++;return{expr:{type:`ArithVariable`,name:e,hasDollarPrefix:!0},pos:a}}if(t[a]===`$`&&a+1<t.length&&/[*@#?\-!$]/.test(t[a+1])){let e=t[a+1];return a+=2,{expr:{type:`ArithSpecialVar`,name:e},pos:a}}let h=!1;if(t[a]===`$`&&a+1<t.length&&/[a-zA-Z_]/.test(t[a+1])&&(h=!0,a++),a<t.length&&/[a-zA-Z_]/.test(t[a])){let n=``;for(;a<t.length&&/[a-zA-Z0-9_]/.test(t[a]);)n+=t[a],a++;if(t[a]===`[`&&!i){a++;let r;if(t[a]===`'`||t[a]===`"`){let e=t[a];for(a++,r=``;a<t.length&&t[a]!==e;)r+=t[a],a++;t[a]===e&&a++,a=c(t,a),t[a]===`]`&&a++}let o;if(r===void 0){let{expr:n,pos:r}=v(e,t,a);o=n,a=r,t[a]===`]`&&a++}if(a=c(t,a),t[a]===`[`&&o)return{expr:{type:`ArithDoubleSubscript`,array:n,index:o},pos:a};if(!i){for(let i of l)if(t.slice(a,a+i.length)===i&&t.slice(a,a+i.length+1)!==`==`){a+=i.length;let{expr:s,pos:c}=y(e,t,a);return{expr:{type:`ArithAssignment`,operator:i,variable:n,subscript:o,stringKey:r,value:s},pos:c}}}return{expr:{type:`ArithArrayElement`,array:n,index:o,stringKey:r},pos:a}}if(a=c(t,a),!i){for(let r of l)if(t.slice(a,a+r.length)===r&&t.slice(a,a+r.length+1)!==`==`){a+=r.length;let{expr:i,pos:o}=y(e,t,a);return{expr:{type:`ArithAssignment`,operator:r,variable:n,value:i},pos:o}}}return{expr:{type:`ArithVariable`,name:n,hasDollarPrefix:h},pos:a}}if(t[a]===`#`){let e=a+1;for(;e<t.length&&t[e]!==`
|
|
4
|
+
`;)e++;let n=t.slice(a,e).trim()||`#`;return{expr:{type:`ArithSyntaxError`,errorToken:n,message:`${n}: syntax error: invalid arithmetic operator (error token is "${n}")`},pos:t.length}}return{expr:{type:`ArithNumber`,value:0},pos:a}}var b={script(e){return{type:`Script`,statements:e}},statement(e,t=[],n=!1,r,i){let a={type:`Statement`,pipelines:e,operators:t,background:n};return r&&(a.deferredError=r),i!==void 0&&(a.sourceText=i),a},pipeline(e,t=!1,n=!1,r=!1,i){return{type:`Pipeline`,commands:e,negated:t,timed:n,timePosix:r,pipeStderr:i}},simpleCommand(e,t=[],n=[],r=[]){return{type:`SimpleCommand`,name:e,args:t,assignments:n,redirections:r}},word(e){return{type:`Word`,parts:e}},literal(e){return{type:`Literal`,value:e}},singleQuoted(e){return{type:`SingleQuoted`,value:e}},doubleQuoted(e){return{type:`DoubleQuoted`,parts:e}},escaped(e){return{type:`Escaped`,value:e}},parameterExpansion(e,t=null){return{type:`ParameterExpansion`,parameter:e,operation:t}},commandSubstitution(e,t=!1){return{type:`CommandSubstitution`,body:e,legacy:t}},arithmeticExpansion(e){return{type:`ArithmeticExpansion`,expression:e}},assignment(e,t,n=!1,r=null){return{type:`Assignment`,name:e,value:t,append:n,array:r}},redirection(e,t,n=null,r){let i={type:`Redirection`,fd:n,operator:e,target:t};return r&&(i.fdVariable=r),i},hereDoc(e,t,n=!1,r=!1){return{type:`HereDoc`,delimiter:e,content:t,stripTabs:n,quoted:r}},ifNode(e,t=null,n=[]){return{type:`If`,clauses:e,elseBody:t,redirections:n}},forNode(e,t,n,r=[]){return{type:`For`,variable:e,words:t,body:n,redirections:r}},whileNode(e,t,n=[]){return{type:`While`,condition:e,body:t,redirections:n}},untilNode(e,t,n=[]){return{type:`Until`,condition:e,body:t,redirections:n}},caseNode(e,t,n=[]){return{type:`Case`,word:e,items:t,redirections:n}},caseItem(e,t,n=`;;`){return{type:`CaseItem`,patterns:e,body:t,terminator:n}},subshell(e,t=[]){return{type:`Subshell`,body:e,redirections:t}},group(e,t=[]){return{type:`Group`,body:e,redirections:t}},functionDef(e,t,n=[],r){return{type:`FunctionDef`,name:e,body:t,redirections:n,sourceFile:r}},conditionalCommand(e,t=[],n){return{type:`ConditionalCommand`,expression:e,redirections:t,line:n}},arithmeticCommand(e,t=[],n){return{type:`ArithmeticCommand`,expression:e,redirections:t,line:n}}},x;(function(e){e.EOF=`EOF`,e.NEWLINE=`NEWLINE`,e.SEMICOLON=`SEMICOLON`,e.AMP=`AMP`,e.PIPE=`PIPE`,e.PIPE_AMP=`PIPE_AMP`,e.AND_AND=`AND_AND`,e.OR_OR=`OR_OR`,e.BANG=`BANG`,e.LESS=`LESS`,e.GREAT=`GREAT`,e.DLESS=`DLESS`,e.DGREAT=`DGREAT`,e.LESSAND=`LESSAND`,e.GREATAND=`GREATAND`,e.LESSGREAT=`LESSGREAT`,e.DLESSDASH=`DLESSDASH`,e.CLOBBER=`CLOBBER`,e.TLESS=`TLESS`,e.AND_GREAT=`AND_GREAT`,e.AND_DGREAT=`AND_DGREAT`,e.LPAREN=`LPAREN`,e.RPAREN=`RPAREN`,e.LBRACE=`LBRACE`,e.RBRACE=`RBRACE`,e.DSEMI=`DSEMI`,e.SEMI_AND=`SEMI_AND`,e.SEMI_SEMI_AND=`SEMI_SEMI_AND`,e.DBRACK_START=`DBRACK_START`,e.DBRACK_END=`DBRACK_END`,e.DPAREN_START=`DPAREN_START`,e.DPAREN_END=`DPAREN_END`,e.IF=`IF`,e.THEN=`THEN`,e.ELSE=`ELSE`,e.ELIF=`ELIF`,e.FI=`FI`,e.FOR=`FOR`,e.WHILE=`WHILE`,e.UNTIL=`UNTIL`,e.DO=`DO`,e.DONE=`DONE`,e.CASE=`CASE`,e.ESAC=`ESAC`,e.IN=`IN`,e.FUNCTION=`FUNCTION`,e.SELECT=`SELECT`,e.TIME=`TIME`,e.COPROC=`COPROC`,e.WORD=`WORD`,e.NAME=`NAME`,e.NUMBER=`NUMBER`,e.ASSIGNMENT_WORD=`ASSIGNMENT_WORD`,e.FD_VARIABLE=`FD_VARIABLE`,e.COMMENT=`COMMENT`,e.HEREDOC_CONTENT=`HEREDOC_CONTENT`})(x||={});var S=class extends Error{line;column;constructor(e,t,n){super(`line ${t}: ${e}`),this.line=t,this.column=n,this.name=`LexerError`}},ge=new Map([[`if`,x.IF],[`then`,x.THEN],[`else`,x.ELSE],[`elif`,x.ELIF],[`fi`,x.FI],[`for`,x.FOR],[`while`,x.WHILE],[`until`,x.UNTIL],[`do`,x.DO],[`done`,x.DONE],[`case`,x.CASE],[`esac`,x.ESAC],[`in`,x.IN],[`function`,x.FUNCTION],[`select`,x.SELECT],[`time`,x.TIME],[`coproc`,x.COPROC]]);function _e(e){let t=e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/);if(!t)return!1;let n=e.slice(t[0].length);if(n===``||n===`+`)return!0;if(n[0]===`[`){let e=0,t=0;for(;t<n.length;t++)if(n[t]===`[`)e++;else if(n[t]===`]`&&(e--,e===0))break;if(e!==0||t>=n.length)return!1;let r=n.slice(t+1);return r===``||r===`+`}return!1}function ve(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t--;else{if(t===0&&r===`=`)return n;if(t===0&&r===`+`&&e[n+1]===`=`)return n+1}}return-1}var ye=[[`;`,`;`,`&`,x.SEMI_SEMI_AND],[`<`,`<`,`<`,x.TLESS],[`&`,`>`,`>`,x.AND_DGREAT]],be=[[`[`,`[`,x.DBRACK_START],[`]`,`]`,x.DBRACK_END],[`(`,`(`,x.DPAREN_START],[`)`,`)`,x.DPAREN_END],[`&`,`&`,x.AND_AND],[`|`,`|`,x.OR_OR],[`;`,`;`,x.DSEMI],[`;`,`&`,x.SEMI_AND],[`|`,`&`,x.PIPE_AMP],[`>`,`>`,x.DGREAT],[`<`,`&`,x.LESSAND],[`>`,`&`,x.GREATAND],[`<`,`>`,x.LESSGREAT],[`>`,`|`,x.CLOBBER],[`&`,`>`,x.AND_GREAT]],xe=new Map([[`|`,x.PIPE],[`&`,x.AMP],[`;`,x.SEMICOLON],[`(`,x.LPAREN],[`)`,x.RPAREN],[`<`,x.LESS],[`>`,x.GREAT]]);function Se(e){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)}function Ce(e){return e===` `||e===` `||e===`
|
|
5
|
+
`||e===`;`||e===`&`||e===`|`||e===`(`||e===`)`||e===`<`||e===`>`}var we=class{input;pos=0;line=1;column=1;tokens=[];pendingHeredocs=[];dparenDepth=0;maxHeredocSize;constructor(e,t){this.input=e,this.maxHeredocSize=t?.maxHeredocSize??10485760}tokenize(){let e=this.input.length,t=this.tokens,n=this.pendingHeredocs;for(;this.pos<e;){if(n.length>0&&t.length>0&&t[t.length-1].type===x.NEWLINE){this.readHeredocContent();continue}if(this.skipWhitespace(),this.pos>=e)break;let r=this.nextToken();r&&t.push(r)}return t.push({type:x.EOF,value:``,start:this.pos,end:this.pos,line:this.line,column:this.column}),t}skipWhitespace(){let e=this.input,t=e.length,n=this.pos,r=this.column,i=this.line;for(;n<t;){let t=e[n];if(t===` `||t===` `)n++,r++;else if(t===`\\`&&e[n+1]===`
|
|
6
|
+
`)n+=2,i++,r=1;else break}this.pos=n,this.column=r,this.line=i}nextToken(){let e=this.input,t=this.pos,n=this.line,r=this.column,i=e[t],a=e[t+1],o=e[t+2];if(i===`#`&&this.dparenDepth===0)return this.readComment(t,n,r);if(i===`
|
|
7
|
+
`)return this.pos=t+1,this.line++,this.column=1,{type:x.NEWLINE,value:`
|
|
8
|
+
`,start:t,end:t+1,line:n,column:r};if(i===`<`&&a===`<`&&o===`-`)return this.pos=t+3,this.column=r+3,this.registerHeredocFromLookahead(!0),this.makeToken(x.DLESSDASH,`<<-`,t,n,r);for(let[e,s,c,l]of ye)if(i===e&&a===s&&o===c)return this.pos=t+3,this.column=r+3,this.makeToken(l,e+s+c,t,n,r);if(i===`<`&&a===`<`)return this.pos=t+2,this.column=r+2,this.registerHeredocFromLookahead(!1),this.makeToken(x.DLESS,`<<`,t,n,r);if(i===`(`&&a===`(`)return this.dparenDepth>0?(this.pos=t+1,this.column=r+1,this.dparenDepth++,this.makeToken(x.LPAREN,`(`,t,n,r)):this.looksLikeNestedSubshells(t+2)||this.dparenClosesWithSpacedParens(t+2)?(this.pos=t+1,this.column=r+1,this.makeToken(x.LPAREN,`(`,t,n,r)):(this.pos=t+2,this.column=r+2,this.dparenDepth=1,this.makeToken(x.DPAREN_START,`((`,t,n,r));if(i===`)`&&a===`)`)return this.dparenDepth===1?(this.pos=t+2,this.column=r+2,this.dparenDepth=0,this.makeToken(x.DPAREN_END,`))`,t,n,r)):this.dparenDepth>1?(this.pos=t+1,this.column=r+1,this.dparenDepth--,this.makeToken(x.RPAREN,`)`,t,n,r)):(this.pos=t+1,this.column=r+1,this.makeToken(x.RPAREN,`)`,t,n,r));for(let[o,s,c]of be)if(!(o===`(`&&s===`(`||o===`)`&&s===`)`)&&!(this.dparenDepth>0&&o===`;`&&(c===x.DSEMI||c===x.SEMI_AND||c===x.SEMI_SEMI_AND))&&i===o&&a===s){if(c===x.DBRACK_START||c===x.DBRACK_END){let n=e[t+2];if(n!==void 0&&n!==` `&&n!==` `&&n!==`
|
|
9
|
+
`&&n!==`;`&&n!==`&`&&n!==`|`&&n!==`(`&&n!==`)`&&n!==`<`&&n!==`>`)break}return this.pos=t+2,this.column=r+2,this.makeToken(c,o+s,t,n,r)}if(i===`(`&&this.dparenDepth>0)return this.pos=t+1,this.column=r+1,this.dparenDepth++,this.makeToken(x.LPAREN,`(`,t,n,r);if(i===`)`&&this.dparenDepth>1)return this.pos=t+1,this.column=r+1,this.dparenDepth--,this.makeToken(x.RPAREN,`)`,t,n,r);let s=xe.get(i);if(s!==void 0)return this.pos=t+1,this.column=r+1,this.makeToken(s,i,t,n,r);if(i===`{`){let e=this.scanFdVariable(t);return e===null?a===`}`?(this.pos=t+2,this.column=r+2,{type:x.WORD,value:`{}`,start:t,end:t+2,line:n,column:r,quoted:!1,singleQuoted:!1}):this.scanBraceExpansion(t)===null&&this.scanLiteralBraceWord(t)===null?a!==void 0&&a!==` `&&a!==` `&&a!==`
|
|
10
|
+
`?this.readWord(t,n,r):(this.pos=t+1,this.column=r+1,this.makeToken(x.LBRACE,`{`,t,n,r)):this.readWordWithBraceExpansion(t,n,r):(this.pos=e.end,this.column=r+(e.end-t),{type:x.FD_VARIABLE,value:e.varname,start:t,end:e.end,line:n,column:r})}return i===`}`?this.isWordCharFollowing(t+1)?this.readWord(t,n,r):(this.pos=t+1,this.column=r+1,this.makeToken(x.RBRACE,`}`,t,n,r)):i===`!`?a===`=`?(this.pos=t+2,this.column=r+2,this.makeToken(x.WORD,`!=`,t,n,r)):(this.pos=t+1,this.column=r+1,this.makeToken(x.BANG,`!`,t,n,r)):this.readWord(t,n,r)}looksLikeNestedSubshells(e){let t=this.input,n=t.length,r=e;for(;r<n&&(t[r]===` `||t[r]===` `);)r++;if(r>=n)return!1;let i=t[r];if(i===`(`)return this.looksLikeNestedSubshells(r+1);let a=/[a-zA-Z_]/.test(i),o=i===`!`||i===`[`;if(!a&&!o)return!1;let s=r;for(;s<n&&/[a-zA-Z0-9_\-.]/.test(t[s]);)s++;if(s===r)return o;let c=s;for(;c<n&&(t[c]===` `||t[c]===` `);)c++;if(c>=n)return!1;let l=t[c];if(l===`=`&&t[c+1]!==`=`||l===`
|
|
11
|
+
`||s===c&&/[+\-*/%<>&|^!~?:]/.test(l)&&l!==`-`||l===`)`&&t[c+1]===`)`)return!1;if(c>s&&(l===`-`||l===`"`||l===`'`||l===`$`||/[a-zA-Z_/.]/.test(l))){let e=c;for(;e<n&&t[e]!==`
|
|
12
|
+
`;){if(t[e]===`)`)return!0;e++}return!1}if(l===`)`){let e=c+1;for(;e<n&&(t[e]===` `||t[e]===` `);)e++;if(t[e]===`|`&&t[e+1]===`|`||t[e]===`&`&&t[e+1]===`&`||t[e]===`;`||t[e]===`|`&&t[e+1]!==`|`)return!0}return!1}makeToken(e,t,n,r,i){return{type:e,value:t,start:n,end:this.pos,line:r,column:i}}readComment(e,t,n){let r=this.input,i=r.length,a=this.pos;for(;a<i&&r[a]!==`
|
|
13
|
+
`;)a++;let o=r.slice(e,a);return this.pos=a,this.column=n+(a-e),{type:x.COMMENT,value:o,start:e,end:a,line:t,column:n}}readWord(e,t,n){let r=this.input,i=r.length,a=this.pos,o=a;for(;a<i;){let e=r[a];if(e===` `||e===` `||e===`
|
|
14
|
+
`||e===`;`||e===`&`||e===`|`||e===`(`||e===`)`||e===`<`||e===`>`||e===`'`||e===`"`||e===`\\`||e===`$`||e==="`"||e===`{`||e===`}`||e===`~`||e===`*`||e===`?`||e===`[`)break;a++}if(a>o){let s=r[a];if(!(s===`(`&&a>o&&`@*+?!`.includes(r[a-1]))&&(a>=i||s===` `||s===` `||s===`
|
|
15
|
+
`||s===`;`||s===`&`||s===`|`||s===`(`||s===`)`||s===`<`||s===`>`)){let i=r.slice(o,a);this.pos=a,this.column=n+(a-o);let s=ge.get(i);if(s!==void 0)return{type:s,value:i,start:e,end:a,line:t,column:n};let c=ve(i);return c>0&&_e(i.slice(0,c))?{type:x.ASSIGNMENT_WORD,value:i,start:e,end:a,line:t,column:n}:/^[0-9]+$/.test(i)?{type:x.NUMBER,value:i,start:e,end:a,line:t,column:n}:/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(i)?{type:x.NAME,value:i,start:e,end:a,line:t,column:n,quoted:!1,singleQuoted:!1}:{type:x.WORD,value:i,start:e,end:a,line:t,column:n,quoted:!1,singleQuoted:!1}}}a=this.pos;let s=this.column,c=this.line,l=``,u=!1,d=!1,f=!1,p=!1,m=r[a]===`"`||r[a]===`'`,h=!1,g=0;for(;a<i;){let e=r[a];if(!f&&!p){if(e===`(`&&l.length>0&&`@*+?!`.includes(l[l.length-1])){let e=this.scanExtglobPattern(a);if(e!==null){l+=e.content,a=e.end,s+=e.content.length;continue}}if(e===`[`&&g===0){if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(l)){let t=a+1<i?r[a+1]:``;if(t===`^`||t===`!`){l+=e,a++,s++;continue}g=1,l+=e,a++,s++;continue}}else if(e===`[`&&g>0){l.length>0&&l[l.length-1]!==`\\`&&g++,l+=e,a++,s++;continue}else if(e===`]`&&g>0){l.length>0&&l[l.length-1]!==`\\`&&g--,l+=e,a++,s++;continue}if(g>0){if(e===`
|
|
16
|
+
`)break;l+=e,a++,s++;continue}if(e===` `||e===` `||e===`
|
|
17
|
+
`||e===`;`||e===`&`||e===`|`||e===`(`||e===`)`||e===`<`||e===`>`)break}if(e===`$`&&a+1<i&&r[a+1]===`'`&&!f&&!p){for(l+=`$'`,a+=2,s+=2;a<i&&r[a]!==`'`;)r[a]===`\\`&&a+1<i?(l+=r[a]+r[a+1],a+=2,s+=2):(l+=r[a],a++,s++);a<i&&(l+=`'`,a++,s++);continue}if(e===`$`&&a+1<i&&r[a+1]===`"`&&!f&&!p){a++,s++,p=!0,u=!0,l===``&&(m=!0),a++,s++;continue}if(e===`'`&&!p){if(f)if(f=!1,!m||h)l+=e;else{let t=a+1<i?r[a+1]:``;t&&!Ce(t)&&t!==`'`&&(t===`"`?(h=!0,l+=e,d=!1,u=!1):(h=!0,l+=e))}else f=!0,m&&!h?(d=!0,u=!0):l+=e;a++,s++;continue}if(e===`"`&&!f){if(p)if(p=!1,!m||h)l+=e;else{let t=a+1<i?r[a+1]:``;t&&!Ce(t)&&t!==`"`&&(t===`'`?(h=!0,l+=e,d=!1,u=!1):(h=!0,l+=e))}else p=!0,m&&!h?u=!0:l+=e;a++,s++;continue}if(e===`\\`&&!f&&a+1<i){let t=r[a+1];if(t===`
|
|
18
|
+
`){a+=2,c++,s=1;continue}if(p){if(t===`"`||t===`\\`||t===`$`||t==="`"||t===`
|
|
19
|
+
`){if(t===`
|
|
20
|
+
`){a+=2,s=1,c++;continue}l+=e+t,a+=2,s+=2;continue}}else{t===`\\`||t===`"`||t===`'`||t==="`"||t===`*`||t===`?`||t===`[`||t===`]`||t===`(`||t===`)`||t===`$`||t===`-`||t===`.`||t===`^`||t===`+`||t===`{`||t===`}`?l+=e+t:l+=t,a+=2,s+=2;continue}}if(e===`$`&&a+1<i&&r[a+1]===`(`&&!f){l+=e,a++,s++,l+=r[a],a++,s++;let t=1,n=!1,o=!1,u=0,d=!1,f=``,p=r[a]===`(`&&!this.dollarDparenIsSubshell(a);for(;t>0&&a<i;){let e=r[a];if(l+=e,n)e===`'`&&(n=!1);else if(o)e===`\\`&&a+1<i?(l+=r[a+1],a++,s++):e===`"`&&(o=!1);else if(e===`'`)n=!0,f=``;else if(e===`"`)o=!0,f=``;else if(e===`\\`&&a+1<i)l+=r[a+1],a++,s++,f=``;else if(e===`$`&&a+1<i&&r[a+1]===`{`){a++,s++,l+=r[a],a++,s++;let e=1,t=!1,n=!1;for(;e>0&&a<i;){let o=r[a];if(o===`\\`&&a+1<i&&!t){l+=o,a++,s++,l+=r[a],a++,s++;continue}l+=o,t?o===`'`&&(t=!1):n?o===`"`&&(n=!1):o===`'`?t=!0:o===`"`?n=!0:o===`{`?e++:o===`}`&&e--,o===`
|
|
21
|
+
`?(c++,s=0):s++,a++}f=``;continue}else if(e===`#`&&!p&&(f===``||/\s/.test(r[a-1]||``))){for(;a+1<i&&r[a+1]!==`
|
|
22
|
+
`;)a++,s++,l+=r[a];f=``}else /[a-zA-Z_]/.test(e)?f+=e:(f===`case`?(u++,d=!1):f===`in`&&u>0?d=!0:f===`esac`&&u>0&&(u--,d=!1),f=``,e===`(`?a>0&&r[a-1]===`$`?t++:d||t++:e===`)`?d?d=!1:t--:e===`;`&&u>0&&(a+1<i&&r[a+1]===`;`||a+1<i&&r[a+1]===`&`)&&(d=!0));e===`
|
|
23
|
+
`&&(c++,s=0,f=``),a++,s++}continue}if(e===`$`&&a+1<i&&r[a+1]===`[`&&!f){l+=e,a++,s++,l+=r[a],a++,s++;let t=1;for(;t>0&&a<i;){let e=r[a];l+=e,e===`[`?t++:e===`]`?t--:e===`
|
|
24
|
+
`&&(c++,s=0),a++,s++}continue}if(e===`$`&&a+1<i&&r[a+1]===`{`&&!f){l+=e,a++,s++,l+=r[a],a++,s++;let t=1,n=!1,o=!1,u=c,d=s,f=c,p=s;for(;t>0&&a<i;){let e=r[a];if(e===`\\`&&a+1<i&&r[a+1]===`
|
|
25
|
+
`){a+=2,c++,s=1;continue}if(e===`\\`&&a+1<i&&!n){l+=e,a++,s++,l+=r[a],a++,s++;continue}l+=e,n?e===`'`&&(n=!1):o?e===`"`&&(o=!1):e===`'`?(n=!0,u=c,d=s):e===`"`?(o=!0,f=c,p=s):e===`{`?t++:e===`}`&&t--,e===`
|
|
26
|
+
`&&(c++,s=0),a++,s++}if(n)throw new S("unexpected EOF while looking for matching `''",u,d);if(o)throw new S(`unexpected EOF while looking for matching \`"'`,f,p);continue}if(e===`$`&&a+1<i&&!f){let t=r[a+1];if(t===`#`||t===`?`||t===`$`||t===`!`||t===`@`||t===`*`||t===`-`||t>=`0`&&t<=`9`){l+=e+t,a+=2,s+=2;continue}}if(e==="`"&&!f){for(l+=e,a++,s++;a<i&&r[a]!=="`";){let e=r[a];l+=e,e===`\\`&&a+1<i&&(l+=r[a+1],a++,s++),e===`
|
|
27
|
+
`&&(c++,s=0),a++,s++}a<i&&(l+=r[a],a++,s++);continue}l+=e,a++,e===`
|
|
28
|
+
`?(c++,s=1):s++}if(this.pos=a,this.column=s,this.line=c,h&&m&&(l=r[e]+l,u=!1,d=!1),f||p)throw new S(`unexpected EOF while looking for matching \`${f?`'`:`"`}'`,t,n);if(!m&&l.length>=2){if(l[0]===`'`&&l[l.length-1]===`'`){let e=l.slice(1,-1);!e.includes(`'`)&&!e.includes(`"`)&&(l=e,u=!0,d=!0)}else if(l[0]===`"`&&l[l.length-1]===`"`){let e=l.slice(1,-1),t=!1;for(let n=0;n<e.length;n++){if(e[n]===`"`){t=!0;break}e[n]===`\\`&&n+1<e.length&&n++}t||(l=e,u=!0,d=!1)}}if(l===``)return{type:x.WORD,value:``,start:e,end:a,line:t,column:n,quoted:u,singleQuoted:d};let _=ge.get(l);if(!u&&_!==void 0)return{type:_,value:l,start:e,end:a,line:t,column:n};if(!m){let r=ve(l);if(r>0&&_e(l.slice(0,r)))return{type:x.ASSIGNMENT_WORD,value:l,start:e,end:a,line:t,column:n,quoted:u,singleQuoted:d}}return/^[0-9]+$/.test(l)?{type:x.NUMBER,value:l,start:e,end:a,line:t,column:n}:Se(l)?{type:x.NAME,value:l,start:e,end:a,line:t,column:n,quoted:u,singleQuoted:d}:{type:x.WORD,value:l,start:e,end:a,line:t,column:n,quoted:u,singleQuoted:d}}readHeredocContent(){for(;this.pendingHeredocs.length>0;){let e=this.pendingHeredocs.shift();if(!e)break;let t=this.pos,n=this.line,r=this.column,i=``;for(;this.pos<this.input.length;){let t=``;for(;this.pos<this.input.length&&this.input[this.pos]!==`
|
|
29
|
+
`;)t+=this.input[this.pos],this.pos++,this.column++;if((e.stripTabs?t.replace(/^\t+/,``):t)===e.delimiter){this.pos<this.input.length&&this.input[this.pos]===`
|
|
30
|
+
`&&(this.pos++,this.line++,this.column=1);break}if(i+=t,i.length>this.maxHeredocSize)throw new S(`Heredoc size limit exceeded (${this.maxHeredocSize} bytes)`,n,r);this.pos<this.input.length&&this.input[this.pos]===`
|
|
31
|
+
`&&(i+=`
|
|
32
|
+
`,this.pos++,this.line++,this.column=1)}this.tokens.push({type:x.HEREDOC_CONTENT,value:i,start:t,end:this.pos,line:n,column:r})}}addPendingHeredoc(e,t,n){this.pendingHeredocs.push({delimiter:e,stripTabs:t,quoted:n})}registerHeredocFromLookahead(e){let t=this.pos,n=this.column;for(;this.pos<this.input.length&&(this.input[this.pos]===` `||this.input[this.pos]===` `);)this.pos++,this.column++;let r=``,i=!1;for(;this.pos<this.input.length;){let e=this.input[this.pos];if(/[\s;<>&|()]/.test(e))break;if(e===`'`||e===`"`){i=!0;let t=e;for(this.pos++,this.column++;this.pos<this.input.length&&this.input[this.pos]!==t;)r+=this.input[this.pos],this.pos++,this.column++;this.pos<this.input.length&&this.input[this.pos]===t&&(this.pos++,this.column++)}else e===`\\`?(i=!0,this.pos++,this.column++,this.pos<this.input.length&&(r+=this.input[this.pos],this.pos++,this.column++)):(r+=e,this.pos++,this.column++)}this.pos=t,this.column=n,r&&this.pendingHeredocs.push({delimiter:r,stripTabs:e,quoted:i})}isWordCharFollowing(e){if(e>=this.input.length)return!1;let t=this.input[e];return!(t===` `||t===` `||t===`
|
|
33
|
+
`||t===`;`||t===`&`||t===`|`||t===`(`||t===`)`||t===`<`||t===`>`)}readWordWithBraceExpansion(e,t,n){let r=this.input,i=r.length,a=e,o=n;for(;a<i;){let e=r[a];if(e===` `||e===` `||e===`
|
|
34
|
+
`||e===`;`||e===`&`||e===`|`||e===`(`||e===`)`||e===`<`||e===`>`)break;if(e===`{`){if(this.scanBraceExpansion(a)!==null){let e=1;for(a++,o++;a<i&&e>0;)r[a]===`{`?e++:r[a]===`}`&&e--,a++,o++;continue}a++,o++;continue}if(e===`}`){a++,o++;continue}if(e===`$`&&a+1<i&&r[a+1]===`(`){a++,o++,a++,o++;let e=1;for(;e>0&&a<i;)r[a]===`(`?e++:r[a]===`)`&&e--,a++,o++;continue}if(e===`$`&&a+1<i&&r[a+1]===`{`){a++,o++,a++,o++;let e=1;for(;e>0&&a<i;)r[a]===`{`?e++:r[a]===`}`&&e--,a++,o++;continue}if(e==="`"){for(a++,o++;a<i&&r[a]!=="`";)r[a]===`\\`&&a+1<i?(a+=2,o+=2):(a++,o++);a<i&&(a++,o++);continue}a++,o++}let s=r.slice(e,a);return this.pos=a,this.column=o,{type:x.WORD,value:s,start:e,end:a,line:t,column:n,quoted:!1,singleQuoted:!1}}scanBraceExpansion(e){let t=this.input,n=t.length,r=e+1,i=1,a=!1,o=!1;for(;r<n&&i>0;){let e=t[r];if(e===`{`)i++,r++;else if(e===`}`)i--,r++;else if(e===`,`&&i===1)a=!0,r++;else if(e===`.`&&r+1<n&&t[r+1]===`.`)o=!0,r+=2;else{if(e===` `||e===` `||e===`
|
|
35
|
+
`||e===`;`||e===`&`||e===`|`)return null;r++}}return i===0&&(a||o)?t.slice(e,r):null}scanLiteralBraceWord(e){let t=this.input,n=t.length,r=e+1,i=1;for(;r<n&&i>0;){let n=t[r];if(n===`{`)i++,r++;else if(n===`}`){if(i--,i===0)return t.slice(e,r+1);r++}else{if(n===` `||n===` `||n===`
|
|
36
|
+
`||n===`;`||n===`&`||n===`|`)return null;r++}}return null}scanExtglobPattern(e){let t=this.input,n=t.length,r=e+1,i=1;for(;r<n&&i>0;){let e=t[r];if(e===`\\`&&r+1<n){r+=2;continue}if(`@*+?!`.includes(e)&&r+1<n&&t[r+1]===`(`){r++,i++,r++;continue}if(e===`(`)i++,r++;else if(e===`)`)i--,r++;else{if(e===`
|
|
37
|
+
`)return null;r++}}return i===0?{content:t.slice(e,r),end:r}:null}scanFdVariable(e){let t=this.input,n=t.length,r=e+1,i=r;for(;r<n;){let e=t[r];if(r===i){if(!(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`_`))return null}else if(!(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`_`))break;r++}if(r===i)return null;let a=t.slice(i,r);if(r>=n||t[r]!==`}`||(r++,r>=n))return null;let o=t[r],s=r+1<n?t[r+1]:``;return o===`>`||o===`<`||o===`&`&&(s===`>`||s===`<`)?{varname:a,end:r}:null}dollarDparenIsSubshell(e){let t=this.input,n=t.length,r=e+1,i=2,a=!1,o=!1,s=!1;for(;r<n&&i>0;){let e=t[r];if(a){e===`'`&&(a=!1),e===`
|
|
38
|
+
`&&(s=!0),r++;continue}if(o){if(e===`\\`){r+=2;continue}e===`"`&&(o=!1),e===`
|
|
39
|
+
`&&(s=!0),r++;continue}if(e===`'`){a=!0,r++;continue}if(e===`"`){o=!0,r++;continue}if(e===`\\`){r+=2;continue}if(e===`
|
|
40
|
+
`&&(s=!0),e===`(`){i++,r++;continue}if(e===`)`){if(i--,i===1){let e=r+1;if(e<n&&t[e]===`)`)return!1;let i=e,a=!1;for(;i<n&&(t[i]===` `||t[i]===` `||t[i]===`
|
|
41
|
+
`);)a=!0,i++;if(a&&i<n&&t[i]===`)`||s)return!0}if(i===0)return!1;r++;continue}r++}return!1}dparenClosesWithSpacedParens(e){let t=this.input,n=t.length,r=e,i=2,a=!1,o=!1;for(;r<n&&i>0;){let e=t[r];if(a){e===`'`&&(a=!1),r++;continue}if(o){if(e===`\\`){r+=2;continue}e===`"`&&(o=!1),r++;continue}if(e===`'`){a=!0,r++;continue}if(e===`"`){o=!0,r++;continue}if(e===`\\`){r+=2;continue}if(e===`(`){i++,r++;continue}if(e===`)`){if(i--,i===1){let e=r+1;if(e<n&&t[e]===`)`)return!1;let i=e,a=!1;for(;i<n&&(t[i]===` `||t[i]===` `||t[i]===`
|
|
42
|
+
`);)a=!0,i++;if(a&&i<n&&t[i]===`)`)return!0}if(i===0)return!1;r++;continue}if(i===1&&(e===`|`&&r+1<n&&t[r+1]===`|`||e===`&`&&r+1<n&&t[r+1]===`&`||e===`|`&&r+1<n&&t[r+1]!==`|`))return!0;r++}return!1}},Te=1e6,Ee=1e5,De=1e6,Oe=200,ke=new Set([x.LESS,x.GREAT,x.DLESS,x.DGREAT,x.LESSAND,x.GREATAND,x.LESSGREAT,x.DLESSDASH,x.CLOBBER,x.TLESS,x.AND_GREAT,x.AND_DGREAT]),Ae=new Set([x.LESS,x.GREAT,x.DLESS,x.DGREAT,x.LESSAND,x.GREATAND,x.LESSGREAT,x.DLESSDASH,x.CLOBBER,x.TLESS]),je=new Set([x.LESS,x.GREAT,x.DLESS,x.DGREAT,x.LESSAND,x.GREATAND,x.LESSGREAT,x.DLESSDASH,x.CLOBBER,x.TLESS,x.AND_GREAT,x.AND_DGREAT]),C=class extends Error{line;column;token;constructor(e,t,n,r=void 0){super(`Parse error at ${t}:${n}: ${e}`),this.line=t,this.column=n,this.token=r,this.name=`ParseException`}};function Me(e){let t=``,n=0;for(;n<e.length;){let r=e[n];if(r<128){t+=String.fromCharCode(r),n++;continue}if((r&224)==192){if(n+1<e.length&&(e[n+1]&192)==128&&r>=194){let i=(r&31)<<6|e[n+1]&63;t+=String.fromCharCode(i),n+=2;continue}t+=String.fromCharCode(r),n++;continue}if((r&240)==224){if(n+2<e.length&&(e[n+1]&192)==128&&(e[n+2]&192)==128){if(r===224&&e[n+1]<160){t+=String.fromCharCode(r),n++;continue}let i=(r&15)<<12|(e[n+1]&63)<<6|e[n+2]&63;if(i>=55296&&i<=57343){t+=String.fromCharCode(r),n++;continue}t+=String.fromCharCode(i),n+=3;continue}t+=String.fromCharCode(r),n++;continue}if((r&248)==240&&r<=244){if(n+3<e.length&&(e[n+1]&192)==128&&(e[n+2]&192)==128&&(e[n+3]&192)==128){if(r===240&&e[n+1]<144){t+=String.fromCharCode(r),n++;continue}let i=(r&7)<<18|(e[n+1]&63)<<12|(e[n+2]&63)<<6|e[n+3]&63;if(i>1114111){t+=String.fromCharCode(r),n++;continue}t+=String.fromCodePoint(i),n+=4;continue}t+=String.fromCharCode(r),n++;continue}t+=String.fromCharCode(r),n++}return t}function Ne(e,t,n){let r=n+1;for(;r<t.length&&/[a-zA-Z0-9_-]/.test(t[r]);)r++;return r}function Pe(e,t,n,r,i){let a=1,o=n+1;for(;o<t.length&&a>0;)t[o]===r?a++:t[o]===i&&a--,a>0&&o++;return a===0?o:-1}function w(e,t,n){let r=n,i=1;for(;r<t.length&&i>0;){let e=t[r];if(e===`\\`&&r+1<t.length){r+=2;continue}if(e===`'`){let e=t.indexOf(`'`,r+1);if(e!==-1){r=e+1;continue}}if(e===`"`){for(r++;r<t.length&&t[r]!==`"`;)t[r]===`\\`&&r+1<t.length?r+=2:r++;r<t.length&&r++;continue}e===`{`?i++:e===`}`&&i--,i>0&&r++}return r}function Fe(e,t,n){let r=n,i=!1;for(;r<t.length;){let e=t[r];if(e===`/`&&i||e===`}`)break;if(e===`'`){let e=t.indexOf(`'`,r+1);if(e!==-1){r=e+1,i=!0;continue}}if(e===`"`){for(r++;r<t.length&&t[r]!==`"`;)t[r]===`\\`&&r+1<t.length?r+=2:r++;r<t.length&&r++,i=!0;continue}e===`\\`?(r+=2,i=!0):(r++,i=!0)}return r}function Ie(e,t,n){let r=n,i=``;for(;r<t.length;){let e=t[r];if(e===`*`||e===`?`)i+=e,r++;else if(e===`[`){let n=Le(t,r);n===-1?(i+=e,r++):(i+=t.slice(r,n+1),r=n+1)}else break}return{pattern:i,endIndex:r}}function Le(e,t){let n=t+1;for(n<e.length&&e[n]===`^`&&n++,n<e.length&&e[n]===`]`&&n++;n<e.length;){let t=e[n];if(t===`\\`&&n+1<e.length){let t=e[n+1];if(t===`"`||t===`'`)return-1;n+=2;continue}if(t===`]`)return n;if(t===`"`||t===`$`||t==="`")return-1;if(t===`'`){let t=e.indexOf(`'`,n+1);if(t!==-1){n=t+1;continue}}if(t===`[`&&n+1<e.length&&e[n+1]===`:`){let t=e.indexOf(`:]`,n+2);if(t!==-1){n=t+2;continue}}if(t===`[`&&n+1<e.length&&(e[n+1]===`.`||e[n+1]===`=`)){let t=`${e[n+1]}]`,r=e.indexOf(t,n+2);if(r!==-1){n=r+2;continue}}n++}return-1}function Re(e,t,n){let r=``,i=n;for(;i<t.length&&t[i]!==`'`;){let e=t[i];if(e===`\\`&&i+1<t.length)switch(t[i+1]){case`n`:r+=`
|
|
43
|
+
`,i+=2;break;case`t`:r+=` `,i+=2;break;case`r`:r+=`\r`,i+=2;break;case`\\`:r+=`\\`,i+=2;break;case`'`:r+=`'`,i+=2;break;case`"`:r+=`"`,i+=2;break;case`a`:r+=`\x07`,i+=2;break;case`b`:r+=`\b`,i+=2;break;case`e`:case`E`:r+=`\x1B`,i+=2;break;case`f`:r+=`\f`,i+=2;break;case`v`:r+=`\v`,i+=2;break;case`x`:{let e=[],n=i;for(;n+1<t.length&&t[n]===`\\`&&t[n+1]===`x`;){let r=t.slice(n+2,n+4),i=parseInt(r,16);if(!Number.isNaN(i)&&r.length>0)e.push(i),n+=2+r.length;else break}e.length>0?(r+=Me(e),i=n):(r+=`\\x`,i+=2);break}case`u`:{let e=t.slice(i+2,i+6),n=parseInt(e,16);Number.isNaN(n)?(r+=`\\u`,i+=2):(r+=String.fromCharCode(n),i+=6);break}case`c`:if(i+2<t.length){let e=t[i+2].charCodeAt(0)&31;r+=String.fromCharCode(e),i+=3}else r+=`\\c`,i+=2;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let e=``,n=i+1;for(;n<t.length&&n<i+4&&/[0-7]/.test(t[n]);)e+=t[n],n++;let a=parseInt(e,8);r+=String.fromCharCode(a),i=n;break}default:r+=e,i++}else r+=e,i++}return i<t.length&&t[i]===`'`&&i++,{part:b.literal(r),endIndex:i}}function ze(e,t){let n=t.trim();return n===``?{type:`ArithmeticExpression`,expression:{type:`ArithNumber`,value:0}}:h(e,n)}function Be(e){let t=[],n=``,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`{`?(r++,n+=a):a===`}`?(r--,n+=a):a===`,`&&r===0?(t.push(n),n=``):n+=a}return t.push(n),t}function Ve(e,t,n,r){let i=Pe(e,t,n,`{`,`}`);if(i===-1)return null;let a=t.slice(n+1,i),o=a.match(/^(-?\d+)\.\.(-?\d+)(?:\.\.(-?\d+))?$/);if(o)return{part:{type:`BraceExpansion`,items:[{type:`Range`,start:Number.parseInt(o[1],10),end:Number.parseInt(o[2],10),step:o[3]?Number.parseInt(o[3],10):void 0,startStr:o[1],endStr:o[2]}]},endIndex:i+1};let s=a.match(/^([a-zA-Z])\.\.([a-zA-Z])(?:\.\.(-?\d+))?$/);return s?{part:{type:`BraceExpansion`,items:[{type:`Range`,start:s[1],end:s[2],step:s[3]?Number.parseInt(s[3],10):void 0}]},endIndex:i+1}:a.includes(`,`)&&r?{part:{type:`BraceExpansion`,items:Be(a).map(t=>({type:`Word`,word:b.word(r(e,t,!1,!1,!1))}))},endIndex:i+1}:a.includes(`,`)?{part:{type:`BraceExpansion`,items:Be(a).map(e=>({type:`Word`,word:b.word([b.literal(e)])}))},endIndex:i+1}:null}function He(e,t){let n=``;for(let r of t.parts)switch(r.type){case`Literal`:n+=r.value;break;case`SingleQuoted`:n+=`'${r.value}'`;break;case`Escaped`:n+=r.value;break;case`DoubleQuoted`:n+=`"`;for(let e of r.parts)e.type===`Literal`||e.type===`Escaped`?n+=e.value:e.type===`ParameterExpansion`&&(n+=`\${${e.parameter}}`);n+=`"`;break;case`ParameterExpansion`:n+=`\${${r.parameter}}`;break;case`Glob`:n+=r.pattern;break;case`TildeExpansion`:n+=`~`,r.user&&(n+=r.user);break;case`BraceExpansion`:{n+=`{`;let t=[];for(let n of r.items)if(n.type===`Range`){let e=n.startStr??String(n.start),r=n.endStr??String(n.end);n.step===void 0?t.push(`${e}..${r}`):t.push(`${e}..${r}..${n.step}`)}else t.push(He(e,n.word));t.length===1&&r.items[0].type===`Range`?n+=t[0]:n+=t.join(`,`),n+=`}`;break}default:n+=r.type}return n}function Ue(e,t){return{[x.LESS]:`<`,[x.GREAT]:`>`,[x.DGREAT]:`>>`,[x.LESSAND]:`<&`,[x.GREATAND]:`>&`,[x.LESSGREAT]:`<>`,[x.CLOBBER]:`>|`,[x.TLESS]:`<<<`,[x.AND_GREAT]:`&>`,[x.AND_DGREAT]:`&>>`,[x.DLESS]:`<`,[x.DLESSDASH]:`<`}[t]||`>`}function We(e){let t=e.current(),n=t.type;if(n===x.NUMBER){let n=e.peek(1);return t.end===n.start?Ae.has(n.type):!1}if(n===x.FD_VARIABLE){let t=e.peek(1);return je.has(t.type)}return ke.has(n)}function Ge(e){let t=null,n;e.check(x.NUMBER)?t=Number.parseInt(e.advance().value,10):e.check(x.FD_VARIABLE)&&(n=e.advance().value);let r=e.advance(),i=Ue(e,r.type);if(r.type===x.DLESS||r.type===x.DLESSDASH)return Ke(e,i,t,r.type===x.DLESSDASH);e.isWord()||e.error(`Expected redirection target`);let a=e.parseWord();return b.redirection(i,a,t,n)}function Ke(e,t,n,r){e.isWord()||e.error(`Expected here-document delimiter`);let i=e.advance(),a=i.value,o=i.quoted||!1;(a.startsWith(`'`)&&a.endsWith(`'`)||a.startsWith(`"`)&&a.endsWith(`"`))&&(a=a.slice(1,-1));let s=b.redirection(r?`<<-`:`<<`,b.hereDoc(a,b.word([]),r,o),n);return e.addPendingHeredoc(s,a,r,o),s}function qe(e){let t=e.current().line,n=[],r=null,i=[],a=[];for(;e.check(x.ASSIGNMENT_WORD)||We(e);)e.checkIterationLimit(),e.check(x.ASSIGNMENT_WORD)?n.push(Je(e)):a.push(Ge(e));if(e.isWord())r=e.parseWord();else if(n.length>0&&(e.check(x.DBRACK_START)||e.check(x.DPAREN_START))){let t=e.advance();r=b.word([b.literal(t.value)])}for(;(!e.isStatementEnd()||e.check(x.RBRACE))&&!e.check(x.PIPE,x.PIPE_AMP);)if(e.checkIterationLimit(),We(e))a.push(Ge(e));else if(e.check(x.RBRACE)){let t=e.advance();i.push(e.parseWordFromString(t.value,!1,!1))}else if(e.check(x.LBRACE)){let t=e.advance();i.push(e.parseWordFromString(t.value,!1,!1))}else if(e.check(x.DBRACK_END)){let t=e.advance();i.push(e.parseWordFromString(t.value,!1,!1))}else if(e.isWord())i.push(e.parseWord());else if(e.check(x.ASSIGNMENT_WORD)){let t=e.advance(),n=t.value,r=n.endsWith(`=`),a=n.endsWith(`=(`);if((r||a)&&(a||e.check(x.LPAREN))){let t=a?n.slice(0,-2):n.slice(0,-1);a||e.expect(x.LPAREN);let r=Xe(e);e.expect(x.RPAREN);let o=`${t}=(${r.map(t=>He(e,t)).join(` `)})`;i.push(e.parseWordFromString(o,!1,!1))}else i.push(e.parseWordFromString(n,t.quoted,t.singleQuoted))}else if(e.check(x.LPAREN))e.error("syntax error near unexpected token `('");else break;let o=b.simpleCommand(r,i,n,a);return o.line=t,o}function Je(e){let t=e.expect(x.ASSIGNMENT_WORD),n=t.value,r=n.match(/^[a-zA-Z_][a-zA-Z0-9_]*/);r||e.error(`Invalid assignment: ${n}`);let i=r[0],a,o=i.length;if(n[o]===`[`){let t=0,r=o+1;for(;o<n.length;o++)if(n[o]===`[`)t++;else if(n[o]===`]`&&(t--,t===0))break;t!==0&&e.error(`Invalid assignment: ${n}`),a=n.slice(r,o),o++}let s=n[o]===`+`;s&&o++,n[o]!==`=`&&e.error(`Invalid assignment: ${n}`),o++;let c=n.slice(o);if(c===`(`){let t=Xe(e);e.expect(x.RPAREN);let n=a===void 0?i:`${i}[${a}]`;return b.assignment(n,null,s,t)}if(c===``&&e.check(x.LPAREN)){let n=e.current();if(t.end===n.start){e.advance();let t=Xe(e);e.expect(x.RPAREN);let n=a===void 0?i:`${i}[${a}]`;return b.assignment(n,null,s,t)}}let l=c?e.parseWordFromString(c,t.quoted,t.singleQuoted,!0):null,u=a===void 0?i:`${i}[${a}]`;return b.assignment(u,l,s,null)}var Ye=new Set([x.AMP,x.PIPE,x.PIPE_AMP,x.SEMICOLON,x.AND_AND,x.OR_OR,x.DSEMI,x.SEMI_AND,x.SEMI_SEMI_AND]);function Xe(e){let t=[];for(e.skipNewlines();!e.check(x.RPAREN,x.EOF);)e.checkIterationLimit(),e.isWord()?t.push(e.parseWord()):Ye.has(e.current().type)?e.error(`syntax error near unexpected token \`${e.current().value}'`):e.advance(),e.skipNewlines();return t}function Ze(e,t){e.expect(x.IF);let n=[],r=e.parseCompoundList();e.expect(x.THEN);let i=e.parseCompoundList();if(i.length===0){let t=e.check(x.FI)?`fi`:e.check(x.ELSE)?`else`:e.check(x.ELIF)?`elif`:`fi`;e.error(`syntax error near unexpected token \`${t}'`)}for(n.push({condition:r,body:i});e.check(x.ELIF);){e.advance();let t=e.parseCompoundList();e.expect(x.THEN);let r=e.parseCompoundList();if(r.length===0){let t=e.check(x.FI)?`fi`:e.check(x.ELSE)?`else`:e.check(x.ELIF)?`elif`:`fi`;e.error(`syntax error near unexpected token \`${t}'`)}n.push({condition:t,body:r})}let a=null;e.check(x.ELSE)&&(e.advance(),a=e.parseCompoundList(),a.length===0&&e.error("syntax error near unexpected token `fi'")),e.expect(x.FI);let o=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.ifNode(n,a,o)}function Qe(e,t){let n=e.expect(x.FOR);if(e.check(x.DPAREN_START))return $e(e,t,n.line);e.isWord()||e.error(`Expected variable name in for loop`);let r=e.advance().value,i=null;if(e.skipNewlines(),e.check(x.IN))for(e.advance(),i=[];!e.check(x.SEMICOLON,x.NEWLINE,x.DO,x.EOF)&&e.isWord();)i.push(e.parseWord());e.check(x.SEMICOLON)&&e.advance(),e.skipNewlines(),e.expect(x.DO);let a=e.parseCompoundList();e.expect(x.DONE);let o=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.forNode(r,i,a,o)}function $e(e,t,n){e.expect(x.DPAREN_START);let r=null,i=null,a=null,o=[``,``,``],s=0,c=0;for(;!e.check(x.DPAREN_END,x.EOF);){let t=e.advance();if(t.type===x.SEMICOLON&&c===0){if(s++,s>2)break}else t.value===`(`&&c++,t.value===`)`&&c--,o[s]+=t.value}e.expect(x.DPAREN_END),o[0].trim()&&(r=h(e,o[0].trim())),o[1].trim()&&(i=h(e,o[1].trim())),o[2].trim()&&(a=h(e,o[2].trim())),e.skipNewlines(),e.check(x.SEMICOLON)&&e.advance(),e.skipNewlines();let l;e.check(x.LBRACE)?(e.advance(),l=e.parseCompoundList(),e.expect(x.RBRACE)):(e.expect(x.DO),l=e.parseCompoundList(),e.expect(x.DONE));let u=t?.skipRedirections?[]:e.parseOptionalRedirections();return{type:`CStyleFor`,init:r,condition:i,update:a,body:l,redirections:u,line:n}}function et(e,t){e.expect(x.WHILE);let n=e.parseCompoundList();e.expect(x.DO);let r=e.parseCompoundList();r.length===0&&e.error("syntax error near unexpected token `done'"),e.expect(x.DONE);let i=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.whileNode(n,r,i)}function tt(e,t){e.expect(x.UNTIL);let n=e.parseCompoundList();e.expect(x.DO);let r=e.parseCompoundList();r.length===0&&e.error("syntax error near unexpected token `done'"),e.expect(x.DONE);let i=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.untilNode(n,r,i)}function nt(e,t){e.expect(x.CASE),e.isWord()||e.error(`Expected word after 'case'`);let n=e.parseWord();e.skipNewlines(),e.expect(x.IN),e.skipNewlines();let r=[];for(;!e.check(x.ESAC,x.EOF);){e.checkIterationLimit();let t=e.getPos(),n=rt(e);if(n&&r.push(n),e.skipNewlines(),e.getPos()===t&&!n)break}e.expect(x.ESAC);let i=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.caseNode(n,r,i)}function rt(e){e.check(x.LPAREN)&&e.advance();let t=[];for(;e.isWord()&&(t.push(e.parseWord()),e.check(x.PIPE));)e.advance();if(t.length===0)return null;e.expect(x.RPAREN),e.skipNewlines();let n=[];for(;!e.check(x.DSEMI,x.SEMI_AND,x.SEMI_SEMI_AND,x.ESAC,x.EOF);){e.checkIterationLimit(),e.isWord()&&e.peek(1).type===x.RPAREN&&e.error("syntax error near unexpected token `)'"),e.check(x.LPAREN)&&e.peek(1).type===x.WORD&&e.error(`syntax error near unexpected token \`${e.peek(1).value}'`);let t=e.getPos(),r=e.parseStatement();if(r&&n.push(r),e.skipSeparators(!1),e.getPos()===t&&!r)break}let r=`;;`;return e.check(x.DSEMI)?(e.advance(),r=`;;`):e.check(x.SEMI_AND)?(e.advance(),r=`;&`):e.check(x.SEMI_SEMI_AND)&&(e.advance(),r=`;;&`),b.caseItem(t,n,r)}function it(e,t){e.expect(x.LPAREN);let n=e.parseCompoundList();e.expect(x.RPAREN);let r=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.subshell(n,r)}function at(e,t){e.expect(x.LBRACE);let n=e.parseCompoundList();e.expect(x.RBRACE);let r=t?.skipRedirections?[]:e.parseOptionalRedirections();return b.group(n,r)}var ot=`-a.-b.-c.-d.-e.-f.-g.-h.-k.-p.-r.-s.-t.-u.-w.-x.-G.-L.-N.-O.-S.-z.-n.-o.-v.-R`.split(`.`),st=[`==`,`!=`,`=~`,`<`,`>`,`-eq`,`-ne`,`-lt`,`-le`,`-gt`,`-ge`,`-nt`,`-ot`,`-ef`];function ct(e){return e.isWord()||e.check(x.LBRACE)||e.check(x.RBRACE)||e.check(x.ASSIGNMENT_WORD)}function lt(e){if(e.check(x.BANG)&&e.peek(1).type===x.LPAREN){e.advance(),e.advance();let t=1,n=`!(`;for(;t>0&&!e.check(x.EOF);)if(e.check(x.LPAREN))t++,n+=`(`,e.advance();else if(e.check(x.RPAREN))t--,t>0&&(n+=`)`),e.advance();else if(e.isWord())n+=e.advance().value;else if(e.check(x.PIPE))n+=`|`,e.advance();else break;return n+=`)`,e.parseWordFromString(n,!1,!1,!1,!1,!0)}return e.parseWordNoBraceExpansion()}function ut(e){return e.skipNewlines(),dt(e)}function dt(e){let t=ft(e);for(e.skipNewlines();e.check(x.OR_OR);){e.advance(),e.skipNewlines();let n=ft(e);t={type:`CondOr`,left:t,right:n},e.skipNewlines()}return t}function ft(e){let t=pt(e);for(e.skipNewlines();e.check(x.AND_AND);){e.advance(),e.skipNewlines();let n=pt(e);t={type:`CondAnd`,left:t,right:n},e.skipNewlines()}return t}function pt(e){return e.skipNewlines(),e.check(x.BANG)?(e.advance(),e.skipNewlines(),{type:`CondNot`,operand:pt(e)}):mt(e)}function mt(e){if(e.check(x.LPAREN)){e.advance();let t=ut(e);return e.expect(x.RPAREN),{type:`CondGroup`,expression:t}}if(ct(e)){let t=e.current(),n=t.value;if(ot.includes(n)&&!t.quoted){if(e.advance(),e.check(x.DBRACK_END)&&e.error(`Expected operand after ${n}`),ct(e))return{type:`CondUnary`,operator:n,operand:e.parseWordNoBraceExpansion()};let t=e.current();e.error(`unexpected argument \`${t.value}' to conditional unary operator`)}let r=e.parseWordNoBraceExpansion();if(e.isWord()&&st.includes(e.current().value)){let t=e.advance().value,n;return n=t===`=~`?ht(e):t===`==`||t===`!=`?lt(e):e.parseWordNoBraceExpansion(),{type:`CondBinary`,operator:t,left:r,right:n}}return e.check(x.LESS)?(e.advance(),{type:`CondBinary`,operator:`<`,left:r,right:e.parseWordNoBraceExpansion()}):e.check(x.GREAT)?(e.advance(),{type:`CondBinary`,operator:`>`,left:r,right:e.parseWordNoBraceExpansion()}):e.isWord()&&e.current().value===`=`?(e.advance(),{type:`CondBinary`,operator:`==`,left:r,right:lt(e)}):{type:`CondWord`,word:r}}e.error(`Expected conditional expression`)}function ht(e){let t=[],n=0,r=-1,i=e.getInput(),a=()=>e.check(x.DBRACK_END)||e.check(x.AND_AND)||e.check(x.OR_OR)||e.check(x.NEWLINE)||e.check(x.EOF);for(;!a();){let a=e.current(),o=r>=0&&a.start>r;if(n===0&&o)break;if(n>0&&o){let e=i.slice(r,a.start);t.push({type:`Literal`,value:e})}if(e.isWord()||e.check(x.ASSIGNMENT_WORD)){let n=e.parseWordForRegex();t.push(...n.parts),r=e.peek(-1).end}else if(e.check(x.LPAREN)){let i=e.advance();t.push({type:`Literal`,value:`(`}),n++,r=i.end}else if(e.check(x.DPAREN_START)){let i=e.advance();t.push({type:`Literal`,value:`((`}),n+=2,r=i.end}else if(e.check(x.DPAREN_END))if(n>=2){let i=e.advance();t.push({type:`Literal`,value:`))`}),n-=2,r=i.end}else{if(n===1)break;break}else if(e.check(x.RPAREN))if(n>0){let i=e.advance();t.push({type:`Literal`,value:`)`}),n--,r=i.end}else break;else if(e.check(x.PIPE)){let n=e.advance();t.push({type:`Literal`,value:`|`}),r=n.end}else if(e.check(x.SEMICOLON))if(n>0){let n=e.advance();t.push({type:`Literal`,value:`;`}),r=n.end}else break;else if(n>0&&e.check(x.LESS)){let n=e.advance();t.push({type:`Literal`,value:`<`}),r=n.end}else if(n>0&&e.check(x.GREAT)){let n=e.advance();t.push({type:`Literal`,value:`>`}),r=n.end}else if(n>0&&e.check(x.DGREAT)){let n=e.advance();t.push({type:`Literal`,value:`>>`}),r=n.end}else if(n>0&&e.check(x.DLESS)){let n=e.advance();t.push({type:`Literal`,value:`<<`}),r=n.end}else if(n>0&&e.check(x.LESSAND)){let n=e.advance();t.push({type:`Literal`,value:`<&`}),r=n.end}else if(n>0&&e.check(x.GREATAND)){let n=e.advance();t.push({type:`Literal`,value:`>&`}),r=n.end}else if(n>0&&e.check(x.LESSGREAT)){let n=e.advance();t.push({type:`Literal`,value:`<>`}),r=n.end}else if(n>0&&e.check(x.CLOBBER)){let n=e.advance();t.push({type:`Literal`,value:`>|`}),r=n.end}else if(n>0&&e.check(x.TLESS)){let n=e.advance();t.push({type:`Literal`,value:`<<<`}),r=n.end}else if(n>0&&e.check(x.AMP)){let n=e.advance();t.push({type:`Literal`,value:`&`}),r=n.end}else if(n>0&&e.check(x.LBRACE)){let n=e.advance();t.push({type:`Literal`,value:`{`}),r=n.end}else if(n>0&&e.check(x.RBRACE)){let n=e.advance();t.push({type:`Literal`,value:`}`}),r=n.end}else break}return t.length===0&&e.error(`Expected regex pattern after =~`),{type:`Word`,parts:t}}function T(e){return e.length>0?e:[b.literal(``)]}function gt(e,t){let n=1,r=t+1;for(;r<e.length&&n>0;){let t=e[r];if(t===`\\`){r+=2;continue}if(`@*+?!`.includes(t)&&r+1<e.length&&e[r+1]===`(`){r++,n++,r++;continue}if(t===`(`)n++;else if(t===`)`&&(n--,n===0))return r;r++}return-1}function _t(e,t,n){let r=n+1,i=t[r];if(`@*#?$!-0123456789`.includes(i))return{part:b.parameterExpansion(i),endIndex:r+1};let a=``;for(;r<t.length&&/[a-zA-Z0-9_]/.test(t[r]);)a+=t[r],r++;return{part:b.parameterExpansion(a),endIndex:r}}function vt(e,t,n,r=!1){let i=n+2,a=!1;t[i]===`!`&&(a=!0,i++);let o=!1;t[i]===`#`&&!/[}:#%/^,]/.test(t[i+1]||`}`)&&(o=!0,i++);let s=``,c=t[i];if(/[@*#?$!-]/.test(c)&&!/[a-zA-Z0-9_]/.test(t[i+1]||``))s=c,i++;else for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)s+=t[i],i++;if(t[i]===`[`){let r=Pe(e,t,i,`[`,`]`);if(s+=t.slice(i,r+1),i=r+1,t[i]===`[`){let e=1,r=i;for(;r<t.length&&e>0;)t[r]===`{`?e++:t[r]===`}`&&e--,e>0&&r++;let a=t.slice(n+2,r);return{part:b.parameterExpansion(``,{type:`BadSubstitution`,text:a}),endIndex:r+1}}}if(s===``&&!a&&!o&&t[i]!==`}`){let e=1,r=i;for(;r<t.length&&e>0;)t[r]===`{`?e++:t[r]===`}`&&e--,e>0&&r++;if(e>0)throw new C(`unexpected EOF while looking for matching '}'`,0,0);let a=t.slice(n+2,r);return{part:b.parameterExpansion(``,{type:`BadSubstitution`,text:a}),endIndex:r+1}}let l=null;if(a){let n=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(n)if(i<t.length&&t[i]!==`}`&&/[:=\-+?#%/^,@]/.test(t[i])){let a=yt(e,t,i,s,r);a.operation?(l={type:`Indirection`,innerOp:a.operation},i=a.endIndex):(l={type:`ArrayKeys`,array:n[1],star:n[2]===`*`},s=``)}else l={type:`ArrayKeys`,array:n[1],star:n[2]===`*`},s=``;else if(t[i]===`*`||t[i]===`@`&&!/[QPaAEKkuUL]/.test(t[i+1]||``)){let e=t[i];i++,l={type:`VarNamePrefix`,prefix:s,star:e===`*`},s=``}else if(i<t.length&&t[i]!==`}`&&/[:=\-+?#%/^,@]/.test(t[i])){let n=yt(e,t,i,s,r);n.operation?(l={type:`Indirection`,innerOp:n.operation},i=n.endIndex):l={type:`Indirection`}}else l={type:`Indirection`}}else if(o)if(t[i]===`:`)for(l={type:`LengthSliceError`};i<t.length&&t[i]!==`}`;)i++;else t[i]!==`}`&&/[-+=?]/.test(t[i])||t[i]===`/`?e.error(`\${#${s}${t.slice(i,t.indexOf(`}`,i))}}: bad substitution`):l={type:`Length`};if(!l&&i<t.length&&t[i]!==`}`){let n=yt(e,t,i,s,r);l=n.operation,i=n.endIndex}if(i<t.length&&t[i]!==`}`){let r=t[i];if(!/[:\-+=?#%/^,@[]/.test(r)){let r=i;for(;r<t.length&&t[r]!==`}`;)r++;let a=t.slice(n,r+1);e.error(`\${${a.slice(2,-1)}}: bad substitution`)}}for(;i<t.length&&t[i]!==`}`;)i++;if(i>=t.length)throw new C(`unexpected EOF while looking for matching '}'`,0,0);return{part:b.parameterExpansion(s,l),endIndex:i+1}}function yt(e,t,n,r,i=!1){let a=n,o=t[a],s=t[a+1]||``;if(o===`:`){let n=s;if(`-=?+`.includes(n)){a+=2;let r=w(e,t,a),o=E(e,t.slice(a,r),!1,!1,!0,!1,i,!1,!1,!0),s=b.word(T(o));if(n===`-`)return{operation:{type:`DefaultValue`,word:s,checkEmpty:!0},endIndex:r};if(n===`=`)return{operation:{type:`AssignDefault`,word:s,checkEmpty:!0},endIndex:r};if(n===`?`)return{operation:{type:`ErrorIfUnset`,word:s,checkEmpty:!0},endIndex:r};if(n===`+`)return{operation:{type:`UseAlternative`,word:s,checkEmpty:!0},endIndex:r}}a++;let r=w(e,t,a),o=t.slice(a,r),c=-1,l=0,u=0;for(let e=0;e<o.length;e++){let t=o[e];if(t===`(`||t===`[`)l++;else if(t===`)`||t===`]`)l--;else if(t===`?`&&l===0)u++;else if(t===`:`&&l===0)if(u>0)u--;else{c=e;break}}let d=c>=0?o.slice(0,c):o,f=c>=0?o.slice(c+1):null;return{operation:{type:`Substring`,offset:ze(e,d),length:f===null?null:ze(e,f)},endIndex:r}}if(`-=?+`.includes(o)){a++;let n=w(e,t,a),r=t.slice(a,n),s=E(e,r,!1,!1,!0,!1,i,!1,!1,!0),c=b.word(T(s));if(o===`-`)return{operation:{type:`DefaultValue`,word:c,checkEmpty:!1},endIndex:n};if(o===`=`)return{operation:{type:`AssignDefault`,word:c,checkEmpty:!1},endIndex:n};if(o===`?`)return{operation:{type:`ErrorIfUnset`,word:r?c:null,checkEmpty:!1},endIndex:n};if(o===`+`)return{operation:{type:`UseAlternative`,word:c,checkEmpty:!1},endIndex:n}}if(o===`#`||o===`%`){let n=s===o,r=o===`#`?`prefix`:`suffix`;a+=n?2:1;let i=w(e,t,a),c=E(e,t.slice(a,i),!1,!1,!1);return{operation:{type:`PatternRemoval`,pattern:b.word(T(c)),side:r,greedy:n},endIndex:i}}if(o===`/`){let n=s===`/`;a+=n?2:1;let r=null;t[a]===`#`?(r=`start`,a++):t[a]===`%`&&(r=`end`,a++);let i;i=r!==null&&(t[a]===`/`||t[a]===`}`)?a:Fe(e,t,a);let o=E(e,t.slice(a,i),!1,!1,!1),c=b.word(T(o)),l=null,u=i;if(t[i]===`/`){let n=i+1,r=w(e,t,n),a=E(e,t.slice(n,r),!1,!1,!1);l=b.word(T(a)),u=r}return{operation:{type:`PatternReplacement`,pattern:c,replacement:l,all:n,anchor:r},endIndex:u}}if(o===`^`||o===`,`){let n=s===o,r=o===`^`?`upper`:`lower`;a+=n?2:1;let i=w(e,t,a),c=t.slice(a,i);return{operation:{type:`CaseModification`,direction:r,all:n,pattern:c?b.word([b.literal(c)]):null},endIndex:i}}return o===`@`&&/[QPaAEKkuUL]/.test(s)?{operation:{type:`Transform`,operator:s},endIndex:a+2}:{operation:null,endIndex:a}}function bt(e,t,n,r=!1){let i=n+1;if(i>=t.length)return{part:b.literal(`$`),endIndex:i};let a=t[i];if(a===`(`&&t[i+1]===`(`)return e.isDollarDparenSubshell(t,n)?e.parseCommandSubstitution(t,n):e.parseArithmeticExpansion(t,n);if(a===`[`){let n=1,r=i+1;for(;r<t.length&&n>0;)t[r]===`[`?n++:t[r]===`]`&&n--,n>0&&r++;if(n===0){let n=h(e,t.slice(i+1,r));return{part:b.arithmeticExpansion(n),endIndex:r+1}}}return a===`(`?e.parseCommandSubstitution(t,n):a===`{`?vt(e,t,n,r):/[a-zA-Z_0-9@*#?$!-]/.test(a)?_t(e,t,n):{part:b.literal(`$`),endIndex:i}}function xt(e,t){let n=[],r=0,i=``,a=()=>{i&&=(n.push(b.literal(i)),``)};for(;r<t.length;){let o=t[r];if(o===`\\`&&r+1<t.length){let e=t[r+1];if(e===`$`||e==="`"||e===`"`||e===`\\`){i+=e,r+=2;continue}i+=o,r++;continue}if(o===`$`){a();let{part:i,endIndex:o}=bt(e,t,r,!0);i&&n.push(i),r=o;continue}if(o==="`"){a();let{part:i,endIndex:o}=e.parseBacktickSubstitution(t,r,!0);n.push(i),r=o;continue}i+=o,r++}return a(),n}function St(e,t,n){let r=[],i=n,a=``,o=()=>{a&&=(r.push(b.literal(a)),``)};for(;i<t.length&&t[i]!==`"`;){let n=t[i];if(n===`\\`&&i+1<t.length){let e=t[i+1];if(`"\\$\`
|
|
44
|
+
`.includes(e)){a+=e,i+=2;continue}a+=n,i++;continue}if(n===`$`){o();let{part:n,endIndex:a}=bt(e,t,i,!0);n&&r.push(n),i=a;continue}if(n==="`"){o();let{part:n,endIndex:a}=e.parseBacktickSubstitution(t,i,!0);r.push(n),i=a;continue}a+=n,i++}return o(),{part:b.doubleQuoted(r),endIndex:i}}function E(e,t,n=!1,r=!1,i=!1,a=!1,o=!1,s=!1,c=!1,l=!1){if(r)return[b.singleQuoted(t)];if(n){let n=xt(e,t);return[b.doubleQuoted(n)]}if(t.length>=2&&t[0]===`"`&&t[t.length-1]===`"`){let n=t.slice(1,-1),r=!1;for(let e=0;e<n.length;e++){if(n[e]===`"`){r=!0;break}n[e]===`\\`&&e+1<n.length&&e++}if(!r){let t=xt(e,n);return[b.doubleQuoted(t)]}}let u=[],d=0,f=``,p=()=>{f&&=(u.push(b.literal(f)),``)};for(;d<t.length;){let n=t[d];if(n===`\\`&&d+1<t.length){let e=t[d+1];if(c){p(),u.push(b.escaped(e)),d+=2;continue}let n=a?e===`$`||e==="`"||e===`
|
|
45
|
+
`:e===`$`||e==="`"||e===`"`||e===`'`||e===`
|
|
46
|
+
`||l&&e===`}`,r=o?`*?[]\\`.includes(e):`*?[]\\(){}.^+`.includes(e);n?f+=e:r?(p(),u.push(b.escaped(e))):f+=`\\${e}`,d+=2;continue}if(n===`'`&&!o&&!a){p();let e=t.indexOf(`'`,d+1);if(e===-1){f+=t.slice(d);break}u.push(b.singleQuoted(t.slice(d+1,e))),d=e+1;continue}if(n===`"`&&!a){p();let{part:n,endIndex:r}=St(e,t,d+1);u.push(n),d=r+1;continue}if(n===`$`&&t[d+1]===`'`){p();let{part:n,endIndex:r}=Re(e,t,d+2);u.push(n),d=r;continue}if(n===`$`){p();let{part:n,endIndex:r}=bt(e,t,d);n&&u.push(n),d=r;continue}if(n==="`"){p();let{part:n,endIndex:r}=e.parseBacktickSubstitution(t,d);u.push(n),d=r;continue}if(n===`~`){let n=d>0?t[d-1]:``;if(d===0||n===`=`||i&&n===`:`){let n=Ne(e,t,d),r=t[n];if(r===void 0||r===`/`||r===`:`){p();let e=t.slice(d+1,n)||null;u.push({type:`TildeExpansion`,user:e}),d=n;continue}}}if(`@*+?!`.includes(n)&&d+1<t.length&&t[d+1]===`(`){let e=gt(t,d+1);if(e!==-1){p();let n=t.slice(d,e+1);u.push({type:`Glob`,pattern:n}),d=e+1;continue}}if(n===`*`||n===`?`||n===`[`){p();let{pattern:n,endIndex:r}=Ie(e,t,d);u.push({type:`Glob`,pattern:n}),d=r;continue}if(n===`{`&&!i&&!s&&!a){let n=Ve(e,t,d,E);if(n){p(),u.push(n.part),d=n.endIndex;continue}}f+=n,d++}return p(),u}function Ct(e,t){let n=e.length,r=t+3,i=2,a=!1,o=!1;for(;r<n&&i>0;){let t=e[r];if(a){t===`'`&&(a=!1),r++;continue}if(o){if(t===`\\`){r+=2;continue}t===`"`&&(o=!1),r++;continue}if(t===`'`){a=!0,r++;continue}if(t===`"`){o=!0,r++;continue}if(t===`\\`){r+=2;continue}if(t===`(`){i++,r++;continue}if(t===`)`){if(i--,i===1){let t=r+1;return!(t<n&&e[t]===`)`)}if(i===0)return!1;r++;continue}if(i===1&&(t===`|`&&r+1<n&&e[r+1]===`|`||t===`&`&&r+1<n&&e[r+1]===`&`||t===`|`&&r+1<n&&e[r+1]!==`|`))return!0;r++}return!1}function wt(e,t,n,r){let i=t+2,a=1,o=i,s=!1,c=!1,l=0,u=!1,d=``;for(;o<e.length&&a>0;){let t=e[o];s?t===`'`&&(s=!1):c?t===`\\`&&o+1<e.length?o++:t===`"`&&(c=!1):t===`'`?(s=!0,d=``):t===`"`?(c=!0,d=``):t===`\\`&&o+1<e.length?(o++,d=``):/[a-zA-Z_]/.test(t)?d+=t:(d===`case`?(l++,u=!1):d===`in`&&l>0?u=!0:d===`esac`&&l>0&&(l--,u=!1),d=``,t===`(`?o>0&&e[o-1]===`$`?a++:u||a++:t===`)`?u?u=!1:a--:t===`;`&&l>0&&o+1<e.length&&e[o+1]===`;`&&(u=!0)),a>0&&o++}a>0&&r("unexpected EOF while looking for matching `)'");let f=e.slice(i,o),p=n().parse(f);return{part:b.commandSubstitution(p,!1),endIndex:o+1}}function Tt(e,t,n,r,i){let a=t+1,o=``;for(;a<e.length&&e[a]!=="`";)if(e[a]===`\\`){let t=e[a+1];t===`$`||t==="`"||t===`\\`||t===`
|
|
47
|
+
`||n&&t===`"`?(t!==`
|
|
48
|
+
`&&(o+=t),a+=2):(o+=e[a],a++)}else o+=e[a],a++;a>=e.length&&i("unexpected EOF while looking for matching ``'");let s=r().parse(o);return{part:b.commandSubstitution(s,!0),endIndex:a+1}}var D=class e{tokens=[];pos=0;pendingHeredocs=[];parseIterations=0;parseDepth=0;_input=``;getInput(){return this._input}checkIterationLimit(){if(this.parseIterations++,this.parseIterations>De)throw new C(`Maximum parse iterations exceeded (possible infinite loop)`,this.current().line,this.current().column)}enterDepth(){if(this.parseDepth++,this.parseDepth>Oe)throw new C(`Maximum parser nesting depth exceeded (${Oe})`,this.current().line,this.current().column);return()=>{this.parseDepth--}}parse(e,t){if(e.length>Te)throw new C(`Input too large: ${e.length} bytes exceeds limit of ${Te}`,1,1);if(this._input=e,this.tokens=new we(e,t).tokenize(),this.tokens.length>Ee)throw new C(`Too many tokens: ${this.tokens.length} exceeds limit of ${Ee}`,1,1);return this.pos=0,this.pendingHeredocs=[],this.parseIterations=0,this.parseDepth=0,this.parseScript()}parseTokens(e){return this.tokens=e,this.pos=0,this.pendingHeredocs=[],this.parseIterations=0,this.parseDepth=0,this.parseScript()}current(){return this.tokens[this.pos]||this.tokens[this.tokens.length-1]}peek(e=0){return this.tokens[this.pos+e]||this.tokens[this.tokens.length-1]}advance(){let e=this.current();return this.pos<this.tokens.length-1&&this.pos++,e}getPos(){return this.pos}check(e,t,n,r,...i){let a=this.tokens[this.pos]?.type;return a===e||t!==void 0&&a===t||n!==void 0&&a===n||r!==void 0&&a===r?!0:i.length>0?i.includes(a):!1}expect(e,t){if(this.check(e))return this.advance();let n=this.current();throw new C(t||`Expected ${e}, got ${n.type}`,n.line,n.column,n)}error(e){let t=this.current();throw new C(e,t.line,t.column,t)}skipNewlines(){for(;this.check(x.NEWLINE,x.COMMENT);)this.check(x.NEWLINE)?(this.advance(),this.processHeredocs()):this.advance()}skipSeparators(e=!0){for(;;){if(this.check(x.NEWLINE)){this.advance(),this.processHeredocs();continue}if(this.check(x.SEMICOLON,x.COMMENT)){this.advance();continue}if(e&&this.check(x.DSEMI,x.SEMI_AND,x.SEMI_SEMI_AND)){this.advance();continue}break}}addPendingHeredoc(e,t,n,r){this.pendingHeredocs.push({redirect:e,delimiter:t,stripTabs:n,quoted:r})}processHeredocs(){for(let e of this.pendingHeredocs)if(this.check(x.HEREDOC_CONTENT)){let t=this.advance(),n;n=e.quoted?b.word([b.literal(t.value)]):this.parseWordFromString(t.value,!1,!1,!1,!0),e.redirect.target=b.hereDoc(e.delimiter,n,e.stripTabs,e.quoted)}this.pendingHeredocs=[]}isStatementEnd(){return this.check(x.EOF,x.NEWLINE,x.SEMICOLON,x.AMP,x.AND_AND,x.OR_OR,x.RPAREN,x.RBRACE,x.DSEMI,x.SEMI_AND,x.SEMI_SEMI_AND)}isCommandStart(){let e=this.current().type;return e===x.WORD||e===x.NAME||e===x.NUMBER||e===x.ASSIGNMENT_WORD||e===x.IF||e===x.FOR||e===x.WHILE||e===x.UNTIL||e===x.CASE||e===x.LPAREN||e===x.LBRACE||e===x.DPAREN_START||e===x.DBRACK_START||e===x.FUNCTION||e===x.BANG||e===x.TIME||e===x.IN||e===x.LESS||e===x.GREAT||e===x.DLESS||e===x.DGREAT||e===x.LESSAND||e===x.GREATAND||e===x.LESSGREAT||e===x.DLESSDASH||e===x.CLOBBER||e===x.TLESS||e===x.AND_GREAT||e===x.AND_DGREAT}parseScript(){let e=[],t=0;for(this.skipNewlines();!this.check(x.EOF);){t++,t>1e4&&this.error(`Parser stuck: too many iterations (>10000)`);let n=this.checkUnexpectedToken();if(n){e.push(n),this.skipSeparators(!1);continue}let r=this.pos,i=this.parseStatement();i&&e.push(i),this.skipSeparators(!1),this.check(x.DSEMI,x.SEMI_AND,x.SEMI_SEMI_AND)&&this.error(`syntax error near unexpected token \`${this.current().value}'`),this.pos===r&&!this.check(x.EOF)&&this.advance()}return b.script(e)}checkUnexpectedToken(){let e=this.current().type,t=this.current().value;if((e===x.DO||e===x.DONE||e===x.THEN||e===x.ELSE||e===x.ELIF||e===x.FI||e===x.ESAC)&&this.error(`syntax error near unexpected token \`${t}'`),e===x.RBRACE||e===x.RPAREN){let e=`syntax error near unexpected token \`${t}'`;return this.advance(),b.statement([b.pipeline([b.simpleCommand(null,[],[],[])])],[],!1,{message:e,token:t})}return(e===x.DSEMI||e===x.SEMI_AND||e===x.SEMI_SEMI_AND)&&this.error(`syntax error near unexpected token \`${t}'`),e===x.SEMICOLON&&this.error(`syntax error near unexpected token \`${t}'`),(e===x.PIPE||e===x.PIPE_AMP)&&this.error(`syntax error near unexpected token \`${t}'`),null}parseStatement(){if(this.skipNewlines(),!this.isCommandStart())return null;let e=this.current().start,t=[],n=[],r=!1,i=this.parsePipeline();for(t.push(i);this.check(x.AND_AND,x.OR_OR);){let e=this.advance();n.push(e.type===x.AND_AND?`&&`:`||`),this.skipNewlines();let r=this.parsePipeline();t.push(r)}this.check(x.AMP)&&(this.advance(),r=!0);let a=this.pos>0?this.tokens[this.pos-1].end:e,o=this._input.slice(e,a);return b.statement(t,n,r,void 0,o)}parsePipeline(){let e=!1,t=!1;this.check(x.TIME)&&(this.advance(),e=!0,this.check(x.WORD,x.NAME)&&this.current().value===`-p`&&(this.advance(),t=!0));let n=0;for(;this.check(x.BANG);)this.advance(),n++;let r=n%2==1,i=[],a=[],o=this.parseCommand();for(i.push(o);this.check(x.PIPE,x.PIPE_AMP);){let e=this.advance();this.skipNewlines(),a.push(e.type===x.PIPE_AMP);let t=this.parseCommand();i.push(t)}return b.pipeline(i,r,e,t,a.length>0?a:void 0)}parseCommand(){return this.check(x.IF)?Ze(this):this.check(x.FOR)?Qe(this):this.check(x.WHILE)?et(this):this.check(x.UNTIL)?tt(this):this.check(x.CASE)?nt(this):this.check(x.LPAREN)?it(this):this.check(x.LBRACE)?at(this):this.check(x.DPAREN_START)?this.dparenClosesWithSpacedParens()?this.parseNestedSubshellsFromDparen():this.parseArithmeticCommand():this.check(x.DBRACK_START)?this.parseConditionalCommand():this.check(x.FUNCTION)||this.check(x.NAME,x.WORD)&&this.peek(1).type===x.LPAREN&&this.peek(2).type===x.RPAREN?this.parseFunctionDef():qe(this)}dparenClosesWithSpacedParens(){let e=1,t=1;for(;t<this.tokens.length-this.pos;){let n=this.peek(t);if(n.type===x.EOF)return!1;if(n.type===x.DPAREN_START||n.type===x.LPAREN)e++;else if(n.type===x.DPAREN_END){if(e-=2,e<=0)return!1}else if(n.type===x.RPAREN&&(e--,e===0&&this.peek(t+1).type===x.RPAREN))return!0;t++}return!1}parseNestedSubshellsFromDparen(){this.advance();let e=this.parseCompoundList();this.expect(x.RPAREN),this.expect(x.RPAREN);let t=this.parseOptionalRedirections(),n=b.subshell(e,[]);return b.subshell([b.statement([b.pipeline([n],!1,!1,!1)])],t)}isWord(){let e=this.current().type;return e===x.WORD||e===x.NAME||e===x.NUMBER||e===x.IF||e===x.FOR||e===x.WHILE||e===x.UNTIL||e===x.CASE||e===x.FUNCTION||e===x.ELSE||e===x.ELIF||e===x.FI||e===x.THEN||e===x.DO||e===x.DONE||e===x.ESAC||e===x.IN||e===x.SELECT||e===x.TIME||e===x.COPROC||e===x.BANG}parseWord(){let e=this.advance();return this.parseWordFromString(e.value,e.quoted,e.singleQuoted)}parseWordNoBraceExpansion(){let e=this.advance();return this.parseWordFromString(e.value,e.quoted,e.singleQuoted,!1,!1,!0)}parseWordForRegex(){let e=this.advance();return this.parseWordFromString(e.value,e.quoted,e.singleQuoted,!1,!1,!0,!0)}parseWordFromString(e,t=!1,n=!1,r=!1,i=!1,a=!1,o=!1){let s=E(this,e,t,n,r,i,!1,a,o);return b.word(s)}parseCommandSubstitution(t,n){return wt(t,n,()=>new e,e=>this.error(e))}parseBacktickSubstitution(t,n,r=!1){return Tt(t,n,r,()=>new e,e=>this.error(e))}isDollarDparenSubshell(e,t){return Ct(e,t)}parseArithmeticExpansion(e,t){let n=t+3,r=1,i=0,a=n;for(;a<e.length-1&&r>0;)e[a]===`$`&&e[a+1]===`(`?e[a+2]===`(`?(r++,a+=3):(i++,a+=2):e[a]===`(`&&e[a+1]===`(`?(r++,a+=2):e[a]===`)`&&e[a+1]===`)`?i>0?(i--,a++):(r--,r>0&&(a+=2)):e[a]===`(`?(i++,a++):(e[a]===`)`&&i>0&&i--,a++);let o=e.slice(n,a),s=this.parseArithmeticExpression(o);return{part:b.arithmeticExpansion(s),endIndex:a+2}}parseArithmeticCommand(){let e=this.expect(x.DPAREN_START),t=``,n=1,r=0,i=!1,a=!1;for(;n>0&&!this.check(x.EOF);){if(i){if(i=!1,r>0){r--,t+=`)`;continue}if(this.check(x.RPAREN)){n--,a=!0,this.advance();continue}if(this.check(x.DPAREN_END)){n--,a=!0;continue}t+=`)`;continue}if(this.check(x.DPAREN_START))n++,t+=`((`,this.advance();else if(this.check(x.DPAREN_END))r>=2?(r-=2,t+=`))`,this.advance()):r===1?(r--,t+=`)`,i=!0,this.advance()):(n--,a=!0,n>0&&(t+=`))`),this.advance());else if(this.check(x.LPAREN))r++,t+=`(`,this.advance();else if(this.check(x.RPAREN))r>0&&r--,t+=`)`,this.advance();else{let e=this.current().value,n=t.length>0?t[t.length-1]:``;t.length>0&&!t.endsWith(` `)&&!(e===`=`&&/[|&^+\-*/%<>]$/.test(t))&&!(e===`<`&&n===`<`)&&!(e===`>`&&n===`>`)&&(t+=` `),t+=e,this.advance()}}a||this.expect(x.DPAREN_END);let o=this.parseArithmeticExpression(t.trim()),s=this.parseOptionalRedirections();return b.arithmeticCommand(o,s,e.line)}parseConditionalCommand(){let e=this.expect(x.DBRACK_START),t=ut(this);this.expect(x.DBRACK_END);let n=this.parseOptionalRedirections();return b.conditionalCommand(t,n,e.line)}parseFunctionDef(){let e;if(this.check(x.FUNCTION)){if(this.advance(),this.check(x.NAME)||this.check(x.WORD))e=this.advance().value;else{let e=this.current();throw new C(`Expected function name`,e.line,e.column,e)}this.check(x.LPAREN)&&(this.advance(),this.expect(x.RPAREN))}else e=this.advance().value,e.includes(`$`)&&this.error(`\`${e}': not a valid identifier`),this.expect(x.LPAREN),this.expect(x.RPAREN);this.skipNewlines();let t=this.parseCompoundCommandBody({forFunctionBody:!0}),n=this.parseOptionalRedirections();return b.functionDef(e,t,n)}parseCompoundCommandBody(e){let t=e?.forFunctionBody;if(this.check(x.LBRACE))return at(this,{skipRedirections:t});if(this.check(x.LPAREN))return it(this,{skipRedirections:t});if(this.check(x.IF))return Ze(this,{skipRedirections:t});if(this.check(x.FOR))return Qe(this,{skipRedirections:t});if(this.check(x.WHILE))return et(this,{skipRedirections:t});if(this.check(x.UNTIL))return tt(this,{skipRedirections:t});if(this.check(x.CASE))return nt(this,{skipRedirections:t});this.error(`Expected compound command for function body`)}parseCompoundList(){let e=this.enterDepth(),t=[];for(this.skipNewlines();!this.check(x.EOF,x.FI,x.ELSE,x.ELIF,x.THEN,x.DO,x.DONE,x.ESAC,x.RPAREN,x.RBRACE,x.DSEMI,x.SEMI_AND,x.SEMI_SEMI_AND)&&this.isCommandStart();){this.checkIterationLimit();let e=this.pos,n=this.parseStatement();if(n&&t.push(n),this.skipSeparators(),this.pos===e&&!n)break}return e(),t}parseOptionalRedirections(){let e=[];for(;We(this);){this.checkIterationLimit();let t=this.pos;if(e.push(Ge(this)),this.pos===t)break}return e}parseArithmeticExpression(e){return h(this,e)}};function Et(e,t){return new D().parse(e,t)}var Dt=new Map([[`alnum`,`a-zA-Z0-9`],[`alpha`,`a-zA-Z`],[`ascii`,`\\x00-\\x7F`],[`blank`,` \\t`],[`cntrl`,`\\x00-\\x1F\\x7F`],[`digit`,`0-9`],[`graph`,`!-~`],[`lower`,`a-z`],[`print`,` -~`],[`punct`,"!-/:-@\\[-`{-~"],[`space`,` \\t\\n\\r\\f\\v`],[`upper`,`A-Z`],[`word`,`a-zA-Z0-9_`],[`xdigit`,`0-9a-fA-F`]]);function Ot(e){return Dt.get(e)??``}function kt(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e[r];if(i===`[`){for(n+=i,r++,r<e.length&&(e[r]===`!`||e[r]===`^`)&&(n+=e[r],r++),r<e.length&&e[r]===`]`&&(n+=e[r],r++);r<e.length&&e[r]!==`]`;){if(e[r]===`[`&&r+1<e.length&&e[r+1]===`:`){let t=e.indexOf(`:]`,r+2);if(t!==-1){n+=e.slice(r,t+2),r=t+2;continue}}if(e[r]===`\\`&&r+1<e.length){n+=e[r]+e[r+1],r+=2;continue}n+=e[r],r++}r<e.length&&e[r]===`]`&&(n+=e[r],r++)}else i===`:`?(n!==``&&t.push(n),n=``,r++):i===`\\`&&r+1<e.length?(n+=i+e[r+1],r+=2):(n+=i,r++)}return n!==``&&t.push(n),t}function At(t){let n=`^`;for(let e=0;e<t.length;e++){let r=t[e];if(r===`*`)n+=`[^/]*`;else if(r===`?`)n+=`[^/]`;else if(r===`[`){let r=e+1,i=`[`;r<t.length&&(t[r]===`^`||t[r]===`!`)&&(i+=`^`,r++),r<t.length&&t[r]===`]`&&(i+=`\\]`,r++);let a=r;for(;a<t.length;){if(t[a]===`\\`&&a+1<t.length){a+=2;continue}if(t[a]===`[`&&a+1<t.length&&t[a+1]===`:`){let e=t.indexOf(`:]`,a+2);if(e!==-1){a=e+2;continue}}if(t[a]===`]`)break;a++}let o=r;for(;r<t.length&&t[r]!==`]`;){if(t[r]===`[`&&r+1<t.length&&t[r+1]===`:`){let e=t.indexOf(`:]`,r+2);if(e!==-1){let n=Ot(t.slice(r+2,e));i+=n,r=e+2;continue}}if(t[r]===`\\`&&r+1<t.length){i+=`\\${t[r+1]}`,r+=2;continue}if(t[r]===`-`){let e=r===o,t=r+1===a;e||t?i+=`\\-`:i+=`-`}else i+=t[r];r++}i+=`]`,n+=i,e=r}else if(r===`\\`&&e+1<t.length){let r=t[e+1];/[.+^${}()|\\*?[\]]/.test(r)?n+=`\\${r}`:n+=r,e++}else /[.+^${}()|]/.test(r)?n+=`\\${r}`:n+=r}return n+=`$`,e(n)}function jt(e,t){let n=1,r=t+1;for(;r<e.length&&n>0;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===`(`)n++;else if(t===`)`&&(n--,n===0))return r;r++}return-1}function Mt(e){let t=[],n=``,r=0,i=!1,a=0;for(;a<e.length;){let o=e[a];if(o===`'`&&!i){i=!0,n+=`\0QUOTE_START\0`,a++;continue}if(o===`'`&&i){i=!1,n+=`\0QUOTE_END\0`,a++;continue}if(i){n+=o,a++;continue}if(o===`\\`){n+=o,a+1<e.length?(n+=e[a+1],a+=2):a++;continue}o===`(`?(r++,n+=o):o===`)`?(r--,n+=o):o===`|`&&r===0?(t.push(n),n=``):n+=o,a++}return t.push(n),t}var Nt=5,Pt=class{fs;cwd;globignorePatterns=[];hasGlobignore=!1;globstar=!1;nullglob=!1;failglob=!1;dotglob=!1;extglob=!1;globskipdots=!0;ops={count:0};maxOps;constructor(e,t,n,r){this.fs=e,this.cwd=t,typeof r==`boolean`?(this.globstar=r,this.maxOps=1e5):r?(this.globstar=r.globstar??!1,this.nullglob=r.nullglob??!1,this.failglob=r.failglob??!1,this.dotglob=r.dotglob??!1,this.extglob=r.extglob??!1,this.globskipdots=r.globskipdots??!0,this.maxOps=r.maxGlobOperations??1e5):this.maxOps=1e5;let i=n?.get(`GLOBIGNORE`);i!==void 0&&i!==``&&(this.hasGlobignore=!0,this.globignorePatterns=kt(i))}checkOpsLimit(){if(++this.ops.count>this.maxOps)throw new a(`Glob operation limit exceeded (${this.maxOps})`,`glob_operations`)}hasNullglob(){return this.nullglob}hasFailglob(){return this.failglob}filterGlobignore(e){return!this.hasGlobignore&&!this.globskipdots?e:e.filter(e=>{let t=e.split(`/`).pop()||e;if((this.hasGlobignore||this.globskipdots)&&(t===`.`||t===`..`))return!1;if(this.hasGlobignore){for(let t of this.globignorePatterns)if(this.matchGlobignorePattern(e,t))return!1}return!0})}matchGlobignorePattern(e,t){return At(t).test(e)}isGlobPattern(e){return!!(e.includes(`*`)||e.includes(`?`)||/\[.*\]/.test(e)||this.extglob&&/[@*+?!]\(/.test(e))}async expandArgs(e,t){let n=e.map((e,n)=>(t?.[n]??!1)||!this.isGlobPattern(e)?null:this.expand(e)),r=await Promise.all(n.map(e=>e||Promise.resolve(null))),i=[];for(let t=0;t<e.length;t++){let n=r[t];n===null?i.push(e[t]):n.length>0?i.push(...n):i.push(e[t])}return i}async expand(e){if(this.globstar){let t=e.split(`/`),n=0;for(let e of t)if(e===`**`&&(n++,n>Nt))throw new a(`Glob pattern has too many ** segments (max ${Nt})`,`glob_operations`)}let t;if(e.includes(`**`)&&this.globstar&&this.isGlobstarValid(e))t=await this.expandRecursive(e);else{let n=e.replace(/\*\*+/g,`*`);t=await this.expandSimple(n)}return this.filterGlobignore(t)}isGlobstarValid(e){let t=e.split(`/`);for(let e of t)if(e.includes(`**`)&&e!==`**`)return!1;return!0}hasGlobChars(e){return!!(e.includes(`*`)||e.includes(`?`)||/\[.*\]/.test(e)||this.extglob&&/[@*+?!]\(/.test(e))}async expandSimple(e){let t=e.startsWith(`/`),n=e.split(`/`).filter(e=>e!==``),r=-1;for(let e=0;e<n.length;e++)if(this.hasGlobChars(n[e])){r=e;break}if(r===-1)return[e];let i,a;if(r===0)t?(i=`/`,a=`/`):(i=this.cwd,a=``);else{let e=n.slice(0,r);t?(i=`/${e.join(`/`)}`,a=`/${e.join(`/`)}`):(i=this.fs.resolvePath(this.cwd,e.join(`/`)),a=e.join(`/`))}let o=n.slice(r);return(await this.expandSegments(i,a,o)).sort()}async expandSegments(e,t,n){if(this.checkOpsLimit(),n.length===0)return[t];let[r,...i]=n,o=[];try{if(this.fs.readdirWithFileTypes){this.checkOpsLimit();let n=await this.fs.readdirWithFileTypes(e),a=[],s=[...n],c=this.dotglob||this.hasGlobignore;if(r.startsWith(`.`)||this.dotglob){let e=n.some(e=>e.name===`.`),t=n.some(e=>e.name===`..`);e||s.push({name:`.`,isFile:!1,isDirectory:!0,isSymbolicLink:!1}),t||s.push({name:`..`,isFile:!1,isDirectory:!0,isSymbolicLink:!1})}for(let n of s)if(!(n.name.startsWith(`.`)&&!r.startsWith(`.`)&&!c)&&this.matchPattern(n.name,r)){let r=e===`/`?`/${n.name}`:`${e}/${n.name}`,o;o=t===``?n.name:t===`/`?`/${n.name}`:`${t}/${n.name}`,i.length===0?a.push(Promise.resolve([o])):n.isDirectory&&a.push(this.expandSegments(r,o,i))}let l=await Promise.all(a);for(let e of l)o.push(...e)}else{this.checkOpsLimit();let n=await this.fs.readdir(e),s=[],c=[...n],l=this.dotglob||this.hasGlobignore;(r.startsWith(`.`)||this.dotglob)&&(n.includes(`.`)||c.push(`.`),n.includes(`..`)||c.push(`..`));for(let n of c)if(!(n.startsWith(`.`)&&!r.startsWith(`.`)&&!l)&&this.matchPattern(n,r)){let r=e===`/`?`/${n}`:`${e}/${n}`,o;o=t===``?n:t===`/`?`/${n}`:`${t}/${n}`,i.length===0?s.push(Promise.resolve([o])):s.push((async()=>{try{if(this.checkOpsLimit(),(await this.fs.stat(r)).isDirectory)return this.expandSegments(r,o,i)}catch(e){if(e instanceof a)throw e}return[]})())}let u=await Promise.all(s);for(let e of u)o.push(...e)}}catch(e){if(e instanceof a)throw e}return o}async expandRecursive(e){let t=[],n=e.indexOf(`**`),r=e.slice(0,n).replace(/\/$/,``)||`.`,i=e.slice(n+2).replace(/^\//,``);return i.includes(`**`)&&this.isGlobstarValid(i)?(await this.walkDirectoryMultiGlobstar(r,i,t),[...new Set(t)].sort()):(await this.walkDirectory(r,i,t),t.sort())}async walkDirectoryMultiGlobstar(e,t,n){this.checkOpsLimit();let r=this.fs.resolvePath(this.cwd,e);try{this.checkOpsLimit();let i=this.fs.readdirWithFileTypes?await this.fs.readdirWithFileTypes(r):null;if(i){let r=[];for(let t of i){let n=e===`.`?t.name:`${e}/${t.name}`;t.isDirectory&&r.push(n)}let a=e===`.`?t:`${e}/${t}`,o=await this.expandRecursive(a);n.push(...o);for(let e=0;e<r.length;e+=100){let i=r.slice(e,e+100);await Promise.all(i.map(e=>this.walkDirectoryMultiGlobstar(e,t,n)))}}else{this.checkOpsLimit();let i=await this.fs.readdir(r),o=[];for(let t of i){let n=e===`.`?t:`${e}/${t}`,r=this.fs.resolvePath(this.cwd,n);try{this.checkOpsLimit(),(await this.fs.stat(r)).isDirectory&&o.push(n)}catch(e){if(e instanceof a)throw e}}let s=e===`.`?t:`${e}/${t}`,c=await this.expandRecursive(s);n.push(...c);for(let e=0;e<o.length;e+=100){let r=o.slice(e,e+100);await Promise.all(r.map(e=>this.walkDirectoryMultiGlobstar(e,t,n)))}}}catch(e){if(e instanceof a)throw e}}async walkDirectory(e,t,n){this.checkOpsLimit();let r=this.fs.resolvePath(this.cwd,e);try{if(this.fs.readdirWithFileTypes){this.checkOpsLimit();let i=await this.fs.readdirWithFileTypes(r),a=[],o=[];for(let n of i){let r=e===`.`?n.name:`${e}/${n.name}`;n.isDirectory?o.push(r):t&&this.matchPattern(n.name,t)&&a.push(r)}n.push(...a);for(let e=0;e<o.length;e+=100){let r=o.slice(e,e+100);await Promise.all(r.map(e=>this.walkDirectory(e,t,n)))}}else{this.checkOpsLimit();let i=await this.fs.readdir(r),o=[];for(let t=0;t<i.length;t+=100){let n=i.slice(t,t+100),r=await Promise.all(n.map(async t=>{let n=e===`.`?t:`${e}/${t}`,r=this.fs.resolvePath(this.cwd,n);try{return this.checkOpsLimit(),{name:t,path:n,isDirectory:(await this.fs.stat(r)).isDirectory}}catch(e){if(e instanceof a)throw e;return null}}));o.push(...r.filter(e=>e!==null))}for(let e of o)!e.isDirectory&&t&&this.matchPattern(e.name,t)&&n.push(e.path);let s=o.filter(e=>e.isDirectory);for(let e=0;e<s.length;e+=100){let r=s.slice(e,e+100);await Promise.all(r.map(e=>this.walkDirectory(e.path,t,n)))}}}catch(e){if(e instanceof a)throw e}}matchPattern(e,t){return this.patternToRegex(t).test(e)}patternToRegex(t){return e(`^${this.patternToRegexStr(t)}$`)}patternToRegexStr(e){let t=``,n=!1;for(let r=0;r<e.length;r++){if(e.slice(r,r+13)===`\0QUOTE_START\0`){n=!0,r+=12;continue}if(e.slice(r,r+11)===`\0QUOTE_END\0`){n=!1,r+=10;continue}let i=e[r];if(n){/[.+^${}()|\\*?[\]]/.test(i)?t+=`\\${i}`:t+=i;continue}if(this.extglob&&(i===`@`||i===`*`||i===`+`||i===`?`||i===`!`)&&r+1<e.length&&e[r+1]===`(`){let n=jt(e,r+1);if(n!==-1){let a=Mt(e.slice(r+2,n)),o=a.map(e=>this.patternToRegexStr(e)),s=o.length>0?o.join(`|`):`(?:)`;if(i===`@`)t+=`(?:${s})`;else if(i===`*`)t+=`(?:${s})*`;else if(i===`+`)t+=`(?:${s})+`;else if(i===`?`)t+=`(?:${s})?`;else if(i===`!`)if(n<e.length-1){let e=a.map(e=>this.computePatternLength(e));if(e.every(e=>e!==null)&&e.every(t=>t===e[0])&&e[0]!==null){let n=e[0];if(n===0)t+=`(?:.+)`;else{let e=[];n>0&&e.push(`.{0,${n-1}}`),e.push(`.{${n+1},}`),e.push(`(?!(?:${s})).{${n}}`),t+=`(?:${e.join(`|`)})`}}else t+=`(?:(?!(?:${s})).)*?`}else t+=`(?!(?:${s})$).*`;r=n;continue}}if(i===`*`)t+=`.*`;else if(i===`?`)t+=`.`;else if(i===`[`){let n=r+1,i=`[`;n<e.length&&(e[n]===`^`||e[n]===`!`)&&(i+=`^`,n++),n<e.length&&e[n]===`]`&&(i+=`\\]`,n++);let a=n;for(;a<e.length;){if(e[a]===`\\`&&a+1<e.length){a+=2;continue}if(e[a]===`[`&&a+1<e.length&&e[a+1]===`:`){let t=e.indexOf(`:]`,a+2);if(t!==-1){a=t+2;continue}}if(e[a]===`]`)break;a++}let o=n;for(;n<e.length&&e[n]!==`]`;){if(e[n]===`[`&&n+1<e.length&&e[n+1]===`:`){let t=e.indexOf(`:]`,n+2);if(t!==-1){let r=Ot(e.slice(n+2,t));i+=r,n=t+2;continue}}if(e[n]===`\\`&&n+1<e.length){i+=`\\${e[n+1]}`,n+=2;continue}if(e[n]===`-`){let e=n===o,t=n+1===a;e||t?i+=`\\-`:i+=`-`}else i+=e[n];n++}i+=`]`,t+=i,r=n}else if(i===`\\`&&r+1<e.length){let n=e[r+1];/[.+^${}()|\\*?[\]]/.test(n)?t+=`\\${n}`:t+=n,r++}else /[.+^${}()|]/.test(i)?t+=`\\${i}`:t+=i}return t}computePatternLength(e){let t=0,n=0,r=!1;for(;n<e.length;){if(e.slice(n,n+13)===`\0QUOTE_START\0`){r=!0,n+=13;continue}if(e.slice(n,n+11)===`\0QUOTE_END\0`){r=!1,n+=11;continue}let i=e[n];if(r){t+=1,n++;continue}if((i===`@`||i===`*`||i===`+`||i===`?`||i===`!`)&&n+1<e.length&&e[n+1]===`(`){let r=jt(e,n+1);if(r!==-1){if(i===`@`){let i=Mt(e.slice(n+2,r)).map(e=>this.computePatternLength(e));if(i.every(e=>e!==null)&&i.every(e=>e===i[0])){t+=i[0],n=r+1;continue}return null}return null}}if(i===`*`)return null;if(i===`?`){t+=1,n++;continue}if(i===`[`){let r=e.indexOf(`]`,n+1);if(r!==-1){t+=1,n=r+1;continue}t+=1,n++;continue}if(i===`\\`){t+=1,n+=2;continue}t+=1,n++}return t}};function Ft(e,t,n){switch(n){case`+`:return e+t;case`-`:return e-t;case`*`:return e*t;case`/`:if(t===0)throw new r(`division by 0`);return Math.trunc(e/t);case`%`:if(t===0)throw new r(`division by 0`);return e%t;case`**`:if(t<0)throw new r(`exponent less than 0`);return e**t;case`<<`:return e<<t;case`>>`:return e>>t;case`<`:return e<t?1:0;case`<=`:return e<=t?1:0;case`>`:return e>t?1:0;case`>=`:return e>=t?1:0;case`==`:return e===t?1:0;case`!=`:return e===t?0:1;case`&`:return e&t;case`|`:return e|t;case`^`:return e^t;case`,`:return t;default:return 0}}function It(e,t,n){switch(n){case`=`:return t;case`+=`:return e+t;case`-=`:return e-t;case`*=`:return e*t;case`/=`:return t===0?0:Math.trunc(e/t);case`%=`:return t===0?0:e%t;case`<<=`:return e<<t;case`>>=`:return e>>t;case`&=`:return e&t;case`|=`:return e|t;case`^=`:return e^t;default:return t}}function Lt(e,t){switch(t){case`-`:return-e;case`+`:return+e;case`!`:return e===0?1:0;case`~`:return~e;default:return e}}async function Rt(e,t){let n=e.state.env.get(t);if(n!==void 0)return n;let r=e.state.env.get(`${t}_0`);return r===void 0?await z(e,t):r}function zt(e){if(!e)return 0;let t=Number.parseInt(e,10);if(!Number.isNaN(t)&&/^-?\d+$/.test(e.trim()))return t;let n=e.trim();if(!n)return 0;try{let{expr:e,pos:i}=v(new D,n,0);if(i<n.length){let e=n.slice(i).trim().split(/\s+/)[0];throw new r(`${n}: syntax error in expression (error token is "${e}")`)}return e.type===`ArithNumber`?e.value:t||0}catch(e){throw e instanceof r?e:new r(`${n}: syntax error in expression (error token is "${n.split(/\s+/).slice(1)[0]||n}")`)}}async function Bt(e,t){if(!t)return 0;let n=Number.parseInt(t,10);if(!Number.isNaN(n)&&/^-?\d+$/.test(t.trim()))return n;let i=t.trim();if(!i)return 0;let{expr:a,pos:o}=v(new D,i,0);if(o<i.length){let e=i.slice(o).trim();throw new r(`syntax error in expression (error token is "${e.split(/\s+/)[0]||e}")`,``,``)}return await O(e,a)}async function Vt(e,t,n=new Set,i=0){if(i>100)throw new r(`maximum variable indirection depth exceeded`);if(n.has(t))return 0;n.add(t);let a=await Rt(e,t);if(!a)return 0;let o=Number.parseInt(a,10);if(!Number.isNaN(o)&&/^-?\d+$/.test(a.trim()))return o;let s=a.trim();if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s))return await Vt(e,s,n,i+1);let{expr:c,pos:l}=v(new D,s,0);if(l<s.length){let e=s.slice(l).trim();throw new r(`${s}: syntax error in expression (error token is "${e.split(/\s+/)[0]||e}")`)}return await O(e,c)}async function Ht(e,t){if(t.startsWith(`#`)){let n=t.slice(1),r=n.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(r){let t=r[1],n=L(e,t);return String(n.length)}let i=e.state.env.get(n)||``;return String(i.length)}if(t.startsWith(`!`)){let n=t.slice(1),r=e.state.env.get(n)||``;return e.state.env.get(r)||``}let n=[`:-`,`:=`,`:?`,`:+`,`-`,`=`,`?`,`+`],r=-1,i=``;for(let e of n){let n=t.indexOf(e);n>0&&(r===-1||n<r)&&(r=n,i=e)}if(r===-1)return await z(e,t);let a=t.slice(0,r),o=t.slice(r+i.length),s=e.state.env.get(a),c=s===void 0,l=s===``,u=i.startsWith(`:`);switch(i){case`:-`:case`-`:return c||u&&l?o:s||``;case`:=`:case`=`:return c||u&&l?(e.state.env.set(a,o),o):s||``;case`:+`:case`+`:return c||u&&l?``:o;case`:?`:case`?`:if(c||u&&l)throw Error(o||`${a}: parameter null or not set`);return s||``;default:return s||``}}async function O(e,t,n=!1){switch(t.type){case`ArithNumber`:if(Number.isNaN(t.value))throw new r(`value too great for base`);return t.value;case`ArithVariable`:return await Vt(e,t.name);case`ArithSpecialVar`:{let n=(await z(e,t.name)).trim();if(!n)return 0;let r=Number.parseInt(n,10);if(!Number.isNaN(r)&&/^-?\d+$/.test(n))return r;let{expr:i}=v(new D,n,0);return await O(e,i)}case`ArithNested`:return await O(e,t.expression);case`ArithCommandSubst`:if(e.execFn){let n=await e.execFn(t.command,{signal:e.state.signal});n.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||``)+n.stderr);let r=n.stdout.trim();return Number.parseInt(r,10)||0}return 0;case`ArithBracedExpansion`:{let n=await Ht(e,t.content);return Number.parseInt(n,10)||0}case`ArithDynamicBase`:{let n=await Ht(e,t.baseExpr),r=Number.parseInt(n,10);return r<2||r>64?0:u(`${r}#${t.value}`)}case`ArithDynamicNumber`:return u(await Ht(e,t.prefix)+t.suffix);case`ArithArrayElement`:{let r=e.state.associativeArrays?.has(t.array),a=async t=>{let n=e.state.env.get(t);return n===void 0?0:await Bt(e,n)};if(t.stringKey!==void 0)return await a(`${t.array}_${t.stringKey}`);if(r&&t.index?.type===`ArithVariable`&&!t.index.hasDollarPrefix)return await a(`${t.array}_${t.index.name}`);if(r&&t.index?.type===`ArithVariable`&&t.index.hasDollarPrefix){let n=await z(e,t.index.name);return await a(`${t.array}_${n}`)}if(t.index){let r=await O(e,t.index,n);if(r<0){let n=L(e,t.array),i=e.state.currentLine;if(n.length===0)return e.state.expansionStderr=(e.state.expansionStderr||``)+`bash: line ${i}: ${t.array}: bad array subscript
|
|
49
|
+
`,0;let a=Math.max(...n.map(([e])=>typeof e==`number`?e:0))+1+r;if(a<0)return e.state.expansionStderr=(e.state.expansionStderr||``)+`bash: line ${i}: ${t.array}: bad array subscript
|
|
50
|
+
`,0;r=a}let a=`${t.array}_${r}`,o=e.state.env.get(a);if(o!==void 0)return Bt(e,o);if(r===0){let n=e.state.env.get(t.array);if(n!==void 0)return Bt(e,n)}if(e.state.options.nounset&&!Array.from(e.state.env.keys()).some(e=>e===t.array||e.startsWith(`${t.array}_`)))throw new i(`${t.array}[${r}]`);return 0}return 0}case`ArithDoubleSubscript`:throw new r(`double subscript`,``,``);case`ArithNumberSubscript`:throw new r(`${t.number}${t.errorToken}: syntax error: invalid arithmetic operator (error token is "${t.errorToken}")`);case`ArithSyntaxError`:throw new r(t.message,``,``,!0);case`ArithSingleQuote`:if(n)throw new r(`syntax error: operand expected (error token is "'${t.content}'")`);return t.value;case`ArithBinary`:return t.operator===`||`?await O(e,t.left,n)||await O(e,t.right,n)?1:0:t.operator===`&&`?await O(e,t.left,n)&&await O(e,t.right,n)?1:0:Ft(await O(e,t.left,n),await O(e,t.right,n),t.operator);case`ArithUnary`:{let r=await O(e,t.operand,n);if(t.operator===`++`||t.operator===`--`){if(t.operand.type===`ArithVariable`){let n=t.operand.name,r=Number.parseInt(await z(e,n),10)||0,i=t.operator===`++`?r+1:r-1;return e.state.env.set(n,String(i)),t.prefix?i:r}if(t.operand.type===`ArithArrayElement`){let i=t.operand.array,a=e.state.associativeArrays?.has(i),o;if(t.operand.stringKey!==void 0)o=`${i}_${t.operand.stringKey}`;else if(a&&t.operand.index?.type===`ArithVariable`&&!t.operand.index.hasDollarPrefix)o=`${i}_${t.operand.index.name}`;else if(a&&t.operand.index?.type===`ArithVariable`&&t.operand.index.hasDollarPrefix)o=`${i}_${await z(e,t.operand.index.name)}`;else if(t.operand.index)o=`${i}_${await O(e,t.operand.index,n)}`;else return r;let s=Number.parseInt(e.state.env.get(o)||`0`,10)||0,c=t.operator===`++`?s+1:s-1;return e.state.env.set(o,String(c)),t.prefix?c:s}if(t.operand.type===`ArithConcat`){let r=``;for(let i of t.operand.parts)r+=await k(e,i,n);if(r&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)){let n=Number.parseInt(e.state.env.get(r)||`0`,10)||0,i=t.operator===`++`?n+1:n-1;return e.state.env.set(r,String(i)),t.prefix?i:n}}if(t.operand.type===`ArithDynamicElement`){let r=``;if(t.operand.nameExpr.type===`ArithConcat`)for(let i of t.operand.nameExpr.parts)r+=await k(e,i,n);else t.operand.nameExpr.type===`ArithVariable`&&(r=t.operand.nameExpr.hasDollarPrefix?await z(e,t.operand.nameExpr.name):t.operand.nameExpr.name);if(r&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)){let i=await O(e,t.operand.subscript,n),a=`${r}_${i}`,o=Number.parseInt(e.state.env.get(a)||`0`,10)||0,s=t.operator===`++`?o+1:o-1;return e.state.env.set(a,String(s)),t.prefix?s:o}}return r}return Lt(r,t.operator)}case`ArithTernary`:return await O(e,t.condition,n)?await O(e,t.consequent,n):await O(e,t.alternate,n);case`ArithAssignment`:{let r=t.variable,i=r;if(t.stringKey!==void 0)i=`${r}_${t.stringKey}`;else if(t.subscript){let a=e.state.associativeArrays?.has(r);if(a&&t.subscript.type===`ArithVariable`&&!t.subscript.hasDollarPrefix)i=`${r}_${t.subscript.name}`;else if(a&&t.subscript.type===`ArithVariable`&&t.subscript.hasDollarPrefix)i=`${r}_${await z(e,t.subscript.name)||`\\`}`;else if(a)i=`${r}_${await O(e,t.subscript,n)}`;else{let a=await O(e,t.subscript,n);if(a<0){let t=L(e,r);t.length>0&&(a=Math.max(...t.map(([e])=>typeof e==`number`?e:0))+1+a)}i=`${r}_${a}`}}let a=It(Number.parseInt(e.state.env.get(i)||`0`,10)||0,await O(e,t.value,n),t.operator);return e.state.env.set(i,String(a)),a}case`ArithGroup`:return await O(e,t.expression,n);case`ArithConcat`:{let r=``;for(let i of t.parts)r+=await k(e,i,n);return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)?await Vt(e,r):Number.parseInt(r,10)||0}case`ArithDynamicAssignment`:{let r=``;if(t.target.type===`ArithConcat`)for(let i of t.target.parts)r+=await k(e,i,n);else t.target.type===`ArithVariable`&&(r=t.target.hasDollarPrefix?await z(e,t.target.name):t.target.name);if(!r||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r))return 0;let i=r;if(t.subscript){let a=await O(e,t.subscript,n);i=`${r}_${a}`}let a=It(Number.parseInt(e.state.env.get(i)||`0`,10)||0,await O(e,t.value,n),t.operator);return e.state.env.set(i,String(a)),a}case`ArithDynamicElement`:{let r=``;if(t.nameExpr.type===`ArithConcat`)for(let i of t.nameExpr.parts)r+=await k(e,i,n);else t.nameExpr.type===`ArithVariable`&&(r=t.nameExpr.hasDollarPrefix?await z(e,t.nameExpr.name):t.nameExpr.name);if(!r||!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r))return 0;let i=await O(e,t.subscript,n),a=`${r}_${i}`,o=e.state.env.get(a);return o===void 0?0:zt(o)}default:return 0}}async function k(e,t,n=!1){switch(t.type){case`ArithNumber`:return String(t.value);case`ArithSingleQuote`:return String(await O(e,t,n));case`ArithVariable`:return t.hasDollarPrefix?await z(e,t.name):t.name;case`ArithSpecialVar`:return await z(e,t.name);case`ArithBracedExpansion`:return await Ht(e,t.content);case`ArithCommandSubst`:return e.execFn?(await e.execFn(t.command,{signal:e.state.signal})).stdout.trim():`0`;case`ArithConcat`:{let r=``;for(let i of t.parts)r+=await k(e,i,n);return r}default:return String(await O(e,t,n))}}function Ut(e){for(let t=0;t<e.length;t++){if(e[t]===`\\`){t++;continue}if(e[t]===`$`){let n=e[t+1];if(n===`{`||n&&/[a-zA-Z_]/.test(n))return!0}}return!1}function Wt(e){if(!e.operation)return!1;let t=e.operation,n;if((t.type===`DefaultValue`||t.type===`AssignDefault`||t.type===`UseAlternative`||t.type===`ErrorIfUnset`)&&(n=t.word?.parts),!n)return!1;for(let e of n)if(e.type===`DoubleQuoted`||e.type===`SingleQuoted`)return!0;return!1}function Gt(e){if(!e.operation)return!1;let t=e.operation,n;if((t.type===`DefaultValue`||t.type===`AssignDefault`||t.type===`UseAlternative`||t.type===`ErrorIfUnset`)&&(n=t.word?.parts),!n||n.length===0)return!1;for(let e of n)if(e.type!==`DoubleQuoted`&&e.type!==`SingleQuoted`)return!1;return!0}function Kt(e){let t=!1,n=!1,r=!1,i=!1,a=!1,o=!1,s=!1;for(let c of e){if((c.type===`SingleQuoted`||c.type===`DoubleQuoted`)&&(t=!0,c.type===`DoubleQuoted`))for(let e of c.parts)e.type===`ParameterExpansion`&&(e.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/)&&(!e.operation||e.operation.type===`PatternRemoval`||e.operation.type===`PatternReplacement`)&&(i=!0),(e.operation?.type===`VarNamePrefix`||e.operation?.type===`ArrayKeys`)&&(o=!0),e.operation?.type===`Indirection`&&(s=!0));c.type===`CommandSubstitution`&&(n=!0),c.type===`ParameterExpansion`&&(a=!0,(c.parameter===`@`||c.parameter===`*`)&&(r=!0),Wt(c)&&(t=!0),(c.operation?.type===`VarNamePrefix`||c.operation?.type===`ArrayKeys`)&&(o=!0),c.operation?.type===`Indirection`&&(s=!0)),c.type===`Glob`&&Ut(c.pattern)&&(a=!0)}return{hasQuoted:t,hasCommandSub:n,hasArrayVar:r,hasArrayAtExpansion:i,hasParamExpansion:a,hasVarNamePrefixExpansion:o,hasIndirection:s}}var qt=`5.1.0(1)-release`,Jt=`Linux version 5.15.0-generic (just-bash) #1 SMP PREEMPT`;function Yt(e){let{pid:t,ppid:n,uid:r,gid:i}=e;return`Name: bash
|
|
51
|
+
State: R (running)
|
|
52
|
+
Pid: ${t}
|
|
53
|
+
PPid: ${n}
|
|
54
|
+
Uid: ${r} ${r} ${r} ${r}
|
|
55
|
+
Gid: ${i} ${i} ${i} ${i}
|
|
56
|
+
`}function Xt(e,t){let n=`${t}_`,r=[];for(let t of e.state.env.keys())if(t.startsWith(n)){let e=t.slice(n.length),i=Number.parseInt(e,10);!Number.isNaN(i)&&String(i)===e&&r.push(i)}return r.sort((e,t)=>e-t)}function Zt(e,t){let n=`${t}_`;for(let t of e.state.env.keys())t.startsWith(n)&&e.state.env.delete(t)}function Qt(e,t){let n=`${t}_`,r=`${t}__length`,i=[];for(let t of e.state.env.keys())if(t!==r&&t.startsWith(n)){let e=t.slice(n.length);if(e.startsWith(`_length`))continue;i.push(e)}return i.sort()}function $t(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function en(e){if(e.parts.length<2)return null;let t=e.parts[0],n=e.parts[1];if(t.type!==`Glob`||!t.pattern.startsWith(`[`))return null;let r,i=n,a=1;if(n.type===`Literal`&&n.value.startsWith(`]`)){let o=n.value.slice(1);if(o.startsWith(`+=`)||o.startsWith(`=`))r=t.pattern.slice(1);else if(o===``){if(e.parts.length<3)return null;let n=e.parts[2];if(n.type!==`Literal`||!n.value.startsWith(`=`)&&!n.value.startsWith(`+=`))return null;r=t.pattern.slice(1),i=n,a=2}else return null}else if(t.pattern===`[`&&(n.type===`DoubleQuoted`||n.type===`SingleQuoted`)){if(e.parts.length<3)return null;let t=e.parts[2];if(t.type!==`Literal`||!t.value.startsWith(`]=`)&&!t.value.startsWith(`]+=`))return null;if(n.type===`SingleQuoted`)r=n.value;else{r=``;for(let e of n.parts)(e.type===`Literal`||e.type===`Escaped`)&&(r+=e.value)}i=t,a=2}else if(t.pattern.endsWith(`]`)){if(n.type!==`Literal`||!n.value.startsWith(`=`)&&!n.value.startsWith(`+=`))return null;r=t.pattern.slice(1,-1)}else return null;r=$t(r);let o;if(i.type!==`Literal`)return null;o=i.value.startsWith(`]=`)||i.value.startsWith(`]+=`)?i.value.slice(1):i.value;let s=o.startsWith(`+=`);if(!s&&!o.startsWith(`=`))return null;let c=[],l=s?2:1,u=o.slice(l);u&&c.push({type:`Literal`,value:u});for(let t=a+1;t<e.parts.length;t++){let n=e.parts[t];n.type===`BraceExpansion`?c.push({type:`Literal`,value:tn(n)}):c.push(n)}return{key:r,valueParts:c,append:s}}function tn(e){return`{${e.items.map(e=>{if(e.type===`Range`){let t=`${e.startStr??String(e.start)}..${e.endStr??String(e.end)}`;return e.step&&(t+=`..${e.step}`),t}return nn(e.word)}).join(`,`)}}`}function nn(e){let t=``;for(let n of e.parts)switch(n.type){case`Literal`:t+=n.value;break;case`Glob`:t+=n.pattern;break;case`SingleQuoted`:t+=n.value;break;case`DoubleQuoted`:for(let e of n.parts)(e.type===`Literal`||e.type===`Escaped`)&&(t+=e.value);break;case`Escaped`:t+=n.value;break;case`BraceExpansion`:t+=`{`,t+=n.items.map(e=>e.type===`Range`?`${e.startStr}..${e.endStr}${e.step?`..${e.step}`:``}`:nn(e.word)).join(`,`),t+=`}`;break;case`TildeExpansion`:t+=`~`,n.user&&(t+=n.user);break}return t}function A(e){return e.get(`IFS`)??`
|
|
57
|
+
`}function j(e){return e.get(`IFS`)===``}function rn(e){let t=A(e);if(t===``)return!0;for(let e of t)if(e!==` `&&e!==` `&&e!==`
|
|
58
|
+
`)return!1;return!0}function an(e){let t=!1,n=[];for(let r of e.split(``))r===`-`?t=!0:/[\\^$.*+?()[\]{}|]/.test(r)?n.push(`\\${r}`):r===` `?n.push(`\\t`):r===`
|
|
59
|
+
`?n.push(`\\n`):n.push(r);return t&&n.push(`\\-`),n.join(``)}function M(e){let t=e.get(`IFS`);return t===void 0?` `:t[0]||``}var on=`
|
|
60
|
+
`;function sn(e){return on.includes(e)}function cn(e){let t=new Set,n=new Set;for(let r of e)sn(r)?t.add(r):n.add(r);return{whitespace:t,nonWhitespace:n}}function ln(e,t,n,r){if(t===``)return e===``?{words:[],wordStarts:[]}:{words:[e],wordStarts:[0]};let{whitespace:i,nonWhitespace:a}=cn(t),o=[],s=[],c=0;for(;c<e.length&&i.has(e[c]);)c++;if(c>=e.length)return{words:[],wordStarts:[]};if(a.has(e[c]))for(o.push(``),s.push(c),c++;c<e.length&&i.has(e[c]);)c++;for(;c<e.length&&!(n!==void 0&&o.length>=n);){let t=c;for(s.push(t);c<e.length;){let t=e[c];if(!r&&t===`\\`){c++,c<e.length&&c++;continue}if(i.has(t)||a.has(t))break;c++}if(o.push(e.substring(t,c)),c>=e.length)break;for(;c<e.length&&i.has(e[c]);)c++;if(c<e.length&&a.has(e[c])){for(c++;c<e.length&&i.has(e[c]);)c++;for(;c<e.length&&a.has(e[c])&&!(n!==void 0&&o.length>=n);)for(o.push(``),s.push(c),c++;c<e.length&&i.has(e[c]);)c++}}return{words:o,wordStarts:s}}function un(e,t){if(t===``)return{words:e?[e]:[],hadLeadingDelimiter:!1,hadTrailingDelimiter:!1};if(e===``)return{words:[],hadLeadingDelimiter:!1,hadTrailingDelimiter:!1};let{whitespace:n,nonWhitespace:r}=cn(t),i=[],a=0,o=!1,s=!1,c=a;for(;a<e.length&&n.has(e[a]);)a++;if(a>c&&(o=!0),a>=e.length)return{words:[],hadLeadingDelimiter:!0,hadTrailingDelimiter:!0};if(r.has(e[a]))for(i.push(``),a++;a<e.length&&n.has(e[a]);)a++;for(;a<e.length;){let t=a;for(;a<e.length;){let t=e[a];if(n.has(t)||r.has(t))break;a++}if(i.push(e.substring(t,a)),a>=e.length){s=!1;break}let o=a;for(;a<e.length&&n.has(e[a]);)a++;if(a<e.length&&r.has(e[a])){for(a++;a<e.length&&n.has(e[a]);)a++;for(;a<e.length&&r.has(e[a]);)for(i.push(``),a++;a<e.length&&n.has(e[a]);)a++}a>=e.length&&a>o&&(s=!0)}return{words:i,hadLeadingDelimiter:o,hadTrailingDelimiter:s}}function N(e,t){return un(e,t).words}function dn(e,t){for(let n of e)if(t.has(n))return!0;return!1}function fn(e,t,n){if(t===``)return e;let{whitespace:r,nonWhitespace:i}=cn(t),a=e.length;for(;a>0&&r.has(e[a-1]);){if(!n&&a>=2){let t=0,n=a-2;for(;n>=0&&e[n]===`\\`;)t++,n--;if(t%2==1)break}a--}let o=e.substring(0,a);if(o.length>=1&&i.has(o[o.length-1])){if(!n&&o.length>=2){let e=0,t=o.length-2;for(;t>=0&&o[t]===`\\`;)e++,t--;if(e%2==1)return o}let e=o.substring(0,o.length-1);if(!dn(e,i))return e}return o}function P(e,t){return e.state.namerefs?.has(t)??!1}function pn(e,t){e.state.namerefs??=new Set,e.state.namerefs.add(t)}function mn(e,t){e.state.namerefs?.delete(t),e.state.boundNamerefs?.delete(t),e.state.invalidNamerefs?.delete(t)}function hn(e,t){e.state.invalidNamerefs??=new Set,e.state.invalidNamerefs.add(t)}function gn(e,t){return e.state.invalidNamerefs?.has(t)??!1}function _n(e,t){e.state.boundNamerefs??=new Set,e.state.boundNamerefs.add(t)}function vn(e,t){let n=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(n){let t=n[1],r=Array.from(e.state.env.keys()).some(e=>e.startsWith(`${t}_`)&&!e.includes(`__`)),i=e.state.associativeArrays?.has(t)??!1;return r||i}return Array.from(e.state.env.keys()).some(e=>e.startsWith(`${t}_`)&&!e.includes(`__`))?!0:e.state.env.has(t)}function F(e,t,n=100){if(!P(e,t)||gn(e,t))return t;let r=new Set,i=t;for(;n-- >0;){if(r.has(i))return;if(r.add(i),!P(e,i))return i;let t=e.state.env.get(i);if(t===void 0||t===``||!/^[a-zA-Z_][a-zA-Z0-9_]*(\[.+\])?$/.test(t))return i;i=t}}function I(e,t){if(P(e,t))return e.state.env.get(t)}function yn(e,t,n,r=100){if(!P(e,t)||gn(e,t))return t;let i=new Set,a=t;for(;r-- >0;){if(i.has(a))return;if(i.add(a),!P(e,a))return a;let t=e.state.env.get(a);if(t===void 0||t===``)return n===void 0||/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)&&vn(e,n)?a:null;if(!/^[a-zA-Z_][a-zA-Z0-9_]*(\[.+\])?$/.test(t))return a;a=t}}function bn(e,t){let n=t.replace(/\$\{([a-zA-Z_][a-zA-Z0-9_]*)\}/g,(t,n)=>e.state.env.get(n)??``);return n=n.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)/g,(t,n)=>e.state.env.get(n)??``),n}function L(e,t){return t===`FUNCNAME`?(e.state.funcNameStack??[]).map((e,t)=>[t,e]):t===`BASH_LINENO`?(e.state.callLineStack??[]).map((e,t)=>[t,String(e)]):t===`BASH_SOURCE`?(e.state.sourceStack??[]).map((e,t)=>[t,e]):e.state.associativeArrays?.has(t)?Qt(e,t).map(n=>[n,e.state.env.get(`${t}_${n}`)??``]):Xt(e,t).map(n=>[n,e.state.env.get(`${t}_${n}`)??``])}function R(e,t){return t===`FUNCNAME`?(e.state.funcNameStack?.length??0)>0:t===`BASH_LINENO`?(e.state.callLineStack?.length??0)>0:t===`BASH_SOURCE`?(e.state.sourceStack?.length??0)>0:e.state.associativeArrays?.has(t)?Qt(e,t).length>0:Xt(e,t).length>0}async function z(e,t,n=!0,r=!1){switch(t){case`?`:return String(e.state.lastExitCode);case`$`:return String(e.state.virtualPid);case`#`:return e.state.env.get(`#`)||`0`;case`@`:return e.state.env.get(`@`)||``;case`_`:return e.state.lastArg;case`-`:{let t=``;return t+=`h`,e.state.options.errexit&&(t+=`e`),e.state.options.noglob&&(t+=`f`),e.state.options.nounset&&(t+=`u`),e.state.options.verbose&&(t+=`v`),e.state.options.xtrace&&(t+=`x`),t+=`B`,e.state.options.noclobber&&(t+=`C`),t+=`s`,t}case`*`:{let t=Number.parseInt(e.state.env.get(`#`)||`0`,10);if(t===0)return``;let n=[];for(let r=1;r<=t;r++)n.push(e.state.env.get(String(r))||``);return n.join(M(e.state.env))}case`0`:return e.state.env.get(`0`)||`bash`;case`PWD`:return e.state.env.get(`PWD`)??``;case`OLDPWD`:return e.state.env.get(`OLDPWD`)??``;case`PPID`:return String(e.state.virtualPpid);case`UID`:return String(e.state.virtualUid);case`EUID`:return String(e.state.virtualUid);case`RANDOM`:return String(Math.floor(Math.random()*32768));case`SECONDS`:return String(Math.floor((Date.now()-e.state.startTime)/1e3));case`BASH_VERSION`:return qt;case`!`:return String(e.state.lastBackgroundPid);case`BASHPID`:return String(e.state.bashPid);case`LINENO`:return String(e.state.currentLine);case`FUNCNAME`:{let t=e.state.funcNameStack?.[0];if(t!==void 0)return t;if(n&&e.state.options.nounset)throw new i(`FUNCNAME`);return``}case`BASH_LINENO`:{let t=e.state.callLineStack?.[0];if(t!==void 0)return String(t);if(n&&e.state.options.nounset)throw new i(`BASH_LINENO`);return``}case`BASH_SOURCE`:{let t=e.state.sourceStack?.[0];if(t!==void 0)return t;if(n&&e.state.options.nounset)throw new i(`BASH_SOURCE`);return``}}if(/^[a-zA-Z_][a-zA-Z0-9_]*\[\]$/.test(t))throw new s(`\${${t}}`);let a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let t=a[1],r=a[2];if(P(e,t)){let n=F(e,t);if(n&&n!==t){if(n.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/))return``;t=n}}if(r===`@`||r===`*`){let n=L(e,t);if(n.length>0)return n.map(([,e])=>e).join(` `);let r=e.state.env.get(t);return r===void 0?``:r}if(t===`FUNCNAME`){let t=Number.parseInt(r,10);return!Number.isNaN(t)&&t>=0?e.state.funcNameStack?.[t]??``:``}if(t===`BASH_LINENO`){let t=Number.parseInt(r,10);if(!Number.isNaN(t)&&t>=0){let n=e.state.callLineStack?.[t];return n===void 0?``:String(n)}return``}if(t===`BASH_SOURCE`){let t=Number.parseInt(r,10);return!Number.isNaN(t)&&t>=0?e.state.sourceStack?.[t]??``:``}if(e.state.associativeArrays?.has(t)){let a=$t(r);a=bn(e,a);let o=e.state.env.get(`${t}_${a}`);if(o===void 0&&n&&e.state.options.nounset)throw new i(`${t}[${r}]`);return o||``}let o;if(/^-?\d+$/.test(r))o=Number.parseInt(r,10);else try{o=await O(e,h(new D,r).expression)}catch{let t=e.state.env.get(r);o=t?Number.parseInt(t,10):0,Number.isNaN(o)&&(o=0)}if(o<0){let n=L(e,t),r=e.state.currentLine;if(n.length===0)return e.state.expansionStderr=(e.state.expansionStderr||``)+`bash: line ${r}: ${t}: bad array subscript
|
|
61
|
+
`,``;let i=Math.max(...n.map(([e])=>typeof e==`number`?e:0))+1+o;return i<0?(e.state.expansionStderr=(e.state.expansionStderr||``)+`bash: line ${r}: ${t}: bad array subscript
|
|
62
|
+
`,``):e.state.env.get(`${t}_${i}`)||``}let s=e.state.env.get(`${t}_${o}`);if(s!==void 0)return s;if(o===0){let n=e.state.env.get(t);if(n!==void 0)return n}if(n&&e.state.options.nounset)throw new i(`${t}[${o}]`);return``}if(/^[1-9][0-9]*$/.test(t)){let r=e.state.env.get(t);if(r===void 0&&n&&e.state.options.nounset)throw new i(t);return r||``}if(P(e,t)){let a=F(e,t);if(a===void 0)return``;if(a!==t)return await z(e,a,n,r);let o=e.state.env.get(t);if((o===void 0||o===``)&&n&&e.state.options.nounset)throw new i(t);return o||``}let o=e.state.env.get(t);if(o!==void 0)return e.state.tempEnvBindings?.some(e=>e.has(t))&&(e.state.accessedTempEnvVars=e.state.accessedTempEnvVars||new Set,e.state.accessedTempEnvVars.add(t)),o;if(R(e,t)){let n=e.state.env.get(`${t}_0`);return n===void 0?``:n}if(n&&e.state.options.nounset)throw new i(t);return``}async function B(e,t){if(new Set([`?`,`$`,`#`,`_`,`-`,`0`,`PPID`,`UID`,`EUID`,`RANDOM`,`SECONDS`,`BASH_VERSION`,`!`,`BASHPID`,`LINENO`]).has(t))return!0;if(t===`@`||t===`*`)return Number.parseInt(e.state.env.get(`#`)||`0`,10)>0;if(t===`PWD`||t===`OLDPWD`)return e.state.env.has(t);let n=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(n){let t=n[1],r=n[2];if(P(e,t)){let n=F(e,t);if(n&&n!==t){if(n.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/))return!1;t=n}}if(r===`@`||r===`*`)return L(e,t).length>0?!0:e.state.env.has(t);if(e.state.associativeArrays?.has(t)){let n=$t(r);return e.state.env.has(`${t}_${n}`)}let i;if(/^-?\d+$/.test(r))i=Number.parseInt(r,10);else try{i=await O(e,h(new D,r).expression)}catch{let t=e.state.env.get(r);i=t?Number.parseInt(t,10):0,Number.isNaN(i)&&(i=0)}if(i<0){let n=L(e,t);if(n.length===0)return!1;let r=Math.max(...n.map(([e])=>typeof e==`number`?e:0))+1+i;return r<0?!1:e.state.env.has(`${t}_${r}`)}return e.state.env.has(`${t}_${i}`)}if(P(e,t)){let n=F(e,t);return n===void 0||n===t?e.state.env.has(t):B(e,n)}return!!(e.state.env.has(t)||R(e,t))}async function xn(e,t){let n=``,r=0;for(;r<t.length;){if(t[r]===`$`){if(t[r+1]===`{`){let e=1,i=r+2;for(;i<t.length&&e>0;)t[i]===`{`?e++:t[i]===`}`&&e--,i++;n+=t.slice(r,i),r=i;continue}if(t[r+1]===`(`){let e=1,i=r+2;for(;i<t.length&&e>0;)t[i]===`(`?e++:t[i]===`)`&&e--,i++;n+=t.slice(r,i),r=i;continue}if(/[a-zA-Z_]/.test(t[r+1]||``)){let i=r+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let a=await z(e,t.slice(r+1,i));n+=a,r=i;continue}if(/[0-9]/.test(t[r+1]||``)){let i=r+1;for(;i<t.length&&/[0-9]/.test(t[i]);)i++;let a=await z(e,t.slice(r+1,i));n+=a,r=i;continue}if(/[*@#?\-!$]/.test(t[r+1]||``)){let i=t[r+1],a=await z(e,i);n+=a,r+=2;continue}}if(t[r]===`"`){for(n+=`"`,r++;r<t.length&&t[r]!==`"`;)if(t[r]===`$`&&/[a-zA-Z_]/.test(t[r+1]||``)){let i=r+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let a=await z(e,t.slice(r+1,i));n+=a,r=i}else t[r]===`\\`?(n+=t[r],r++,r<t.length&&(n+=t[r],r++)):(n+=t[r],r++);r<t.length&&(n+=`"`,r++);continue}n+=t[r],r++}return n}async function Sn(e,t){let n=t,r=t.startsWith(`"`)&&t.endsWith(`"`),i=t.startsWith(`'`)&&t.endsWith(`'`);if((r||i)&&(n=t.slice(1,-1)),i)return n;let a=``,o=0;for(;o<n.length;)if(n[o]===`$`)if(n[o+1]===`(`){let t=1,r=o+2;for(;r<n.length&&t>0;)n[r]===`(`&&n[r-1]===`$`||n[r]===`(`?t++:n[r]===`)`&&t--,r++;let i=n.slice(o+2,r-1);if(e.execFn){let t=await e.execFn(i,{signal:e.state.signal});a+=t.stdout.replace(/\n+$/,``),t.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||``)+t.stderr)}o=r}else if(n[o+1]===`{`){let t=1,r=o+2;for(;r<n.length&&t>0;)n[r]===`{`?t++:n[r]===`}`&&t--,r++;let i=await z(e,n.slice(o+2,r-1));a+=i,o=r}else if(/[a-zA-Z_]/.test(n[o+1]||``)){let t=o+1;for(;t<n.length&&/[a-zA-Z0-9_]/.test(n[t]);)t++;let r=await z(e,n.slice(o+1,t));a+=r,o=t}else a+=n[o],o++;else if(n[o]==="`"){let t=o+1;for(;t<n.length&&n[t]!=="`";)t++;let r=n.slice(o+1,t);if(e.execFn){let t=await e.execFn(r,{signal:e.state.signal});a+=t.stdout.replace(/\n+$/,``),t.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||``)+t.stderr)}o=t+1}else a+=n[o],o++;return a}var V=1e4;function Cn(e,t,n,r,i){let a=n??1;a===0&&(a=1);let o=Math.abs(a),s=[],c=0;r?.match(/^-?0\d/)&&(c=Math.max(c,r.replace(/^-/,``).length)),i?.match(/^-?0\d/)&&(c=Math.max(c,i.replace(/^-/,``).length));let l=e=>{if(c>0){let t=e<0,n=String(Math.abs(e)).padStart(c,`0`);return t?`-${n}`:n}return String(e)};if(e<=t)for(let n=e,r=0;n<=t&&r<V;n+=o,r++)s.push(l(n));else for(let n=e,r=0;n>=t&&r<V;n-=o,r++)s.push(l(n));return s}function wn(e,t,r){let i=r??1;i===0&&(i=1);let a=e.charCodeAt(0),o=t.charCodeAt(0),s=Math.abs(i);if(e>=`A`&&e<=`Z`&&t>=`a`&&t<=`z`||e>=`a`&&e<=`z`&&t>=`A`&&t<=`Z`)throw new n(`{${e}..${t}${r===void 0?``:`..${r}`}}: invalid sequence`);let c=[];if(a<=o)for(let e=a,t=0;e<=o&&t<V;e+=s,t++)c.push(String.fromCharCode(e));else for(let e=a,t=0;e>=o&&t<V;e-=s,t++)c.push(String.fromCharCode(e));return c}function Tn(e,t,n,r,i){let a=n===void 0?``:`..${n}`;return typeof e==`number`&&typeof t==`number`?{expanded:Cn(e,t,n,r,i),literal:`{${e}..${t}${a}}`}:typeof e==`string`&&typeof t==`string`?{expanded:wn(e,t,n),literal:`{${e}..${t}${a}}`}:{expanded:null,literal:`{${e}..${t}${a}}`}}function En(e){if(e.statements.length!==1)return null;let t=e.statements[0];if(t.operators.length!==0||t.pipelines.length!==1)return null;let n=t.pipelines[0];if(n.negated||n.commands.length!==1)return null;let r=n.commands[0];if(r.type!==`SimpleCommand`)return null;let i=r;if(i.name!==null||i.args.length!==0||i.assignments.length!==0||i.redirections.length!==1)return null;let a=i.redirections[0];return a.operator!==`<`||a.target.type!==`Word`?null:{target:a.target}}function H(e,t){return!!(/[*?[]/.test(e)||t&&/[@*+?!]\(/.test(e))}function Dn(e){let t=``,n=0;for(;n<e.length;)e[n]===`\\`&&n+1<e.length?(t+=e[n+1],n+=2):(t+=e[n],n++);return t}function U(e){return e.replace(/([*?[\]\\()|])/g,`\\$1`)}function On(e){return e.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`)}function W(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function G(e,t,n=!1){let r=``,i=0;for(;i<e.length;){let a=e[i];if(n&&(a===`@`||a===`*`||a===`+`||a===`?`||a===`!`)&&i+1<e.length&&e[i+1]===`(`){let o=kn(e,i+1);if(o!==-1){let s=An(e.slice(i+2,o)).map(e=>G(e,t,n)),c=s.length>0?s.join(`|`):`(?:)`;a===`@`?r+=`(?:${c})`:a===`*`?r+=`(?:${c})*`:a===`+`?r+=`(?:${c})+`:a===`?`?r+=`(?:${c})?`:a===`!`&&(r+=`(?!(?:${c})$).*`),i=o+1;continue}}if(a===`\\`)if(i+1<e.length){let t=e[i+1];/[\\^$.|+(){}[\]*?]/.test(t)?r+=`\\${t}`:r+=t,i+=2}else r+=`\\\\`,i++;else if(a===`*`)r+=t?`.*`:`.*?`,i++;else if(a===`?`)r+=`.`,i++;else if(a===`[`){let t=jn(e,i);if(t===-1)r+=`\\[`,i++;else{let n=e.slice(i+1,t);r+=Mn(n),i=t+1}}else /[\^$.|+(){}]/.test(a)?(r+=`\\${a}`,i++):(r+=a,i++)}return r}function kn(e,t){let n=1,r=t+1;for(;r<e.length&&n>0;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===`(`)n++;else if(t===`)`&&(n--,n===0))return r;r++}return-1}function An(e){let t=[],n=``,r=0,i=0;for(;i<e.length;){let a=e[i];if(a===`\\`){n+=a,i+1<e.length?(n+=e[i+1],i+=2):i++;continue}a===`(`?(r++,n+=a):a===`)`?(r--,n+=a):a===`|`&&r===0?(t.push(n),n=``):n+=a,i++}return t.push(n),t}function jn(e,t){let n=t+1;for(n<e.length&&e[n]===`^`&&n++,n<e.length&&e[n]===`]`&&n++;n<e.length;){if(e[n]===`\\`&&n+1<e.length){n+=2;continue}if(e[n]===`]`)return n;if(e[n]===`'`){let t=e.indexOf(`'`,n+1);if(t!==-1){n=t+1;continue}}if(e[n]===`[`&&n+1<e.length&&e[n+1]===`:`){let t=e.indexOf(`:]`,n+2);if(t!==-1){n=t+2;continue}}n++}return-1}function Mn(e){let t=`[`,n=0;for((e[0]===`^`||e[0]===`!`)&&(t+=`^`,n++);n<e.length;){if(e[n]===`'`){let r=e.indexOf(`'`,n+1);if(r!==-1){let i=e.slice(n+1,r);for(let e of i)e===`\\`?t+=`\\\\`:e===`]`?t+=`\\]`:e===`^`&&t===`[`?t+=`\\^`:t+=e;n=r+1;continue}}if(e[n]===`[`&&n+1<e.length&&e[n+1]===`:`){let r=e.indexOf(`:]`,n+2);if(r!==-1){let i=e.slice(n+2,r);t+=Pn(i),n=r+2;continue}}let r=e[n];r===`\\`?n+1<e.length?(t+=`\\${e[n+1]}`,n+=2):(t+=`\\\\`,n++):r===`-`&&n>0&&n<e.length-1?(t+=`-`,n++):r===`^`&&n===0?(t+=`^`,n++):(r===`]`&&n===0?t+=`\\]`:t+=r,n++)}return t+=`]`,t}var Nn=new Map([[`alnum`,`a-zA-Z0-9`],[`alpha`,`a-zA-Z`],[`ascii`,`\\x00-\\x7F`],[`blank`,` \\t`],[`cntrl`,`\\x00-\\x1F\\x7F`],[`digit`,`0-9`],[`graph`,`!-~`],[`lower`,`a-z`],[`print`,` -~`],[`punct`,"!-/:-@\\[-`{-~"],[`space`,` \\t\\n\\r\\f\\v`],[`upper`,`A-Z`],[`word`,`a-zA-Z0-9_`],[`xdigit`,`0-9A-Fa-f`]]);function Pn(e){return Nn.get(e)??``}function K(t,n,r,i){if(r===`prefix`)return e(`^${n}`,`s`).replace(t,``);let a=e(`${n}$`,`s`);if(i)return a.replace(t,``);for(let e=t.length;e>=0;e--){let n=t.slice(e);if(a.test(n))return t.slice(0,e)}return t}function Fn(e,t){let n=Array.from(e.state.env.keys()),r=new Set,i=e.state.associativeArrays??new Set,a=new Set;for(let e of n){let t=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)_\d+$/);t&&a.add(t[1]);let n=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)__length$/);n&&a.add(n[1])}let o=e=>{for(let t of i){let n=`${t}_`;if(e.startsWith(n)&&e!==t)return!0}return!1};for(let e of n)if(e.startsWith(t))if(e.includes(`__`)){let n=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)__length$/);n?.[1].startsWith(t)&&r.add(n[1])}else if(/_\d+$/.test(e)){let n=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)_\d+$/);n?.[1].startsWith(t)&&r.add(n[1])}else o(e)||r.add(e);return[...r].sort()}function In(e,t){let n=(e,t=2)=>String(e).padStart(t,`0`);if(e===``)return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`;let r=``,i=0;for(;i<e.length;)if(e[i]===`%`){if(i+1>=e.length){r+=`%`,i++;continue}let a=e[i+1];switch(a){case`H`:r+=n(t.getHours());break;case`M`:r+=n(t.getMinutes());break;case`S`:r+=n(t.getSeconds());break;case`d`:r+=n(t.getDate());break;case`m`:r+=n(t.getMonth()+1);break;case`Y`:r+=t.getFullYear();break;case`y`:r+=n(t.getFullYear()%100);break;case`I`:{let e=t.getHours()%12;e===0&&(e=12),r+=n(e);break}case`p`:r+=t.getHours()<12?`AM`:`PM`;break;case`P`:r+=t.getHours()<12?`am`:`pm`;break;case`%`:r+=`%`;break;case`a`:r+=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`][t.getDay()];break;case`b`:r+=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][t.getMonth()];break;default:r+=`%${a}`}i+=2}else r+=e[i],i++;return r}function Ln(e,t){let n=``,r=0,i=e.state.env.get(`USER`)||e.state.env.get(`LOGNAME`)||`user`,a=e.state.env.get(`HOSTNAME`)||`localhost`,o=a.split(`.`)[0],s=e.state.env.get(`PWD`)||`/`,c=e.state.env.get(`HOME`)||`/`,l=s.startsWith(c)?`~${s.slice(c.length)}`:s,u=s.split(`/`).pop()||s,d=new Date,f=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],p=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],m=e.state.env.get(`__COMMAND_NUMBER`)||`1`;for(;r<t.length;){let e=t[r];if(e===`\\`){if(r+1>=t.length){n+=`\\`,r++;continue}let e=t[r+1];if(e>=`0`&&e<=`7`){let e=``,i=r+1;for(;i<t.length&&i<r+4&&t[i]>=`0`&&t[i]<=`7`;)e+=t[i],i++;let a=Number.parseInt(e,8)%256;n+=String.fromCharCode(a),r=i;continue}switch(e){case`\\`:n+=`\\`,r+=2;break;case`a`:n+=`\x07`,r+=2;break;case`e`:n+=`\x1B`,r+=2;break;case`n`:n+=`
|
|
63
|
+
`,r+=2;break;case`r`:n+=`\r`,r+=2;break;case`$`:n+=`$`,r+=2;break;case`[`:case`]`:r+=2;break;case`u`:n+=i,r+=2;break;case`h`:n+=o,r+=2;break;case`H`:n+=a,r+=2;break;case`w`:n+=l,r+=2;break;case`W`:n+=u,r+=2;break;case`d`:{let e=String(d.getDate()).padStart(2,` `);n+=`${f[d.getDay()]} ${p[d.getMonth()]} ${e}`,r+=2;break}case`t`:{let e=String(d.getHours()).padStart(2,`0`),t=String(d.getMinutes()).padStart(2,`0`),i=String(d.getSeconds()).padStart(2,`0`);n+=`${e}:${t}:${i}`,r+=2;break}case`T`:{let e=d.getHours()%12;e===0&&(e=12);let t=String(e).padStart(2,`0`),i=String(d.getMinutes()).padStart(2,`0`),a=String(d.getSeconds()).padStart(2,`0`);n+=`${t}:${i}:${a}`,r+=2;break}case`@`:{let e=d.getHours()%12;e===0&&(e=12);let t=String(e).padStart(2,`0`),i=String(d.getMinutes()).padStart(2,`0`),a=d.getHours()<12?`AM`:`PM`;n+=`${t}:${i} ${a}`,r+=2;break}case`A`:{let e=String(d.getHours()).padStart(2,`0`),t=String(d.getMinutes()).padStart(2,`0`);n+=`${e}:${t}`,r+=2;break}case`D`:if(r+2<t.length&&t[r+2]===`{`){let e=t.indexOf(`}`,r+3);if(e!==-1){let i=t.slice(r+3,e);n+=In(i,d),r=e+1}else n+=`\\D`,r+=2}else n+=`\\D`,r+=2;break;case`s`:n+=`bash`,r+=2;break;case`v`:n+=`5.0`,r+=2;break;case`V`:n+=`5.0.0`,r+=2;break;case`j`:n+=`0`,r+=2;break;case`l`:n+=`tty`,r+=2;break;case`#`:n+=m,r+=2;break;case`!`:n+=m,r+=2;break;case`x`:n+=`\\x`,r+=2;break;default:n+=`\\${e}`,r+=2}}else n+=e,r++}return n}function q(e){if(e===``)return`''`;if(/[\n\r\t\x00-\x1f\x7f']/.test(e)){let t=`$'`;for(let n of e)switch(n){case`'`:t+=`\\'`;break;case`\\`:t+=`\\\\`;break;case`
|
|
64
|
+
`:t+=`\\n`;break;case`\r`:t+=`\\r`;break;case` `:t+=`\\t`;break;default:{let e=n.charCodeAt(0);e<32||e===127?t+=`\\${e.toString(8).padStart(3,`0`)}`:t+=n}}return`${t}'`}return`'${e}'`}function Rn(e,t){e.state.readonlyVars=e.state.readonlyVars||new Set,e.state.readonlyVars.add(t)}function zn(e,t){return e.state.readonlyVars?.has(t)??!1}function Bn(e,t,n=`bash`){if(zn(e,t))throw new o(1,``,`${n}: ${t}: readonly variable
|
|
65
|
+
`);return null}function Vn(e,t){let n=e.state.exportedVars?.has(t)??!1;if(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(t),e.state.localScopes.length>0&&e.state.localScopes[e.state.localScopes.length-1].has(t)&&!n){for(e.state.localExportedVars||(e.state.localExportedVars=[]);e.state.localExportedVars.length<e.state.localScopes.length;)e.state.localExportedVars.push(new Set);e.state.localExportedVars[e.state.localExportedVars.length-1].add(t)}}function Hn(e,t){e.state.exportedVars?.delete(t)}function J(e,t){if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t))return``;let n=``,r=e.state.env.has(`${t}__length`)||Array.from(e.state.env.keys()).some(e=>e.startsWith(`${t}_`)&&/^[0-9]+$/.test(e.slice(t.length+1))),i=e.state.associativeArrays?.has(t)??!1;return r&&!i&&(n+=`a`),i&&(n+=`A`),e.state.integerVars?.has(t)&&(n+=`i`),P(e,t)&&(n+=`n`),zn(e,t)&&(n+=`r`),e.state.exportedVars?.has(t)&&(n+=`x`),n}async function Un(e,t,n,r){return e.coverage?.hit(`bash:expansion:default_value`),(n.isUnset||t.checkEmpty&&n.isEmpty)&&t.word?r(e,t.word.parts,n.inDoubleQuotes):n.effectiveValue}async function Wn(e,t,n,r,i){if(e.coverage?.hit(`bash:expansion:assign_default`),(r.isUnset||n.checkEmpty&&r.isEmpty)&&n.word){let a=await i(e,n.word.parts,r.inDoubleQuotes),o=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(o){let[,t,n]=o,r;if(/^\d+$/.test(n))r=Number.parseInt(n,10);else{try{r=await O(e,h(new D,n).expression)}catch{let t=e.state.env.get(n);r=t?Number.parseInt(t,10):0}Number.isNaN(r)&&(r=0)}e.state.env.set(`${t}_${r}`,a);let i=Number.parseInt(e.state.env.get(`${t}__length`)||`0`,10);r>=i&&e.state.env.set(`${t}__length`,String(r+1))}else e.state.env.set(t,a);return a}return r.effectiveValue}async function Gn(e,t,n,r,i){if(e.coverage?.hit(`bash:expansion:error_if_unset`),r.isUnset||n.checkEmpty&&r.isEmpty)throw new o(1,``,`bash: ${n.word?await i(e,n.word.parts,r.inDoubleQuotes):`${t}: parameter null or not set`}
|
|
66
|
+
`);return r.effectiveValue}async function Kn(e,t,n,r){return e.coverage?.hit(`bash:expansion:use_alternative`),!(n.isUnset||t.checkEmpty&&n.isEmpty)&&t.word?r(e,t.word.parts,n.inDoubleQuotes):``}async function qn(t,n,r,i,a){t.coverage?.hit(`bash:expansion:pattern_removal`);let o=``,s=t.state.shoptOptions.extglob;if(r.pattern)for(let e of r.pattern.parts)if(e.type===`Glob`)o+=G(e.pattern,r.greedy,s);else if(e.type===`Literal`)o+=G(e.value,r.greedy,s);else if(e.type===`SingleQuoted`||e.type===`Escaped`)o+=W(e.value);else if(e.type===`DoubleQuoted`){let n=await i(t,e.parts);o+=W(n)}else if(e.type===`ParameterExpansion`){let n=await a(t,e);o+=G(n,r.greedy,s)}else{let n=await a(t,e);o+=W(n)}if(r.side===`prefix`)return e(`^${o}`,`s`).replace(n,``);let c=e(`${o}$`,`s`);if(r.greedy)return c.replace(n,``);for(let e=n.length;e>=0;e--){let t=n.slice(e);if(c.test(t))return n.slice(0,e)}return n}async function Jn(t,n,r,i,o){t.coverage?.hit(`bash:expansion:pattern_replacement`);let s=``,c=t.state.shoptOptions.extglob;if(r.pattern)for(let e of r.pattern.parts)if(e.type===`Glob`)s+=G(e.pattern,!0,c);else if(e.type===`Literal`)s+=G(e.value,!0,c);else if(e.type===`SingleQuoted`||e.type===`Escaped`)s+=W(e.value);else if(e.type===`DoubleQuoted`){let n=await i(t,e.parts);s+=W(n)}else if(e.type===`ParameterExpansion`){let n=await o(t,e);s+=G(n,!0,c)}else{let n=await o(t,e);s+=W(n)}let l=r.replacement?await i(t,r.replacement.parts):``;if(r.anchor===`start`?s=`^${s}`:r.anchor===`end`&&(s=`${s}$`),s===``)return n;let u=r.all?`gs`:`s`;try{let i=e(s,u);if(r.all){let e=``,r=0,o=0,s=t.limits.maxStringLength,c=i.exec(n);for(;c!==null&&!(c[0].length===0&&c.index===n.length);){if(e+=n.slice(r,c.index)+l,r=c.index+c[0].length,c[0].length===0&&r++,o++,o%100==0&&e.length>s)throw new a(`pattern replacement: string length limit exceeded (${s} bytes)`,`string_length`);c=i.exec(n)}return e+=n.slice(r),e}return i.replace(n,l)}catch(e){if(e instanceof a)throw e;return n}}function Yn(e,t,n){e.coverage?.hit(`bash:expansion:length`);let r=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(r){let t=r[1],n=L(e,t);return n.length>0?String(n.length):e.state.env.get(t)===void 0?`0`:`1`}if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t)&&R(e,t)){if(t===`FUNCNAME`){let t=e.state.funcNameStack?.[0]||``;return String([...t].length)}if(t===`BASH_LINENO`){let t=e.state.callLineStack?.[0];return String(t===void 0?0:[...String(t)].length)}let n=e.state.env.get(`${t}_0`)||``;return String([...n].length)}return String([...n].length)}async function Xn(e,t,n,i){e.coverage?.hit(`bash:expansion:substring`);let a=await O(e,i.offset.expression),s=i.length?await O(e,i.length.expression):void 0;if(t===`@`||t===`*`){let t=Number.parseInt(e.state.env.get(`#`)||`0`,10),n=[];for(let r=1;r<=t;r++)n.push(e.state.env.get(String(r))||``);let r=e.state.env.get(`0`)||`bash`,i,o;if(a<=0)if(i=[r,...n],a<0){if(o=i.length+a,o<0)return``}else o=0;else i=n,o=a-1;if(o<0||o>=i.length)return``;if(s!==void 0){let e=s<0?i.length+s:o+s;return i.slice(o,Math.max(o,e)).join(` `)}return i.slice(o).join(` `)}let c=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(c){let t=c[1];if(e.state.associativeArrays?.has(t))throw new o(1,``,`bash: \${${t}[@]: 0: 3}: bad substitution
|
|
67
|
+
`);let n=L(e,t),i=0;if(a<0){if(n.length>0){let e=n[n.length-1][0],t=(typeof e==`number`?e:0)+1+a;if(t<0||(i=n.findIndex(([e])=>typeof e==`number`&&e>=t),i<0))return``}}else if(i=n.findIndex(([e])=>typeof e==`number`&&e>=a),i<0)return``;if(s!==void 0){if(s<0)throw new r(`${c[1]}[@]: substring expression < 0`);return n.slice(i,i+s).map(([,e])=>e).join(` `)}return n.slice(i).map(([,e])=>e).join(` `)}let l=[...n],u=a;if(u<0&&(u=Math.max(0,l.length+u)),s!==void 0){if(s<0){let e=l.length+s;return l.slice(u,Math.max(u,e)).join(``)}return l.slice(u,u+s).join(``)}return l.slice(u).join(``)}async function Zn(t,n,r,i,a){if(t.coverage?.hit(`bash:expansion:case_modification`),r.pattern){let o=t.state.shoptOptions.extglob,s=``;for(let e of r.pattern.parts)if(e.type===`Glob`)s+=G(e.pattern,!0,o);else if(e.type===`Literal`)s+=G(e.value,!0,o);else if(e.type===`SingleQuoted`||e.type===`Escaped`)s+=W(e.value);else if(e.type===`DoubleQuoted`){let n=await i(t,e.parts);s+=W(n)}else if(e.type===`ParameterExpansion`){let n=await a(t,e);s+=G(n,!0,o)}let c=e(`^(?:${s})$`),l=r.direction===`upper`?e=>e.toUpperCase():e=>e.toLowerCase(),u=``,d=!1;for(let e of n)!r.all&&d?u+=e:c.test(e)?(u+=l(e),d=!0):u+=e;return u}return r.direction===`upper`?r.all?n.toUpperCase():n.charAt(0).toUpperCase()+n.slice(1):r.all?n.toLowerCase():n.charAt(0).toLowerCase()+n.slice(1)}function Qn(e,t,n,r,i){e.coverage?.hit(`bash:expansion:transform`);let a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(a&&i.operator===`Q`)return L(e,a[1]).map(([,e])=>q(e)).join(` `);if(a&&i.operator===`a`)return J(e,a[1]);let o=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[.+\]$/);if(o&&i.operator===`a`)return J(e,o[1]);switch(i.operator){case`Q`:return r?``:q(n);case`P`:return Ln(e,n);case`a`:return J(e,t);case`A`:return r?``:`${t}=${q(n)}`;case`E`:return n.replace(/\\([\\abefnrtv'"?])/g,(e,t)=>{switch(t){case`\\`:return`\\`;case`a`:return`\x07`;case`b`:return`\b`;case`e`:return`\x1B`;case`f`:return`\f`;case`n`:return`
|
|
68
|
+
`;case`r`:return`\r`;case`t`:return` `;case`v`:return`\v`;case`'`:return`'`;case`"`:return`"`;case`?`:return`?`;default:return t}});case`K`:case`k`:return r?``:q(n);case`u`:return n.charAt(0).toUpperCase()+n.slice(1);case`U`:return n.toUpperCase();case`L`:return n.toLowerCase();default:return n}}async function $n(e,t,n,r,i,a,o=!1){if(e.coverage?.hit(`bash:expansion:indirection`),P(e,t))return I(e,t)||``;let c=/^[a-zA-Z_][a-zA-Z0-9_]*\[([@*])\]$/.test(t);if(r){if(i.innerOp?.type===`UseAlternative`)return``;throw new s(`\${!${t}}`)}let l=n;if(c&&(l===``||l.includes(` `)))throw new s(`\${!${t}}`);let u=l.match(/^[a-zA-Z_][a-zA-Z0-9_]*\[(.+)\]$/);if(u&&u[1].includes(`~`))throw new s(`\${!${t}}`);return i.innerOp?a(e,{type:`ParameterExpansion`,parameter:l,operation:i.innerOp},o):await z(e,l)}function er(e,t){e.coverage?.hit(`bash:expansion:array_keys`);let n=L(e,t.array).map(([e])=>String(e));return t.star?n.join(M(e.state.env)):n.join(` `)}function tr(e,t){e.coverage?.hit(`bash:expansion:var_name_prefix`);let n=Fn(e,t.prefix);return t.star?n.join(M(e.state.env)):n.join(` `)}function nr(e,t,n,r){let i=Number.parseInt(e.state.env.get(`#`)||`0`,10),a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(t===`*`)return{isEmpty:i===0,effectiveValue:n};if(t===`@`)return{isEmpty:i===0||i===1&&e.state.env.get(`1`)===``,effectiveValue:n};if(a){let[,t,n]=a,i=L(e,t);if(i.length===0)return{isEmpty:!0,effectiveValue:``};if(n===`*`){let t=M(e.state.env),n=i.map(([,e])=>e).join(t);return{isEmpty:r?n===``:!1,effectiveValue:n}}return{isEmpty:i.length===1&&i.every(([,e])=>e===``),effectiveValue:i.map(([,e])=>e).join(` `)}}return{isEmpty:n===``,effectiveValue:n}}function rr(e){let t=0;for(;t<e.length;){let n=e[t];if(n===`\\`&&t+1<e.length){t+=2;continue}if(n===`'`){let n=e.indexOf(`'`,t+1);if(n!==-1){t=n+1;continue}}if(n===`$`&&t+1<e.length&&e[t+1]===`(`||n==="`")return!0;t++}return!1}function ir(e,t){let n=1,r=t,i=!1,a=!1;for(;r<e.length&&n>0;){let t=e[r];if(t===`\\`&&!i&&r+1<e.length){r+=2;continue}if(t===`'`&&!a){i=!i,r++;continue}if(t===`"`&&!i){a=!a,r++;continue}if(!i&&!a){if(t===`(`)n++;else if(t===`)`&&(n--,n===0))return r}r++}return-1}async function Y(e,t){let n=new D,r;try{r=n.parse(t)}catch{return``}let i=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let s=new Map(e.state.env),c=e.state.cwd,l=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let t=await e.executeScript(r),n=t.exitCode;return e.state.env=s,e.state.cwd=c,e.state.suppressVerbose=l,e.state.lastExitCode=n,e.state.env.set(`?`,String(n)),t.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||``)+t.stderr),e.state.bashPid=i,t.stdout.replace(/\n+$/,``)}catch(t){if(e.state.env=s,e.state.cwd=c,e.state.bashPid=i,e.state.suppressVerbose=l,t instanceof a)throw t;return t instanceof o?(e.state.lastExitCode=t.exitCode,e.state.env.set(`?`,String(t.exitCode)),t.stdout?.replace(/\n+$/,``)??``):``}}function ar(e,t){let n=``,r=0;for(;r<t.length;){let i=t[r];if(i===`'`){let e=t.indexOf(`'`,r+1);if(e!==-1){let i=t.slice(r+1,e);n+=U(i),r=e+1;continue}}if(i===`"`){let i=-1,a=r+1;for(;a<t.length;){if(t[a]===`\\`){a+=2;continue}if(t[a]===`"`){i=a;break}a++}if(i!==-1){let a=or(e,t.slice(r+1,i));n+=U(a),r=i+1;continue}}if(i===`$`&&r+1<t.length){let i=t[r+1];if(i===`{`){let i=t.indexOf(`}`,r+2);if(i!==-1){let a=t.slice(r+2,i);n+=e.state.env.get(a)??``,r=i+1;continue}}else if(/[a-zA-Z_]/.test(i)){let i=r+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let a=t.slice(r+1,i);n+=e.state.env.get(a)??``,r=i;continue}}if(i===`\\`&&r+1<t.length){n+=i+t[r+1],r+=2;continue}n+=i,r++}return n}function or(e,t){let n=``,r=0;for(;r<t.length;){let i=t[r];if(i===`\\`&&r+1<t.length){let e=t[r+1];if(e===`$`||e==="`"||e===`\\`||e===`"`){n+=e,r+=2;continue}n+=i,r++;continue}if(i===`$`&&r+1<t.length){let i=t[r+1];if(i===`{`){let i=t.indexOf(`}`,r+2);if(i!==-1){let a=t.slice(r+2,i);n+=e.state.env.get(a)??``,r=i+1;continue}}else if(/[a-zA-Z_]/.test(i)){let i=r+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let a=t.slice(r+1,i);n+=e.state.env.get(a)??``,r=i;continue}}n+=i,r++}return n}async function sr(e,t){let n=``,r=0;for(;r<t.length;){let i=t[r];if(i===`'`){let e=t.indexOf(`'`,r+1);if(e!==-1){let i=t.slice(r+1,e);n+=U(i),r=e+1;continue}}if(i===`"`){let i=-1,a=r+1;for(;a<t.length;){if(t[a]===`\\`){a+=2;continue}if(t[a]===`"`){i=a;break}a++}if(i!==-1){let a=await cr(e,t.slice(r+1,i));n+=U(a),r=i+1;continue}}if(i===`$`&&r+1<t.length&&t[r+1]===`(`){let i=ir(t,r+2);if(i!==-1){let a=await Y(e,t.slice(r+2,i));n+=a,r=i+1;continue}}if(i==="`"){let i=t.indexOf("`",r+1);if(i!==-1){let a=await Y(e,t.slice(r+1,i));n+=a,r=i+1;continue}}if(i===`$`&&r+1<t.length){let i=t[r+1];if(i===`{`){let i=t.indexOf(`}`,r+2);if(i!==-1){let a=t.slice(r+2,i);n+=e.state.env.get(a)??``,r=i+1;continue}}else if(/[a-zA-Z_]/.test(i)){let i=r+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let a=t.slice(r+1,i);n+=e.state.env.get(a)??``,r=i;continue}}if(i===`\\`&&r+1<t.length){n+=i+t[r+1],r+=2;continue}n+=i,r++}return n}async function cr(e,t){let n=``,r=0;for(;r<t.length;){let i=t[r];if(i===`\\`&&r+1<t.length){let e=t[r+1];if(e===`$`||e==="`"||e===`\\`||e===`"`){n+=e,r+=2;continue}n+=i,r++;continue}if(i===`$`&&r+1<t.length&&t[r+1]===`(`){let i=ir(t,r+2);if(i!==-1){let a=await Y(e,t.slice(r+2,i));n+=a,r=i+1;continue}}if(i==="`"){let i=t.indexOf("`",r+1);if(i!==-1){let a=await Y(e,t.slice(r+1,i));n+=a,r=i+1;continue}}if(i===`$`&&r+1<t.length){let i=t[r+1];if(i===`{`){let i=t.indexOf(`}`,r+2);if(i!==-1){let a=t.slice(r+2,i);n+=e.state.env.get(a)??``,r=i+1;continue}}else if(/[a-zA-Z_]/.test(i)){let i=r+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let a=t.slice(r+1,i);n+=e.state.env.get(a)??``,r=i;continue}}n+=i,r++}return n}function lr(e,t){if(!t.startsWith(`~`))return t;e.coverage?.hit(`bash:expansion:tilde`);let n=e.state.env.get(`HOME`)===void 0?`/home/user`:e.state.env.get(`HOME`);if(t===`~`||t.startsWith(`~/`))return n+t.slice(1);let r=1;for(;r<t.length&&/[a-zA-Z0-9_-]/.test(t[r]);)r++;let i=t.slice(1,r),a=t.slice(r);return a!==``&&!a.startsWith(`/`)?t:i===`root`?`/root${a}`:t}async function ur(e,t,n,r){let i=``;for(let a of t.parts)if(a.type===`Glob`)i+=G(a.pattern,!0,e.state.shoptOptions.extglob);else if(a.type===`Literal`)i+=G(a.value,!0,e.state.shoptOptions.extglob);else if(a.type===`SingleQuoted`||a.type===`Escaped`)i+=W(a.value);else if(a.type===`DoubleQuoted`){let t=await n(e,a.parts);i+=W(t)}else if(a.type===`ParameterExpansion`){let t=await r(e,a);i+=G(t,!0,e.state.shoptOptions.extglob)}else{let t=await r(e,a);i+=W(t)}return i}async function dr(t,n,r,i){if(n.length!==1||n[0].type!==`DoubleQuoted`)return null;let a=n[0];if(a.parts.length!==1||a.parts[0].type!==`ParameterExpansion`||a.parts[0].operation?.type!==`PatternReplacement`)return null;let o=a.parts[0],s=o.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!s)return null;let c=s[1],l=s[2]===`*`,u=o.operation,d=L(t,c),f=d.map(([,e])=>e);if(d.length===0){let e=t.state.env.get(c);e!==void 0&&f.push(e)}if(f.length===0)return{values:[],quoted:!0};let p=``;u.pattern&&(p=await ur(t,u.pattern,r,i));let m=u.replacement?await r(t,u.replacement.parts):``,h=p;u.anchor===`start`?h=`^${p}`:u.anchor===`end`&&(h=`${p}$`);let g=[];try{let t=e(h,u.all?`g`:``);for(let e of f)g.push(t.replace(e,m))}catch{g.push(...f)}if(l){let e=M(t.state.env);return{values:[g.join(e)],quoted:!0}}return{values:g,quoted:!0}}async function fr(e,t,n,r){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let i=t[0];if(i.parts.length!==1||i.parts[0].type!==`ParameterExpansion`||i.parts[0].operation?.type!==`PatternRemoval`)return null;let a=i.parts[0],o=a.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!o)return null;let s=o[1],c=o[2]===`*`,l=a.operation,u=L(e,s),d=u.map(([,e])=>e);if(u.length===0){let t=e.state.env.get(s);t!==void 0&&d.push(t)}if(d.length===0)return{values:[],quoted:!0};let f=``,p=e.state.shoptOptions.extglob;if(l.pattern)for(let t of l.pattern.parts)if(t.type===`Glob`)f+=G(t.pattern,l.greedy,p);else if(t.type===`Literal`)f+=G(t.value,l.greedy,p);else if(t.type===`SingleQuoted`||t.type===`Escaped`)f+=W(t.value);else if(t.type===`DoubleQuoted`){let r=await n(e,t.parts);f+=W(r)}else if(t.type===`ParameterExpansion`){let n=await r(e,t);f+=G(n,l.greedy,p)}else{let n=await r(e,t);f+=W(n)}let m=[];for(let e of d)m.push(K(e,f,l.side,l.greedy));if(c){let t=M(e.state.env);return{values:[m.join(t)],quoted:!0}}return{values:m,quoted:!0}}async function pr(e,t){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let n=t[0];if(n.parts.length!==1||n.parts[0].type!==`ParameterExpansion`||n.parts[0].operation?.type!==`DefaultValue`&&n.parts[0].operation?.type!==`UseAlternative`&&n.parts[0].operation?.type!==`AssignDefault`)return null;let r=n.parts[0],i=r.operation,a=r.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/),o,s=!1;if(a){let t=a[1];s=a[2]===`*`;let n=L(e,t),r=n.length>0||e.state.env.has(t),c=n.length===0||n.length===1&&n.every(([,e])=>e===``),l=i.checkEmpty??!1;if(o=i.type===`UseAlternative`?r&&!(l&&c):!r||l&&c,!o){if(n.length>0){let t=n.map(([,e])=>e);if(s){let n=M(e.state.env);return{values:[t.join(n)],quoted:!0}}return{values:t,quoted:!0}}let r=e.state.env.get(t);return r===void 0?{values:[],quoted:!0}:{values:[r],quoted:!0}}}else{let t=r.parameter,n=await B(e,t),a=await z(e,t),s=a===``,c=i.checkEmpty??!1;if(o=i.type===`UseAlternative`?n&&!(c&&s):!n||c&&s,!o)return{values:[a],quoted:!0}}if(o&&i.word){let t=i.word.parts,n=null,r=!1;for(let e of t)if(e.type===`ParameterExpansion`&&!e.operation){let t=e.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(t){n=t[1],r=t[2]===`*`;break}}if(n){let t=L(e,n);if(t.length>0){let n=t.map(([,e])=>e);if(r||s){let t=M(e.state.env);return{values:[n.join(t)],quoted:!0}}return{values:n,quoted:!0}}let i=e.state.env.get(n);return i===void 0?{values:[],quoted:!0}:{values:[i],quoted:!0}}}return null}async function mr(t,n,r,i,a){if(!r||n.length!==1||n[0].type!==`DoubleQuoted`)return null;let o=n[0],s=-1,c=``,l=!1,u=null;for(let e=0;e<o.parts.length;e++){let t=o.parts[e];if(t.type===`ParameterExpansion`&&(t.operation?.type===`PatternRemoval`||t.operation?.type===`PatternReplacement`)){let n=t.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(n){s=e,c=n[1],l=n[2]===`*`,u=t.operation;break}}}if(s===-1||s===0&&s===o.parts.length-1)return null;let d=``;for(let e=0;e<s;e++)d+=await i(t,o.parts[e]);let f=``;for(let e=s+1;e<o.parts.length;e++)f+=await i(t,o.parts[e]);let p=L(t,c),m=p.map(([,e])=>e);if(p.length===0){let e=t.state.env.get(c);if(e!==void 0)m=[e];else{if(l)return{values:[d+f],quoted:!0};let e=d+f;return{values:e?[e]:[],quoted:!0}}}if(u?.type===`PatternRemoval`){let e=u,n=``,r=t.state.shoptOptions.extglob;if(e.pattern)for(let o of e.pattern.parts)if(o.type===`Glob`)n+=G(o.pattern,e.greedy,r);else if(o.type===`Literal`)n+=G(o.value,e.greedy,r);else if(o.type===`SingleQuoted`||o.type===`Escaped`)n+=W(o.value);else if(o.type===`DoubleQuoted`){let e=await a(t,o.parts);n+=W(e)}else if(o.type===`ParameterExpansion`){let a=await i(t,o);n+=G(a,e.greedy,r)}else{let e=await i(t,o);n+=W(e)}m=m.map(t=>K(t,n,e.side,e.greedy))}else if(u?.type===`PatternReplacement`){let n=u,r=``;if(n.pattern)for(let e of n.pattern.parts)if(e.type===`Glob`)r+=G(e.pattern,!0,t.state.shoptOptions.extglob);else if(e.type===`Literal`)r+=G(e.value,!0,t.state.shoptOptions.extglob);else if(e.type===`SingleQuoted`||e.type===`Escaped`)r+=W(e.value);else if(e.type===`DoubleQuoted`){let n=await a(t,e.parts);r+=W(n)}else if(e.type===`ParameterExpansion`){let n=await i(t,e);r+=G(n,!0,t.state.shoptOptions.extglob)}else{let n=await i(t,e);r+=W(n)}let o=n.replacement?await a(t,n.replacement.parts):``,s=r;n.anchor===`start`?s=`^${r}`:n.anchor===`end`&&(s=`${r}$`);try{let t=e(s,n.all?`g`:``);m=m.map(e=>t.replace(e,o))}catch{}}if(l){let e=M(t.state.env);return{values:[d+m.join(e)+f],quoted:!0}}return m.length===1?{values:[d+m[0]+f],quoted:!0}:{values:[d+m[0],...m.slice(1,-1),m[m.length-1]+f],quoted:!0}}async function hr(e,t,n,r){if(!n||t.length!==1||t[0].type!==`DoubleQuoted`)return null;let i=t[0],a=-1,o=``,s=!1;for(let e=0;e<i.parts.length;e++){let t=i.parts[e];if(t.type===`ParameterExpansion`&&!t.operation){let n=t.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(n){a=e,o=n[1],s=n[2]===`*`;break}}}if(a===-1)return null;let c=``;for(let t=0;t<a;t++)c+=await r(e,i.parts[t]);let l=``;for(let t=a+1;t<i.parts.length;t++)l+=await r(e,i.parts[t]);let u=L(e,o),d=u.map(([,e])=>e);if(u.length===0){let t=e.state.env.get(o);if(t!==void 0)return{values:[c+t+l],quoted:!0};if(s)return{values:[c+l],quoted:!0};let n=c+l;return{values:n?[n]:[],quoted:!0}}if(s){let t=M(e.state.env);return{values:[c+d.join(t)+l],quoted:!0}}return d.length===1?{values:[c+d[0]+l],quoted:!0}:{values:[c+d[0],...d.slice(1,-1),d[d.length-1]+l],quoted:!0}}async function gr(e,t,n){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let i=t[0];if(i.parts.length!==1||i.parts[0].type!==`ParameterExpansion`||i.parts[0].operation?.type!==`Substring`)return null;let a=i.parts[0],s=a.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!s)return null;let c=s[1],l=s[2]===`*`,u=a.operation;if(e.state.associativeArrays?.has(c))throw new o(1,``,`bash: \${${c}[@]: 0: 3}: bad substitution
|
|
69
|
+
`);let d=u.offset?await n(e,u.offset.expression):0,f=u.length?await n(e,u.length.expression):void 0,p=L(e,c),m=0;if(d<0){if(p.length>0){let e=p[p.length-1][0],t=(typeof e==`number`?e:0)+1+d;if(t<0)return{values:[],quoted:!0};m=p.findIndex(([e])=>typeof e==`number`&&e>=t),m<0&&(m=p.length)}}else m=p.findIndex(([e])=>typeof e==`number`&&e>=d),m<0&&(m=p.length);let h;if(f!==void 0){if(f<0)throw new r(`${c}[@]: substring expression < 0`);h=p.slice(m,m+f).map(([,e])=>e)}else h=p.slice(m).map(([,e])=>e);if(h.length===0)return{values:[],quoted:!0};if(l){let t=M(e.state.env);return{values:[h.join(t)],quoted:!0}}return{values:h,quoted:!0}}function _r(e,t){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let n=t[0];if(n.parts.length!==1||n.parts[0].type!==`ParameterExpansion`||n.parts[0].operation?.type!==`Transform`)return null;let r=n.parts[0],i=r.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!i)return null;let a=i[1],o=i[2]===`*`,s=r.operation,c=L(e,a);if(c.length===0){let t=e.state.env.get(a);if(t!==void 0){let n;switch(s.operator){case`a`:n=``;break;case`P`:n=Ln(e,t);break;case`Q`:n=q(t);break;default:n=t}return{values:[n],quoted:!0}}return o?{values:[``],quoted:!0}:{values:[],quoted:!0}}let l=J(e,a),u;switch(s.operator){case`a`:u=c.map(()=>l);break;case`P`:u=c.map(([,t])=>Ln(e,t));break;case`Q`:u=c.map(([,e])=>q(e));break;case`u`:u=c.map(([,e])=>e.charAt(0).toUpperCase()+e.slice(1));break;case`U`:u=c.map(([,e])=>e.toUpperCase());break;case`L`:u=c.map(([,e])=>e.toLowerCase());break;default:u=c.map(([,e])=>e)}if(o){let t=M(e.state.env);return{values:[u.join(t)],quoted:!0}}return{values:u,quoted:!0}}function vr(e,t){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let n=t[0];if(n.parts.length!==1||n.parts[0].type!==`ParameterExpansion`)return null;let r=n.parts[0];if(r.operation)return null;let i=r.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(@)\]$/);if(!i)return null;let a=i[1];if(P(e,a)){let t=I(e,a);if(t?.endsWith(`[@]`)||t?.endsWith(`[*]`))return{values:[],quoted:!0}}let o=L(e,a);if(o.length>0)return{values:o.map(([,e])=>e),quoted:!0};let s=e.state.env.get(a);return s===void 0?{values:[],quoted:!0}:{values:[s],quoted:!0}}function yr(e,t){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let n=t[0];if(n.parts.length!==1||n.parts[0].type!==`ParameterExpansion`||n.parts[0].operation)return null;let r=n.parts[0].parameter;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)||!P(e,r))return null;let i=I(e,r);if(!i)return null;let a=i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(@)\]$/);if(!a)return null;let o=a[1],s=L(e,o);if(s.length>0)return{values:s.map(([,e])=>e),quoted:!0};let c=e.state.env.get(o);return c===void 0?{values:[],quoted:!0}:{values:[c],quoted:!0}}async function br(e,t,n,r,i){if(!n||t.length!==1||t[0].type!==`DoubleQuoted`)return null;let a=t[0];if(a.parts.length!==1||a.parts[0].type!==`ParameterExpansion`||a.parts[0].operation?.type!==`Indirection`)return null;let o=a.parts[0],s=o.operation,c=await z(e,o.parameter),l=c.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!l){if(!s.innerOp&&(c===`@`||c===`*`)){let t=Number.parseInt(e.state.env.get(`#`)||`0`,10),n=[];for(let r=1;r<=t;r++)n.push(e.state.env.get(String(r))||``);return c===`*`?{values:[n.join(M(e.state.env))],quoted:!0}:{values:n,quoted:!0}}return null}let u=l[1],d=l[2]===`*`,f=L(e,u);if(s.innerOp){if(s.innerOp.type===`Substring`)return xr(e,f,u,d,s.innerOp);if(s.innerOp.type===`DefaultValue`||s.innerOp.type===`UseAlternative`||s.innerOp.type===`AssignDefault`||s.innerOp.type===`ErrorIfUnset`)return Sr(e,f,u,d,s.innerOp,i);if(s.innerOp.type===`Transform`&&s.innerOp.operator===`a`){let t=J(e,u),n=f.map(()=>t);return d?{values:[n.join(M(e.state.env))],quoted:!0}:{values:n,quoted:!0}}let t=[];for(let[,n]of f){let i={type:`ParameterExpansion`,parameter:`_indirect_elem_`,operation:s.innerOp},a=e.state.env.get(`_indirect_elem_`);e.state.env.set(`_indirect_elem_`,n);try{let n=await r(e,i,!0);t.push(n)}finally{a===void 0?e.state.env.delete(`_indirect_elem_`):e.state.env.set(`_indirect_elem_`,a)}}return d?{values:[t.join(M(e.state.env))],quoted:!0}:{values:t,quoted:!0}}if(f.length>0){let t=f.map(([,e])=>e);return d?{values:[t.join(M(e.state.env))],quoted:!0}:{values:t,quoted:!0}}let p=e.state.env.get(u);return p===void 0?{values:[],quoted:!0}:{values:[p],quoted:!0}}async function xr(e,t,n,i,a){let o=a.offset?await O(e,a.offset.expression):0,s=a.length?await O(e,a.length.expression):void 0,c=0;if(o<0){if(t.length>0){let e=t[t.length-1][0],n=(typeof e==`number`?e:0)+1+o;if(n<0||(c=t.findIndex(([e])=>typeof e==`number`&&e>=n),c<0))return{values:[],quoted:!0}}}else if(c=t.findIndex(([e])=>typeof e==`number`&&e>=o),c<0)return{values:[],quoted:!0};let l;if(s!==void 0){if(s<0)throw new r(`${n}[@]: substring expression < 0`);l=t.slice(c,c+s)}else l=t.slice(c);let u=l.map(([,e])=>e);return i?{values:[u.join(M(e.state.env))],quoted:!0}:{values:u,quoted:!0}}async function Sr(e,t,n,r,i,a){let o=i.checkEmpty??!1,s=t.map(([,e])=>e),c=t.length===0,l=t.length===0;if(i.type===`UseAlternative`)return!l&&!(o&&c)&&i.word?{values:[await a(e,i.word.parts,!0)],quoted:!0}:{values:[],quoted:!0};if(i.type===`DefaultValue`)return(l||o&&c)&&i.word?{values:[await a(e,i.word.parts,!0)],quoted:!0}:r?{values:[s.join(M(e.state.env))],quoted:!0}:{values:s,quoted:!0};if(i.type===`AssignDefault`){if((l||o&&c)&&i.word){let t=await a(e,i.word.parts,!0);return e.state.env.set(`${n}_0`,t),e.state.env.set(`${n}__length`,`1`),{values:[t],quoted:!0}}return r?{values:[s.join(M(e.state.env))],quoted:!0}:{values:s,quoted:!0}}return r?{values:[s.join(M(e.state.env))],quoted:!0}:{values:s,quoted:!0}}async function Cr(e,t){if(t.length!==1||t[0].type!==`ParameterExpansion`||t[0].operation?.type!==`UseAlternative`&&t[0].operation?.type!==`DefaultValue`)return null;let n=t[0],r=n.operation,i=r?.word;if(!i||i.parts.length!==1||i.parts[0].type!==`DoubleQuoted`)return null;let a=i.parts[0];if(a.parts.length!==1||a.parts[0].type!==`ParameterExpansion`||a.parts[0].operation?.type!==`Indirection`)return null;let o=a.parts[0],s=(await z(e,o.parameter)).match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!s)return null;let c=await B(e,n.parameter),l=await z(e,n.parameter)===``,u=r.checkEmpty??!1,d;if(d=r.type===`UseAlternative`?c&&!(u&&l):!c||u&&l,d){let t=s[1],n=s[2]===`*`,r=L(e,t);if(r.length>0){let t=r.map(([,e])=>e);return n?{values:[t.join(M(e.state.env))],quoted:!0}:{values:t,quoted:!0}}let i=e.state.env.get(t);return i===void 0?{values:[],quoted:!0}:{values:[i],quoted:!0}}return{values:[],quoted:!1}}async function wr(e,t){if(t.length!==1||t[0].type!==`ParameterExpansion`||t[0].operation?.type!==`Indirection`)return null;let n=t[0],r=n.operation.innerOp;if(!r||r.type!==`UseAlternative`&&r.type!==`DefaultValue`)return null;let i=r.word;if(!i||i.parts.length!==1||i.parts[0].type!==`DoubleQuoted`)return null;let a=i.parts[0];if(a.parts.length!==1||a.parts[0].type!==`ParameterExpansion`||a.parts[0].operation?.type!==`Indirection`)return null;let o=a.parts[0],s=(await z(e,o.parameter)).match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!s)return null;let c=await z(e,n.parameter),l=await B(e,n.parameter),u=c===``,d=r.checkEmpty??!1,f;if(f=r.type===`UseAlternative`?l&&!(d&&u):!l||d&&u,f){let t=s[1],n=s[2]===`*`,r=L(e,t);if(r.length>0){let t=r.map(([,e])=>e);return n?{values:[t.join(M(e.state.env))],quoted:!0}:{values:t,quoted:!0}}let i=e.state.env.get(t);return i===void 0?{values:[],quoted:!0}:{values:[i],quoted:!0}}return{values:[],quoted:!1}}function Tr(e){let t=Number.parseInt(e.state.env.get(`#`)||`0`,10),n=[];for(let r=1;r<=t;r++)n.push(e.state.env.get(String(r))||``);return n}async function Er(e,t,n,r){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let i=t[0],a=-1,o=!1;for(let e=0;e<i.parts.length;e++){let t=i.parts[e];if(t.type===`ParameterExpansion`&&(t.parameter===`@`||t.parameter===`*`)&&t.operation?.type===`Substring`){a=e,o=t.parameter===`*`;break}}if(a===-1)return null;let s=i.parts[a].operation,c=s.offset?await n(e,s.offset.expression):0,l=s.length?await n(e,s.length.expression):void 0,u=Number.parseInt(e.state.env.get(`#`)||`0`,10),d=[];for(let t=1;t<=u;t++)d.push(e.state.env.get(String(t))||``);let f=e.state.env.get(`0`)||`bash`,p;if(c<=0){let e=[f,...d],t=e.length+c;if(t<0)p=[];else{let n=c<0?t:0;if(l!==void 0){let t=l<0?e.length+l:n+l;p=e.slice(n,Math.max(n,t))}else p=e.slice(n)}}else{let e=c-1;if(e>=d.length)p=[];else if(l!==void 0){let t=l<0?d.length+l:e+l;p=d.slice(e,Math.max(e,t))}else p=d.slice(e)}let m=``;for(let t=0;t<a;t++)m+=await r(e,i.parts[t]);let h=``;for(let t=a+1;t<i.parts.length;t++)h+=await r(e,i.parts[t]);if(p.length===0){let e=m+h;return{values:e?[e]:[],quoted:!0}}if(o){let t=M(e.state.env);return{values:[m+p.join(t)+h],quoted:!0}}return p.length===1?{values:[m+p[0]+h],quoted:!0}:{values:[m+p[0],...p.slice(1,-1),p[p.length-1]+h],quoted:!0}}async function Dr(t,n,r,i){if(n.length!==1||n[0].type!==`DoubleQuoted`)return null;let a=n[0],o=-1,s=!1;for(let e=0;e<a.parts.length;e++){let t=a.parts[e];if(t.type===`ParameterExpansion`&&(t.parameter===`@`||t.parameter===`*`)&&t.operation?.type===`PatternReplacement`){o=e,s=t.parameter===`*`;break}}if(o===-1)return null;let c=a.parts[o].operation,l=Tr(t),u=``;for(let e=0;e<o;e++)u+=await r(t,a.parts[e]);let d=``;for(let e=o+1;e<a.parts.length;e++)d+=await r(t,a.parts[e]);if(l.length===0){let e=u+d;return{values:e?[e]:[],quoted:!0}}let f=``;if(c.pattern)for(let e of c.pattern.parts)if(e.type===`Glob`)f+=G(e.pattern,!0,t.state.shoptOptions.extglob);else if(e.type===`Literal`)f+=G(e.value,!0,t.state.shoptOptions.extglob);else if(e.type===`SingleQuoted`||e.type===`Escaped`)f+=W(e.value);else if(e.type===`DoubleQuoted`){let n=await i(t,e.parts);f+=W(n)}else if(e.type===`ParameterExpansion`){let n=await r(t,e);f+=G(n,!0,t.state.shoptOptions.extglob)}else{let n=await r(t,e);f+=W(n)}let p=c.replacement?await i(t,c.replacement.parts):``,m=f;c.anchor===`start`?m=`^${f}`:c.anchor===`end`&&(m=`${f}$`);let h=[];try{let t=e(m,c.all?`g`:``);for(let e of l)h.push(t.replace(e,p))}catch{h.push(...l)}if(s){let e=M(t.state.env);return{values:[u+h.join(e)+d],quoted:!0}}return h.length===1?{values:[u+h[0]+d],quoted:!0}:{values:[u+h[0],...h.slice(1,-1),h[h.length-1]+d],quoted:!0}}async function Or(e,t,n,r){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let i=t[0],a=-1,o=!1;for(let e=0;e<i.parts.length;e++){let t=i.parts[e];if(t.type===`ParameterExpansion`&&(t.parameter===`@`||t.parameter===`*`)&&t.operation?.type===`PatternRemoval`){a=e,o=t.parameter===`*`;break}}if(a===-1)return null;let s=i.parts[a].operation,c=Tr(e),l=``;for(let t=0;t<a;t++)l+=await n(e,i.parts[t]);let u=``;for(let t=a+1;t<i.parts.length;t++)u+=await n(e,i.parts[t]);if(c.length===0){let e=l+u;return{values:e?[e]:[],quoted:!0}}let d=``,f=e.state.shoptOptions.extglob;if(s.pattern)for(let t of s.pattern.parts)if(t.type===`Glob`)d+=G(t.pattern,s.greedy,f);else if(t.type===`Literal`)d+=G(t.value,s.greedy,f);else if(t.type===`SingleQuoted`||t.type===`Escaped`)d+=W(t.value);else if(t.type===`DoubleQuoted`){let n=await r(e,t.parts);d+=W(n)}else if(t.type===`ParameterExpansion`){let r=await n(e,t);d+=G(r,s.greedy,f)}else{let r=await n(e,t);d+=W(r)}let p=[];for(let e of c)p.push(K(e,d,s.side,s.greedy));if(o){let t=M(e.state.env);return{values:[l+p.join(t)+u],quoted:!0}}return p.length===1?{values:[l+p[0]+u],quoted:!0}:{values:[l+p[0],...p.slice(1,-1),p[p.length-1]+u],quoted:!0}}async function kr(e,t,n){if(t.length!==1||t[0].type!==`DoubleQuoted`)return null;let r=t[0],i=-1,a=!1;for(let e=0;e<r.parts.length;e++){let t=r.parts[e];if(t.type===`ParameterExpansion`&&(t.parameter===`@`||t.parameter===`*`)){i=e,a=t.parameter===`*`;break}}if(i===-1)return null;let o=r.parts[i];if(o.type===`ParameterExpansion`&&o.operation)return null;let s=Number.parseInt(e.state.env.get(`#`)||`0`,10),c=``;for(let t=0;t<i;t++)c+=await n(e,r.parts[t]);let l=``;for(let t=i+1;t<r.parts.length;t++)l+=await n(e,r.parts[t]);if(s===0){if(a)return{values:[c+l],quoted:!0};let e=c+l;return{values:e?[e]:[],quoted:!0}}let u=[];for(let t=1;t<=s;t++)u.push(e.state.env.get(String(t))||``);if(a){let t=M(e.state.env);return{values:[c+u.join(t)+l],quoted:!0}}return u.length===1?{values:[c+u[0]+l],quoted:!0}:{values:[c+u[0],...u.slice(1,-1),u[u.length-1]+l],quoted:!0}}function Ar(e){return new Pt(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations})}async function X(e,n){if(e.state.options.noglob)return n;let r=Ar(e),i=[];for(let a of n)if(H(a,e.state.shoptOptions.extglob)){let e=await r.expand(a);if(e.length>0)i.push(...e);else{if(r.hasFailglob())throw new t(a);r.hasNullglob()||i.push(a)}}else i.push(a);return i}async function jr(t,n,r,i){let a=-1,o=``,s=!1;for(let e=0;e<n.length;e++){let t=n[e];if(t.type===`ParameterExpansion`&&t.operation?.type===`PatternReplacement`){let n=t.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(n){a=e,o=n[1],s=n[2]===`*`;break}}}if(a===-1)return null;let c=n[a].operation,l=L(t,o),u=l.map(([,e])=>e);if(l.length===0){let e=t.state.env.get(o);e!==void 0&&(u=[e])}if(u.length===0)return{values:[],quoted:!1};let d=``;if(c.pattern)for(let e of c.pattern.parts)if(e.type===`Glob`)d+=G(e.pattern,!0,t.state.shoptOptions.extglob);else if(e.type===`Literal`)d+=G(e.value,!0,t.state.shoptOptions.extglob);else if(e.type===`SingleQuoted`||e.type===`Escaped`)d+=W(e.value);else if(e.type===`DoubleQuoted`){let n=await r(t,e.parts);d+=W(n)}else if(e.type===`ParameterExpansion`){let n=await i(t,e);d+=G(n,!0,t.state.shoptOptions.extglob)}else{let n=await i(t,e);d+=W(n)}let f=c.replacement?await r(t,c.replacement.parts):``,p=d;c.anchor===`start`?p=`^${d}`:c.anchor===`end`&&(p=`${d}$`);let m=[];try{let t=e(p,c.all?`g`:``);for(let e of u)m.push(t.replace(e,f))}catch{m.push(...u)}let h=A(t.state.env),g=j(t.state.env);if(s){let e=M(t.state.env),n=m.join(e);return g?{values:n?[n]:[],quoted:!1}:{values:N(n,h),quoted:!1}}if(g)return{values:m,quoted:!1};let _=[];for(let e of m)e===``?_.push(``):_.push(...N(e,h));return{values:_,quoted:!1}}async function Mr(e,t,n,r){let i=-1,a=``,o=!1;for(let e=0;e<t.length;e++){let n=t[e];if(n.type===`ParameterExpansion`&&n.operation?.type===`PatternRemoval`){let t=n.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(t){i=e,a=t[1],o=t[2]===`*`;break}}}if(i===-1)return null;let s=t[i].operation,c=L(e,a),l=c.map(([,e])=>e);if(c.length===0){let t=e.state.env.get(a);t!==void 0&&(l=[t])}if(l.length===0)return{values:[],quoted:!1};let u=``,d=e.state.shoptOptions.extglob;if(s.pattern)for(let t of s.pattern.parts)if(t.type===`Glob`)u+=G(t.pattern,s.greedy,d);else if(t.type===`Literal`)u+=G(t.value,s.greedy,d);else if(t.type===`SingleQuoted`||t.type===`Escaped`)u+=W(t.value);else if(t.type===`DoubleQuoted`){let r=await n(e,t.parts);u+=W(r)}else if(t.type===`ParameterExpansion`){let n=await r(e,t);u+=G(n,s.greedy,d)}else{let n=await r(e,t);u+=W(n)}let f=[];for(let e of l)f.push(K(e,u,s.side,s.greedy));let p=A(e.state.env),m=j(e.state.env);if(o){let t=M(e.state.env),n=f.join(t);return m?{values:n?[n]:[],quoted:!1}:{values:N(n,p),quoted:!1}}if(m)return{values:f,quoted:!1};let h=[];for(let e of f)e===``?h.push(``):h.push(...N(e,p));return{values:h,quoted:!1}}async function Nr(e,t,n,r){let i=-1,a=!1;for(let e=0;e<t.length;e++){let n=t[e];if(n.type===`ParameterExpansion`&&(n.parameter===`@`||n.parameter===`*`)&&n.operation?.type===`PatternRemoval`){i=e,a=n.parameter===`*`;break}}if(i===-1)return null;let o=t[i].operation,s=Number.parseInt(e.state.env.get(`#`)||`0`,10),c=[];for(let t=1;t<=s;t++)c.push(e.state.env.get(String(t))||``);if(c.length===0)return{values:[],quoted:!1};let l=``,u=e.state.shoptOptions.extglob;if(o.pattern)for(let t of o.pattern.parts)if(t.type===`Glob`)l+=G(t.pattern,o.greedy,u);else if(t.type===`Literal`)l+=G(t.value,o.greedy,u);else if(t.type===`SingleQuoted`||t.type===`Escaped`)l+=W(t.value);else if(t.type===`DoubleQuoted`){let r=await n(e,t.parts);l+=W(r)}else if(t.type===`ParameterExpansion`){let n=await r(e,t);l+=G(n,o.greedy,u)}else{let n=await r(e,t);l+=W(n)}let d=[];for(let e of c)d.push(K(e,l,o.side,o.greedy));let f=A(e.state.env),p=j(e.state.env);if(a){let t=M(e.state.env),n=d.join(t);return p?{values:n?[n]:[],quoted:!1}:{values:N(n,f),quoted:!1}}if(p)return{values:d,quoted:!1};let m=[];for(let e of d)e===``?m.push(``):m.push(...N(e,f));return{values:m,quoted:!1}}async function Pr(e,t,n,r){let i=-1,a=!1;for(let e=0;e<t.length;e++){let n=t[e];if(n.type===`ParameterExpansion`&&(n.parameter===`@`||n.parameter===`*`)&&n.operation?.type===`Substring`){i=e,a=n.parameter===`*`;break}}if(i===-1)return null;let o=t[i].operation,s=o.offset?await n(e,o.offset.expression):0,c=o.length?await n(e,o.length.expression):void 0,l=Number.parseInt(e.state.env.get(`#`)||`0`,10),u=[];for(let t=1;t<=l;t++)u.push(e.state.env.get(String(t))||``);let d=e.state.env.get(`0`)||`bash`,f;if(s<=0){let e=[d,...u],t=e.length+s;if(t<0)f=[];else{let n=s<0?t:0;if(c!==void 0){let t=c<0?e.length+c:n+c;f=e.slice(n,Math.max(n,t))}else f=e.slice(n)}}else{let e=s-1;if(e>=u.length)f=[];else if(c!==void 0){let t=c<0?u.length+c:e+c;f=u.slice(e,Math.max(e,t))}else f=u.slice(e)}let p=``;for(let n=0;n<i;n++)p+=await r(e,t[n]);let m=``;for(let n=i+1;n<t.length;n++)m+=await r(e,t[n]);let h=A(e.state.env),g=j(e.state.env);if(f.length===0){let e=p+m;return e?g?{values:[e],quoted:!1}:{values:N(e,h),quoted:!1}:{values:[],quoted:!1}}let _;if(a){let t=M(e.state.env),n=p+f.join(t)+m;_=g?n?[n]:[]:N(n,h)}else if(g)_=f.length===1?[p+f[0]+m]:[p+f[0],...f.slice(1,-1),f[f.length-1]+m];else{_=[];for(let e=0;e<f.length;e++){let t=f[e];if(e===0&&(t=p+t),e===f.length-1&&(t+=m),t===``)_.push(``);else{let e=N(t,h);_.push(...e)}}}return{values:await X(e,_),quoted:!1}}async function Fr(e,t){if(t.length!==1||t[0].type!==`ParameterExpansion`||t[0].parameter!==`@`&&t[0].parameter!==`*`||t[0].operation)return null;let n=t[0].parameter===`*`,r=Number.parseInt(e.state.env.get(`#`)||`0`,10);if(r===0)return{values:[],quoted:!1};let i=[];for(let t=1;t<=r;t++)i.push(e.state.env.get(String(t))||``);let a=A(e.state.env),o=j(e.state.env),s=rn(e.state.env),c;if(n)if(o)c=i.filter(e=>e!==``);else{let t=M(e.state.env);c=N(i.join(t),a)}else if(o)c=i.filter(e=>e!==``);else if(s){c=[];for(let e of i){if(e===``)continue;let t=N(e,a);c.push(...t)}}else{c=[];for(let e of i)if(e===``)c.push(``);else{let t=N(e,a);c.push(...t)}for(;c.length>0&&c[c.length-1]===``;)c.pop()}return{values:await X(e,c),quoted:!1}}async function Ir(e,t){if(t.length!==1||t[0].type!==`ParameterExpansion`||t[0].operation)return null;let n=t[0].parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!n)return null;let r=n[1],i=n[2]===`*`,a=L(e,r),o;if(a.length===0){let t=e.state.env.get(r);if(t!==void 0)o=[t];else return{values:[],quoted:!1}}else o=a.map(([,e])=>e);let s=A(e.state.env),c=j(e.state.env),l=rn(e.state.env),u;if(i)if(c)u=o.filter(e=>e!==``);else{let t=M(e.state.env);u=N(o.join(t),s)}else if(c)u=o.filter(e=>e!==``);else if(l){u=[];for(let e of o){if(e===``)continue;let t=N(e,s);u.push(...t)}}else{u=[];for(let e of o)if(e===``)u.push(``);else{let t=N(e,s);u.push(...t)}for(;u.length>0&&u[u.length-1]===``;)u.pop()}return{values:await X(e,u),quoted:!1}}function Lr(e,t){if(t.length!==1||t[0].type!==`ParameterExpansion`||t[0].operation?.type!==`VarNamePrefix`)return null;let n=t[0].operation,r=Fn(e,n.prefix);if(r.length===0)return{values:[],quoted:!1};let i=A(e.state.env),a=j(e.state.env),o;if(n.star)if(a)o=r;else{let t=M(e.state.env);o=N(r.join(t),i)}else if(a)o=r;else{o=[];for(let e of r){let t=N(e,i);o.push(...t)}}return{values:o,quoted:!1}}function Rr(e,t){if(t.length!==1||t[0].type!==`ParameterExpansion`||t[0].operation?.type!==`ArrayKeys`)return null;let n=t[0].operation,r=L(e,n.array).map(([e])=>String(e));if(r.length===0)return{values:[],quoted:!1};let i=A(e.state.env),a=j(e.state.env),o;if(n.star)if(a)o=r;else{let t=M(e.state.env);o=N(r.join(t),i)}else if(a)o=r;else{o=[];for(let e of r){let t=N(e,i);o.push(...t)}}return{values:o,quoted:!1}}async function zr(e,t,n){let r=-1;for(let e=0;e<t.length;e++){let n=t[e];if(n.type===`ParameterExpansion`&&(n.parameter===`@`||n.parameter===`*`)&&!n.operation){r=e;break}}if(r===-1||t.length<=1)return null;let i=Number.parseInt(e.state.env.get(`#`)||`0`,10),a=[];for(let t=1;t<=i;t++)a.push(e.state.env.get(String(t))||``);let o=``;for(let i=0;i<r;i++)o+=await n(e,t[i]);let s=``;for(let i=r+1;i<t.length;i++)s+=await n(e,t[i]);let c=A(e.state.env),l=j(e.state.env),u=rn(e.state.env);if(i===0){let e=o+s;return{values:e?[e]:[],quoted:!1}}let d;{let e=[];for(let t=0;t<a.length;t++){let n=a[t];t===0&&(n=o+n),t===a.length-1&&(n+=s),e.push(n)}if(l)d=e.filter(e=>e!==``);else if(u){d=[];for(let t of e){if(t===``)continue;let e=N(t,c);d.push(...e)}}else{d=[];for(let t of e)if(t===``)d.push(``);else{let e=N(t,c);d.push(...e)}for(;d.length>0&&d[d.length-1]===``;)d.pop()}}return d.length===0?{values:[],quoted:!1}:{values:await X(e,d),quoted:!1}}async function Br(e,t,n){e.coverage?.hit(`bash:expansion:word_glob`);let r=t.parts,{hasQuoted:i,hasCommandSub:a,hasArrayVar:o,hasArrayAtExpansion:s,hasParamExpansion:c,hasVarNamePrefixExpansion:l,hasIndirection:u}=Kt(r),d=n.hasBraceExpansion(r)?await n.expandWordWithBracesAsync(e,t):null;if(d&&d.length>1)return Vr(e,d,i);let f=await Hr(e,r,s,l,u,n);if(f!==null)return f;let p=await Wr(e,r,n);if(p!==null)return p;let m=await Gr(e,r,n);if(m!==null)return m;let h=await Jr(e,r,n.expandPart);if(h!==null)return Yr(e,h);if((a||o||c)&&!j(e.state.env)){let t=A(e.state.env),i=n.buildIfsCharClassPattern(t);return Yr(e,await n.smartWordSplit(e,r,t,i,n.expandPart))}return Zr(e,t,r,await n.expandWordAsync(e,t),i,n.expandWordForGlobbing)}async function Vr(e,t,n){let r=[];for(let i of t)if(!(!n&&i===``))if(!n&&!e.state.options.noglob&&H(i,e.state.shoptOptions.extglob)){let t=await Xr(e,i);r.push(...t)}else r.push(i);return{values:r,quoted:!1}}async function Hr(e,t,n,r,i,a){if(n){let n=vr(e,t);if(n!==null)return n}{let n=yr(e,t);if(n!==null)return n}{let n=await pr(e,t);if(n!==null)return n}{let r=await mr(e,t,n,a.expandPart,a.expandWordPartsAsync);if(r!==null)return r}{let r=await hr(e,t,n,a.expandPart);if(r!==null)return r}{let n=await gr(e,t,a.evaluateArithmetic);if(n!==null)return n}{let n=_r(e,t);if(n!==null)return n}{let n=await dr(e,t,a.expandWordPartsAsync,a.expandPart);if(n!==null)return n}{let n=await fr(e,t,a.expandWordPartsAsync,a.expandPart);if(n!==null)return n}if(r&&t.length===1&&t[0].type===`DoubleQuoted`){let n=Ur(e,t);if(n!==null)return n}{let n=await br(e,t,i,a.expandParameterAsync,a.expandWordPartsAsync);if(n!==null)return n}{let n=await Cr(e,t);if(n!==null)return n}{let n=await wr(e,t);if(n!==null)return n}return null}function Ur(e,t){let n=t[0];if(n.type!==`DoubleQuoted`)return null;if(n.parts.length===1&&n.parts[0].type===`ParameterExpansion`&&n.parts[0].operation?.type===`VarNamePrefix`){let t=n.parts[0].operation,r=Fn(e,t.prefix);return t.star?{values:[r.join(M(e.state.env))],quoted:!0}:{values:r,quoted:!0}}if(n.parts.length===1&&n.parts[0].type===`ParameterExpansion`&&n.parts[0].operation?.type===`ArrayKeys`){let t=n.parts[0].operation,r=L(e,t.array).map(([e])=>String(e));return t.star?{values:[r.join(M(e.state.env))],quoted:!0}:{values:r,quoted:!0}}return null}async function Wr(e,t,n){{let r=await Er(e,t,n.evaluateArithmetic,n.expandPart);if(r!==null)return r}{let r=await Dr(e,t,n.expandPart,n.expandWordPartsAsync);if(r!==null)return r}{let r=await Or(e,t,n.expandPart,n.expandWordPartsAsync);if(r!==null)return r}{let r=await kr(e,t,n.expandPart);if(r!==null)return r}return null}async function Gr(e,t,n){{let r=await jr(e,t,n.expandWordPartsAsync,n.expandPart);if(r!==null)return r}{let r=await Mr(e,t,n.expandWordPartsAsync,n.expandPart);if(r!==null)return r}{let r=await Nr(e,t,n.expandWordPartsAsync,n.expandPart);if(r!==null)return r}{let r=await Pr(e,t,n.evaluateArithmetic,n.expandPart);if(r!==null)return r}{let n=await Fr(e,t);if(n!==null)return n}{let n=await Ir(e,t);if(n!==null)return n}{let n=Lr(e,t);if(n!==null)return n}{let n=Rr(e,t);if(n!==null)return n}{let r=await zr(e,t,n.expandPart);if(r!==null)return r}return null}function Kr(e){if(e.type!==`DoubleQuoted`)return null;for(let t=0;t<e.parts.length;t++){let n=e.parts[t];if(n.type!==`ParameterExpansion`||n.operation)continue;let r=n.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(r)return{type:`array`,name:r[1],atIndex:t,isStar:r[2]===`*`};if(n.parameter===`@`||n.parameter===`*`)return{type:`positional`,atIndex:t,isStar:n.parameter===`*`}}return null}async function qr(e,t,n,r){let i=``;for(let a=0;a<n.atIndex;a++)i+=await r(e,t.parts[a]);let a=``;for(let i=n.atIndex+1;i<t.parts.length;i++)a+=await r(e,t.parts[i]);let o;if(n.type===`array`){if(o=L(e,n.name).map(([,e])=>e),o.length===0){let t=e.state.env.get(n.name);t!==void 0&&(o=[t])}}else{let t=Number.parseInt(e.state.env.get(`#`)||`0`,10);o=[];for(let n=1;n<=t;n++)o.push(e.state.env.get(String(n))||``)}if(n.isStar){let t=M(e.state.env),n=o.join(t);return[i+n+a]}if(o.length===0){let e=i+a;return e?[e]:[]}return o.length===1?[i+o[0]+a]:[i+o[0],...o.slice(1,-1),o[o.length-1]+a]}async function Jr(e,t,n){if(t.length<2)return null;let r=!1;for(let e of t)if(Kr(e)){r=!0;break}if(!r)return null;let i=A(e.state.env),a=j(e.state.env),o=[];for(let r of t){let t=Kr(r);if(t&&r.type===`DoubleQuoted`){let i=await qr(e,r,t,n);o.push(i)}else if(r.type===`DoubleQuoted`||r.type===`SingleQuoted`){let t=await n(e,r);o.push([t])}else if(r.type===`Literal`)o.push([r.value]);else if(r.type===`ParameterExpansion`){let t=await n(e,r);if(a)o.push(t?[t]:[]);else{let e=N(t,i);o.push(e)}}else{let t=await n(e,r);if(a)o.push(t?[t]:[]);else{let e=N(t,i);o.push(e)}}}let s=[];for(let e of o)if(e.length!==0)if(s.length===0)s.push(...e);else{let t=s.length-1;s[t]=s[t]+e[0];for(let t=1;t<e.length;t++)s.push(e[t])}return s}async function Yr(e,t){if(e.state.options.noglob)return{values:t,quoted:!1};let n=[];for(let r of t)if(H(r,e.state.shoptOptions.extglob)){let t=await Xr(e,r);n.push(...t)}else n.push(r);return{values:n,quoted:!1}}async function Xr(e,n){let r=new Pt(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),i=await r.expand(n);if(i.length>0)return i;if(r.hasFailglob())throw new t(n);return r.hasNullglob()?[]:[n]}async function Zr(e,t,n,r,i,a){let o=n.some(e=>e.type===`Glob`);if(!e.state.options.noglob&&o){let n=await a(e,t);if(H(n,e.state.shoptOptions.extglob)){let t=await Xr(e,n);if(t.length>0&&t[0]!==n)return{values:t,quoted:!1};if(t.length===0)return{values:[],quoted:!1}}let i=Dn(r);return j(e.state.env)?{values:[i],quoted:!1}:{values:N(i,A(e.state.env)),quoted:!1}}if(!i&&!e.state.options.noglob&&H(r,e.state.shoptOptions.extglob)){let n=await a(e,t);if(H(n,e.state.shoptOptions.extglob)){let t=await Xr(e,n);if(t.length>0&&t[0]!==n)return{values:t,quoted:!1}}}if(r===``&&!i)return{values:[],quoted:!1};if(o&&!i){let t=Dn(r);return j(e.state.env)?{values:[t],quoted:!1}:{values:N(t,A(e.state.env)),quoted:!1}}return{values:[r],quoted:i}}async function Qr(e,t){let n=t.operation;if(!n||n.type!==`DefaultValue`&&n.type!==`AssignDefault`&&n.type!==`UseAlternative`)return null;let r=n.word;if(!r||r.parts.length===0)return null;let i=await B(e,t.parameter),a=await z(e,t.parameter,!1)===``,o=n.checkEmpty??!1,s;return s=n.type===`UseAlternative`?i&&!(o&&a):!i||o&&a,s?r.parts:null}function $r(e){return e.type===`SingleQuoted`?!0:e.type===`DoubleQuoted`?e.parts.every(e=>e.type===`Literal`):!1}async function ei(e,t){if(t.type!==`ParameterExpansion`)return null;let n=await Qr(e,t);if(!n||n.length<=1)return null;let r=n.some(e=>$r(e)),i=n.some(e=>e.type===`Literal`||e.type===`ParameterExpansion`||e.type===`CommandSubstitution`||e.type===`ArithmeticExpansion`);return r&&i?n:null}function ti(e){return e.type===`DoubleQuoted`||e.type===`SingleQuoted`||e.type===`Literal`?!1:e.type===`Glob`?Ut(e.pattern):!(!(e.type===`ParameterExpansion`||e.type===`CommandSubstitution`||e.type===`ArithmeticExpansion`)||e.type===`ParameterExpansion`&&Gt(e))}async function ni(e,t,n,r,i){if(e.coverage?.hit(`bash:expansion:word_split`),t.length===1&&t[0].type===`ParameterExpansion`){let a=t[0],o=await Qr(e,a);if(o&&o.length>0&&o.length>1&&o.some(e=>e.type===`DoubleQuoted`||e.type===`SingleQuoted`)&&o.some(e=>e.type===`Literal`||e.type===`ParameterExpansion`||e.type===`CommandSubstitution`||e.type===`ArithmeticExpansion`))return ii(e,o,n,r,i)}let a=[],o=!1;for(let n of t){let t=ti(n),r=n.type===`DoubleQuoted`||n.type===`SingleQuoted`,s=t?await ei(e,n):null,c=await i(e,n);a.push({value:c,isSplittable:t,isQuoted:r,mixedDefaultParts:s??void 0}),t&&(o=!0)}if(!o){let e=a.map(e=>e.value).join(``);return e?[e]:[]}let s=[],c=``,l=!1,u=!1,d=!1;for(let t of a)if(!t.isSplittable)u?t.isQuoted&&t.value===``?(c!==``&&s.push(c),s.push(``),l=!0,c=``,u=!1,d=!0):t.value===``?(c+=t.value,d=!1):(c!==``&&s.push(c),c=t.value,u=!1,d=!1):(c+=t.value,d=t.isQuoted&&t.value===``);else if(t.mixedDefaultParts){let a=await ii(e,t.mixedDefaultParts,n,r,i);if(a.length!==0)if(a.length===1)c+=a[0],l=!0;else{c+=a[0],s.push(c),l=!0;for(let e=1;e<a.length-1;e++)s.push(a[e]);c=a[a.length-1]}u=!1,d=!1}else{let{words:e,hadLeadingDelimiter:r,hadTrailingDelimiter:i}=un(t.value,n);if(d&&r&&c===``&&(s.push(``),l=!0),e.length===0)i&&(u=!0);else if(e.length===1)c+=e[0],l=!0,u=i;else{c+=e[0],s.push(c),l=!0;for(let t=1;t<e.length-1;t++)s.push(e[t]);c=e[e.length-1],u=i}d=!1}return c===``?s.length===0&&l&&s.push(``):s.push(c),s}function ri(e,t){return e.length>0&&t.includes(e[0])}async function ii(e,t,n,r,i){let a=[];for(let n of t){let t=!(n.type===`DoubleQuoted`||n.type===`SingleQuoted`),r=await i(e,n);a.push({value:r,isSplittable:t})}let o=[],s=``,c=!1,l=!1;for(let e of a)if(!e.isSplittable)l&&e.value!==``?(s!==``&&o.push(s),s=e.value,l=!1):s+=e.value;else{ri(e.value,n)&&s!==``&&(o.push(s),s=``,c=!0);let{words:t,hadTrailingDelimiter:r}=un(e.value,n);if(t.length===0)r&&(l=!0);else if(t.length===1)s+=t[0],c=!0,l=r;else{s+=t[0],o.push(s),c=!0;for(let e=1;e<t.length-1;e++)o.push(t[e]);s=t[t.length-1],l=r}}return s===``?o.length===0&&c&&o.push(``):o.push(s),o}function ai(e){switch(e.type){case`Literal`:return e.value;case`SingleQuoted`:return e.value;case`Escaped`:return e.value;default:return null}}function oi(e){switch(e.type){case`SingleQuoted`:case`Escaped`:case`DoubleQuoted`:return!0;case`Literal`:return e.value===``;default:return!1}}function Z(e,t,n){if(e.length>t)throw new a(`${n}: string length limit exceeded (${t} bytes)`,`string_length`)}async function Q(e,t,n=!1){let r=[];for(let i of t)r.push(await $(e,i,n));return r.join(``)}function si(e){return oi(e)}function ci(e){if(e.parts.length===0)return!0;for(let t of e.parts)if(!si(t))return!1;return!0}function li(e,t,n=!1){let r=ai(t);if(r!==null)return r;switch(t.type){case`TildeExpansion`:return n?t.user===null?`~`:`~${t.user}`:(e.coverage?.hit(`bash:expansion:tilde`),t.user===null?e.state.env.get(`HOME`)??`/home/user`:t.user===`root`?`/root`:`~${t.user}`);case`Glob`:return ar(e,t.pattern);default:return null}}async function ui(e,t){return Ci(e,t)}async function di(e,t){let n=[];for(let r of t.parts)if(r.type===`Escaped`)n.push(`\\${r.value}`);else if(r.type===`SingleQuoted`)n.push(r.value);else if(r.type===`DoubleQuoted`){let t=await Q(e,r.parts);n.push(t)}else if(r.type===`TildeExpansion`){let t=await $(e,r);n.push(On(t))}else n.push(await $(e,r));return n.join(``)}async function fi(e,t){let n=[];for(let r of t.parts)if(r.type===`Escaped`){let e=r.value;`()|*?[]`.includes(e)?n.push(`\\${e}`):n.push(e)}else if(r.type===`SingleQuoted`)n.push(U(r.value));else if(r.type===`DoubleQuoted`){let t=await Q(e,r.parts);n.push(U(t))}else n.push(await $(e,r));return n.join(``)}async function pi(e,t){let n=[];for(let r of t.parts)if(r.type===`SingleQuoted`)n.push(U(r.value));else if(r.type===`Escaped`){let e=r.value;`*?[]\\()|`.includes(e)?n.push(`\\${e}`):n.push(e)}else if(r.type===`DoubleQuoted`){let t=await Q(e,r.parts);n.push(U(t))}else r.type===`Glob`?rr(r.pattern)?n.push(await sr(e,r.pattern)):n.push(ar(e,r.pattern)):r.type===`Literal`?n.push(r.value):n.push(await $(e,r));return n.join(``)}function mi(e){for(let t of e)if(t.type===`BraceExpansion`||t.type===`DoubleQuoted`&&mi(t.parts))return!0;return!1}var hi=1e5;async function gi(e,t,n={count:0}){if(n.count>hi)return[[]];let r=[[]];for(let i of t)if(i.type===`BraceExpansion`){let t=[],a=!1,o=``;for(let r of i.items)if(r.type===`Range`){let e=Tn(r.start,r.end,r.step,r.startStr,r.endStr);if(e.expanded)for(let r of e.expanded)n.count++,t.push(r);else{a=!0,o=e.literal;break}}else{let i=await gi(e,r.word.parts,n);for(let r of i){n.count++;let i=[];for(let t of r)typeof t==`string`?i.push(t):i.push(await $(e,t));t.push(i.join(``))}}if(a){for(let e of r)n.count++,e.push(o);continue}if(r.length*t.length>e.limits.maxBraceExpansionResults||n.count>hi)return r;let s=[];for(let e of r)for(let i of t){if(n.count++,n.count>hi)return s.length>0?s:r;s.push([...e,i])}r=s}else for(let e of r)n.count++,e.push(i);return r}async function _i(e,t){let n=t.parts;if(!mi(n))return[await ui(e,t)];let r=await gi(e,n),i=[];for(let t of r){let n=[];for(let r of t)typeof r==`string`?n.push(r):n.push(await $(e,r));i.push(lr(e,n.join(``)))}return i}function vi(){return{expandWordAsync:Ci,expandWordForGlobbing:pi,expandWordWithBracesAsync:_i,expandWordPartsAsync:Q,expandPart:$,expandParameterAsync:wi,hasBraceExpansion:mi,evaluateArithmetic:O,buildIfsCharClassPattern:an,smartWordSplit:ni}}async function yi(e,t){return Br(e,t,vi())}function bi(e){for(let t of e){if(t.type===`ParameterExpansion`)return t.parameter;if(t.type===`Literal`)return t.value}return``}function xi(e,t){if(Number.parseInt(e.state.env.get(`#`)||`0`,10)<2)return!1;function n(e){for(let t of e)if(t.type===`DoubleQuoted`){for(let e of t.parts)if(e.type===`ParameterExpansion`&&e.parameter===`@`&&!e.operation)return!0}return!1}return n(t.parts)}async function Si(e,t){if(xi(e,t))return{error:`bash: $@: ambiguous redirect
|
|
70
|
+
`};let n=t.parts,{hasQuoted:r}=Kt(n);if(mi(n)&&(await _i(e,t)).length>1)return{error:`bash: ${n.map(e=>e.type===`Literal`?e.value:e.type===`BraceExpansion`?`{${e.items.map(e=>{if(e.type===`Range`){let t=e.step?`..${e.step}`:``;return`${e.startStr??e.start}..${e.endStr??e.end}${t}`}return e.word.parts.map(e=>e.type===`Literal`?e.value:``).join(``)}).join(`,`)}}`:``).join(``)}: ambiguous redirect
|
|
71
|
+
`};let i=await Ci(e,t),{hasParamExpansion:a,hasCommandSub:o}=Kt(n);if((a||o)&&!r&&!j(e.state.env)&&N(i,A(e.state.env)).length>1)return{error:`bash: $${bi(n)}: ambiguous redirect
|
|
72
|
+
`};if(r||e.state.options.noglob)return{target:i};let s=await pi(e,t);if(!H(s,e.state.shoptOptions.extglob))return{target:i};let c=new Pt(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),l=await c.expand(s);return l.length===0?c.hasFailglob()?{error:`bash: no match: ${i}
|
|
73
|
+
`}:{target:i}:l.length===1?{target:l[0]}:{error:`bash: ${i}: ambiguous redirect
|
|
74
|
+
`}}async function Ci(e,t){let n=t.parts,r=n.length;if(r===1){let t=await $(e,n[0]);return Z(t,e.limits.maxStringLength,`word expansion`),t}let i=[];for(let t=0;t<r;t++)i.push(await $(e,n[t]));let a=i.join(``);return Z(a,e.limits.maxStringLength,`word expansion`),a}async function $(e,t,n=!1){if(t.type===`ParameterExpansion`)return wi(e,t,n);let r=li(e,t,n);if(r!==null)return r;switch(t.type){case`DoubleQuoted`:{let n=[];for(let r of t.parts)n.push(await $(e,r,!0));return n.join(``)}case`CommandSubstitution`:{let n=En(t.body);if(n)try{let t=await ui(e,n.target),r=t.startsWith(`/`)?t:`${e.state.cwd}/${t}`,i=await e.fs.readFile(r);e.state.lastExitCode=0,e.state.env.set(`?`,`0`);let a=i.replace(/\n+$/,``);return Z(a,e.limits.maxStringLength,`command substitution`),a}catch(t){if(t instanceof a)throw t;return e.state.lastExitCode=1,e.state.env.set(`?`,`1`),``}let r=e.substitutionDepth??0,i=e.limits.maxSubstitutionDepth;if(r>=i)throw new a(`Command substitution nesting limit exceeded (${i})`,`substitution_depth`);let s=e.substitutionDepth;e.substitutionDepth=r+1;let c=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let l=new Map(e.state.env),u=e.state.cwd,d=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let n=await e.executeScript(t.body),r=n.exitCode;e.state.env=l,e.state.cwd=u,e.state.suppressVerbose=d,e.state.lastExitCode=r,e.state.env.set(`?`,String(r)),n.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||``)+n.stderr),e.state.bashPid=c,e.substitutionDepth=s;let i=n.stdout.replace(/\n+$/,``);return Z(i,e.limits.maxStringLength,`command substitution`),i}catch(t){if(e.state.env=l,e.state.cwd=u,e.state.bashPid=c,e.substitutionDepth=s,e.state.suppressVerbose=d,t instanceof a)throw t;if(t instanceof o){e.state.lastExitCode=t.exitCode,e.state.env.set(`?`,String(t.exitCode)),t.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||``)+t.stderr);let n=t.stdout.replace(/\n+$/,``);return Z(n,e.limits.maxStringLength,`command substitution`),n}throw t}}case`ArithmeticExpansion`:{let n=t.expression.originalText;if(n&&/\$[a-zA-Z_][a-zA-Z0-9_]*(?![{[(])/.test(n)){let t=await xn(e,n),r=h(new D,t);return String(await O(e,r.expression,!0))}return String(await O(e,t.expression.expression,!0))}case`BraceExpansion`:{let n=[];for(let r of t.items)if(r.type===`Range`){let e=Tn(r.start,r.end,r.step,r.startStr,r.endStr);if(e.expanded)n.push(...e.expanded);else return e.literal}else n.push(await ui(e,r.word));return n.join(` `)}default:return``}}async function wi(e,t,n=!1){let{parameter:r}=t,{operation:i}=t,a=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let[,t,n]=a;(e.state.associativeArrays?.has(t)||n.includes(`$(`)||n.includes("`")||n.includes("${"))&&(r=`${t}[${await Sn(e,n)}]`)}else if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(r)&&P(e,r)){let t=F(e,r);if(t&&t!==r){let n=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(n){let[,t,i]=n;(e.state.associativeArrays?.has(t)||i.includes(`$(`)||i.includes("`")||i.includes("${"))&&(r=`${t}[${await Sn(e,i)}]`)}}}let o=i&&(i.type===`DefaultValue`||i.type===`AssignDefault`||i.type===`UseAlternative`||i.type===`ErrorIfUnset`),c=await z(e,r,!o);if(!i)return c;let l=!await B(e,r),{isEmpty:u,effectiveValue:d}=nr(e,r,c,n),f={value:c,isUnset:l,isEmpty:u,effectiveValue:d,inDoubleQuotes:n};switch(i.type){case`DefaultValue`:return Un(e,i,f,Q);case`AssignDefault`:return Wn(e,r,i,f,Q);case`ErrorIfUnset`:return Gn(e,r,i,f,Q);case`UseAlternative`:return Kn(e,i,f,Q);case`PatternRemoval`:{let t=await qn(e,c,i,Q,$);return Z(t,e.limits.maxStringLength,`pattern removal`),t}case`PatternReplacement`:{let t=await Jn(e,c,i,Q,$);return Z(t,e.limits.maxStringLength,`pattern replacement`),t}case`Length`:return Yn(e,r,c);case`LengthSliceError`:throw new s(r);case`BadSubstitution`:throw new s(i.text);case`Substring`:return Xn(e,r,c,i);case`CaseModification`:{let t=await Zn(e,c,i,Q,wi);return Z(t,e.limits.maxStringLength,`case modification`),t}case`Transform`:return Qn(e,r,c,l,i);case`Indirection`:return $n(e,r,c,l,i,wi,n);case`ArrayKeys`:return er(e,i);case`VarNamePrefix`:return tr(e,i);default:return c}}export{Qt as A,zn as B,Yt as C,Bn as D,On as E,S as F,yn as H,mn as I,vn as L,Vn as M,Xt as N,Et as O,Rn as P,z as R,U as S,fi as T,Jt as V,fn as _,_n as a,P as b,h as c,L as d,ui as f,A as g,di as h,nn as i,F as j,Hn as k,Si as l,I as m,hn as n,xi as o,O as p,Zt as r,C as s,ci as t,en as u,D as v,R as w,ln as x,pn as y,yi as z};
|
|
75
|
+
//# sourceMappingURL=chunk-FEIOJCZD-C25Und0M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as e}from"node:module";var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(e&&(t=e(e=0)),t),c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},u=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},d=(e,r,i)=>(i=e==null?{}:t(a(e)),u(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),f=e=>o.call(e,`module.exports`)?e[`module.exports`]:u(n({},`__esModule`,{value:!0}),e),p=e(import.meta.url);export{f as a,p as i,s as n,d as o,l as r,c as t};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
function e(e){let t=``,n=0;for(;n<e.length;)if(e[n]===`\\`){if(n+1>=e.length){t+=`\\`;break}let r=e[n+1];switch(r){case`\\`:t+=`\\`,n+=2;break;case`n`:t+=`
|
|
2
|
+
`,n+=2;break;case`t`:t+=` `,n+=2;break;case`r`:t+=`\r`,n+=2;break;case`a`:t+=`\x07`,n+=2;break;case`b`:t+=`\b`,n+=2;break;case`f`:t+=`\f`,n+=2;break;case`v`:t+=`\v`,n+=2;break;case`e`:case`E`:t+=`\x1B`,n+=2;break;case`c`:return{output:t,stop:!0};case`0`:{let r=``,i=n+2;for(;i<e.length&&i<n+5&&/[0-7]/.test(e[i]);)r+=e[i],i++;if(r.length===0)t+=`\0`;else{let e=parseInt(r,8)%256;t+=String.fromCharCode(e)}n=i;break}case`x`:{let r=``,i=n+2;for(;i<e.length&&i<n+4&&/[0-9a-fA-F]/.test(e[i]);)r+=e[i],i++;if(r.length===0)t+=`\\x`,n+=2;else{let e=parseInt(r,16);t+=String.fromCharCode(e),n=i}break}case`u`:{let r=``,i=n+2;for(;i<e.length&&i<n+6&&/[0-9a-fA-F]/.test(e[i]);)r+=e[i],i++;if(r.length===0)t+=`\\u`,n+=2;else{let e=parseInt(r,16);t+=String.fromCodePoint(e),n=i}break}case`U`:{let r=``,i=n+2;for(;i<e.length&&i<n+10&&/[0-9a-fA-F]/.test(e[i]);)r+=e[i],i++;if(r.length===0)t+=`\\U`,n+=2;else{let e=parseInt(r,16);try{t+=String.fromCodePoint(e)}catch{t+=`\\U${r}`}n=i}break}default:t+=`\\${r}`,n+=2}}else t+=e[n],n++;return{output:t,stop:!1}}var t={name:`echo`,async execute(t,n){let r=!1,i=n.xpgEcho??!1,a=0;for(;a<t.length;){let e=t[a];if(e===`-n`)r=!0,a++;else if(e===`-e`)i=!0,a++;else if(e===`-E`)i=!1,a++;else if(e===`-ne`||e===`-en`)r=!0,i=!0,a++;else break}let o=t.slice(a).join(` `);if(i){let t=e(o);if(o=t.output,t.stop)return{stdout:o,stderr:``,exitCode:0}}return r||(o+=`
|
|
3
|
+
`),{stdout:o,stderr:``,exitCode:0}}},n={name:`echo`,flags:[{flag:`-n`,type:`boolean`},{flag:`-e`,type:`boolean`},{flag:`-E`,type:`boolean`}],stdinType:`none`,needsArgs:!0};export{n,t};
|
|
4
|
+
//# sourceMappingURL=chunk-GCTKCWKD-Di-RB9Qt.mjs.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var e=class extends Error{stdout;stderr;constructor(e,t=``,n=``){super(e),this.stdout=t,this.stderr=n}prependOutput(e,t){this.stdout=e+this.stdout,this.stderr=t+this.stderr}},t=class extends e{levels;name=`BreakError`;constructor(e=1,t=``,n=``){super(`break`,t,n),this.levels=e}},n=class extends e{levels;name=`ContinueError`;constructor(e=1,t=``,n=``){super(`continue`,t,n),this.levels=e}},r=class extends e{exitCode;name=`ReturnError`;constructor(e=0,t=``,n=``){super(`return`,t,n),this.exitCode=e}},i=class extends e{exitCode;name=`ErrexitError`;constructor(e,t=``,n=``){super(`errexit: command exited with status ${e}`,t,n),this.exitCode=e}},a=class extends e{varName;name=`NounsetError`;constructor(e,t=``){super(`${e}: unbound variable`,t,`bash: ${e}: unbound variable
|
|
2
|
+
`),this.varName=e}},o=class extends e{exitCode;name=`ExitError`;constructor(e,t=``,n=``){super(`exit`,t,n),this.exitCode=e}},s=class extends e{name=`ArithmeticError`;fatal;constructor(e,t=``,n=``,r=!1){super(e,t,n),this.stderr=n||`bash: ${e}
|
|
3
|
+
`,this.fatal=r}},c=class extends e{name=`BadSubstitutionError`;constructor(e,t=``,n=``){super(e,t,n),this.stderr=n||`bash: ${e}: bad substitution
|
|
4
|
+
`}},l=class extends e{name=`GlobError`;constructor(e,t=``,n=``){super(`no match: ${e}`,t,n),this.stderr=n||`bash: no match: ${e}
|
|
5
|
+
`}},u=class extends e{name=`BraceExpansionError`;constructor(e,t=``,n=``){super(e,t,n),this.stderr=n||`bash: ${e}
|
|
6
|
+
`}},d=class extends e{limitType;name=`ExecutionLimitError`;static EXIT_CODE=126;constructor(e,t,n=``,r=``){super(e,n,r),this.limitType=t,this.stderr=r||`bash: ${e}
|
|
7
|
+
`}},f=class extends e{name=`ExecutionAbortedError`;constructor(e=``,t=``){super(`execution aborted`,e,t)}},p=class extends e{name=`SubshellExitError`;constructor(e=``,t=``){super(`subshell exit`,e,t)}};function m(e){return e instanceof t||e instanceof n||e instanceof r}var h=class extends e{exitCode;name=`PosixFatalError`;constructor(e,t=``,n=``){super(`posix fatal error`,t,n),this.exitCode=e}};export{t as a,l as c,u as d,s as f,a as h,d as i,r as l,m,h as n,o,i as p,n as r,p as s,f as t,c as u};
|
|
8
|
+
//# sourceMappingURL=chunk-GFQRA5P5-DnjwTqP3.mjs.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{n as e,t}from"./chunk-A5O5YHGN-DvJz5Cpw.mjs";import{r as n,t as r}from"./chunk-74CEPOFO-BcZUJMO1.mjs";import{t as i}from"./chunk-3ZUFRYJ4-qsYuZX7b.mjs";var a={name:`sleep`,summary:`delay for a specified amount of time`,usage:`sleep NUMBER[SUFFIX]`,description:`Pause for NUMBER seconds. SUFFIX may be:
|
|
2
|
+
s - seconds (default)
|
|
3
|
+
m - minutes
|
|
4
|
+
h - hours
|
|
5
|
+
d - days
|
|
6
|
+
|
|
7
|
+
NUMBER may be a decimal number.`,options:[` --help display this help and exit`]},o=36e5,s={name:`sleep`,async execute(s,c){if(r(s))return n(a);if(s.length===0)return{stdout:``,stderr:`sleep: missing operand
|
|
8
|
+
`,exitCode:1};let l=0;for(let e of s){let t=i(e);if(t===null)return{stdout:``,stderr:`sleep: invalid time interval '${e}'
|
|
9
|
+
`,exitCode:1};l+=t}return l>o&&(l=o),c.signal?.aborted||(c.sleep?await c.sleep(l):c.signal?await new Promise(n=>{let r=()=>{e(i),n()},i=t(()=>{c.signal?.removeEventListener(`abort`,r),n()},l);c.signal?.addEventListener(`abort`,r,{once:!0})}):await new Promise(e=>t(e,l))),{stdout:``,stderr:``,exitCode:0}}},c={name:`sleep`,flags:[],needsArgs:!0};export{s as n,c as t};
|
|
10
|
+
//# sourceMappingURL=chunk-GOV5EKKI-CKV9jOGv.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{r as e,t}from"./chunk-74CEPOFO-BcZUJMO1.mjs";import{t as n}from"./chunk-HWKDQ44K-wgmyck2O.mjs";import{n as r}from"./chunk-7L36YK2X-D7Z_Qw_C.mjs";var i={name:`wc`,summary:`print newline, word, and byte counts for each file`,usage:`wc [OPTION]... [FILE]...`,options:[`-c, --bytes print the byte counts`,`-m, --chars print the character counts`,`-l, --lines print the newline counts`,`-w, --words print the word counts`,` --help display this help and exit`]},a={lines:{short:`l`,long:`lines`,type:`boolean`},words:{short:`w`,long:`words`,type:`boolean`},bytes:{short:`c`,long:`bytes`,type:`boolean`},chars:{short:`m`,long:`chars`,type:`boolean`}},o={name:`wc`,async execute(o,l){if(t(o))return e(i);let u=n(`wc`,o,a);if(!u.ok)return u.error;let{lines:d,words:f}=u.result.flags,p=u.result.flags.bytes||u.result.flags.chars,m=u.result.positional;!d&&!f&&!p&&(d=f=p=!0);let h=await r(l,m,{cmdName:`wc`,stopOnError:!1});if(m.length===0)return{stdout:`${c(s(h.files[0].content),d,f,p,``,0)}
|
|
2
|
+
`,stderr:``,exitCode:0};let g=[],_=0,v=0,y=0;for(let{filename:e,content:t}of h.files){let n=s(t);_+=n.lines,v+=n.words,y+=n.chars,g.push({filename:e,stats:n})}let b=m.length>1?_:Math.max(...g.map(e=>e.stats.lines)),x=m.length>1?v:Math.max(...g.map(e=>e.stats.words)),S=m.length>1?y:Math.max(...g.map(e=>e.stats.chars)),C=m.length>1?3:0;d&&(C=Math.max(C,String(b).length)),f&&(C=Math.max(C,String(x).length)),p&&(C=Math.max(C,String(S).length));let w=``;for(let{filename:e,stats:t}of g)w+=`${c(t,d,f,p,e,C)}
|
|
3
|
+
`;return m.length>1&&(w+=`${c({lines:_,words:v,chars:y},d,f,p,`total`,C)}
|
|
4
|
+
`),{stdout:w,stderr:h.stderr,exitCode:h.exitCode}}};function s(e){let t=e.length,n=0,r=0,i=!1;for(let a=0;a<t;a++){let t=e[a];t===`
|
|
5
|
+
`?(n++,i&&=(r++,!1)):t===` `||t===` `||t===`\r`?i&&=(r++,!1):i=!0}return i&&r++,{lines:n,words:r,chars:t}}function c(e,t,n,r,i,a){let o=[];t&&o.push(String(e.lines).padStart(a)),n&&o.push(String(e.words).padStart(a)),r&&o.push(String(e.chars).padStart(a));let s=o.join(` `);return i&&(s+=` ${i}`),s}var l={name:`wc`,flags:[{flag:`-l`,type:`boolean`},{flag:`-w`,type:`boolean`},{flag:`-c`,type:`boolean`},{flag:`-m`,type:`boolean`}],stdinType:`text`,needsFiles:!0};export{l as n,o as t};
|
|
6
|
+
//# sourceMappingURL=chunk-GXVXFKBA-CUKDClxt.mjs.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{n as e}from"./chunk-74CEPOFO-BcZUJMO1.mjs";function t(t,n){let r=10,i=null,a=!1,o=!1,s=!1,c=[];for(let l=0;l<t.length;l++){let u=t[l];if(u===`-n`&&l+1<t.length){let e=t[++l];n===`tail`&&e.startsWith(`+`)?(s=!0,r=parseInt(e.slice(1),10)):r=parseInt(e,10)}else if(n===`tail`&&u.startsWith(`-n+`))s=!0,r=parseInt(u.slice(3),10);else if(u.startsWith(`-n`))r=parseInt(u.slice(2),10);else if(u===`-c`&&l+1<t.length)i=parseInt(t[++l],10);else if(u.startsWith(`-c`))i=parseInt(u.slice(2),10);else if(u.startsWith(`--bytes=`))i=parseInt(u.slice(8),10);else if(u.startsWith(`--lines=`))r=parseInt(u.slice(8),10);else if(u===`-q`||u===`--quiet`||u===`--silent`)a=!0;else if(u===`-v`||u===`--verbose`)o=!0;else if(u.match(/^-\d+$/))r=parseInt(u.slice(1),10);else{if(u.startsWith(`--`)||u.startsWith(`-`)&&u!==`-`)return{ok:!1,error:e(n,u)};c.push(u)}}return i!==null&&(Number.isNaN(i)||i<0)?{ok:!1,error:{stdout:``,stderr:`${n}: invalid number of bytes
|
|
2
|
+
`,exitCode:1}}:Number.isNaN(r)||r<0?{ok:!1,error:{stdout:``,stderr:`${n}: invalid number of lines
|
|
3
|
+
`,exitCode:1}}:{ok:!0,options:{lines:r,bytes:i,quiet:a,verbose:o,files:c,fromLine:s}}}async function n(e,t,n,r){let{quiet:i,verbose:a,files:o}=t;if(o.length===0)return{stdout:r(e.stdin),stderr:``,exitCode:0};let s=``,c=``,l=0,u=a||!i&&o.length>1,d=0;for(let t=0;t<o.length;t++){let i=o[t];try{let t=e.fs.resolvePath(e.cwd,i),n=await e.fs.readFile(t);u&&(d>0&&(s+=`
|
|
4
|
+
`),s+=`==> ${i} <==
|
|
5
|
+
`),s+=r(n),d++}catch{c+=`${n}: ${i}: No such file or directory
|
|
6
|
+
`,l=1}}return{stdout:s,stderr:c,exitCode:l}}function r(e,t,n){if(n!==null)return e.slice(0,n);if(t===0)return``;let r=0,i=0,a=e.length;for(;r<a&&i<t;){let t=e.indexOf(`
|
|
7
|
+
`,r);if(t===-1)return`${e}
|
|
8
|
+
`;i++,r=t+1}return r>0?e.slice(0,r):``}function i(e,t,n,r){if(n!==null)return e.slice(-n);let i=e.length;if(i===0)return``;if(r){let n=0,r=1;for(;n<i&&r<t;){let t=e.indexOf(`
|
|
9
|
+
`,n);if(t===-1)break;r++,n=t+1}let a=e.slice(n);return a.endsWith(`
|
|
10
|
+
`)?a:`${a}
|
|
11
|
+
`}if(t===0)return``;let a=i-1;e[a]===`
|
|
12
|
+
`&&a--;let o=0;for(;a>=0&&o<t;){if(e[a]===`
|
|
13
|
+
`&&(o++,o===t)){a++;break}a--}a<0&&(a=0);let s=e.slice(a);return e[i-1]===`
|
|
14
|
+
`?s:`${s}
|
|
15
|
+
`}export{i,t as n,n as r,r as t};
|
|
16
|
+
//# sourceMappingURL=chunk-HDQ56CKY-MTQ75a8z.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./chunk-74CEPOFO-BcZUJMO1.mjs";var r={name:`readlink`,summary:`print resolved symbolic links or canonical file names`,usage:`readlink [OPTIONS] FILE...`,options:[`-f canonicalize by following every symlink in every component of the given name recursively`,` --help display this help and exit`]},i={name:`readlink`,async execute(i,a){if(n(i))return t(r);let o=!1,s=0;for(;s<i.length&&i[s].startsWith(`-`);){let t=i[s];if(t===`-f`||t===`--canonicalize`)o=!0,s++;else if(t===`--`){s++;break}else return e(`readlink`,t)}let c=i.slice(s);if(c.length===0)return{stdout:``,stderr:`readlink: missing operand
|
|
2
|
+
`,exitCode:1};let l=``,u=!1;for(let e of c){let t=a.fs.resolvePath(a.cwd,e);try{if(o){let e=t,n=new Set;for(;!n.has(e);){n.add(e);try{let t=await a.fs.readlink(e);if(t.startsWith(`/`))e=t;else{let n=e.substring(0,e.lastIndexOf(`/`))||`/`;e=a.fs.resolvePath(n,t)}}catch{break}}l+=`${e}
|
|
3
|
+
`}else{let e=await a.fs.readlink(t);l+=`${e}
|
|
4
|
+
`}}catch{o?l+=`${t}
|
|
5
|
+
`:u=!0}}return{stdout:l,stderr:``,exitCode:u?1:0}}},a={name:`readlink`,flags:[{flag:`-f`,type:`boolean`},{flag:`-e`,type:`boolean`}],needsArgs:!0};export{i as n,a as t};
|
|
6
|
+
//# sourceMappingURL=chunk-HJWBQKYG-XrOcsn2f.mjs.map
|