@sheetxl/studio-vanilla 0.4.12 → 0.4.14
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/README.md +2 -2
- package/browser/cjs/10IK8MFijJb-yvV6.cjs +7 -0
- package/browser/cjs/1bCMnueqxHW3rn0c.cjs +6 -0
- package/browser/cjs/AnJTeEGq7VP4T1b7.cjs +161 -0
- package/browser/cjs/BH3MYcOF7rxLX3Bk.cjs +15 -0
- package/browser/cjs/BQ4QeJYaIhLaInyR.cjs +6 -0
- package/browser/cjs/BU5k1OZewc-Z-kR9.cjs +6 -0
- package/browser/cjs/BlwK-VslgEVH2cgX.cjs +145 -0
- package/browser/cjs/Bm9fNNMIOLIwq-94.cjs +6 -0
- package/browser/cjs/BtiY-n4sGy6WaqNg.cjs +32 -0
- package/browser/cjs/BxgDhdrrKrJMEaXd.cjs +6 -0
- package/browser/cjs/BzT1y15V6Zs7c_zX.cjs +6 -0
- package/browser/cjs/C0ySf2emOB0Mslc-.cjs +6 -0
- package/browser/cjs/CE5U7gB5L-PE17gV.cjs +6 -0
- package/browser/cjs/CHd9vauNLHnOLflj.cjs +6 -0
- package/browser/cjs/CJZtyunL_qaXFylY.cjs +12 -0
- package/browser/cjs/CJoJ19i1z94kndlS.cjs +19 -0
- package/browser/cjs/CNcsGELwCAV-A5oH.cjs +16 -0
- package/browser/cjs/CTuM_aZX8wZICUe_.cjs +6 -0
- package/browser/cjs/CWW_yQpIswo7DEAT.cjs +6 -0
- package/browser/cjs/CXIHULOe7x4DYKXw.cjs +12 -0
- package/browser/cjs/CYLnJHryQcQO4XoG.cjs +6 -0
- package/browser/cjs/C_mbaid3FQ52usBI.cjs +6 -0
- package/browser/cjs/Cj_1qUo5cZ3FnOpK.cjs +6 -0
- package/browser/cjs/Cl0XSnWVDoaHTIlF.cjs +6 -0
- package/browser/cjs/CnLdhURNkVXo_0Eg.cjs +6 -0
- package/browser/cjs/CpIIsygD5mnJyl47.cjs +1501 -0
- package/browser/cjs/CpRfx14is2_4Wgp3.cjs +6 -0
- package/browser/cjs/Cuq8Nim-ol5Gdehe.cjs +6 -0
- package/browser/cjs/D4NcrJlqcLExwCNT.cjs +124 -0
- package/browser/cjs/D4vbOk4hD8-b-c10.cjs +6 -0
- package/browser/cjs/D5YUIQeOcujtq6XS.cjs +7 -0
- package/browser/cjs/D6uIvR-6Y690_Em2.cjs +11 -0
- package/browser/cjs/DAbScbuk-sjZXMIC.cjs +11 -0
- package/browser/cjs/DBNXGIWfZmgb_sHL.cjs +6 -0
- package/browser/cjs/DCd5OZXj2IRbxEF2.cjs +6 -0
- package/browser/cjs/DFNisISrsMnZrV4B.cjs +6 -0
- package/browser/cjs/DIYOARVcGtRjKpjZ.cjs +6 -0
- package/browser/cjs/DL4HgriZ3TY2K-QP.cjs +6 -0
- package/browser/cjs/DPbzY4ppgKPrdbWc.cjs +6 -0
- package/browser/cjs/DQGdVVTxixgptLdj.cjs +366 -0
- package/browser/cjs/DWzQm8Q32qNP7qKL.cjs +6 -0
- package/browser/cjs/D_7RtbQABH1zdcjr.cjs +7 -0
- package/browser/cjs/D_Q0s9KLnWHwKxTK.cjs +6 -0
- package/browser/cjs/DdTcwutSPJMeCIv3.cjs +6 -0
- package/browser/cjs/DlnKrZRyxBfbqaTi.cjs +13 -0
- package/browser/cjs/DtpB0PMEtamaB-Hv.cjs +6 -0
- package/browser/cjs/Dv8SE05ABKNLPY6A.cjs +6 -0
- package/browser/cjs/DxBLU16_E62Umowp.cjs +6 -0
- package/browser/cjs/VU_KaqGTjvnisS9e.cjs +6 -0
- package/browser/cjs/bS_BOH9cvVCFy36v.cjs +6 -0
- package/browser/cjs/dbUUj8LyIitsdYpk.cjs +6 -0
- package/browser/cjs/eZGLUWbfY3JdZRM5.cjs +6 -0
- package/browser/cjs/index.cjs +3 -4
- package/browser/cjs/mBk4Z4LZ65b3f58_.cjs +6 -0
- package/browser/cjs/rIOsSIPwxoXlIawS.cjs +6 -0
- package/browser/cjs/sMBG5eQ3-iacLXUm.cjs +6 -0
- package/browser/cjs/tShlMZrIxsGZSeHX.cjs +42 -0
- package/browser/cjs/xDqIifM_--oXscCV.cjs +6 -0
- package/browser/cjs/yBSdtSSuNERefFhR.cjs +15 -0
- package/browser/esm/4eRu4yzXkvCBip8J.mjs +10 -0
- package/browser/esm/73gcCsbqgbW3KIoA.mjs +1346 -0
- package/browser/esm/B383N9irNfyfYC2l.mjs +20 -0
- package/browser/esm/B4ji-HZTY0uvH8r7.mjs +10 -0
- package/browser/esm/B8TNpfJ8ymQcPriE.mjs +24 -0
- package/{cdn/assets/CiY3HumGDc_5bMtR.js → browser/esm/BBDu-GNDE7ZA-1sJ.mjs} +15 -17
- package/browser/esm/BF5nlSYZ38RJ0dPX.mjs +10 -0
- package/browser/esm/BHy77Km4i4t5U7ka.mjs +10 -0
- package/browser/esm/BIUVt79NHXdZx2Dz.mjs +10 -0
- package/browser/esm/BP6hA-zc0dMuMOIA.mjs +3755 -0
- package/browser/esm/BPen6C7JE2sWVgdi.mjs +10 -0
- package/browser/esm/BUqd1uVUNoWmepd2.mjs +148 -0
- package/browser/esm/BXABqQEa6kQQcjmt.mjs +820 -0
- package/browser/esm/BZxAttR2mi9td3k1.mjs +10 -0
- package/browser/esm/B_pEA9HeXKvEOCdS.mjs +10 -0
- package/browser/esm/BbW_1O3cEhZ4aSgS.mjs +55785 -0
- package/browser/esm/BdFNxdtES-3_yQ9R.mjs +421 -0
- package/browser/esm/BfFDvyaRcdKS0wPD.mjs +10 -0
- package/browser/esm/Bqqcb80cNalBs-sB.mjs +939 -0
- package/browser/esm/BrEcIDq0-c5AiQEf.mjs +21 -0
- package/browser/esm/BvYUsRgBXLSuaQ-S.mjs +10 -0
- package/browser/esm/BzE-61bmpRQzEVPt.mjs +10 -0
- package/browser/esm/C28AZ0Rwo79iGg0v.mjs +13208 -0
- package/browser/esm/C5GgK_mW25DZYw-I.mjs +2344 -0
- package/{cdn/assets/CfObTzh8pGdd8D23.js → browser/esm/CHjb5a2xwEWs4RgS.mjs} +505 -513
- package/browser/esm/CITPwlsNzJvv551I.mjs +10 -0
- package/browser/esm/CJiHNujoVUdO_G7X.mjs +46 -0
- package/browser/esm/CN73n4VDayKh_l1J.mjs +10 -0
- package/browser/esm/CcARDY0PFSWkqsG9.mjs +21 -0
- package/browser/esm/CeF0ZRfeSy83i80_.mjs +1575 -0
- package/browser/esm/Cmtx4dAVZrwq5cVO.mjs +10 -0
- package/browser/esm/Crza3kRJdEVylOfk.mjs +29 -0
- package/browser/esm/D3L89e08b7ewR6mt.mjs +21 -0
- package/browser/esm/D4G17ip9xxOX5jDd.mjs +3934 -0
- package/browser/esm/D9eVsUckA6bWBHni.mjs +10 -0
- package/browser/esm/DAscSzG63-mM5p50.mjs +41 -0
- package/browser/esm/DCyJNVtrh6kEt73Q.mjs +84 -0
- package/{cdn/assets/DWJE3K3jMKMTCi3o.js → browser/esm/DFwxjsVr4xKLPTGf.mjs} +65 -68
- package/browser/esm/DHPHhaCxihdR9Hl6.mjs +10 -0
- package/browser/esm/DKbJ-iVPuUbr3iZ_.mjs +47 -0
- package/browser/esm/DQLk_UmdpJBt-zZi.mjs +5582 -0
- package/browser/esm/DR7oVoNSe0FFWHOr.mjs +48 -0
- package/browser/esm/DVRMAeHUj0-TY-vK.mjs +10 -0
- package/browser/esm/DXIWAG-DUKHzNlRl.mjs +12 -0
- package/browser/esm/DbZJQpjZJIcz2ypV.mjs +39 -0
- package/browser/esm/Dft4BSeY0bp0A6z0.mjs +10 -0
- package/browser/esm/DgO85Q5iHe-ZmvtQ.mjs +633 -0
- package/browser/esm/DwRHGEuscm3FvnkM.mjs +1665 -0
- package/browser/esm/HyTvrvH0vItPFnFG.mjs +472 -0
- package/{cdn/assets/DgLPO_EQ9DYoGgec.js → browser/esm/Pkb6GWdyZdze_XAw.mjs} +174 -172
- package/browser/esm/QZikWr_NQfcFWCBV.mjs +44 -0
- package/browser/esm/aLv-xujBO4X6ilhV.mjs +10 -0
- package/{cdn/assets/DJQOS9qxVAlpgDMt.js → browser/esm/c9fba0RuWGogsH0X.mjs} +21 -23
- package/browser/esm/index.mjs +6 -2
- package/browser/esm/jkSJc6Omxbf-rPQY.mjs +10 -0
- package/browser/esm/uuCmCmYQQXgwyRSd.mjs +10 -0
- package/browser/esm/w3TGaFTjdsc4XTcz.mjs +1466 -0
- package/browser/esm/wV8riZWKJE7AoKQk.mjs +1365 -0
- package/browser/esm/wxvli1IH1NkfqE6-.mjs +10 -0
- package/cdn/assets/0fI22OQK5IczUH6s.js +29 -0
- package/cdn/assets/4eRu4yzXkvCBip8J.js +10 -0
- package/cdn/assets/5HYy7pIZxQRDUQl-.js +50 -0
- package/cdn/assets/6oc_f4xkoSmftsRd.js +22 -0
- package/cdn/assets/73gcCsbqgbW3KIoA.js +1346 -0
- package/cdn/assets/B3TPDOzYf_VRBIr6.js +2177 -0
- package/cdn/assets/B4HW_cy7gbE01jar.js +390 -0
- package/cdn/assets/B4ji-HZTY0uvH8r7.js +10 -0
- package/cdn/assets/B7Ky6m4VWP8vxhPt.js +1702 -0
- package/cdn/assets/B8TNpfJ8ymQcPriE.js +24 -0
- package/cdn/assets/BEfetwH6zTr6B51I.js +3755 -0
- package/cdn/assets/BF5nlSYZ38RJ0dPX.js +10 -0
- package/cdn/assets/BHy77Km4i4t5U7ka.js +10 -0
- package/cdn/assets/BIUVt79NHXdZx2Dz.js +10 -0
- package/cdn/assets/BPen6C7JE2sWVgdi.js +10 -0
- package/cdn/assets/BS1p7DgoyO-WkvB8.js +41 -0
- package/cdn/assets/BZxAttR2mi9td3k1.js +10 -0
- package/cdn/assets/B_pEA9HeXKvEOCdS.js +10 -0
- package/cdn/assets/BdFNxdtES-3_yQ9R.js +421 -0
- package/cdn/assets/BfFDvyaRcdKS0wPD.js +10 -0
- package/cdn/assets/{phYz0vGgqIEQ2hco.js → BiKaXKU3o287mgkN.js} +1 -1
- package/cdn/assets/BvYUsRgBXLSuaQ-S.js +10 -0
- package/cdn/assets/BzE-61bmpRQzEVPt.js +10 -0
- package/cdn/assets/C0yI-QYraFhnJUdD.js +49 -0
- package/cdn/assets/C28AZ0Rwo79iGg0v.js +13208 -0
- package/cdn/assets/{qA23x9VVBL9R4qxN.js → C3FTuqvfGalOVHql.js} +9 -9
- package/cdn/assets/{BSAH88RG1oubICau.js → C3W0xsNrt-Was9g-.js} +26 -26
- package/cdn/assets/C8rQWD8C7ccUHNZL.js +3934 -0
- package/cdn/assets/CITPwlsNzJvv551I.js +10 -0
- package/cdn/assets/CN73n4VDayKh_l1J.js +10 -0
- package/cdn/assets/CWkF-50YF43t7qge.js +472 -0
- package/cdn/assets/{Bv0Xb6DdcQbPYJKo.js → CaKPs_ILqLIWfUUN.js} +10 -11
- package/cdn/assets/CcARDY0PFSWkqsG9.js +21 -0
- package/cdn/assets/Cdx6LrqtHZKbwl63.js +425 -0
- package/cdn/assets/ChB-XZno7w9v221u.js +1575 -0
- package/cdn/assets/CkY7wM_4OGwZvJ4f.js +942 -0
- package/cdn/assets/Cmtx4dAVZrwq5cVO.js +10 -0
- package/cdn/assets/{dk2teWHDODYNarJY.js → CrBywNOOyPHSBoTT.js} +4 -4
- package/cdn/assets/D9eVsUckA6bWBHni.js +10 -0
- package/cdn/assets/DBpku3D2DSTmW4II.js +820 -0
- package/cdn/assets/DEOxG6u6itV8bGym.js +2346 -0
- package/cdn/assets/DHPHhaCxihdR9Hl6.js +10 -0
- package/cdn/assets/DMWARnjq06oQnfrL.js +58 -0
- package/cdn/assets/{BoOefjrM4kZ-YXxa.js → DRa6yXWuTlAjuaKT.js} +2 -2
- package/cdn/assets/DVRMAeHUj0-TY-vK.js +10 -0
- package/cdn/assets/DXIWAG-DUKHzNlRl.js +12 -0
- package/cdn/assets/{B3kbBB6oxKBErwzn.js → DYowHOSLHcADsXuK.js} +3 -3
- package/cdn/assets/{DkS6quwH1okWaho6.js → DZNoPrlxULASVlOi.js} +14 -14
- package/cdn/assets/{BB66NDz7S3ocEfRB.js → DaUJajqmQYuM0Gew.js} +51 -51
- package/cdn/assets/DcdQwhlGoI1knRUy.js +46 -0
- package/cdn/assets/Dft4BSeY0bp0A6z0.js +10 -0
- package/cdn/assets/DgO85Q5iHe-ZmvtQ.js +633 -0
- package/cdn/assets/{DDW1WJ2IM_9ZUfKm.js → Dm0hrXCbV7DITOhi.js} +2 -2
- package/cdn/assets/DnWjhq4ZlgIuFcii.js +21 -0
- package/cdn/assets/DwRHGEuscm3FvnkM.js +1665 -0
- package/cdn/assets/{BT5EcMEFBsphczwC.js → DzyNujjbHLXo9UmH.js} +565 -568
- package/cdn/assets/EYTSqAG9YOdb1vKx.js +48823 -0
- package/cdn/assets/{D_5RgqgwXsoqLJDR.js → Ux2jUY_EwSsYBCov.js} +1 -1
- package/cdn/assets/{DfmaL8DmDaFAv8M_.js → XoKiuP2ZFq0cNGkH.js} +4 -4
- package/cdn/assets/Zi3E5Kzxw2FPtLVL.js +5582 -0
- package/cdn/assets/aLv-xujBO4X6ilhV.js +10 -0
- package/cdn/assets/jkSJc6Omxbf-rPQY.js +10 -0
- package/cdn/assets/uuCmCmYQQXgwyRSd.js +10 -0
- package/cdn/assets/wV8riZWKJE7AoKQk.js +1365 -0
- package/cdn/assets/wxvli1IH1NkfqE6-.js +10 -0
- package/cdn/index.js +2 -2
- package/cdn/loader.js +1 -1
- package/package.json +3 -5
- package/types/index.d.ts +1 -0
- package/browser/cjs/B35OZ0mE8aINQPP9.cjs +0 -7
- package/browser/cjs/BPzEQNENF-gEBkg9.cjs +0 -7
- package/browser/cjs/BUokV6yuzE-_8MyK.cjs +0 -7
- package/browser/cjs/BeZHmOKfa37mFNAu.cjs +0 -7
- package/browser/cjs/BflJ_0gT9lQtDvY_.cjs +0 -7
- package/browser/cjs/BwN8vKi5o3-PbIMo.cjs +0 -7
- package/browser/cjs/C3OizZPVuxO2fjSG.cjs +0 -7
- package/browser/cjs/CBL6KkiWI2RPflEN.cjs +0 -7
- package/browser/cjs/CN6-6xpZMpFqSS8M.cjs +0 -7
- package/browser/cjs/CTrEV_UpxC0W6cZZ.cjs +0 -7
- package/browser/cjs/CU30GVjjFXl44vEU.cjs +0 -7
- package/browser/cjs/CZWBxvUXzfpn_zmc.cjs +0 -7
- package/browser/cjs/Ccs2ouvlLekaLGH0.cjs +0 -7
- package/browser/cjs/Ce-8L4Viq3I_6j0i.cjs +0 -7
- package/browser/cjs/CtNjLzIHB8WX63Bl.cjs +0 -7
- package/browser/cjs/DAHpsyykuPBkoh-Z.cjs +0 -7
- package/browser/cjs/DJbKKxeeTEHHA1gR.cjs +0 -107
- package/browser/cjs/D_VQzwC1zzTJyKtG.cjs +0 -7
- package/browser/cjs/GrsZZ_mEdsM5dEMA.cjs +0 -7
- package/browser/cjs/JKEGlXjMwGnXk_Gv.cjs +0 -7
- package/browser/cjs/L1iE_VcelYZIy0wI.cjs +0 -7
- package/browser/cjs/Q_VvA-yUQx3xFKiJ.cjs +0 -7
- package/browser/cjs/fTGpiXzFm3K_u2Fm.cjs +0 -7
- package/browser/cjs/hwDUzorB6aCvH1eL.cjs +0 -7
- package/browser/cjs/no5c2H18QD2qmOH6.cjs +0 -7
- package/browser/esm/B4Mm5gczpI_k2zzN.mjs +0 -7
- package/browser/esm/B8ISUdOxsJMYWzNN.mjs +0 -7
- package/browser/esm/BnJiF38TGudjoHzT.mjs +0 -7
- package/browser/esm/Bts4nCgfCAUpTfxz.mjs +0 -7
- package/browser/esm/C3cyAbIH8Qc8MIFN.mjs +0 -107
- package/browser/esm/C4jlaVv8bELgiHyE.mjs +0 -7
- package/browser/esm/CYIhGb86r-kKOrP5.mjs +0 -7
- package/browser/esm/CcpskguvlvemArQn.mjs +0 -7
- package/browser/esm/CeRfALx1iU5fqOUg.mjs +0 -7
- package/browser/esm/CfYWmP_Hots5f0f6.mjs +0 -7
- package/browser/esm/CkarbqNx_lhlBnw7.mjs +0 -7
- package/browser/esm/D2PlWNQjrTgf6GuR.mjs +0 -7
- package/browser/esm/D3KNxvnrwR6_fTJE.mjs +0 -7
- package/browser/esm/DIJyH94oCzUnlcNZ.mjs +0 -7
- package/browser/esm/DVAG1NxFe3cMjLE1.mjs +0 -7
- package/browser/esm/DVqga7g7j0FUiM6p.mjs +0 -7
- package/browser/esm/DcX8yGEBX6qi9RCe.mjs +0 -7
- package/browser/esm/DeXfOSxGE_Ez7DZq.mjs +0 -7
- package/browser/esm/DzgM_rkwyIHsCb6I.mjs +0 -7
- package/browser/esm/M4hZ25330e96seUM.mjs +0 -7
- package/browser/esm/Qp2Toeh_EbJH_f_6.mjs +0 -7
- package/browser/esm/SAyRTPVprOHZ8Up8.mjs +0 -7
- package/browser/esm/_ft7JYO6QdDbIu3d.mjs +0 -7
- package/browser/esm/dpdy0BU4GGI5lZrX.mjs +0 -7
- package/browser/esm/oLCocGFRAwsVsOSE.mjs +0 -7
- package/cdn/assets/7_O6nILzn1fSVvkO.js +0 -13449
- package/cdn/assets/BCK7yhx9JfzU2rF0.js +0 -22
- package/cdn/assets/BcWoqhD_sX85c7Mh.js +0 -1701
- package/cdn/assets/BtweFYnoj_aEfydW.js +0 -1371
- package/cdn/assets/CC-S4NMYhLg3WgqO.js +0 -3875
- package/cdn/assets/CJhyHcQcrhbtC33r.js +0 -50
- package/cdn/assets/CUc6gRjjRGTFWSHD.js +0 -50
- package/cdn/assets/CpPLN0-hDsTIFHZV.js +0 -46
- package/cdn/assets/Cq94woVmlxhjWVRI.js +0 -21
- package/cdn/assets/CsjftXmSYQRHNKdq.js +0 -41
- package/cdn/assets/DBL4jY0AVc53RGNm.js +0 -637
- package/cdn/assets/DxMu6URURFWj9aXM.js +0 -2373
- package/cdn/assets/Jhm2DAcrfAqiM-Y-.js +0 -26490
- package/cdn/assets/MRBi3juXAW0lA_mj.js +0 -1358
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.12
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/
|
|
7
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@sheetxl/sdk"),e=require("./DJbKKxeeTEHHA1gR.cjs"),s=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-",i=new RegExp(`^[${s}][-${s}.0-9·̀-ͯ‿-⁀]*$`,"u");function o(t){return t>=65&&t<=90||t>=97&&t<=122||58===t||95===t||8204===t||8205===t||t>=192&&t<=214||t>=216&&t<=246||t>=248&&t<=767||t>=880&&t<=893||t>=895&&t<=8191||t>=8304&&t<=8591||t>=11264&&t<=12271||t>=12289&&t<=55295||t>=63744&&t<=64975||t>=65008&&t<=65533||t>=65536&&t<=983039}const r="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-",n=new RegExp(`^[${r}][-${r}.0-9·̀-ͯ‿-⁀]*$`,"u");function a(t){return t>=65&&t<=90||95===t||t>=97&&t<=122||t>=192&&t<=214||t>=216&&t<=246||t>=248&&t<=767||t>=880&&t<=893||t>=895&&t<=8191||t>=8204&&t<=8205||t>=8304&&t<=8591||t>=11264&&t<=12271||t>=12289&&t<=55295||t>=63744&&t<=64975||t>=65008&&t<=65533||t>=65536&&t<=983039}const l=function(t){return 32===t||10===t||13===t||9===t},c=function(t){return t>=32&&t<=55295||10===t||13===t||9===t||t>=57344&&t<=65533||t>=65536&&t<=1114111},h=o,u=function(t){return o(t)||t>=48&&t<=57||45===t||46===t||183===t||t>=768&&t<=879||t>=8255&&t<=8256},d=[32,10,13,9],p=i,g=function(t){return t>=1&&t<=55295||t>=57344&&t<=65533||t>=65536&&t<=1114111},f=a,m=function(t){return a(t)||45===t||46===t||t>=48&&t<=57||183===t||t>=768&&t<=879||t>=8255&&t<=8256},T=n,y="http://www.w3.org/XML/1998/namespace",b="http://www.w3.org/2000/xmlns/",x={__proto__:null,xml:y,xmlns:b},w={__proto__:null,amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},v=-1,S=-2,C=13,k=33,A=10,E=60,D=61,P=62,I=63,O=93,V=t=>34===t||39===t,N=[34,39],L=[...N,91,P],R=[...N,E,O],$=[D,I,...d],F=[...d,P,38,E];function M(t,e,s){switch(e){case"xml":s!==y&&t.fail(`xml prefix must be bound to ${y}.`);break;case"xmlns":s!==b&&t.fail(`xmlns prefix must be bound to ${b}.`)}switch(s){case b:t.fail(""===e?`the default namespace may not be set to ${s}.`:`may not assign a prefix (even "xmlns") to the URI ${b}.`);break;case y:switch(e){case"xml":break;case"":t.fail(`the default namespace may not be set to ${s}.`);break;default:t.fail("may not assign the xml namespace to another prefix.")}}}const j=t=>T.test(t),H=t=>p.test(t),X={xmldecl:"xmldeclHandler",text:"textHandler",processinginstruction:"piHandler",doctype:"doctypeHandler",comment:"commentHandler",opentagstart:"openTagStartHandler",attribute:"attributeHandler",opentag:"openTagHandler",closetag:"closeTagHandler",cdata:"cdataHandler",error:"errorHandler",end:"endHandler",ready:"readyHandler"};class B{constructor(t){this.i=0,this.prevI=0,this.opt=t??{},this.fragmentOpt=!!this.opt.fragment;const e=this.xmlnsOpt=!!this.opt.xmlns;if(this.trackPosition=!1!==this.opt.position,this.fileName=this.opt.fileName,e){this.nameStartCheck=f,this.nameCheck=m,this.isName=j,this.processAttribs=this.processAttribsNS,this.pushAttrib=this.pushAttribNS,this.ns={__proto__:null,...x};const t=this.opt.additionalNamespaces;null!=t&&(function(t,e){for(const s of Object.keys(e))M(t,s,e[s])}(this,t),Object.assign(this.ns,t))}else this.nameStartCheck=h,this.nameCheck=u,this.isName=H,this.processAttribs=this.processAttribsPlain,this.pushAttrib=this.pushAttribPlain;this.stateTable=[this.sBegin,this.sBeginWhitespace,this.sDoctype,this.sDoctypeQuote,this.sDTD,this.sDTDQuoted,this.sDTDOpenWaka,this.sDTDOpenWakaBang,this.sDTDComment,this.sDTDCommentEnding,this.sDTDCommentEnded,this.sDTDPI,this.sDTDPIEnding,this.sText,this.sEntity,this.sOpenWaka,this.sOpenWakaBang,this.sComment,this.sCommentEnding,this.sCommentEnded,this.sCData,this.sCDataEnding,this.sCDataEnding2,this.sPIFirstChar,this.sPIRest,this.sPIBody,this.sPIEnding,this.sXMLDeclNameStart,this.sXMLDeclName,this.sXMLDeclEq,this.sXMLDeclValueStart,this.sXMLDeclValue,this.sXMLDeclSeparator,this.sXMLDeclEnding,this.sOpenTag,this.sOpenTagSlash,this.sAttrib,this.sAttribName,this.sAttribNameSawWhite,this.sAttribValue,this.sAttribValueQuoted,this.sAttribValueClosed,this.sAttribValueUnquoted,this.sCloseTag,this.sCloseTagSawWhite],this._init()}get closed(){return this._closed}_init(){this.openWakaBang="",this.text="",this.name="",this.piTarget="",this.entity="",this.q=null,this.tags=[],this.tag=null,this.topNS=null,this.chunk="",this.chunkPosition=0,this.i=0,this.prevI=0,this.carriedFromPrevious=void 0,this.forbiddenState=0,this.attribList=[];const{fragmentOpt:t}=this;this.state=t?C:0,this.reportedTextBeforeRoot=this.reportedTextAfterRoot=this.closedRoot=this.sawRoot=t,this.xmlDeclPossible=!t,this.xmlDeclExpects=["version"],this.entityReturnState=void 0;let{defaultXMLVersion:e}=this.opt;if(void 0===e){if(!0===this.opt.forceXMLVersion)throw new Error("forceXMLVersion set but defaultXMLVersion is not set");e="1.0"}this.setXMLVersion(e),this.positionAtNewLine=0,this.doctype=!1,this._closed=!1,this.xmlDecl={version:void 0,encoding:void 0,standalone:void 0},this.line=1,this.column=0,this.ENTITIES=Object.create(w),this.readyHandler?.()}get position(){return this.chunkPosition+this.i}get columnIndex(){return this.position-this.positionAtNewLine}on(t,e){this[X[t]]=e}off(t){this[X[t]]=void 0}makeError(t){let e=this.fileName??"";return this.trackPosition&&(e.length>0&&(e+=":"),e+=`${this.line}:${this.column}`),e.length>0&&(e+=": "),new Error(e+t)}fail(t){const e=this.makeError(t),s=this.errorHandler;if(void 0===s)throw e;return s(e),this}write(t){if(this.closed)return this.fail("cannot write after close; assign an onready handler.");let e=!1;null===t?(e=!0,t=""):"object"==typeof t&&(t=t.toString()),void 0!==this.carriedFromPrevious&&(t=`${this.carriedFromPrevious}${t}`,this.carriedFromPrevious=void 0);let s=t.length;const i=t.charCodeAt(s-1);!e&&(13===i||i>=55296&&i<=56319)&&(this.carriedFromPrevious=t[s-1],s--,t=t.slice(0,s));const{stateTable:o}=this;for(this.chunk=t,this.i=0;this.i<s;)o[this.state].call(this);return this.chunkPosition+=s,e?this.end():this}close(){return this.write(null)}getCode10(){const t=this.chunk,e=this.i;if(this.prevI=e,this.i++,e>=t.length)return v;const s=t.charCodeAt(e);if(this.column++,s<55296){if(s>=32||9===s)return s;switch(s){case A:return this.line++,this.column=0,this.positionAtNewLine=this.position,A;case 13:return t.charCodeAt(e+1)===A&&(this.i=e+2),this.line++,this.column=0,this.positionAtNewLine=this.position,S;default:return this.fail("disallowed character."),s}}if(s>56319)return s>=57344&&s<=65533||this.fail("disallowed character."),s;const i=65536+1024*(s-55296)+(t.charCodeAt(e+1)-56320);return this.i=e+2,i>1114111&&this.fail("disallowed character."),i}getCode11(){const{chunk:t,i:e}=this;if(this.prevI=e,this.i=e+1,e>=t.length)return v;const s=t.charCodeAt(e);if(this.column++,s<55296){if(s>31&&s<127||s>159&&8232!==s||9===s)return s;switch(s){case A:return this.line++,this.column=0,this.positionAtNewLine=this.position,A;case 13:{const s=t.charCodeAt(e+1);s!==A&&133!==s||(this.i=e+2)}case 133:case 8232:return this.line++,this.column=0,this.positionAtNewLine=this.position,S;default:return this.fail("disallowed character."),s}}if(s>56319)return s>=57344&&s<=65533||this.fail("disallowed character."),s;const i=65536+1024*(s-55296)+(t.charCodeAt(e+1)-56320);return this.i=e+2,i>1114111&&this.fail("disallowed character."),i}getCodeNorm(){const t=this.getCode();return t===S?A:t}unget(){this.i=this.prevI,this.column--}captureTo(t){let{i:e}=this;const{chunk:s}=this;for(;;){const i=this.getCode(),o=i===S,r=o?A:i;if(r===v||t.includes(r))return this.text+=s.slice(e,this.prevI),r;o&&(this.text+=`${s.slice(e,this.prevI)}\n`,e=this.i)}}captureToChar(t){let{i:e}=this;const{chunk:s}=this;for(;;){let i=this.getCode();switch(i){case S:this.text+=`${s.slice(e,this.prevI)}\n`,e=this.i,i=A;break;case v:return this.text+=s.slice(e),!1}if(i===t)return this.text+=s.slice(e,this.prevI),!0}}captureNameChars(){const{chunk:t,i:e}=this;for(;;){const s=this.getCode();if(s===v)return this.name+=t.slice(e),v;if(!u(s))return this.name+=t.slice(e,this.prevI),s===S?A:s}}skipSpaces(){for(;;){const t=this.getCodeNorm();if(t===v||!l(t))return t}}setXMLVersion(t){this.currentXMLVersion=t,"1.0"===t?(this.isChar=c,this.getCode=this.getCode10):(this.isChar=g,this.getCode=this.getCode11)}sBegin(){65279===this.chunk.charCodeAt(0)&&(this.i++,this.column++),this.state=1}sBeginWhitespace(){const t=this.i,e=this.skipSpaces();switch(this.prevI!==t&&(this.xmlDeclPossible=!1),e){case E:if(this.state=15,0!==this.text.length)throw new Error("no-empty text at start");break;case v:break;default:this.unget(),this.state=C,this.xmlDeclPossible=!1}}sDoctype(){const t=this.captureTo(L);switch(t){case P:this.doctypeHandler?.(this.text),this.text="",this.state=C,this.doctype=!0;break;case v:break;default:this.text+=String.fromCodePoint(t),91===t?this.state=4:V(t)&&(this.state=3,this.q=t)}}sDoctypeQuote(){const t=this.q;this.captureToChar(t)&&(this.text+=String.fromCodePoint(t),this.q=null,this.state=2)}sDTD(){const t=this.captureTo(R);t!==v&&(this.text+=String.fromCodePoint(t),t===O?this.state=2:t===E?this.state=6:V(t)&&(this.state=5,this.q=t))}sDTDQuoted(){const t=this.q;this.captureToChar(t)&&(this.text+=String.fromCodePoint(t),this.state=4,this.q=null)}sDTDOpenWaka(){const t=this.getCodeNorm();switch(this.text+=String.fromCodePoint(t),t){case 33:this.state=7,this.openWakaBang="";break;case I:this.state=11;break;default:this.state=4}}sDTDOpenWakaBang(){const t=String.fromCodePoint(this.getCodeNorm()),e=this.openWakaBang+=t;this.text+=t,"-"!==e&&(this.state="--"===e?8:4,this.openWakaBang="")}sDTDComment(){this.captureToChar(45)&&(this.text+="-",this.state=9)}sDTDCommentEnding(){const t=this.getCodeNorm();this.text+=String.fromCodePoint(t),this.state=45===t?10:8}sDTDCommentEnded(){const t=this.getCodeNorm();this.text+=String.fromCodePoint(t),t===P?this.state=4:(this.fail("malformed comment."),this.state=8)}sDTDPI(){this.captureToChar(I)&&(this.text+="?",this.state=12)}sDTDPIEnding(){const t=this.getCodeNorm();this.text+=String.fromCodePoint(t),t===P&&(this.state=4)}sText(){0!==this.tags.length?this.handleTextInRoot():this.handleTextOutsideRoot()}sEntity(){let{i:t}=this;const{chunk:e}=this;t:for(;;)switch(this.getCode()){case S:this.entity+=`${e.slice(t,this.prevI)}\n`,t=this.i;break;case 59:{const{entityReturnState:s}=this,i=this.entity+e.slice(t,this.prevI);let o;this.state=s,""===i?(this.fail("empty entity name."),o="&;"):(o=this.parseEntity(i),this.entity=""),s===C&&void 0===this.textHandler||(this.text+=o);break t}case v:this.entity+=e.slice(t);break t}}sOpenWaka(){const t=this.getCode();if(h(t))this.state=34,this.unget(),this.xmlDeclPossible=!1;else switch(t){case 47:this.state=43,this.xmlDeclPossible=!1;break;case 33:this.state=16,this.openWakaBang="",this.xmlDeclPossible=!1;break;case I:this.state=23;break;default:this.fail("disallowed character in tag name"),this.state=C,this.xmlDeclPossible=!1}}sOpenWakaBang(){switch(this.openWakaBang+=String.fromCodePoint(this.getCodeNorm()),this.openWakaBang){case"[CDATA[":this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0),this.state=20,this.openWakaBang="";break;case"--":this.state=17,this.openWakaBang="";break;case"DOCTYPE":this.state=2,(this.doctype||this.sawRoot)&&this.fail("inappropriately located doctype declaration."),this.openWakaBang="";break;default:this.openWakaBang.length>=7&&this.fail("incorrect syntax.")}}sComment(){this.captureToChar(45)&&(this.state=18)}sCommentEnding(){const t=this.getCodeNorm();45===t?(this.state=19,this.commentHandler?.(this.text),this.text=""):(this.text+=`-${String.fromCodePoint(t)}`,this.state=17)}sCommentEnded(){const t=this.getCodeNorm();t!==P?(this.fail("malformed comment."),this.text+=`--${String.fromCodePoint(t)}`,this.state=17):this.state=C}sCData(){this.captureToChar(O)&&(this.state=21)}sCDataEnding(){const t=this.getCodeNorm();t===O?this.state=22:(this.text+=`]${String.fromCodePoint(t)}`,this.state=20)}sCDataEnding2(){const t=this.getCodeNorm();switch(t){case P:this.cdataHandler?.(this.text),this.text="",this.state=C;break;case O:this.text+="]";break;default:this.text+=`]]${String.fromCodePoint(t)}`,this.state=20}}sPIFirstChar(){const t=this.getCodeNorm();this.nameStartCheck(t)?(this.piTarget+=String.fromCodePoint(t),this.state=24):t===I||l(t)?(this.fail("processing instruction without a target."),this.state=t===I?26:25):(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(t),this.state=24)}sPIRest(){const{chunk:t,i:e}=this;for(;;){const s=this.getCodeNorm();if(s===v)return void(this.piTarget+=t.slice(e));if(!this.nameCheck(s)){this.piTarget+=t.slice(e,this.prevI);const i=s===I;i||l(s)?"xml"===this.piTarget?(this.xmlDeclPossible||this.fail("an XML declaration must be at the start of the document."),this.state=i?k:27):this.state=i?26:25:(this.fail("disallowed character in processing instruction name."),this.piTarget+=String.fromCodePoint(s));break}}}sPIBody(){if(0===this.text.length){const t=this.getCodeNorm();t===I?this.state=26:l(t)||(this.text=String.fromCodePoint(t))}else this.captureToChar(I)&&(this.state=26)}sPIEnding(){const t=this.getCodeNorm();if(t===P){const{piTarget:t}=this;"xml"===t.toLowerCase()&&this.fail("the XML declaration must appear at the start of the document."),this.piHandler?.({target:t,body:this.text}),this.piTarget=this.text="",this.state=C}else t===I?this.text+="?":(this.text+=`?${String.fromCodePoint(t)}`,this.state=25);this.xmlDeclPossible=!1}sXMLDeclNameStart(){const t=this.skipSpaces();t!==I?t!==v&&(this.state=28,this.name=String.fromCodePoint(t)):this.state=k}sXMLDeclName(){const t=this.captureTo($);if(t===I)return this.state=k,this.name+=this.text,this.text="",void this.fail("XML declaration is incomplete.");if(l(t)||t===D){if(this.name+=this.text,this.text="",!this.xmlDeclExpects.includes(this.name))switch(this.name.length){case 0:this.fail("did not expect any more name/value pairs.");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail(`expected one of ${this.xmlDeclExpects.join(", ")}`)}this.state=t===D?30:29}}sXMLDeclEq(){const t=this.getCodeNorm();if(t===I)return this.state=k,void this.fail("XML declaration is incomplete.");l(t)||(t!==D&&this.fail("value required."),this.state=30)}sXMLDeclValueStart(){const t=this.getCodeNorm();if(t===I)return this.state=k,void this.fail("XML declaration is incomplete.");l(t)||(V(t)?this.q=t:(this.fail("value must be quoted."),this.q=32),this.state=31)}sXMLDeclValue(){const t=this.captureTo([this.q,I]);if(t===I)return this.state=k,this.text="",void this.fail("XML declaration is incomplete.");if(t===v)return;const e=this.text;switch(this.text="",this.name){case"version":{this.xmlDeclExpects=["encoding","standalone"];const t=e;this.xmlDecl.version=t,/^1\.[0-9]+$/.test(t)?this.opt.forceXMLVersion||this.setXMLVersion(t):this.fail("version number must match /^1\\.[0-9]+$/.");break}case"encoding":/^[A-Za-z][A-Za-z0-9._-]*$/.test(e)||this.fail("encoding value must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/."),this.xmlDeclExpects=["standalone"],this.xmlDecl.encoding=e;break;case"standalone":"yes"!==e&&"no"!==e&&this.fail('standalone value must match "yes" or "no".'),this.xmlDeclExpects=[],this.xmlDecl.standalone=e}this.name="",this.state=32}sXMLDeclSeparator(){const t=this.getCodeNorm();t!==I?(l(t)||(this.fail("whitespace required."),this.unget()),this.state=27):this.state=k}sXMLDeclEnding(){this.getCodeNorm()===P?("xml"!==this.piTarget?this.fail("processing instructions are not allowed before root."):"version"!==this.name&&this.xmlDeclExpects.includes("version")&&this.fail("XML declaration must contain a version."),this.xmldeclHandler?.(this.xmlDecl),this.name="",this.piTarget=this.text="",this.state=C):this.fail("The character ? is disallowed anywhere in XML declarations."),this.xmlDeclPossible=!1}sOpenTag(){const t=this.captureNameChars();if(t===v)return;const e=this.tag={name:this.name,attributes:Object.create(null)};switch(this.name="",this.xmlnsOpt&&(this.topNS=e.ns=Object.create(null)),this.openTagStartHandler?.(e),this.sawRoot=!0,!this.fragmentOpt&&this.closedRoot&&this.fail("documents may contain only one root."),t){case P:this.openTag();break;case 47:this.state=35;break;default:l(t)||this.fail("disallowed character in tag name."),this.state=36}}sOpenTagSlash(){this.getCode()===P?this.openSelfClosingTag():(this.fail("forward-slash in opening tag not followed by >."),this.state=36)}sAttrib(){const t=this.skipSpaces();t!==v&&(h(t)?(this.unget(),this.state=37):t===P?this.openTag():47===t?this.state=35:this.fail("disallowed character in attribute name."))}sAttribName(){const t=this.captureNameChars();t===D?this.state=39:l(t)?this.state=38:t===P?(this.fail("attribute without value."),this.pushAttrib(this.name,this.name),this.name=this.text="",this.openTag()):t!==v&&this.fail("disallowed character in attribute name.")}sAttribNameSawWhite(){const t=this.skipSpaces();switch(t){case v:return;case D:this.state=39;break;default:this.fail("attribute without value."),this.text="",this.name="",t===P?this.openTag():h(t)?(this.unget(),this.state=37):(this.fail("disallowed character in attribute name."),this.state=36)}}sAttribValue(){const t=this.getCodeNorm();V(t)?(this.q=t,this.state=40):l(t)||(this.fail("unquoted attribute value."),this.state=42,this.unget())}sAttribValueQuoted(){const{q:t,chunk:e}=this;let{i:s}=this;for(;;)switch(this.getCode()){case t:return this.pushAttrib(this.name,this.text+e.slice(s,this.prevI)),this.name=this.text="",this.q=null,void(this.state=41);case 38:return this.text+=e.slice(s,this.prevI),this.state=14,void(this.entityReturnState=40);case A:case S:case 9:this.text+=`${e.slice(s,this.prevI)} `,s=this.i;break;case E:return this.text+=e.slice(s,this.prevI),void this.fail("disallowed character.");case v:return void(this.text+=e.slice(s))}}sAttribValueClosed(){const t=this.getCodeNorm();l(t)?this.state=36:t===P?this.openTag():47===t?this.state=35:h(t)?(this.fail("no whitespace between attributes."),this.unget(),this.state=37):this.fail("disallowed character in attribute name.")}sAttribValueUnquoted(){const t=this.captureTo(F);switch(t){case 38:this.state=14,this.entityReturnState=42;break;case E:this.fail("disallowed character.");break;case v:break;default:this.text.includes("]]>")&&this.fail('the string "]]>" is disallowed in char data.'),this.pushAttrib(this.name,this.text),this.name=this.text="",t===P?this.openTag():this.state=36}}sCloseTag(){const t=this.captureNameChars();t===P?this.closeTag():l(t)?this.state=44:t!==v&&this.fail("disallowed character in closing tag.")}sCloseTagSawWhite(){switch(this.skipSpaces()){case P:this.closeTag();break;case v:break;default:this.fail("disallowed character in closing tag.")}}handleTextInRoot(){let{i:t,forbiddenState:e}=this;const{chunk:s,textHandler:i}=this;t:for(;;)switch(this.getCode()){case E:if(this.state=15,void 0!==i){const{text:e}=this,o=s.slice(t,this.prevI);0!==e.length?(i(e+o),this.text=""):0!==o.length&&i(o)}e=0;break t;case 38:this.state=14,this.entityReturnState=C,void 0!==i&&(this.text+=s.slice(t,this.prevI)),e=0;break t;case O:switch(e){case 0:e=1;break;case 1:e=2;break;case 2:break;default:throw new Error("impossible state")}break;case P:2===e&&this.fail('the string "]]>" is disallowed in char data.'),e=0;break;case S:void 0!==i&&(this.text+=`${s.slice(t,this.prevI)}\n`),t=this.i,e=0;break;case v:void 0!==i&&(this.text+=s.slice(t));break t;default:e=0}this.forbiddenState=e}handleTextOutsideRoot(){let{i:t}=this;const{chunk:e,textHandler:s}=this;let i=!1;t:for(;;){const o=this.getCode();switch(o){case E:if(this.state=15,void 0!==s){const{text:i}=this,o=e.slice(t,this.prevI);0!==i.length?(s(i+o),this.text=""):0!==o.length&&s(o)}break t;case 38:this.state=14,this.entityReturnState=C,void 0!==s&&(this.text+=e.slice(t,this.prevI)),i=!0;break t;case S:void 0!==s&&(this.text+=`${e.slice(t,this.prevI)}\n`),t=this.i;break;case v:void 0!==s&&(this.text+=e.slice(t));break t;default:l(o)||(i=!0)}}i&&(this.sawRoot||this.reportedTextBeforeRoot||(this.fail("text data outside of root node."),this.reportedTextBeforeRoot=!0),this.closedRoot&&!this.reportedTextAfterRoot&&(this.fail("text data outside of root node."),this.reportedTextAfterRoot=!0))}pushAttribNS(t,e){const{prefix:s,local:i}=this.qname(t),o={name:t,prefix:s,local:i,value:e};if(this.attribList.push(o),this.attributeHandler?.(o),"xmlns"===s){const t=e.trim();"1.0"===this.currentXMLVersion&&""===t&&this.fail("invalid attempt to undefine prefix in XML 1.0"),this.topNS[i]=t,M(this,i,t)}else if("xmlns"===t){const t=e.trim();this.topNS[""]=t,M(this,"",t)}}pushAttribPlain(t,e){const s={name:t,value:e};this.attribList.push(s),this.attributeHandler?.(s)}end(){this.sawRoot||this.fail("document must contain a root element.");const{tags:t}=this;for(;t.length>0;){const e=t.pop();this.fail(`unclosed tag: ${e.name}`)}0!==this.state&&this.state!==C&&this.fail("unexpected end.");const{text:e}=this;return 0!==e.length&&(this.textHandler?.(e),this.text=""),this._closed=!0,this.endHandler?.(),this._init(),this}resolve(t){let e=this.topNS[t];if(void 0!==e)return e;const{tags:s}=this;for(let i=s.length-1;i>=0;i--)if(e=s[i].ns[t],void 0!==e)return e;return e=this.ns[t],void 0!==e?e:this.opt.resolvePrefix?.(t)}qname(t){const e=t.indexOf(":");if(-1===e)return{prefix:"",local:t};const s=t.slice(e+1),i=t.slice(0,e);return(""===i||""===s||s.includes(":"))&&this.fail(`malformed name: ${t}.`),{prefix:i,local:s}}processAttribsNS(){const{attribList:t}=this,e=this.tag;{const{prefix:t,local:s}=this.qname(e.name);e.prefix=t,e.local=s;const i=e.uri=this.resolve(t)??"";""!==t&&("xmlns"===t&&this.fail('tags may not have "xmlns" as prefix.'),""===i&&(this.fail(`unbound namespace prefix: ${JSON.stringify(t)}.`),e.uri=t))}if(0===t.length)return;const{attributes:s}=e,i=new Set;for(const e of t){const{name:t,prefix:o,local:r}=e;let n,a;""===o?(n="xmlns"===t?b:"",a=t):(n=this.resolve(o),void 0===n&&(this.fail(`unbound namespace prefix: ${JSON.stringify(o)}.`),n=o),a=`{${n}}${r}`),i.has(a)&&this.fail(`duplicate attribute: ${a}.`),i.add(a),e.uri=n,s[t]=e}this.attribList=[]}processAttribsPlain(){const{attribList:t}=this,e=this.tag.attributes;for(const{name:s,value:i}of t)void 0!==e[s]&&this.fail(`duplicate attribute: ${s}.`),e[s]=i;this.attribList=[]}openTag(){this.processAttribs();const{tags:t}=this,e=this.tag;e.isSelfClosing=!1,this.openTagHandler?.(e),t.push(e),this.state=C,this.name=""}openSelfClosingTag(){this.processAttribs();const{tags:t}=this,e=this.tag;e.isSelfClosing=!0,this.openTagHandler?.(e),this.closeTagHandler?.(e),null===(this.tag=t[t.length-1]??null)&&(this.closedRoot=!0),this.state=C,this.name=""}closeTag(){const{tags:t,name:e}=this;if(this.state=C,this.name="",""===e)return this.fail("weird empty close tag."),void(this.text+="</>");const s=this.closeTagHandler;let i=t.length;for(;i-- >0;){const i=this.tag=t.pop();if(this.topNS=i.ns,s?.(i),i.name===e)break;this.fail("unexpected close tag.")}0===i?this.closedRoot=!0:i<0&&(this.fail(`unmatched closing tag: ${e}.`),this.text+=`</${e}>`)}parseEntity(t){if("#"!==t[0]){const e=this.ENTITIES[t];return void 0!==e?e:(this.fail(this.isName(t)?"undefined entity.":"disallowed character in entity name."),`&${t};`)}let e=NaN;return"x"===t[1]&&/^#x[0-9a-f]+$/i.test(t)?e=parseInt(t.slice(2),16):/^#[0-9]+$/.test(t)&&(e=parseInt(t.slice(1),10)),this.isChar(e)?String.fromCodePoint(e):(this.fail("malformed character entity."),`&${t};`)}}var W,q;(q=W||(W={})).Events={XmlDecl:"xmldecl",Text:"text",ProcessingInstruction:"processinginstruction",Doctype:"doctype",Comment:"comment",OpenTagStart:"opentagstart",Attribute:"attribute",OpenTag:"opentag",CloseTag:"closetag",CDdata:"cdata",Error:"error",End:"end",Ready:"ready"},q.parseStream=async(t,e,s)=>{const i=new B({position:!1,...s});let o;if(e.onOpenTagStart&&i.on(q.Events.OpenTagStart,e.onOpenTagStart),e.onOpenTag&&i.on(q.Events.OpenTag,e.onOpenTag),e.onCloseTag&&i.on(q.Events.CloseTag,e.onCloseTag),e.onAttribute&&i.on(q.Events.Attribute,e.onAttribute),e.onText&&i.on(q.Events.Text,e.onText),e.onError&&i.on(q.Events.Error,e.onError),e.onEnd){e.onEnd;const t=()=>{o=e.onEnd()};i.on(q.Events.End,t)}for(;;){const{value:e,done:s}=await t.read();if(s)break;i.write(e)}return i.close(),o};const _=t=>!0===t||"1"===t||"on"===t||"true"===t||!1!==t&&"0"!==t&&"off"!==t&&"false"!==t&&null,U=t=>{const e=parseInt(t);return isNaN(e)?null:e},z=t=>{const e=parseFloat(t);return isNaN(e)?null:e},G=null;class Z{constructor(){this._registeredVisitors=new Map}registerVisitor(t){this._registeredVisitors.set(t.from,t)}createEventHandler(t,e,s){const i=this._registeredVisitors,o=[];let r=null,n=null,a=null,l=null;const c=[],h={key:null,source:t};let u=null,d=!1;const p=(t,e)=>{let s=a.attributes[t];if(e)if(Array.isArray(e))for(let t=0;t<e.length;t++){if(null==s)return;if(s=e[t](s),null==s)return}else{if(null==s)return;if(s=e(s),null==s)return}return s},g={getSource:()=>u.source,setSource:t=>{u.source=t},setKey:t=>{u.key=t},getFrom:()=>a,getAttribute:(t,e)=>p(t,e)??null,hasAttribute:t=>null!==g.getAttribute(t),getParent:()=>c[c.length-2].source,getPath:()=>{const t=[];for(let e=0;e<o.length;e++)t.push(o[e].local);return t.join("\\")},parseAttribute:p,copyToObject:(t,e,s,i)=>{const o=p(i??e,s);void 0!==o&&(t[e]=o)},copyTo:(t,e,s)=>{const i=p(s??t,e);void 0!==i&&(u.source[t]=i)},warn:t=>{s?s?.(t):console.warn(t)}};return{onOpenTag:t=>{let e=t.name;const s=e.indexOf(":");-1!==s&&(e=e.slice(s+1));const p=i.get(e);if(r={local:e,visitor:p,tag:t,destination:null},d)return o.push(r),n=e,void(a=t);l=r?.visitor??null,p&&(u=0===o.length?h:null!==l?.to?{key:null,source:{}}:null,r.destination=u,u&&c.push(u)),o.push(r),n=e,a=t,d=null===l?.to,l?.openTag?.(g)},onCloseTag:t=>{let e=t.name;const i=e.indexOf(":");if(-1!==i&&(e=e.slice(i+1)),e!==n)throw new Error(`mismatch open/close tag: '${e}'/'${n}'`);d||l?.closeTag?.(g);const p=o.pop()??null;r=o[o.length-1]??null;const f=p?.destination;if(f){c.pop(),u=c[c.length-1]??h;const t=p.visitor;t&&t.to&&void 0!==f.source&&(Array.isArray(t.to)?u.source.push?u.source.push(f.source):s?.(`Unable to parse array for ${t.from} at ${g.getPath()}`):f.key?u.source[f.key]=f.source:"string"==typeof t.to&&(u.source[t.to]=f.source))}n=r?.local??null,a=r?.tag??null,l=r?.visitor??null,d=!r?.destination},onText:t=>{l?.text?.(t,g)},onEnd:e}}}const J=(t,e,s,i=null)=>{if(!t)return null;let o=t;o.startsWith("/")&&(o=o.substring(1));let r=i?.parsedRefs?.get(t);if(void 0!==r)return r;const n=e(o);if(!n)return null;let a=n.content;try{s&&(a=s(a))}catch(t){console.warn(t)}return i?.parsedRefs?.set(t,a),a},Q=(t,e,s,i,o=null)=>{if(!t)return null;let r=t;r.startsWith("/")&&(r=r.substring(1));let n=o?.parsedRefs?.get(t);if(void 0!==n)return n;const a=e(r);if(!a)return null;const l=a.content;try{const e=(new TextDecoder).decode(l),r=s.parseFromString(e,"text/xml"),n=i.convert(r,t,o);return o?.parsedRefs?.set(t,n),n}catch(t){console.warn(t)}return null},K=(t,e,s,i,o=null)=>{const r=new Map;let n=e.Directory[t];const a=n?n.length:0;for(let t=0;t<a;t++){const a=n[t];if(!a)continue;let l=a;l.startsWith("/")&&(l=l.substring(1));const c=Q(l,t=>e.files[t],s,i,o);r.set(l,c)}return r},Y=["lt1","dk1","lt2","dk2","accent1","accent2","accent3","accent4","accent5","accent6","hlink","folHlink"],tt=(e,s="dk1")=>{let i;const o=e("auto");void 0===o||"1"!==o&&"true"!==o||(i=s);const r=e("indexed");r&&(i=`index${r}`);const n=e("rgb");n&&(i=n.toLowerCase(),8!==n.length||n.startsWith("FF")||(i="FF"+n.substring(2,n.length)));const a=e("theme");a&&(i=Y[a]);let l=e("tint");if(l&&(i+=` ${t.IColor.AdjustmentType.ETint} ${parseFloat(l)}`),i)return i},et=t=>t?t.replace(/^\{([\s\S]+)\}$/,"$1"):t,st=t=>"true"===t||"1"===t;class it{static{this.Collapsed=1}static{this.CustomFormat=2}static{this.CustomHeight=4}static{this.Hidden=8}static{this.Ht=16}static{this.OutlineLevel=32}static{this.Ph=64}static{this.R=128}static{this.S=256}static{this.Spans=512}static{this.ThickBot=1024}static{this.ThickTop=2048}}const ot=(t,e,s)=>{if(t[0].value[0]===t[1].value[0])return e},rt={colStart:0,colEnd:0,rowStart:0,rowEnd:0},nt=Object.freeze(Object.defineProperty({__proto__:null,fromBufferXLSX:async(e,s)=>{const{password:i,onWarning:o,createWorkbookOptions:r={},...n}=s??{},a=Promise.resolve().then(()=>require("./DAHpsyykuPBkoh-Z.cjs")),l=Promise.resolve().then(()=>require("./CtNjLzIHB8WX63Bl.cjs"));let c=null;try{c=new DOMParser}catch(e){}let h=null;c||(h=Promise.resolve().then(()=>require("./Q_VvA-yUQx3xFKiJ.cjs")).then(t=>t.i));let u=null,d=null,p=null;try{const t=await Promise.all([a,l,h]);u=t[0],d=t[1],p=t[2]}catch(e){throw new Error("Unable to load XLSX parser.",{cause:e})}try{const s=u.read(e,{type:"array",sheets:[],cellStyles:!1,bookFiles:!0});if(!s.Directory)throw new Error("Unable to parse as an Excel document. Try to save as '.xlsx' and try again.");s.Directory.richstructure=["/xl/richData/rdrichvaluestructure.xml"],s.Directory.richdata=["/xl/richData/rdrichvalue.xml"];const i=new d.FromOOXMLConverter,n=c??new p.DOMParser,a=r?.resources??new t.ResourceCollection,l=a.beginPersist(),h={},g=new Set,f=new Map;f.set("richTypes",[]);const m=new Map,T=[],y=t=>s.files[t],b=(t,e)=>{const s=t.lastIndexOf("/"),o=t.substring(0,s+1)+"_rels/"+t.substring(s+1,t.length)+".rels";let r=e.get(o);return r||(r=((t,e,s,i,o=null)=>{if(!t)return null;const r=Q(t,e,s,i,o);if(!r)return null;const n=new Map,a=Object.keys(r),l=a.length;for(let t=0;t<l;t++){const e=a[t],s=r[e];n.set(e,s)}return n})(o,y,n,i,w),e.set(o,r)),r},x=(e,s,r,c=m)=>{let u=b(s,c).get(e),d=u?.target;if(!d)return null;if("External"===u.targetMode)return u.target;const p=s.lastIndexOf("/"),v=s.substring(0,p+1);d.startsWith("/")||(d=v+d),d=(t=>{const e=t.split(/\/+/),s=e.reduce((t,e,s)=>("."===e?t.splice(s,1):".."===e&&t.splice(s-1,2),t),e);return s.join("/")})(d);const S=i?.getVisitorParamsState().get("dxfs");let C=c.get(d);if(!C){const e="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet";if(u.type===e){const e={};C=e;const s=async()=>{const s=((e,s,i,o,r,n,a)=>{const l=new Z,c=new t.Tuple.TransposedBuilder;let h=null;l.registerVisitor({from:"autoFilter",to:"filter",openTag:t=>{t.copyTo("ref",G)}}),l.registerVisitor({from:"conditionalFormatting",to:{},openTag:t=>{const e=t.getParent();e.conditionals||(e.conditionals=[]),e.conditionals.push(t.getSource());const s=t.getAttribute("sqref");s&&(t.getSource().ref=s.split(" ").join(",")),t.copyTo("pivot",_)},closeTag:t=>{const e=t.getSource();if(e.rule){const t=Object.keys(e.rule);for(let s=0;s<t.length;s++){const i=t[s];"rule"!==i&&(e[i]=e.rule[i])}}delete e.rule}}),l.registerVisitor({from:"cfRule",to:"rule",openTag:t=>{const e=t.getParent();t.copyToObject(e,"type",G),t.copyToObject(e,"priority",U),t.copyToObject(e,"stopIfTrue",_);const s=t.getAttribute("dxfId",U);if(null!==s){let i=o?.get(s);i||(n?.(`Unable to load conditional color. Invalid dxfI: '${s}' at '${t.getPath()}'.`),i={}),e.style=i}t.copyToObject(e,"aboveAverage",_),t.copyToObject(e,"equalAverage",_),t.copyToObject(e,"stdDev",U),t.copyToObject(e,"bottom",_),t.copyToObject(e,"percent",_),t.copyToObject(e,"rank",U),t.copyToObject(e,"operator",G),t.copyToObject(e,"text",G),t.copyToObject(e,"timePeriod",G)}}),l.registerVisitor({from:"colorScale",to:"colorScale"}),l.registerVisitor({from:"dataBar",to:"dataBar",openTag:t=>{t.copyTo("maxLength",U),t.copyTo("minLength",U),t.copyTo("showValue",_)}}),l.registerVisitor({from:"iconSet",to:"iconSet",openTag:t=>{t.copyTo("iconSet",G),t.copyTo("reverse",_),t.copyTo("showValue",_)}}),l.registerVisitor({from:"formula",to:null,text:(t,e)=>{const s=e.getParent();let i=s.formulas;i||(i=[],s.formulas=i),i.push(t)}}),l.registerVisitor({from:"cfvo",to:{},openTag:t=>{const e=t.getParent();e.conditions||(e.conditions=[]),e.conditions.push(t.getSource()),t.copyTo("type",G),t.copyTo("value",z,"val"),t.copyTo("gte",_)}}),l.registerVisitor({from:"color",to:{},openTag:t=>{const e=t.getParent();e.colors||(e.colors=[]);const s=tt(e=>t.getAttribute(e));e.colors.push(s)}}),l.registerVisitor({from:"filterColumn",to:"filterColumn",openTag:t=>{const e=t.getParent();e.fields||(e.fields=[]),e.fields.push(t.getSource()),t.copyTo("offset",U,"colId"),t.copyTo("hiddenButton",_),t.copyTo("showButton",_)}}),l.registerVisitor({from:"colorFilter",to:"colorFilter",openTag:e=>{const s=e.getParent();s.criteria||(s.criteria=[]),s.criteria.push(e.getSource()),e.getSource().type=t.IAutoFilter.Type.Color,e.copyTo("cellColor",_),e.copyTo("styleId",U,"dxfId")}}),l.registerVisitor({from:"dynamicFilter",to:"dynamicFilter",openTag:e=>{const s=e.getParent();s.criteria||(s.criteria=[]),s.criteria.push(e.getSource()),e.getSource().type=t.IAutoFilter.Type.Dynamic,e.copyTo("dynamicType",G,"type"),e.copyTo("val",z),e.copyTo("maxVal",z,"maxVal")}}),l.registerVisitor({from:"iconFilter",to:"iconFilter",openTag:e=>{const s=e.getParent();s.criteria||(s.criteria=[]),s.criteria.push(e.getSource()),e.getSource().type=t.IAutoFilter.Type.Icon,e.copyTo("iconId",U),e.copyTo("iconSet",G)}}),l.registerVisitor({from:"top10",to:"top10",openTag:e=>{const s=e.getParent();s.criteria||(s.criteria=[]),s.criteria.push(e.getSource()),e.getSource().type=t.IAutoFilter.Type.Top10,e.copyTo("filterVal",z),e.copyTo("percent",_),e.copyTo("top",_),e.copyTo("val",z)}}),l.registerVisitor({from:"filters",to:"filters",openTag:e=>{const s=e.getParent();s.criteria||(s.criteria=[]),s.criteria.push(e.getSource()),e.getSource().type=t.IAutoFilter.Type.Items,e.copyTo("blank",_),e.copyTo("calendarType",G)}}),l.registerVisitor({from:"dateGroupItem",to:"dateGroupItem",openTag:t=>{const e=t.getParent();e.dateGroups||(e.dateGroups=[]),e.dateGroups.push(t.getSource()),t.copyTo("group",G,"dateTimeGrouping"),t.copyTo("day",U),t.copyTo("hour",U),t.copyTo("minute",U),t.copyTo("month",U),t.copyTo("second",U),t.copyTo("year",U)}}),l.registerVisitor({from:"filter",to:"filter",openTag:t=>{const e=t.getParent();e.items||(e.items=[]),e.items.push(t.getAttribute("val",z))}}),l.registerVisitor({from:"customFilters",to:"customFilters",openTag:e=>{const s=e.getParent();s.criteria||(s.criteria=[]),s.criteria.push(e.getSource()),e.getSource().type=t.IAutoFilter.Type.Custom,e.copyTo("and",_)}}),l.registerVisitor({from:"customFilter",to:"customFilter",openTag:t=>{const e=t.getParent();e.filters||(e.filters=[]),e.filters.push(t.getSource()),t.copyTo("operator",G),t.copyTo("value",z,"val")}}),l.registerVisitor({from:"sortState",to:"sort",openTag:t=>{t.copyTo("ref",G)}}),l.registerVisitor({from:"sortCondition",to:"sortCondition",openTag:e=>{const s=e.getParent();s.fields||(s.fields=[]);const i=e.getSource();s.fields.push(i),e.copyTo("sortOn",G,"sortBy"),e.copyTo("dxfId",G,"sortBy"),e.copyTo("iconSet",G),e.copyTo("customList",G);const o=e.getAttribute("ref");if(o){const e=t.AddressUtils.fastStringToRange(o,rt).colStart,r=t.AddressUtils.fastStringToRange(s.ref,rt),n=r.colStart;i.offset=r?e-n:e}i.reverse=e.getAttribute("descending",_)??!1}}),l.registerVisitor({from:"AlternateContent",to:null});const u=t=>{h=t.getSource(),t.copyTo("topLeft",G,"topLeftCell");const e=st(t.getAttribute("defaultGridColor")),s=t.getAttribute("colorId");null===s||e||(t.getSource().gridLineColor="index"+parseFloat(s)),t.copyTo("showZeros",_),t.copyTo("showFormulas",_),t.copyTo("zoomScale",U),t.copyTo("showRowHeaders",_,"showRowColHeaders"),t.copyTo("showColumnHeaders",_,"showRowColHeaders"),t.copyTo("showRowGridlines",_,"showGridLines"),t.copyTo("showColumnGridlines",_,"showGridLines")};l.registerVisitor({from:"sheetView",to:"view",openTag:t=>{u(t)},closeTag:()=>{h=null}}),l.registerVisitor({from:"customSheetViews",to:"customSheetViews",openTag:t=>{t.setSource([])}}),l.registerVisitor({from:"customSheetView",to:[],openTag:t=>{u(t)},closeTag:()=>{h=null}}),l.registerVisitor({from:"selection",to:"selection",openTag:t=>{if(!h)return;t.copyTo("cell",G,"activeCell"),t.copyTo("rangeIndex",U,"activeCellId");const e=t.getAttribute("activeCell"),s=t.getAttribute("sqref");s&&s!==e&&(t.getSource().ranges=s.split(" "))}}),l.registerVisitor({from:"pane",to:"pane",openTag:e=>{if(h&&"frozen"===e.getAttribute("state")){const s={};h.freezePanes=s,e.copyToObject(s,"topLeft",G,"topLeftCell");const i=h.topLeft?t.AddressUtils.fastStringToCell(h.topLeft):{colIndex:0,rowIndex:0},o={colIndex:0,rowIndex:0};e.copyToObject(o,"colIndex",U,"xSplit"),e.copyToObject(o,"rowIndex",U,"ySplit");const r={colIndex:i.colIndex+o.colIndex,rowIndex:i.rowIndex+o.rowIndex};s.coords=t.AddressUtils.cellToString(r)}}}),l.registerVisitor({from:"tabColor",to:null,openTag:t=>{const s=tt(e=>t.getAttribute(e));s&&(e.tabColor=s)}}),l.registerVisitor({from:"pageSetUpPr",to:"pageSetUpPr",openTag:t=>{}}),l.registerVisitor({from:"outlinePr",to:"outlinePr",openTag:t=>{}}),l.registerVisitor({from:"pageMargins",to:"pageMargins",openTag:t=>{}}),l.registerVisitor({from:"pageSetup",to:"pageSetup",openTag:t=>{}}),l.registerVisitor({from:"printOptions",to:"printOptions",openTag:t=>{}}),l.registerVisitor({from:"mergeCells",to:"merges",openTag:t=>{t.setSource([])}}),l.registerVisitor({from:"mergeCell",to:[],openTag:t=>{const e=t.getAttribute("ref");t.setSource(e)}}),l.registerVisitor({from:"hyperlinks",to:"hyperlinks",openTag:t=>{t.setSource([])}}),l.registerVisitor({from:"hyperlink",to:[],openTag:t=>{const e=t.getAttribute("r:id"),i=t.getAttribute("ref");if(!i)return void console.warn("No ref found for hyperlink");t.setKey(i);let o=e?s(e):"";if("string"!=typeof o)return void console.warn("Invalid address ",o);const r=t.getAttribute("location");o.endsWith("\\")&&(o=o.substring(0,o.length-1));const n=t.getAttribute("location");if(n&&(r&&r!==n&&console.warn("display and location are different",r,n),o+="#"+n),!o)return void console.warn("No address found for hyperlink. r:id",e);let a;const l=t.getAttribute("tooltip");a=l?{address:o,tooltip:l}:o,t.setSource({r:i,v:a})}}),l.registerVisitor({from:"drawing",to:"movables",openTag:t=>{const e=t.getAttribute("r:id");if(!e)return;const i=s(e);i?t.setSource(i.movables):console.warn("no drawing found for rId",e)}}),l.registerVisitor({from:"tableParts",to:"tables",openTag:t=>{t.setSource([])}}),l.registerVisitor({from:"tablePart",to:[],openTag:t=>{const e=t.getAttribute("r:id");if(!e)return;const i=s(e);i?t.setSource(i):console.warn("no table found for rId",e)}}),l.registerVisitor({from:"worksheet",to:"worksheet",openTag:t=>{}}),l.registerVisitor({from:"sheetProtection",to:"protection",openTag:t=>{let e=!1;if(t.hasAttribute("sheet")&&_(t.getAttribute("sheet"))&&(e=!0),!e)return void t.setSource(void 0);const s=t=>!0===t||"1"===t||"on"===t||"true"===t||!1===t||"0"===t||"off"===t||"false"===t||null;t.copyTo("autoFilter",s),t.copyTo("deleteColumns",s),t.copyTo("formatCells",s),t.copyTo("formatColumns",s),t.copyTo("formatRows",s),t.copyTo("insertColumns",s),t.copyTo("insertHyperlinks",s),t.copyTo("insertRows",s),t.copyTo("objects",s),t.copyTo("pivotTables",s),t.copyTo("scenarios",s),t.copyTo("selectUnlockedCells",s),t.copyTo("selectUnlockedCells",s),t.copyTo("sort",s);const i={};t.copyToObject(i,"hash",G,"hashValue"),t.copyToObject(i,"algorithm",G,"algorithmName"),t.copyToObject(i,"salt",G,"saltValue"),t.copyToObject(i,"spinCount",U),Object.keys(i).length>0&&(t.getSource().password=i)}}),l.registerVisitor({from:"protectedRanges",to:"protectedRanges",openTag:t=>{t.setSource({})}}),l.registerVisitor({from:"protectedRange",to:{},openTag:t=>{const e=t.getAttribute("sqref");t.setKey(e),t.copyTo("name"),t.copyTo("securityDescriptor");const s={};t.copyToObject(s,"hash",G,"hashValue"),t.copyToObject(s,"algorithm",G,"algorithmName"),t.copyToObject(s,"salt",G,"saltValue"),t.copyToObject(s,"spinCount",U),Object.keys(s).length>0&&(t.getSource().password=s)}}),l.registerVisitor({from:"sheetFormatPr",to:"sheetFormatPr",openTag:t=>{t.copyToObject(e,"defaultColSize",z,"defaultColWidth"),t.copyToObject(e,"outlineLevelCol",U,"outlineLevelCol");const s=t.getAttribute("customHeight");"1"!==s&&"true"!==s||t.copyToObject(e,"defaultRowSize",z,"defaultRowHeight"),t.copyToObject(e,"outlineLevelRow",U,"outlineLevelRow")}}),l.registerVisitor({from:"cols",to:"cols",openTag:t=>{t.setSource([])}}),l.registerVisitor({from:"col",to:[],openTag:t=>{t.copyTo("min",t=>parseInt(t)-1),t.copyTo("max",t=>parseInt(t)-1),t.copyTo("sz",z,"width"),t.copyTo("cs",_,"customWidth"),t.copyTo("h",_,"hidden"),t.copyTo("l",U,"outlineLevel"),t.copyTo("s",U,"style")}}),l.registerVisitor({from:"oleObjects",to:null,openTag:t=>{t.warn("'OLE Objects' are not supported.")}});let d=null;const p={onOpenTag:t=>{null===d&&(d="")},onText:t=>{d+=t},onEnd:()=>{const t=i(d);return d=null,t},onError:t=>{}};return((e,s,i,o,r,n)=>{let a=!1,l=!1,c=[],h=!1,u=null,d=null,p=null,g=null,f=null,m=null;const T=n?.get("richData")??[],y=t.AddressUtils.normalizeA1ToR1C1,b=t.CoordUtils.createConflatingRanges(),x=new Map,w=[];let v=null;const S=t.CoordUtils.createConflatingRanges();let C,k=!1,A=-1,E=-1,D=null,P=null;const I=[];let O=null,V=-2,N=0,L="",R="",$="",F="",M="",j="",H="",X="",B="",W="",q="",_="",U="",z="",G=!0,Z=null;return{...i,onEnd:()=>{I.length>0&&(s.rows=I);let o=b.done(ot);const r=o.length;if(r>0){const e=new Array(r);for(let s=0;s<r;s++){const i=o[s],r=t.AddressUtils.rangeToString(i),n=i.value[1],a=t.AddressUtils.resolveRelativeToA1(n,i.rowStart,i.colStart);e[s]=[r,a]}s.formulas=e}const n=S.done(!0),a=n.length;if(a>0){const e=new Array(a);for(let s=0;s<a;s++){const i=n[s],o=t.AddressUtils.rangeToString(i);e[s]=o}s.volatile=e}if(w.length>0&&(s.dynamicArray=[...w]),c.length>0){c.sort(t.CoordUtils.createRangeComparator(t.IRange.Orientation.Column));const e=[];let i=null,o=-1,r=-1,n=-1,a=-1,l=null;const h=c.length;h>0&&(i=c[0],o=i.colStart,r=i.colEnd,n=i.rowEnd,a=i.value,e.push(i));for(let t=1;t<h;t++)l=c[t],a!==l.value||o!==l.colStart||r!==l.colEnd||n+1!==l.rowEnd?(e.push(l),i=l,o=i.colStart,r=i.colEnd,n=i.rowEnd,a=i.value):(n=l.rowEnd,i.rowEnd=n);let u=[];for(let t=0;t<e.length;t++){const s=e[t];u.push({r:{colStart:s.colStart,colEnd:s.colEnd,rowStart:s.rowStart,rowEnd:s.rowEnd},v:s.value})}s.directStyles=u}const l=e.build();if(l){const t=l.tuples;s.data=t}i?.onEnd?.()},onOpenTag:e=>{let s=e.name;const o=s.indexOf(":");if(-1!==o&&(s=s.slice(o+1)),C){const t=e.attributes;switch(s){case"v":l=!0;break;case"f":switch(t.t??null){case null:case"normal":h=!0;break;case"shared":const e=t.si;d=t.ref,u=e;break;case"array":h=!0,d=t.ref,v=[d,!1];break;case"datatable":h=!0,d=t.ref,h=!0}void 0!==t.ca&&S.append(A,E);break;case"is":return void(k=!0)}return void(k&&r?.onOpenTag(e))}if(a){if("c"===s){C=e;const s=e.attributes.r;E=t.AddressUtils.fastStringToCol(s);const i=e.attributes.t;void 0===i?P=null:(P=i,"str"===P&&(k=!0));let o=e.attributes.s;void 0!==o&&(o=parseInt(o),Z&&Z.value===o&&Z.colEnd+1===E?Z.colEnd=E:(Z={colStart:E,rowStart:A,colEnd:E,rowEnd:A,value:o},c.push(Z)))}}else{if("row"===s){a=!0;const t=e.attributes.r;if(A=parseInt(t)-1,N=0,R=e.attributes.customHeight,void 0!==R&&(N|=it.CustomHeight),R!==B&&(G=!0,B=R),L=e.attributes.ht,void 0!==L&&(N|=it.Ht),L!==X&&(G=!0,X=L),$=e.attributes.hidden,void 0!==$&&(N|=it.Hidden),$!==W&&(G=!0,W=$),M=e.attributes.s,void 0!==M&&(N|=it.S),M!==_&&(G=!0,_=M),F=e.attributes.customFormat,void 0!==F&&(N|=it.CustomFormat),F!==q&&(G=!0,q=F),j=e.attributes.outlineLevel,void 0!==j&&(N|=it.OutlineLevel),j!==U&&(G=!0,U=j),H=e.attributes.collapsed,void 0!==H&&(N|=it.Collapsed),H!==z&&(G=!0,z=H),0!==N)if(V+1!==A||G){const t=void 0!==R&&("1"===R||"true"===R),e=void 0!==F&&("1"===F||"true"===F);O={min:A,max:A,sz:t&&void 0!==L?parseFloat(L):-1,csz:t,h:void 0!==$&&("1"===$||"true"===$),s:t&&void 0!==M&&"0"!==M?parseInt(M):0,cs:e,l:void 0===j||"0"===j?0:parseInt(j),cl:void 0!==H&&("1"===H||"true"===H)},I.push(O)}else O.max=A;return V=A,void(G=!1)}i?.onOpenTag(e)}},onCloseTag:t=>{if(C){let s=t.name;const i=s.indexOf(":");if(-1!==i&&(s=s.slice(i+1)),k)if("is"===s||"v"===s){const t=r?.onEnd();null!==t&&e.addValue(A,E,""+t)}else r?.onCloseTag?.(t);return l&&(l=!1),void("c"===s&&(C=null,k=!1))}if(a)return a=!1,void(Z=null);i?.onCloseTag(t)},onText:s=>{if(s=s.trim(),l){switch(D=null,P){case null:case"n":D=parseFloat(s);break;case"b":D="1"===s||"true"===s;break;case"s":D=s;break;case"e":if("#VALUE!"===s){const e=C.attributes.vm;if(void 0!==e){const s=T[parseInt(e)-1];if(s&&s.isFormulaError){D={t:t.ScalarType.Error,v:s.getCode()};break}}}const e=t.FormulaError.getBuiltInByLabel(s);e?D={t:t.ScalarType.Error,v:e.getCode()}:(D=s,o?.(`Unknown formula error '${s}' in cell ${t.AddressUtils.cellToString({colIndex:E,rowIndex:A})}`));break;case"str":case"inlineStr":k=!0}null!==D&&e.addValue(A,E,D)}if(v&&("e"===P&&(v[1]=!0),w.push(v),v=null),u)if(f===u)g=m;else{if(g=x.get(u),!g){const t=[];p=y(s,A,E,t),g=[p,t,s],x.set(u,g)}f=u,m=g}if(h){const t=[];p=y(s,A,E,t),g=[p,t,s]}if(g)return b.append(A,E,g),g=null,h=!1,u=null,void(d=null);k?r?.onText(s):a||i?.onText(s)}}})(c,e,l.createEventHandler(e,()=>{},n),n,p,a)})(e,(t,e=!1)=>x(t,d,e)??null,E,S,0,t=>{o&&(t=d+": "+t,o?.(t))},f),i=J(d,y),r=await(async(t,e=8388608)=>{await(async()=>{if("undefined"==typeof ReadableStream)if("undefined"==typeof window){const{ReadableStream:t}=await Promise.resolve().then(()=>require("./D_VQzwC1zzTJyKtG.cjs"));globalThis.ReadableStream=t}else console.warn("Browser does not support ReadableStream; consider loading a polyfill.")})();const s=new TextDecoder("utf-8");let i=0;const o=t instanceof Uint8Array?t:new Uint8Array(t);return new ReadableStream({pull(t){if(i>=o.byteLength)return void t.close();const r=o.subarray(i,Math.min(i+e,o.byteLength)),n=s.decode(r,{stream:i+e<o.byteLength});t.enqueue(n),i+=r.length}}).getReader()})(i);try{await W.parseStream(r,s,{xmlns:!1})}catch(t){throw console.warn(`Error parsing sheet: '${d}'`,t),new Error(`Error parsing sheet: '${d}'`,{cause:t})}const n=b(d,c);let a,l=new Map;if(n){const s="http://schemas.microsoft.com/office/2017/10/relationships/threadedComment";let i;n.forEach((t,e)=>{if(t.type===s){const t=x(e,d,!1,c);a=t?.comments,a&&a.forEach(t=>{l.set(t.id,t)})}});const o="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";if(n.forEach((t,e)=>{if(t.type===o){const t=x(e,d,!1,c);i=t}}),i||a){const s=a??[],o=i?.comments;if(o){const e=i?.authors;for(let i=0;i<o.length;i++){const r=o[i];let n=void 0!==r.authorId?e[r.authorId]:void 0;if((!n||n.startsWith("tc="))&&(n=et(n.substring(3)),l.has(n)))continue;let a=D.get(n);a||(a=P.get(n)),a||(a={id:t.CommonUtils.uuidV4(),displayName:n},P.set(a.displayName,a),D.set(a.id,a)),n=a?.id??null;const c={id:t.CommonUtils.uuidV4(),personId:n,ref:r.ref,done:!1,asNote:!0,content:r.content};s.push(c)}}e.comments=s}}};T.push(s())}else C=r?J(d,y,t=>{const e=a.add({buffer:t});return e.addReference(h),g.add(e),l.toResourceId(e)},w):Q(d,y,n,i,w)}return C},w={paramMap:f,getRefs:b,getRef:x,parsedRefs:m,onWarning:o,addPerson:t=>null},v=[];let S=0;s.Strings&&(S=parseInt(s.Strings.Unique??s.Strings.length??0));const C=s.Strings??[];for(let t=0;t<S;t++)v.push(C[t]?.t??"");const k=new Map;let A=S;const E=t=>{const e=k.get(t);if(void 0!==e)return e;const s=A;return k.set(t,A++),v.push(t),s},D=(K("richstructure",s,n,i,w),K("richdata",s,n,i,w),new Map),P=new Map,I=K("people",s,n,i);let O=null;if(I.size>0&&(O=I.entries().next()?.value?.[1]?.persons,O)){const t=O.length;for(let e=0;e<t;e++){const t=O[e];D.set(t.id,t),D.set(t.displayName,t)}}const V=K("themes",s,n,i,w);let N=null;if(V&&V.entries){let t=V.entries().next();t?.value?.[1]&&(N=t.value[1])}const L=new t.Theme(N),R=K("styles",s,n,i,w);let $=R.entries().next()?.value[1];$&&($=JSON.parse(t.JSONStableStringify($)));const F=K("workbooks",s,n,i,w);await Promise.all(T);const M={...F.entries().next().value[1],styles:$,theme:L.toJSON()};v.length>0&&(M.strings=v),O&&O.length>0&&(M.people=O);const j={...r,resources:a,json:M},H=new t.Workbook(j);return g.forEach(t=>{t.deleteReference(h)}),l.endPersist(),H}catch(e){let s="Unable to parse XLSX.";throw e instanceof t.OutOfBoundsError&&(s="Unable to open XLSX. There are too many rows or columns."),new Error(s,{cause:e})}},toBufferXLSX:async(e,s)=>{const i=await Promise.resolve().then(()=>require("./DAHpsyykuPBkoh-Z.cjs")),o=await e.toJSON(!0),r=i.utils.book_new();for(let s=0;s<o.sheets.length;s++){const n=o.sheets[s],a=i.utils.json_to_sheet([{}]);i.utils.book_append_sheet(r,a,n.name);const l=n.sheet,c=e.getSheetAt(s),h=c.getUsedRange();if(h?(a["!ref"]=h.getA1(),h.forEach((e,s)=>{const i={t:"z"},o=s.getCell().getStyle();if(!o.isNormal()){let e=o.getNumberFormat();e!==t.NumberFormat.Type.General&&(e===t.NumberFormat.Type.ShortDate?e="m/d/yyyy":e===t.NumberFormat.Type.MediumDate?e="d-mmm-yy":e===t.NumberFormat.Type.LongDate?e="[$-x-sysdate]dddd, mmmm dd, yyyy":e===t.NumberFormat.Type.ShortTime?e="h:mm":e===t.NumberFormat.Type.MediumTime?e="h:mm AM/PM":e===t.NumberFormat.Type.LongTime&&(e="h:mm:ss AM/PM"),i.z=e)}if(null!==e)switch(s.getType()){case t.ScalarType.Number:i.t="n",i.v=e;break;case t.ScalarType.String:i.t="s",i.v=e;break;case t.ScalarType.Boolean:i.t="b",i.v=e;break;case t.ScalarType.Error:i.t="e",i.v=e.toString();case t.ScalarType.RichData:}a[s.getA1()]=i})):a["!ref"]="A1:A1",l.merges?.length>0){const t=[];a["!merges"]=t;for(let e=0;e<l.merges.length;e++)t.push(i.utils.decode_range(l.merges[e]))}if(l.cols?.length>0){const t=[];a["!cols"]=t;const e=l.cols,s={width:l.defaultColSize??c.getColumnWidthAsFontUnit(c.getColumnHeaders().getDefaultSize())};for(let i=0;i<e.length;i++){const o=e[i];for(let e=t.length;e<=o.min-1;e++)t.push(s);const r={};void 0!==o.sz&&(r.width=o.sz),void 0!==o.h&&(r.hidden=o.h),void 0!==o.l&&(r.level=o.l);for(let e=o.min;e<=o.max;e++)t.push(r)}}}return i.write(r,{type:"array",bookType:"xlsx"}),i.write(r,{type:"array",bookType:"xlsx"})}},Symbol.toStringTag,{value:"Module"}));exports.a=t=>parseFloat(t)/1e3,exports.b=st,exports.c=t=>t?e._n.roundAccurately(parseFloat(t)/9525,1):null,exports.d=tt,exports.i=nt,exports.p=t=>parseFloat(t)/6e4,exports.r=et,exports.t=t=>t?e._n.roundAccurately(parseFloat(t)/12700,4):null;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.12
|
|
3
|
-
*
|
|
4
|
-
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/
|
|
7
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./DJbKKxeeTEHHA1gR.cjs"),e=require("./Ce-8L4Viq3I_6j0i.cjs"),s=require("@sheetxl/sdk");class r{constructor(t){this.list=t}get length(){return this.list.length}item(t){return this.list[t]}forEach(t,e){for(let e=0;e<this.list.length;e++)t(this.list[e],e,this)}}const o=t=>!0===t||"1"===t||"on"===t||"true"===t||!1!==t&&"0"!==t&&"off"!==t&&"false"!==t&&null,i=t=>{const e=parseInt(t);return isNaN(e)?null:e},n=t=>{const e=parseFloat(t);return isNaN(e)?null:e},l=new Map;class a{constructor(t,e,s,r,o,i=null,n){const l=(t,e,s)=>n?.getRef?.(t,e,s,n?.parsedRefs),a=t=>n?.getRefs?.(t,n?.parsedRefs);this._parent=t,this.sharedShared=e,this.currentPath=s,this.elemRoot=r,this.jsonRoot=o,t?(this._fileLocation=t._fileLocation,this._getRef=t._getRef,this._getRefs=t._getRefs):(i&&(this._fileLocation=i),l&&a&&(this._getRef=l),a&&(this._getRefs=a),this._onWarning=n?.onWarning,this._addPerson=n?.addPerson)}getRef(t,e=!1){return this._getRef?.(t,this._fileLocation,e)??null}getRelationships(){return this._getRefs(this._fileLocation)??l}getPath(){return this.currentPath}getElemRoot(){return this.elemRoot}getJsonRoot(){return this.jsonRoot}warn(t){this._onWarning?this._onWarning(t):this._parent?this._parent?.warn?.(t):console.warn(t)}addPerson(t){return this._addPerson?this._addPerson(t):this._parent?this._parent?._addPerson?.(t):null}getVisitorParamsState(){return this.sharedShared.getVisitorParamsState()}evaluate(t,e){if(!t)return e;let s=[e];const o=t.split("/");for(let t=0;t<o.length;t++){const e=o[t];if(""===e||"."===e)continue;let r=[];for(let t=0;t<s.length;t++){const o=s[t],i=o.childNodes;for(let t=0;i&&t<i.length;t++){const s=o.childNodes[t];s.localName!==e&&"*"!==e||r.push(s)}}s=r}return 1===s.length?s[0]:0===s.length?null:new r(s)}getFromPath(e,s){return t._n.getFromPath(e,s)}setToPath(e,s,r){return t._n.setToPath(e,s,r)}getValAttrAsString(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?s.getAttribute("val")??null:null}getValAttrAsBoolean(t,e,s=!1){let r=this.evaluate(t,e);if(!r)return null;const o=r.hasAttribute("val")?r.getAttribute("val"):void 0;return null==o?s:"1"===o||"on"===o||"true"===o||"0"!==o&&"off"!==o&&"false"!==o&&s}getValAttrAsInteger(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseInt(s.getAttribute("val"))??null:null}getValAttrAsFloat(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseFloat(s.getAttribute("val"))??null:null}get BOOLEAN_COPY(){return o}get INT_COPY(){return i}get FLOAT_COPY(){return n}copyFromAttribute(t,e,s,r=e,o=null){if(!t||!s||!t.hasAttribute(e))return;let i=t.getAttribute(e);if(o)if(Array.isArray(o))for(let t=0;t<o.length;t++){if(null==i)return;if(i=o[t](i),null==i)return}else{if(null==i)return;if(i=o(i),null==i)return}this.setToPath(s,r,i)}}class c{constructor(t){this.jsonKey=t}visit(t,e,s){const r={};return s[this.jsonKey]=r,r}}class u{visit(t,e,s){if(!e)return;const r=e.childNodes;for(let e=0;e<r.length;e++){const o=r.item(e);1===o.nodeType&&"Relationship"===o.localName&&this.processRelationship(t,o,s)}return s}processRelationship(t,e,s){const r={};t.copyFromAttribute(e,"Target",r,"target"),t.copyFromAttribute(e,"Type",r,"type"),t.copyFromAttribute(e,"TargetMode",r,"targetMode"),s[e.getAttribute("Id")]=r}}const h=(s,r)=>{if(s||!s.hasAttribute("rot"))return;const o=s.getAttribute("rot"),i=t._n.roundAccurately(e.p(o),2);-1e3!==i&&(r.rotation=i)},p=(t,e,s,r,o)=>{const i=t.getValAttrAsString(r,e);null!==i&&(s[o]=i)},g=(t,e,s,r,o=r,i=null)=>{const n=t.getValAttrAsBoolean(r,e,i);null!==n&&(s[o]=n)},d=(t,e,s,r,o)=>{const i=t.getValAttrAsInteger(r,e);null!==i&&(s[o]=i)},m=(t,e,s,r,o,i=1)=>{const n=t.getValAttrAsFloat(r,e);null!==n&&(s[o]=n*i)};class b{visit(t,e,s){return g(t,e,s,"roundedCorners","roundedCorners"),d(t,e,s,".//AlternateContent/Fallback/style","styleId"),s.range=null,s}afterVisit(t,e,s){let r={};s.types=r;let o={},i=0,n={},l=0,a=t.getVisitorParamsState().get("axes");const c=t.getVisitorParamsState().get("types");for(let t=0;t<c.length;t++){const e=c[t];if(e.xAxisId){const r=e.xAxisId,n=a.get(r);o[t+""]=n,e.offsetXAxis=t,delete e.xAxisId,s.xAxes=o,o.length=++i}if(e.yAxisId){const r=e.yAxisId,o=a.get(r);n[t+""]=o,e.offsetYAxis=t,delete e.yAxisId,s.yAxes=n,n.length=++l}r[t+""]=e}r.length=c.length;const u=t.getVisitorParamsState().get("series");if(!u||0===u.length)return;const h={};s.series=h;for(let t=0;t<u.length;t++)h[t+""]=u[t];h.length=u.length}}class A{visit(t,e,s){return g(t,e,s,"plotVisOnly","plotVisOnly"),p(t,e,s,"dispBlanksAs","dispBlanksAs"),g(t,e,s,".//extLst/ext/dataDisplayOptions16/dispNaAsBlank","dispNaAsBlank"),g(t,e,s,"showDLblsOverMax","showDLblsOverMax"),s}afterVisit(t,e,s){try{const r=t.getValAttrAsBoolean("autoTitleDeleted",e),o=t.evaluate("title",e);t.setToPath(s,"title.shown",!(!0===r||!o));const i=t.evaluate("legend",e);t.setToPath(s,"legend.shown",null!==i)}catch(t){throw new Error("Unexpected Error parsing Chart: "+t)}}}class f{visit(t,e,s){let r={};return s.plotArea=r,r}}class y{EnumMappings(){}static fromOoxmlGradientType(t){return"circle"===t?"radial":t}static fromOoxmlLineCap(t){if("rnd"===t)return"round";if("flat"===t)return"butt";if("sq"===t)return"square";throw new Error("Invalid lineCap type: "+t)}static fromOoxmlCompound(t){return"sng"===t?"single":t}static fromOoxmlAlignment(t){return"ctr"===t?"center":t}}class v{visit(t,e,s){}processStroke(t,s,r){const o={},i=t.evaluate("ln",s);if(i){i.hasAttribute("algn")&&(o.align=y.fromOoxmlAlignment(i.getAttribute("algn"))),i.hasAttribute("cap")&&(o.lineCap=y.fromOoxmlLineCap(i.getAttribute("cap"))),i.hasAttribute("cmpd")&&(o.compound=y.fromOoxmlCompound(i.getAttribute("cmpd"))),i.hasAttribute("w")&&(o.width=e.t(i.getAttribute("w")));const s=t.evaluate("miter",i);s&&(o.lineJoin="miter",s.hasAttribute("lim")&&(o.miter=parseFloat(s.getAttribute("lim")))),t.evaluate("bevel",i)&&(o.lineJoin="bevel"),t.evaluate("round",i)&&(o.lineJoin="round");const n=t.evaluate("custDash",i);if(n){const s=t.evaluate("ds",n);if(s&&s.length>0){let t="";for(let r=0;r<s.length;r++){const o=s.item(r);t+=e.a(o.getAttribute("d"))+","+e.a(o.getAttribute("sp"))}o.dash=t}}const l=t.evaluate("prstDash",i);l&&l.hasAttribute("val")&&(o.dash=l.getAttribute("val")),this.parseEndElement(t,i,o,"headEnd","head"),this.parseEndElement(t,i,o,"tailEnd","tail");const a=this.processFill(t,i,r);o.fill=a}return o}parseEndElement(t,e,s,r,o){const i=t.evaluate(r,e);if(i&&(i.hasAttribute("type")&&(s[o+"Type"]=i.getAttribute("type")),i.hasAttribute("len")||i.hasAttribute("w"))){const t=i.getAttribute("len")?i.getAttribute("len"):"med",e=i.getAttribute("w")?i.getAttribute("w"):"med";s[o+"Size"]=t+"-"+e}}processFill(t,s,r){const o={};if(t.evaluate("noFill",s))return o.none=!0,o;const i=t.evaluate("solidFill",s);if(i){const e=this.processAdjColor(t,i);return e&&(o.solid=e),o}const n=t.evaluate("gradFill",s);if(n){n.hasAttribute("rotWithShape")&&(o.isRotated="1"===n.getAttribute("rotWithShape"));const e=this.processGradFill(t,n);return o.gradient=e,o}const l=t.evaluate("pattFill",s);if(l){const e=this.processPatternFill(t,l);return o.pattern=e,o}const a=t.evaluate("blipFill",s);if(a){a.hasAttribute("rotWithShape")&&(o.isRotated=e.b(a.getAttribute("rotWithShape"))),a.hasAttribute("dpi")&&(o.dpi=a.getAttribute("dpi"));const s=this.processImageFill(t,a);return o.image=s,o}return o.none=!0,o}processGradFill(t,s){const r={},o=t.evaluate("lin",s);if(o){if(r.type="linear",o.hasAttribute("ang")){const t=e.p(o.getAttribute("ang"));r.angle=t}if(o.hasAttribute("scaled")){const t=e.b(o.getAttribute("scaled"));r.scaled=t}}const i={};s.hasAttribute("flip")&&(i.mirror=s.getAttribute("flip")),Object.keys(i).length>0&&(r.tile=i);const n=t.evaluate("path",s);if(n){n.hasAttribute("path")&&(r.type=y.fromOoxmlGradientType(n.getAttribute("path")));const e=t.evaluate("fillToRect",n);e&&(r.fillTo=this.getRect(e))}const l=t.evaluate("tileRect",s);l&&(r.tile.bounds=this.getRect(l));const a=[],c=t.evaluate("gsLst/gs",s);for(let s=0;c&&s<c.length;s++){const r=c.item(s),o={offset:e.a(r.getAttribute("pos")),color:this.processAdjColor(t,r)};a.push(o)}return a.length>0&&(r.stops=a),r}getRect(t){const s={};return t.hasAttribute("t")&&(s.t=e.a(t.getAttribute("t"))),t.hasAttribute("l")&&(s.l=e.a(t.getAttribute("l"))),t.hasAttribute("b")&&(s.b=e.a(t.getAttribute("b"))),t.hasAttribute("r")&&(s.r=e.a(t.getAttribute("r"))),0===Object.keys(s).length?null:s}processImageFill(t,e){return{ref:"https://www.sheetxl.com/logo-color-padded-white.jpg",tile:!1}}processPatternFill(t,e){const s={},r=e.getAttribute("prst");s.type=r;const o=t.evaluate("bgClr",e);if(o){const e=this.processAdjColor(t,o);e&&(s.background=e)}const i=t.evaluate("fgClr",e);if(i){let e=this.processAdjColor(t,i);e&&(s.foreground=e)}return s}processAdjColor(t,e){const s=t.evaluate("hslClr",e);if(s)return this.processHslClr(t,s);const r=t.evaluate("prstClr",e);if(r)return this.processClrWithValAttribute(t,r);const o=t.evaluate("schemeClr",e);if(o)return this.processClrWithValAttribute(t,o);const i=t.evaluate("sysClr",e);if(i)return this.processClrWithValAttribute(t,i);const n=t.evaluate("scrgbClr",e);if(n)return this.processScrgbClrElement(t,n);const l=t.evaluate("srgbClr",e);return l?this.processSrgbClrElement(t,l):null}processScrgbClrElement(t,s){let r="lrgba("+e.a(s.getAttribute("r"))+","+e.a(s.getAttribute("g"))+","+e.a(s.getAttribute("b"))+")";return r+=this.processAdjustments(t,s),r}processSrgbClrElement(t,e){let s=e.getAttribute("val");return s+=this.processAdjustments(t,e),s}processHslClr(t,s){let r="hsl("+e.p(s.getAttribute("hue"))+","+e.a(s.getAttribute("sat"))+","+e.a(s.getAttribute("lum"))+")";return r+=this.processAdjustments(t,s),r}processClrWithValAttribute(t,e){const s=e.getAttribute("val");if(!s)return;let r=s;return r+=this.processAdjustments(t,e),r}processAdjustments(t,e){let s="";const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(1===i.nodeType){let r=i.localName;s+="hue"===r||"hueOff"===r||"hueMod"===r?this.processAdjustmentElement(t,e,r,6e4):"gray"===r||"comp"===r||"inv"===r||"gamma"===r||"invGamma"===r?this.processAdjustmentElement(t,e,r,1):this.processAdjustmentElement(t,e,r)}}return s}processAdjustmentElement(t,e,s,r=1e3){const o=t.evaluate(s,e);if(!o)return"";const i=o.getAttribute("val");return i?` ${s} ${!i||parseFloat(i)/r}`:` ${s}`}}class F extends v{visit(t,s,r){try{const o=t.evaluate("xfrm",s);if(o){h(o,r);const s={x:0,y:0,width:0,height:0},i=t.evaluate("off",o);i&&(s.x=e.c(i.getAttribute("x"))??0,s.y=e.c(i.getAttribute("y"))??0);const n=t.evaluate("ext",o);i&&(s.width=e.c(n.getAttribute("cx"))??0,s.height=e.c(n.getAttribute("cy"))??0),r.bounds=s}const i=t.evaluate("prstGeom",s);i?.hasAttribute("prst")?r.geometry=i?.getAttribute("prst"):t.evaluate("customGeom",s)&&console.warn("customGeom not supported yet");const n=this.processFill(t,s,r);n&&Object.keys(n).length>0&&(r.fill=n);const l=this.processStroke(t,s,r);return l&&Object.keys(l).length>0&&(r.stroke=l),r}catch(t){throw console.warn(t),new Error("Unexpected Error parsing Shape Properties element")}}}class C{visit(t,e,s){let r={};if(p(t,e,r,"grouping","grouping"),g(t,e,r,"varyColors","varyColors"),m(t,e,r,"gapWidth","gapWidth",.01),m(t,e,r,"overlap","overlap",.01),this.parseType(t,e,r),d(t,e,r,"bubbleScale","bubbleScale"),g(t,e,r,"showNegBubbles","showNegativeBubbleValues"),g(t,e,r,"sizeRepresents","bubbleSizeRepresentsWidth"),d(t,e,r,"firstSliceAng","startAngle"),d(t,e,r,"holeSize","holeSize"),p(t,e,r,"scatterStyle","scatterStyle"),this.parseAxisIds(t,e,r),Object.keys(r).length>0){let e=t.getVisitorParamsState().get("types");e||(e=[],t.getVisitorParamsState().set("types",e)),e.push(r)}return r}parseType(t,e,s){switch(e.localName){case"areaChart":s.type="area";break;case"bubbleChart":s.type="bubble";break;case"doughnutChart":case"ofPieType":case"pieChart":s.type="pie";break;case"lineChart":s.type="line";break;case"scatterChart":s.type="scatter"}}parseAxisIds(t,e,s){const r=t.evaluate("axId",e);if(0===r.length)return;const o=r.item(0).getAttribute("val");s.xAxisId=o;const i=r.item(1).getAttribute("val");s.yAxisId=i}}class w extends C{parseType(t,e,s){const r=t.getValAttrAsString("barDir",e);r&&(s.type="col"===r?"column":"bar")}}class P{constructor(t){this.jsonKey=t}visit(t,e,s){let r={},o=r,i=t.getValAttrAsString("idx",e);null!==i&&(o={},o[i]=r);const n=t.getValAttrAsBoolean("delete",e);this.parseNumFormat(t,e,r),!0===n?(r.showBubbleSize=!1,r.showCatName=!1,r.showLeaderLines=!1,r.showPercentage=!1,r.showSerName=!1,r.showVal=!1,r.showLegendKey=!1):(g(t,e,r,"showBubbleSize","showBubbleSize"),g(t,e,r,"showCatName","showCatName"),g(t,e,r,"showLeaderLines","showLeaderLines"),g(t,e,r,"showPercent","showPercentage"),g(t,e,r,"showSerName","showSerName"),g(t,e,r,"showVal","showVal"),g(t,e,r,"showLegendKey","showLegendKey"));const l=t.evaluate("separator",e);return null!==l&&(r.separator=l.textContent),p(t,e,r,"dLblPos","position"),s[this.jsonKey]=o,r}parseNumFormat(t,e,s){const r=t.evaluate("numFmt",e);if(r){const t=r.getAttribute("formatCode");s.formatCode=t,r.hasAttribute("sourceLinked")&&(s.sourceLinked="1"===r.getAttribute("sourceLinked"))}}}const N=(t,e,s)=>{if(!0===t.getValAttrAsBoolean("invertIfNegative",e))if(t.evaluate("extLst/ext/invertSolidFillFmt",e)){if(s.fill&&s.fillNegative){const e=t.getFromPath(s,"fill.solid.adjs");e&&t.setToPath(s,"fillNegative.solid.adjs",e)}}else{const t={val:"FFFFFF"},e={};e.solid=t,s.fillNegative=e;const r={val:"000000"},o={};o.solid=r;const i={};i.fill=o,s.strokeNegative=i}};class O{visit(t,e,s){const r={};d(t,e,r,"explosion","explosion");let o=t.evaluate("cat/*/f",e);o||(o=t.evaluate("xVal/*/f",e));let i=null;null!==o&&null!==o.firstChild&&(i=o.firstChild.nodeValue),o||(o=t.evaluate("cat/strLit",e),o||(o=t.evaluate("cat/numLit",e)),o&&(i=this.parsePointsAsString(t,o))),null!==i&&(r.xRange=i);let n=t.evaluate("val/*/f",e);n||(n=t.evaluate("yVal/*/f",e));let l=null;n&&n.firstChild&&(l=n.firstChild.nodeValue),n||(n=t.evaluate("val/numLit",e),null!==n&&(l=this.parsePointsAsString(t,n))),null!==l&&(r.valRange=l),this.parseTitleRangeOrValue(t,e,r),d(t,e,r,"idx","idx"),g(t,e,r,"smooth","smooth");const a=t.getVisitorParamsState().get("types").length-1;r.offsetChart=a;let c=t.getVisitorParamsState().get("series");return c||(c=[],t.getVisitorParamsState().set("series",c)),c.push(r),r}parseTitleRangeOrValue(t,e,s){const r=t.evaluate("tx/strRef/f",e);if(null!==r){const e=r.firstChild.nodeValue;t.setToPath(s,"title.range",e)}else{const r=t.evaluate("tx/v",e);null!==r&&t.setToPath(s,"title.text.simpleRun",r.firstChild.nodeValue)}}parsePointsAsString(t,e){let s="{";const r=t.getValAttrAsInteger("ptCount",e),o=t.evaluate("pt",e),i=[];for(let s=0;o&&r&&s<r;s++){let r=null,o=t.evaluate("pt[@idx='"+s+"']/v",e);o instanceof Node&&(r=o.textContent),i[s]=r}for(let t=0;t<i.length;t++)t>0&&(s+=","),void 0!==i[t]&&(s+=i[t]);return s+="}",s}afterVisit(t,e,s){N(t,e,s);let r=t.getFromPath(s,"points");if(r){const e=Object.keys(r);for(let o=0;o<e.length;o++){const i=e[o],n=t.getFromPath(r,i);if(!n)continue;let l=t.getFromPath(n,"markers");l&&(t.setToPath(s,"markers.points."+i,l),delete n.markers)}}}}class T{DataPointVisitor(){}visit(t,e,s){let r=t.getFromPath(s,"points"),o=null;r?o=r:(o={},t.setToPath(s,"points",o));let i={},n=t.getValAttrAsString("idx",e);return null!==n&&(o[n]=i),g(t,e,i,"bubble3D","bubble3D"),d(t,e,i,"explosion","explosion"),N(t,e,i),i}}class S{visit(t,e,s){const r=e.parentNode.localName;if("ser"===r||"dPt"===r){const r={},o=t.getValAttrAsString("size",e);null!==o&&(r.size=o);const i=t.getValAttrAsString("symbol",e);return i&&(r.type=i),s.markers=r,r}return null}}class V{visit(t,e,s){let r={};this.parseScaling(t,e,r),m(t,e,r,"majorUnit","majorUnits"),m(t,e,r,"minorUnit","minorUnits"),g(t,e,r,"delete","shown"),this.parseOrientation(t,e,r),this.parseNumFormat(t,e,r),p(t,e,r,"majorTickMark","majorTickMarks"),p(t,e,r,"minorTickMark","minorTickMarks"),p(t,e,r,"crosses","crosses"),m(t,e,r,"crossesAt","crosses"),p(t,e,r,"crossBetween","crossBetween"),this.parseLabelAlign(t,e,r),d(t,e,r,"lblOffset","labelOffset"),p(t,e,r,"tickLblPos","labelPosition");const o=t.getValAttrAsInteger("noMultiLvlLbl",e);r.labelMultiLevel=null!==o&&0===o,d(t,e,r,"tickMarkSkip","tickMarkSkip"),d(t,e,r,"tickLblSkip","labelInterval"),this.parseDisplayCustOrBuiltInUnit(e,t,r),this.parseTimeUnits(t,e,r,"majorUnitDates","majorTimeUnit","majorUnit"),this.parseTimeUnits(t,e,r,"minorUnitDates","minorTimeUnit","minorUnit"),p(t,e,r,"baseTimeUnit","baseUnitDates"),t.getVisitorParamsState().get("axes")||t.getVisitorParamsState().set("axes",new Map);const i=t.getValAttrAsString("axId",e);return t.getVisitorParamsState().get("axes").set(i,r),r}parseTimeUnits(t,e,s,r,o,i){const n={};let l=t.getValAttrAsString(o,e);if(null!==l){n.dem=l;let s=t.getValAttrAsString(i,e);n.amt=s}Object.keys(n).length>0&&(s[r]=n)}parseDisplayCustOrBuiltInUnit(t,e,s){let r=e.getValAttrAsString("dispUnits/builtInUnit",t);r||(r=e.getValAttrAsString("dispUnits/custUnit",t)),r&&(s.displayUnits=r)}parseLabelAlign(t,e,s){let r=t.getValAttrAsString("lblAlgn",e);null!==r&&("ctr"===r?s.labelAlign="center":"l"===r?s.labelAlign="left":"r"===r&&(s.labelAlign="right"))}parseOrientation(t,e,s){const r=t.getValAttrAsString("AxPos",e);null!==r&&("b"===r?s.orientation="bottom":"l"===r?s.orientation="left":"r"===r?s.orientation="right":"t"===r&&(s.orientation="top"))}parseNumFormat(t,e,s){const r={},o=t.evaluate("numFmt",e);null!==o&&(o.hasAttribute("formatCode")&&(r.formatCode=o.getAttribute("formatCode")),o.hasAttribute("sourceLinked")&&(r.sourceLinked="1"===o.getAttribute("sourceLinked"))),Object.keys(r).length>0&&(s.labels=r)}parseScaling(t,e,s){const r=t.getValAttrAsString("scaling/orientation",e);null!==r&&(s.inverted="minMax"!==r);const o=t.getValAttrAsFloat("scaling/logBase",e);null!==o&&(s.logBase=o,s.scaleType="log"),m(t,e,s,"scaling/max","max"),m(t,e,s,"scaling/min","min")}afterVisit(t,e,s){s.fill&&s.labels&&(s.labels.fill=s.fill,delete s.fill);let r=t.getValAttrAsBoolean("delete",e);null!==r&&(t.setToPath(s,"labels.shown",!0!==r),t.setToPath(s,"shown",!0!==r));const o=t.getFromPath(s,"dispUnits.displayUnitsLabel");o&&(t.setToPath(s,"displayUnitsLabel",o),delete s.dispUnits);const i=t.evaluate("title",e);t.setToPath(s,"title.shown",null!==i);const n=t.evaluate("minorGridlines",e);t.setToPath(s,"gridLinesMinor.shown",null!==n);const l=t.evaluate("majorGridlines",e);t.setToPath(s,"gridLinesMajor.shown",null!==l)}}class x{constructor(t="text"){this._jsonKey=t}getTextPath(){return this._jsonKey}visit(t,e,s){let r=t.getFromPath(s,this.getTextPath());return r||(r={}),this.parseTextElement(t,e,r,!1),Object.keys(r).length>0&&t.setToPath(s,this.getTextPath(),r),s}parseTextElement(t,e,s,r){const o=t.evaluate("p/pPr/defRPr",e)??t.evaluate("defRPr",e);o&&(this.parseTextProperties(t,o,s),(new F).visit(t,o,s));let i=[],n=t.evaluate("p/r",e)??t.evaluate("r",e);const l=e=>{const s={};let r=t.evaluate("t",e);const o=t.evaluate("rPr",e);o&&this.parseTextProperties(t,o,s),r?s.text=r.firstChild.textContent??"":e.textContent&&(s.text=e.textContent??""),i.push(s)};if(void 0!==n?.length)for(let t=0;n&&t<n.length;t++)l(n.item(t));else l(n||e);i.length>0&&(s.runs=i);const a=t.evaluate("bodyPr",e);a&&h(a,s)}parseTextProperties(t,e,r){if(!e)return;e.hasAttribute("sz")&&(r.size=parseFloat(e.getAttribute("sz"))/100),e.hasAttribute("b")&&(r.weight="1"===e.getAttribute("b")?700:400),e.hasAttribute("i")&&(r.italic="1"===e.getAttribute("i")),e.hasAttribute("u")&&(r.underline=e.getAttribute("u")),e.hasAttribute("strike")&&(r.strike=e.getAttribute("strike"));const o=t.evaluate("latin",e);if(o&&!o.getAttribute("typeface").startsWith("+")){const t=r.font??{};if(o.hasAttribute("typeface")&&(t.family=o.getAttribute("typeface")),o.hasAttribute("panose")){const e=o.getAttribute("panose");e&&(t.fallbacks=[s.IFont.getPanoseFallback(e)])}o.hasAttribute("pitchFamily")&&(t.pitch=o.getAttribute("pitchFamily")),o.hasAttribute("charset")&&(t.charset=o.getAttribute("charset")),Object.keys(t).length>0&&(r.font=t)}}}class k{visit(t,e,s){let r=t.getVisitorParamsState().get("series")[t.getValAttrAsInteger("idx",e)];if(r){let s=t.getFromPath(r,"title");s||(s={},t.setToPath(r,"title",s));let o=s,i=t.getValAttrAsBoolean("delete",e);return null!==i&&(o.shown=!i),o}return s}}class I{visit(t,e,s){const r={};return g(t,e,r,"overlay","overlay"),p(t,e,r,"legendPos","position"),s.legend=r,r}}class L extends F{visit(t,e,s){const r=this.processFill(t,e,s);Object.keys(r).length>0&&(s.fillNegative=r);const o=this.processStroke(t,e,s);return Object.keys(o).length>0&&(s.strokeNegative=o),s}}class B extends x{constructor(t="title"){super(t)}parseTitleRangeOrValue(t,e,s){let r=t.evaluate("tx/strRef/f",e)??null;if(r){const e=r.firstElementChild.nodeValue;t.setToPath(s,"range",e)}}visit(t,e,s){const r={};g(t,e,r,"overlay","overlay"),s[this._jsonKey]=r;let o=t.getFromPath(r,this.getTextPath());o||(o={}),this.parseTitleRangeOrValue(t,e,r);const i=t.evaluate("txPr",e);i&&this.parseTextElement(t,i,o,!1);const n=t.evaluate("tx/rich",e);return n&&this.parseTextElement(t,n,o,!0),Object.keys(o).length>0&&t.setToPath(r,this.getTextPath(),o),r}afterVisit(t,e,s){if(s?.text){const t=s.text?.rotation??null;null!==t&&(s.rotation=parseInt(t),delete s.title.rotation)}}}class _{visit(t,e,s){const r=t.evaluate("manualLayout",e);if(r){let e={};m(t,r,e,"x","x"),m(t,r,e,"y","y"),m(t,r,e,"w","w"),m(t,r,e,"h","h"),p(t,r,e,"xMode","xMode"),p(t,r,e,"yMode","yMode"),p(t,r,e,"wMode","wMode"),p(t,r,e,"hMode","hMode"),Object.keys(e).length>0&&(s.manualLayout=e)}return s}}class j{visit(t,e,s){return s.name=e.getAttribute("name"),s}}class R extends v{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=e.childNodes;for(let s=0;s<o.length;s++){const i=o.item(s);if(1===i.nodeType){let s=i.localName;const o=t.evaluate(s,e),n=this.processAdjColor(t,o);r[s]=n}}return Object.keys(r).length>0&&(s.colors=r),r}}class E{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=t.evaluate("majorFont",e),i=this.processFontElement(t,o,{});r.majorFont=i.family,i.fallbacks&&(r.majorFallbacks=i.fallbacks);const n=t.evaluate("minorFont",e),l=this.processFontElement(t,n,{});return r.minorFont=l.family,i.fallbacks&&(r.minorFallbacks=l.fallbacks),s.fonts=r,r}processFontElement(t,e,r){if(!e)return;const o=t.evaluate("latin",e);if(!o)return;const i=o.getAttribute("typeface");i&&(r.family=i);const n=o.getAttribute("panose");return n&&(r.fallbacks=[s.IFont.getPanoseFallback(n)]),r}}class Y{visit(t,e,s){if(!e)return;const r={},o=e.getAttribute("r:id");if(o){const e=t.getRef(o);"string"==typeof e&&(r.address=e)}return t.copyFromAttribute(e,"tooltip",r),t.copyFromAttribute(e,"history",r,"history",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tgtFrame",r,"target"),s.hyperlink=r,r}}class D{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),this.processFilterColumns(t,e,r),Object.keys(r).length>0&&(s.filter=r),r}processColorFilter(t,e){const r={type:s.IAutoFilter.Type.Color};return t.copyFromAttribute(e,"cellColor",r,"cellColor",t.BOOLEAN_COPY),t.copyFromAttribute(e,"dxfId",r,"styleId",t.INT_COPY),r}processCustomFilter(t,e){const s={};return t.copyFromAttribute(e,"operator",s,"operator",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val"),s}processCustomFilters(t,e){const r={type:s.IAutoFilter.Type.Custom};t.copyFromAttribute(e,"and",r,"and",t.BOOLEAN_COPY);const o=e.childNodes;r.filters=[];for(let e=0;e<o.length;e++){const s=o.item(e);if(1!==s.nodeType)continue;let i=null;"customFilter"===s.localName&&(i=this.processCustomFilter(t,s)),i&&r.filters.push(i)}return r}processDynamicFilter(t,e){const r={type:s.IAutoFilter.Type.Dynamic};return t.copyFromAttribute(e,"type",r,"dynamicType"),t.copyFromAttribute(e,"val",r,"val",t.INT_COPY),t.copyFromAttribute(e,"maxVal",r,"maxVal",t.INT_COPY),r}processDateGroupItem(t,e){const s={};return t.copyFromAttribute(e,"dateTimeGrouping",s,"group"),t.copyFromAttribute(e,"day",s,"day",t.INT_COPY),t.copyFromAttribute(e,"hour",s,"hour",t.INT_COPY),t.copyFromAttribute(e,"minute",s,"minute",t.INT_COPY),t.copyFromAttribute(e,"month",s,"month",t.INT_COPY),t.copyFromAttribute(e,"second",s,"second",t.INT_COPY),t.copyFromAttribute(e,"year",s,"year",t.INT_COPY),s}processFilterItem(t,e){if(e.hasAttribute("val"))return e.getAttribute("val")}processFilters(t,e){const r={type:s.IAutoFilter.Type.Items};t.copyFromAttribute(e,"blank",r,"blank",t.BOOLEAN_COPY),t.copyFromAttribute(e,"calendarType",r,"calendarType");let o=[],i=[];const n=e.childNodes;for(let e=0;e<n.length;e++){const s=n.item(e);if(1===s.nodeType)if("dateGroupItem"===s.localName){const e=this.processDateGroupItem(t,s);e&&o.push(e)}else if("filter"===s.localName){const e=this.processFilterItem(t,s);void 0!==e&&i.push(e)}}return o.length>0&&(r.dateGroups=o),i.length>0&&(r.items=i),r}processIcon(t,e){const r={type:s.IAutoFilter.Type.Icon};return t.copyFromAttribute(e,"iconId",r,"iconId",t.INT_COPY),t.copyFromAttribute(e,"iconSet",r),r}processTop10(t,e){const r={type:s.IAutoFilter.Type.Top10};return t.copyFromAttribute(e,"filterVal",r,"filterVal",t.FLOAT_COPY),t.copyFromAttribute(e,"percent",r,"percent",t.BOOLEAN_COPY),t.copyFromAttribute(e,"top",r,"top",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",r,"val",t.FLOAT_COPY),r}processFilterCriteria(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let e=0;e<r.length;e++){const s=r.item(e);if(1!==s.nodeType)continue;let i=null;"colorFilter"===s.localName?i=this.processColorFilter(t,s):"customFilters"===s.localName?i=this.processCustomFilters(t,s):"dynamicFilter"===s.localName?i=this.processDynamicFilter(t,s):"filters"===s.localName?i=this.processFilters(t,s):"iconFilter"===s.localName?i=this.processIcon(t,s):"top10"===s.localName&&(i=this.processTop10(t,s)),i&&o.push(i)}return o.length>0&&(s.criteria=o),o}processFilterColumn(t,s){if(!s)return null;const r={};if(!s.hasAttribute("colId"))return;r.offset=parseInt(s.getAttribute("colId"));let o=!1;return s.hasAttribute("hiddenButton")&&(o=e.b(s.getAttribute("hiddenButton"))),o&&(r.hiddenButton=!0),s.hasAttribute("showButton")&&(r.showButton=e.b(s.getAttribute("showButton"))),this.processFilterCriteria(t,s,r),r}processFilterColumns(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let e=0;e<r.length;e++){const s=r.item(e);if(1===s.nodeType&&"filterColumn"===s.localName){const e=this.processFilterColumn(t,s);e&&o.push(e)}}return o.length>0&&(s.fields=o),o}}class M{visit(t,r,o){if(!r)return;const i={};if(t.copyFromAttribute(r,"ref",i),r.hasAttribute("caseSensitive")){const t=e.b(r.getAttribute("caseSensitive"));i.collatorOptions=t?s.Sort.CaseSensitiveOptions:s.Sort.CaseInsensitiveOptions}const n=r.getAttribute("sortMethod");null!=n&&"none"!==n&&("stroke"===n?i.collatorOptions={...i.collatorOptions,collation:"stroke"}:"pinYin"===n&&(i.collatorOptions={...i.collatorOptions,collation:"pinyin"})),r.hasAttribute("columnSort")&&e.b(r.getAttribute("columnSort"))&&(i.orientation=s.IRange.Orientation.Column);const l=s.AddressUtils.fastStringToRange(i.ref);return this.processSortConditions(t,r,i,l),Object.keys(i).length>0&&(o.sort=i),i}processSortCondition(t,r,o){if(!r)return null;const i={};if(r.hasAttribute("ref")){if(r.hasAttribute("ref")){const t=r.getAttribute("ref"),e=s.AddressUtils.fastStringToRange(t);i.offset=o?e.colStart-o.colStart:e.colStart}return i.reverse=!1,r.hasAttribute("descending")&&(i.reverse=e.b(r.getAttribute("descending"))),t.copyFromAttribute(r,"sortBy",i,"sortOn"),t.copyFromAttribute(r,"dxfId",i),t.copyFromAttribute(r,"iconSet",i),t.copyFromAttribute(r,"customList",i),i}console.warn("no ref for sort conditional",t.getPath())}processSortConditions(t,e,s,r){if(!e)return;const o=e.childNodes,i=[];for(let e=0;e<o.length;e++){const s=o.item(e);if(1===s.nodeType&&"sortCondition"===s.localName){const e=this.processSortCondition(t,s,r);e&&i.push(e)}}return i.length>0&&(s.fields=i),i}}class U{visit(t,e,s){}processDataBarColor(t,s,r,o,i="dk1"){if(!s)return;const n=e.d(t=>s.getAttribute(t),i);return n&&(r[o]=n),r}processFonts(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let e=0;e<r.length;e++){const i=r.item(e);if(1===i.nodeType&&"font"===i.localName){const e={};this.processFont(t,i,e),s[o++]=e}}return s}processFont(t,e,r){t.getValAttrAsBoolean("b",e,!0)&&(r.weight=700),t.getValAttrAsBoolean("i",e,!0)&&(r.style=s.IFont.Style.Italic),t.getValAttrAsBoolean("strike",e,!0)&&(r.strike=!0);const o=t.evaluate("u",e);if(o){const t=o.getAttribute("val");r.underline=t||s.IFont.UnderlineStyle.Single}p(t,e,r,"vertAlign","verticalAlign"),"superscript"===r.verticalAlign?r.verticalAlign=s.IFont.VerticalAlignment.Super:"subscript"===r.verticalAlign&&(r.verticalAlign=s.IFont.VerticalAlignment.Sub),m(t,e,r,"sz","size");const i=t.evaluate("color",e);this.processDataBarColor(t,i,r,"fill"),r.fill||(r.fill="dk1"),p(t,e,r,"name","family"),p(t,e,r,"rFont","family");const n=t.evaluate("family",e);if(n){const t=n.getAttribute("val");if(t)switch(t){case"1":r.fallbacks=["serif"];break;case"2":r.fallbacks=["sans-serif"];break;case"3":r.fallbacks=["monospace"];break;case"4":r.fallbacks=["cursive"];break;case"5":r.fallbacks=["fantasy"]}}return p(t,e,r,"scheme","scheme"),g(t,e,r,"shadow","shadow",!0),g(t,e,r,"outline","outline",!0),t.getValAttrAsBoolean("condense",e,!0)&&(r.letterSpacing=-1),t.getValAttrAsBoolean("extend",e,!0)&&(r.letterSpacing=1),p(t,e,r,"charset","charset"),r}processFills(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let e=0;e<r.length;e++){const i=r.item(e);1===i.nodeType&&"fill"===i.localName&&this.processFill(t,i,s,o++)}return s}processFill(t,e,r,o){const i={type:s.IFill.Type.None},n=e.childNodes;let l=!1;for(let e=0;!l&&e<n.length;e++){const s=n.item(e);1===s.nodeType&&("gradientFill"===s.localName?(this.processGradientFill(t,s,i),l=!0):"patternFill"===s.localName&&(this.processPatternFill(t,s,i),l=!0))}return r[o]=i,r}processGradientFill(t,e,r){if(!e)return;r.type=s.IFill.Type.Gradient;const o=[];r.stops=o,r.angle=90+(e.hasAttribute("degree")?parseFloat(e.getAttribute("degree")):0);const i=e.getAttribute("type");i&&(r.gradientType=i);const n=t=>{if(!t)return 0;const e=parseFloat(t);return isNaN(e)?0:e};(e.hasAttribute("left")||e.hasAttribute("top")||e.hasAttribute("right")||e.hasAttribute("bottom"))&&(r.fillTo={left:n(e.getAttribute("left")),top:n(e.getAttribute("top")),right:n(e.getAttribute("right")),bottom:n(e.getAttribute("bottom"))});const l=e.childNodes;for(let e=0;e<l.length;e++){const s=l.item(e);if(1===s.nodeType&&"stop"===s.localName){const e={};o.push(e);const r=parseFloat(s.getAttribute("position"));e.offset=r;const i=t.evaluate("color",s);this.processDataBarColor(t,i,e,"color")}}return r}processPatternFill(t,e,r){if(!e)return;const o=t.getVisitorParamsState().get("processingDXFs"),i=e.getAttribute("patternType")||(o?s.IFill.BuiltInSheetPattern.Solid:s.IFill.BuiltInSheetPattern.None);if(i===s.IFill.BuiltInSheetPattern.None)return{none:!0};r.type=s.IFill.Type.Pattern,i&&(r.patternType=i);let n,l="foreground",a="background";const c=r.patternType===s.IFill.BuiltInSheetPattern.Solid&&o;if(c){n="lt1";const t=l;l=a,a=t}const u=t.evaluate("fgColor",e);this.processDataBarColor(t,u,r,l,n);const h=t.evaluate("bgColor",e);return this.processDataBarColor(t,h,r,a,n),c&&!r.foreground&&(r.foreground=n),r}processBorders(t,e,s,r){if(!e)return;const o=e.childNodes;let i=0;for(let e=0;e<o.length;e++){const n=o.item(e);1===n.nodeType&&"border"===n.localName&&this.processBorder(t,n,s,i++,r)}return s}processBorder(t,e,r,o,i){if(!e)return;const n={};return this.processBorderStroke(t,e,n,s.IBorder.Edge.Left),this.processBorderStroke(t,e,n,s.IBorder.Edge.Right),i?(n.right||n.left)&&(n.right?n.vertical={...n.right}:n.vertical={...n.left}):this.processBorderStroke(t,e,n,s.IBorder.Edge.Vertical),this.processBorderStroke(t,e,n,s.IBorder.Edge.Top),this.processBorderStroke(t,e,n,s.IBorder.Edge.Bottom),i?(n.bottom||n.top)&&(n.right?n.horizontal={...n.bottom}:n.horizontal={...n.top}):this.processBorderStroke(t,e,n,s.IBorder.Edge.Horizontal),r[o]=n,r}processBorderStroke(t,e,s,r){if(!e)return;const o=t.evaluate(r,e);if(!o)return;const i={};o.hasAttribute("style")&&(i.style=o.getAttribute("style"));const n=t.evaluate("color",o);return n&&this.processDataBarColor(t,n,i,"color"),Object.keys(i).length>0?s[r]=i:null}}class z extends U{visit(t,e,r){this.processNumFmts(t,t.evaluate("numFmts",e),null),t.getVisitorParamsState().set("colorsToProcess",new Set);const o={fills:{},fonts:{},borders:{}};this.processFonts(t,t.evaluate("fonts",e),o.fonts),this.processFills(t,t.evaluate("fills",e),o.fills),this.processBorders(t,t.evaluate("borders",e),o.borders,!0),o.fills[0]={type:s.IFill.Type.None},o.fills[1]={type:s.IFill.Type.Pattern,patternType:s.IFill.BuiltInSheetPattern.Gray125},o.borders[0]={};const i=[];this.processXFs(t,t.evaluate("cellStyleXfs",e),i,o,null,!1);const n=new Map;if(i.length>0){const s=[];this.processCellStyles(t,t.evaluate("cellStyles",e),s,i,n),r.named=s}const l=[];this.processXFs(t,t.evaluate("cellXfs",e),l,o,n),Object.keys(l).length>0&&(r.direct=l);const a=[];return this.processDXFs(t,t.evaluate("dxfs",e),a),this.processTableStyles(t,t.evaluate("tableStyles",e),r,a),this.processIndexColors(t,t.evaluate("colors/indexedColors",e),r),this.processMruColors(t,t.evaluate("colors/mruColors",e),r),r}processIndexColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let e=0;e<o.length;e++){const s=o.item(e);if(1===s.nodeType&&"rgbColor"===s.localName){const e={color:null};this.processDataBarColor(t,s,e,"color"),e.color&&r.push(e.color)}}s.indexedColors=r}processMruColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let e=0;e<o.length;e++){const s=o.item(e);if(1===s.nodeType&&"color"===s.localName){const e={color:null};this.processDataBarColor(t,s,e,"color"),e.color&&r.push(e.color)}}r.length>0&&(s.mruColors=r)}processNumFmts(t,e,s){if(!e)return;const r=new Map;if(t.getVisitorParamsState().set("numFmts",r),!e)return;const o=e.childNodes;for(let t=0;t<o.length;t++){const e=o.item(t);if(1===e.nodeType&&"numFmt"===e.localName){const t=e.getAttribute("numFmtId"),s=e.getAttribute("formatCode");if(t&&s){const e=s.replace(/\\(.)/g,"$1");r.set(parseInt(t),e)}}}}processXFs(t,e,s,r,o=null,i=!0){if(!e)return;const n=e.childNodes;for(let e=0;e<n.length;e++){const l=n.item(e);if(1===l.nodeType&&"xf"===l.localName){const e={};this.processXF(t,l,e,r,o,i),s.push(e)}}}processXF(t,r,o,i,n,l){if(!r)return;const a=r.getAttribute("xfId");if(a&&n){const t=n.get(parseInt(a));t&&t!==s.IStyle.BuiltInName.Normal&&(o.named=t)}const c=t=>!(!l&&r.hasAttribute(t))||e.b(r.getAttribute("applyFont"));if(c("applyFont")){const t=i.fonts[r.getAttribute("fontId")];t&&(o.font=t)}if(c("applyFill")){const t=i.fills[r.getAttribute("fillId")];t&&Object.keys(t).length>0&&(o.fill=t)}if(c("applyBorder")){const t=i.borders[r.getAttribute("borderId")];t&&Object.keys(t).length>0&&(o.border=t)}if(c("applyNumberFormat")){const e=r.getAttribute("numFmtId");if(e){const s=parseInt(e);let r;const i=t.getVisitorParamsState();if(i){const t=i.get("numFmts");t&&(r=t.get(s)),o.numberFormat=r??s}else console.warn("no visitor params state")}}c("applyAlignment")&&this.processAlignment(t,t.evaluate("alignment",r),o),c("applyProtection")&&this.processProtection(t,t.evaluate("protection",r),o);const u=e.b(r.getAttribute("quotePrefix"));u&&(o.quotePrefix=u)}processAlignment(t,r,o){const i={};if(r?.hasAttribute("horizontal")?i.horizontal=r.getAttribute("horizontal"):i.horizontal=s.ITextFrame.HorizontalAlignment.General,r?.hasAttribute("vertical")?i.vertical=r.getAttribute("vertical"):i.vertical=s.ITextFrame.VerticalAlignment.Bottom,r?.hasAttribute("indent")?i.indent=parseInt(r.getAttribute("indent")):i.indent=0,r?.hasAttribute("relativeIndent")?i.relativeIndent=parseInt(r.getAttribute("relativeIndent")):i.relativeIndent=0,e.b(r?.getAttribute("wrapText"))?i.overflow=s.ITextFrame.Overflow.Wrap:i.overflow=s.ITextFrame.Overflow.Visible,e.b(r?.getAttribute("shrinkToFit"))&&(i.overflow=s.ITextFrame.Overflow.Shrink),r?.hasAttribute("textRotation")){let t=parseFloat(r.getAttribute("textRotation"));t>0&&t<=90?t=360-t:t>90&&t<=180?t-=90:255===t&&(t=0,i.stacked=!0),i.rotation=t}else i.rotation=0;r?.hasAttribute("justifyLastLine")&&(i.justifyLastLine=e.b(r.getAttribute("justifyLastLine")));const n=r?.getAttribute("readingOrder");return n&&("0"===n?i.readingDirection=s.ITextFrame.ReadingDirection.Auto:"1"===n?i.readingDirection=s.ITextFrame.ReadingDirection.LeftToRight:"2"===n?i.readingDirection=s.ITextFrame.ReadingDirection.RightToLeft:console.warn(`invalid readingOrder: ${n}`)),Object.keys(i).length>0&&(o.alignment=i),o}processProtection(t,s,r){if(!s)return;const o={},i=s.getAttribute("locked");i&&!e.b(i)&&(o.edit=!0);const n=s.getAttribute("hidden");return n&&e.b(n)&&(o.formulaHidden=!0),Object.keys(o).length>0&&(r.protection=o),r}processDXF(t,e,s){if(!e)return;const r=e.childNodes;for(let e=0;e<r.length;e++){const o=r.item(e);if(1===o.nodeType&&"font"===o.localName){const e={};this.processFont(t,o,e),s.font=e}else if(1===o.nodeType&&"fill"===o.localName){const e=[];this.processFill(t,o,e,0),e.length>0&&e[0]&&(s.fill=e[0])}else if(1===o.nodeType&&"border"===o.localName){const e=[];this.processBorder(t,o,e,0,!1),e.length>0&&e[0]&&(s.border=e[0])}}}processDXFs(t,e,s){if(!e)return;t.getVisitorParamsState().set("processingDXFs",!0);const r=new Map;t.getVisitorParamsState().set("dxfs",r);const o=e.childNodes;for(let e=0;e<o.length;e++){const i=o.item(e);if(1===i.nodeType&&"dxf"===i.localName){const e={};this.processDXF(t,i,e);const o=s.length;r.set(o,e),s.push(e)}}t.getVisitorParamsState().delete("processingDXFs")}processTableStyle(t,s,r,o,i=!1){const n=s.getAttribute("name"),l={name:n};s.hasAttribute("table")&&(l.table=e.b(s.getAttribute("table"))),s.hasAttribute("pivot")&&(l.pivot=e.b(s.getAttribute("pivot"))),i&&!l.pivot&&o.unshift(null);const a=s.childNodes;for(let t=0;t<a.length;t++){const e=a.item(t);if(1===e.nodeType&&"tableStyleElement"===e.localName){const t=e.getAttribute("type"),s=e.getAttribute("dxfId");let r=o?.[s];r||(console.warn("invalid dfx id",s),r={}),l[t]=r;let i=null;e.hasAttribute("size")&&(i=parseInt(e.getAttribute("size"))),i&&!isNaN(i)&&(r.size=i)}}delete l.name,r[n]=l}processTableStyles(t,e,s,r,o){if(!e)return;const i={},n=e.getAttribute("defaultTableStyle");n&&(i.defaultTableStyle=n);const l=e.getAttribute("defaultPivotStyle");l&&(i.defaultPivotStyle=l);const a=e.childNodes,c={};for(let e=0;e<a.length;e++){const s=a.item(e);1===s.nodeType&&"tableStyle"===s.localName&&this.processTableStyle(t,s,c,r,o)}return Object.keys(c).length>0&&(i.styles=c),Object.keys(i).length>0&&(s.tables=i),s}processCellStyles(t,s,r,o,i){if(!s)return;const n=s.childNodes;for(let t=0;t<n.length;t++){const s=n.item(t);if(1===s.nodeType&&"cellStyle"===s.localName){const t=parseInt(s.getAttribute("xfId")),n=s.getAttribute("name");if(i.set(t,n),!o[t])continue;const l={name:n,style:o[t]};s.getAttribute("hidden")&&(l.hidden=e.b(s.getAttribute("hidden"))),s.getAttribute("iLevel")&&(l.iLevel=parseInt(s.getAttribute("iLevel"))),r.push(l)}}}afterVisit(t,e,s){}}class G extends U{visit(t,e,s){return this.processSheetRefs(t,t.evaluate("sheets",e),s),this.processBookViews(t,t.evaluate("bookViews",e),s),this.processDefinedNames(t,t.evaluate("definedNames",e),s),this.processCalcPr(t,t.evaluate("calcPr",e),s),this.processWorkbookProtection(t,t.evaluate("workbookProtection",e),s),this.processWorkbookPr(t,t.evaluate("workbookPr",e),s),s}processPassword(t,e,s,r="password"){if(!e)return;const o={};t.copyFromAttribute(e,"algorithmName",o,"algorithmName"),t.copyFromAttribute(e,"hashValue",o,"hashValue"),t.copyFromAttribute(e,"saltValue",o,"saltValue",t.BOOLEAN_COPY),t.copyFromAttribute(e,"spinCount",o,"spinCount",t.INT_COPY),Object.keys(o).length>0&&(s[r]=o)}processWorkbookProtection(t,e,s){if(!e)return;const r={};this.processPassword(t,t.evaluate("workbookPassword",e),r),this.processPassword(t,t.evaluate("revisionsPassword",e),r,"revisionsPassword");const o=t=>!0!==t&&"1"!==t&&"on"!==t&&"true"!==t&&(!1===t||"0"===t||"off"===t||"false"===t||null);return t.copyFromAttribute(e,"lockStructure",r,"structure",o),t.copyFromAttribute(e,"lockWindows",r,"windows",o),t.copyFromAttribute(e,"lockRevision",r,"revision",o),s.protection=r,s}processCalcPr(t,e,s){e&&(s.calc={})}processSheetRefs(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let e=0;e<o.length;e++){const s=o.item(e);1===s.nodeType&&"sheet"===s.localName&&this.processSheetRef(t,s,r)}s.sheets=r}processSheetRef(t,e,s){const r={};t.copyFromAttribute(e,"name",r,"name"),t.copyFromAttribute(e,"state",r,"visibility");const o=e.getAttribute("r:id"),i=t.getRef(o);i&&(r.sheet=i),s.push(r)}processBookViews(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;o<1&&i<e.childNodes.length;i++){const e=r.item(i);1===e.nodeType&&"workbookView"===e.localName&&(this.processWorkbookView(t,e,s),o++)}}processWorkbookView(t,e,s){if(!e)return;const r={};t.copyFromAttribute(e,"activeTab",r,"activeSheetId",[t.INT_COPY,t=>t+1]),e.hasAttribute("activeTab")||(r.activeSheetId=1),t.copyFromAttribute(e,"showHorizontalScroll",r,"showHorizontalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showVerticalScroll",r,"showVerticalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showSheetTabs",r,"showTabs",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tabRatio",r,"tabRatio",[t.FLOAT_COPY,t=>t]),Object.keys(r).length>0&&(s.view=r)}processDefineName(t,e,s,r){if(!e)return;const o={},i=e.firstChild;if(i&&3===i.nodeType&&(o.ref=i.textContent),t.copyFromAttribute(e,"name",o),t.copyFromAttribute(e,"comment",o),t.copyFromAttribute(e,"hidden",o,"hidden",t.BOOLEAN_COPY),e.hasAttribute("localSheetId")){const t=e.getAttribute("localSheetId");if(!r[t]?.name)return void console.warn(`Defined name '${e.getAttribute("name")}' references a sheet with localSheetId '${t}' which does not exist.`);o.scope=r[t].name}t.copyFromAttribute(e,"customMenu",o),t.copyFromAttribute(e,"description",o),t.copyFromAttribute(e,"statusBar",o),t.copyFromAttribute(e,"help",o),t.copyFromAttribute(e,"shortcutKey",o),t.copyFromAttribute(e,"function",o,"function",t.BOOLEAN_COPY),t.copyFromAttribute(e,"functionGroupId",o,"functionGroupId",t.INT_COPY),t.copyFromAttribute(e,"publishToServer",o,"publishToServer",t.BOOLEAN_COPY),t.copyFromAttribute(e,"vbProcedure",o,"vbProcedure",t.BOOLEAN_COPY),t.copyFromAttribute(e,"xlm",o,"xlm",t.BOOLEAN_COPY),Object.keys(o).length>0&&s.push(o)}processDefinedNames(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let e=0;e<o.length;e++){const i=o.item(e);1===i.nodeType&&"definedName"===i.localName&&this.processDefineName(t,i,r,s.sheets)}r.length>0&&(s.names=r)}processWorkbookPr(t,e,s){e&&t.copyFromAttribute(e,"date1904",s,"date1904",t.BOOLEAN_COPY)}afterVisit(t,e,s){}}class W{visit(t,e,s){return t.copyFromAttribute(e,"name",s),t.copyFromAttribute(e,"displayName",s),t.copyFromAttribute(e,"ref",s),t.copyFromAttribute(e,"headerRowCount",s,"headerRowCount",t.INT_COPY),t.copyFromAttribute(e,"totalsRowCount",s,"totalsRowCount",t.INT_COPY),this.processTableColumns(t,e,s),this.processTableStyleInfo(t,e,s),s}processTableStyleInfo(t,e,s){if(!e)return;const r=e.childNodes,o={};for(let e=0;e<r.length;e++){const s=r.item(e);1===s.nodeType&&"tableStyleInfo"===s.localName&&(t.copyFromAttribute(s,"name",o),t.copyFromAttribute(s,"showColumnStripes",o,"showColumnStripes",t.BOOLEAN_COPY),t.copyFromAttribute(s,"showFirstColumn",o,"showFirstColumn",t.BOOLEAN_COPY),t.copyFromAttribute(s,"showLastColumn",o,"showLastColumn",t.BOOLEAN_COPY),t.copyFromAttribute(s,"showRowStripes",o,"showRowStripes",t.BOOLEAN_COPY))}Object.keys(o).length>0&&(s.styleOptions=o)}processTableColumn(t,e,s){if(!e)return null;const r=e.childNodes;for(let e=0;e<r.length;e++){const o=r.item(e);if(1===o.nodeType&&"tableColumn"===o.localName){const e={};t.copyFromAttribute(o,"name",e),t.copyFromAttribute(o,"uniqueName",e),s.push(e)}}return s}processTableColumns(t,e,s){const r=e.childNodes,o=[];for(let e=0;e<r.length;e++){const s=r.item(e);1===s.nodeType&&"tableColumns"===s.localName&&this.processTableColumn(t,s,o)}o.length>0&&(s.columns=o)}}class X{visit(t,e,s){return s}}class ${visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"editAs",r,"anchorType"),r.anchor={},this.processOffsetCoord(t,t.evaluate("from",e),r.anchor,"from"),this.processOffsetCoord(t,t.evaluate("to",e),r.anchor,"to"),s.movables||(s.movables=[]),s.movables.push(r),r}processOffsetCoord(t,s,r,o){if(!s)return;const i={c:0,r:0,x:0,y:0};return t.evaluate("col",s)&&(i.c=parseInt(t.evaluate("col",s).textContent)),t.evaluate("row",s)&&(i.r=parseInt(t.evaluate("row",s).textContent)),t.evaluate("colOff",s)&&(i.x=e.c(t.evaluate("colOff",s).textContent)),t.evaluate("rowOff",s)&&(i.y=e.c(t.evaluate("rowOff",s).textContent)),"from"===o?r.tl=i:r.br=i,r}}class K{visit(t,e,s){if(!e)return;const r=t.evaluate("*/cNvPr",e);return r&&(t.copyFromAttribute(r,"name",s),t.copyFromAttribute(r,"desc",s),t.copyFromAttribute(r,"hidden",s,"hidden",t.BOOLEAN_COPY),t.copyFromAttribute(r,"id",s)),s}}class H extends K{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGraphicFramePr/cNvGraphicFramePr",e);if(r){const e=t.evaluate("graphicFrameLocks",r);if(e){e.hasAttribute("noChangeAspect")&&(s.lockAspect="1"===e.getAttribute("noChangeAspect"));const t={};Object.keys(t).length>0&&(s.locks=t)}}let o={type:"graphicFrame",json:{}};const i=t.evaluate("graphic/graphicData",e).childNodes;for(let e=0;e<i.length;e++){const s=i.item(e);if(1===s.nodeType)try{let e=s.localName;"chart"===e&&(e="chart"),o.type=e;const r=s.getAttribute("r:id");r&&(o.json=t.getRef(r))}catch(t){console.warn("Unable to parse graphicFrame",t)}}return o&&(s.content=o),o}}class q extends K{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvSpPr/cNvSpPr",e);if(r){const e=t.evaluate("spLocks",r);if(e){e.hasAttribute("noChangeAspect")&&(s.lockAspect="1"===e.getAttribute("noChangeAspect"));const t={};Object.keys(t).length>0&&(s.locks=t)}}t.warn(`Unable to import '${s.name}', shapes are not supported.`);const o={};return s.content={type:"sp",json:o},o}}class J extends K{visit(t,e,s){if(!e)return;const r=super.visit(t,e,s),o=t.evaluate("nvPicPr/cNvPicPr",e);if(o){t.copyFromAttribute(e,"preferRelativeResize",r,"preferRelativeResize",t.BOOLEAN_COPY);const s=t.evaluate("picLocks",o);if(s){s.hasAttribute("noChangeAspect")&&(r.lockAspect="1"===s.getAttribute("noChangeAspect"));const e={};t.copyFromAttribute(s,"noChangeArrowheads",r,"noChangeArrowheads",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noChangeShapeType",r,"noChangeShapeType",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noEditPoints",r,"noEditPoints",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noAdjustHandles",r,"noAdjustHandles",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noCrop",r,"noCrop",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noGrp",r,"noGrp",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noMove",r,"noMove",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noResize",r,"noResize",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noRot",r,"noRot",t.BOOLEAN_COPY),t.copyFromAttribute(s,"noSelect",r,"noSelect",t.BOOLEAN_COPY),Object.keys(e).length>0&&(r.locks=e)}}const i=t.evaluate("blipFill/blip",e);let n;if(i){const e=i.getAttribute("r:embed")??i.getAttribute("embed");if(!e)return void console.warn("no rId found for blip",i);n=t.getRef(e,!0)}const l={resId:n};return s.content={type:"picture",json:l},r}}class Q extends q{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGrpSpPr/cNvGrpSpPr",e);if(r){const e=t.evaluate("grpSpLocks",r);if(e){e.hasAttribute("noChangeAspect")&&(s.lockAspect="1"===e.getAttribute("noChangeAspect"));const t={};Object.keys(t).length>0&&(s.locks=t)}}t.warn(`Unable to import '${s.name}', group shapes are not supported.`);const o={};return s.content={type:"grpSp",json:o},o}}class Z extends q{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvCxnSpPr/cNvCxnSpPr",e);if(r){const e=t.evaluate("cxnSpLocks",r);if(e){e.hasAttribute("noChangeAspect")&&(s.lockAspect="1"===e.getAttribute("noChangeAspect"));const t={};Object.keys(t).length>0&&(s.locks=t)}}t.warn(`Unable to import '${s.name}', connection shapes are not supported.`);const o={};return s.content={type:"cxnSp",json:o},o}}const tt="richTypes";class et{visit(t,e,s){let r=t.getVisitorParamsState().get(tt);r||(r=[],t.getVisitorParamsState().set(tt,r));const o=e.childNodes,i=o.length;for(let e=0;e<i;e++){const s=o.item(e);if(1===s.nodeType&&"s"===s.localName){const e={type:s.getAttribute("t")??"n",keys:[]};this.processKeys(t,s,e),r.push(e)}}return s.richTypes=r,r}processKeys(t,e,s){const r=e.childNodes,o=r.length,i=s.keys;for(let t=0;t<o;t++){const e=r.item(t);if(1===e.nodeType&&"k"===e.localName){const t=e.getAttribute("n"),s=e.getAttribute("t");i.push([t,s])}}}}const st="richData";class rt{visit(t,e,s){let r=t.getVisitorParamsState().get("richTypes");if(!r)return void t.warn("RichValueFound but not type.");let o=t.getVisitorParamsState().get(st);o||(o=[],t.getVisitorParamsState().set(st,o));const i=e.childNodes,n=i.length;for(let e=0;e<n;e++){const s=i.item(e);if(1===s.nodeType&&"rv"===s.localName){const e=r[s.getAttribute("s")],i={type:e.type};this.processValues(t,s,i,e);const n=this.mapType(t,i);o.push(n)}}return s.richData=o,o}mapType(t,e){if("_error"===e.type){const r=e.errorType;if(r)try{e=s.FormulaError.getBuiltInById(r+1)}catch(t){}}return e}processValues(t,e,s,r){const o=e.childNodes,i=o.length;r.type;const n=r.keys;for(let e=0;e<i;e++){const r=o.item(e);if(1===r.nodeType&&"v"===r.localName){const o=n[e];if(!o)return void t.warn("Invalid richData");const i=o[0],l=o[1];let a=r.textContent;"i"===l&&(a=Number(a)),s[i]=a}}}}class ot{visit(t,e,s){if(!e)return;const r=[];return this.processAuthors(t,t.evaluate("authors",e),r),r.length>0&&(s.authors=r),s.comments=[],s}processAuthors(t,e,s){if(!e)return;const r=e.childNodes;for(let t=0;t<r.length;t++){const e=r.item(t);if(1===e.nodeType&&"author"===e.localName){const t=e.firstChild;t&&3===t.nodeType&&s.push(t.textContent)}}}}class it{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"authorId",r,"authorId",t.INT_COPY),r.asNote=!0,s.comments||(s.comments=[]),s.comments.push(r),r}}class nt{visit(t,e,s){if(!e)return;const r=[];return s.comments=r,r}}class lt{visit(t,s,r){if(!s)return;const o={};return t.copyFromAttribute(s,"id",o,"id",e.r),t.copyFromAttribute(s,"personId",o,"personId",e.r),t.copyFromAttribute(s,"ref",o),t.copyFromAttribute(s,"parentId",o,"parentId",e.r),t.copyFromAttribute(s,"dT",o),s.hasAttribute("done")&&(o.done=e.b(s.getAttribute("done"))),r.push(o),o}}class at{visit(t,s,r){const o=[],i=s.childNodes;for(let s=0;s<i.length;s++){const r=i.item(s);if(1===r.nodeType&&"person"===r.localName){const s={};t.copyFromAttribute(r,"id",s,"id",e.r),t.copyFromAttribute(r,"displayName",s),t.copyFromAttribute(r,"userId",s,"userId",e.r),t.copyFromAttribute(r,"providerId",s),o.push(s)}}return o.length>0&&(r.persons=o),o}}const ct={};class ut{constructor(t,e){this.path=t,this.visitor=e}}class ht{constructor(){this.visitorsByXmlTagName=new Map,this.scopedVisitorsByXmlTagName=new Map,this.visitorParamsState=null,this.registerVisitor("Relationships",new u),this.registerVisitor("spPr",new F),this.registerVisitor("txBody",new x),this.registerVisitor("txPr",new x),this.registerVisitor("c:chartSpace",new b),this.registerVisitor("c:chartSpace",new A,"chart"),this.registerVisitor("c:plotArea",new f),this.registerVisitor("c:barChart",new w),this.registerVisitor("c:doughnutChart",new C),this.registerVisitor("c:lineChart",new C),this.registerVisitor("c:ofPieType",new C),this.registerVisitor("c:pieChart",new C),this.registerVisitor("c:scatterChart",new C),this.registerVisitor("c:barChart",new P("dataLabels"),"dLbls"),this.registerVisitor("c:doughnutChart",new P("dataLabels"),"dLbls"),this.registerVisitor("c:lineChart",new P("dataLabels"),"dLbls"),this.registerVisitor("c:ofPieType",new P("dataLabels"),"dLbls"),this.registerVisitor("c:pieChart",new P("dataLabels"),"dLbls"),this.registerVisitor("c:scatterChart",new P("dataLabels"),"dLbls"),this.registerVisitor("c:ser",new O),this.registerVisitor("c:dPt",new T),this.registerVisitor("c:marker",new S),this.registerVisitor("c:catAx",new V),this.registerVisitor("c:valAx",new V),this.registerVisitor("c:dateAx",new V),this.registerVisitor("c:majorGridlines",new c("gridLinesMajor")),this.registerVisitor("c:minorGridlines",new c("gridLinesMinor")),this.registerVisitor("c:chartSpace",null,"txPr"),this.registerVisitor("c:catAx",new x("labels.text"),"txPr"),this.registerVisitor("c:valAx",new x("labels.text"),"txPr"),this.registerVisitor("c:dateAx",new x("labels.text"),"txPr"),this.registerVisitor("c:legend",new I),this.registerVisitor("c:legend",new x("labels.text"),"txPr"),this.registerVisitor("c:legendEntry",new k),this.registerVisitor("c:ser",new L,"extLst/ext/invertSolidFillFmt/spPr"),this.registerVisitor("c:ser",new P("labels"),"dLbls"),this.registerVisitor("c:dLbl",new P("points")),this.registerVisitor("c:title",new B),this.registerVisitor("c:title",null,"tx/rich"),this.registerVisitor("c:title",null,"txPr"),this.registerVisitor("c:layout",new _),this.registerVisitor("c:dispUnits",new c("dispUnits")),this.registerVisitor("c:dispUnitsLbl",new B("displayUnitsLabel")),this.registerVisitor("c:dispUnitsLbl",new x,"tx/rich"),this.registerVisitor("a:theme",new j),this.registerVisitor("a:theme",new R,"themeElements/clrScheme"),this.registerVisitor("a:theme",new E,"themeElements/fontScheme"),this.registerVisitor("autoFilter",new D),this.registerVisitor("sortState",new M),this.registerVisitor("s:workbook",new G),this.registerVisitor("styleSheet",new z),this.registerVisitor("table",new W),this.registerVisitor("hlinkClick",new Y),this.registerVisitor("wsDr",new X),this.registerVisitor("twoCellAnchor",new $),this.registerVisitor("oneCellAnchor",new $),this.registerVisitor("absoluteAnchor",new $),this.registerVisitor("graphicFrame",new H),this.registerVisitor("sp",new q),this.registerVisitor("grpSp",new Q),this.registerVisitor("cxnSp",new Z),this.registerVisitor("pic",new J),this.registerVisitor("rvStructures",new et),this.registerVisitor("rvData",new rt),this.registerVisitor("comments",new ot),this.registerVisitor("commentList",new it,"comment"),this.registerVisitor("comment",new x("content"),"text"),this.registerVisitor("ThreadedComments",new nt),this.registerVisitor("threadedComment",new lt),this.registerVisitor("threadedComment",new x("content"),"text"),this.registerVisitor("personList",new at)}registerVisitor(t,e,s=null){-1===t.indexOf(":")&&(t="*:"+t);const r=t.split(":"),o=r.length>1?r[1]:r[0];if(!s)return this.visitorsByXmlTagName.set(o,e),void this.visitorsByXmlTagName.set(t,e);let i=this.scopedVisitorsByXmlTagName.get(o);i||(i=[],this.scopedVisitorsByXmlTagName.set(o,i),this.scopedVisitorsByXmlTagName.set(t,i)),i.push(new ut(s,e))}getVisitorParamsState(){return this.visitorParamsState}convert(t,e,s=ct){const r=t.documentElement;this.visitorParamsState&&!s?.paramMap||(this.visitorParamsState=s?.paramMap??new Map);const o={};let i=this.visitorsByXmlTagName.get(r.nodeName);if(i||(i=this.visitorsByXmlTagName.get(r.localName)),!i)throw new Error(`A visitor for the root element: '${r.nodeName}' or '${r.localName}' must be registered.`);const n="/"+r.localName,l=new a(null,this,n,r,o,e,s),c=[];this._doWalk(i,l,c,r,o,e,s);for(let e=0;e<c.length;e++){const s=c[e];try{s.visitor?.afterVisit?.(s.context,s.elemParent,s.jsonParent)}catch(t){console.warn(`Error in afterVisit: ${s.context.getPath()}`,t)}}return o}_walkScoped(t,e,s,r,o,i,n){const l=this.scopedVisitorsByXmlTagName.get(t);for(let c=0;l&&c<l.length;c++){const u=l[c];let h=null;try{h=e.evaluate(u.path,r)}catch(e){console.warn(`"Invalid path '${u.path}' for '${t}'.`)}if(!h)continue;const p=t=>{let l=t.localName,c=t.parentNode;for(;c&&c!==r;)l=c.localName+"/"+l,c=c.parentNode;const h=e.getPath()+"/"+l;if(u.visitor){const r=new a(e,this,h,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(u.visitor,r,s,t,o,i,n)}};if(h.length>0){const t=h;for(let e=0;e<t.length;e++)p(t.item(e))}else p(h)}}_doWalk(t,e,s,r,o,i,n){let l=null;t&&(s.push({visitor:t,context:e,elemParent:r,jsonParent:o}),l=t.visit(e,r,o)),l||(l=o);const c=r.localName;this._walkScoped(c,e,s,r,l,i,n);const u=r.childNodes;for(let t=0;t<u.length;t++){const r=u.item(t);if(1===r.nodeType){const t=r,c=t.localName,u=this.visitorsByXmlTagName.get(c),h=e.getPath()+"/"+c,p=new a(e,this,h,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(u,p,s,t,l??o,i,n)}}return l}}exports.FromOOXMLConverter=ht,exports.default=ht;
|