@sheetxl/studio-vanilla 0.7.28-beta.2 → 0.7.28-beta.3
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/browser/cjs/{Bf2M1sdVR89d3yxg.cjs → B2cX7nid45K1XRcB.cjs} +1 -1
- package/browser/cjs/{DMNRMppC1tGKEiCa2.cjs → BCax8eUosvZxqJum2.cjs} +1 -1
- package/browser/cjs/{CcLfDX6uHge33mwb2.cjs → BDSt3etlKFP344pX2.cjs} +1 -1
- package/browser/cjs/{Ca4DwcXOTqVuUOVq2.cjs → BHpypCDUD5cP3vR92.cjs} +1 -1
- package/browser/cjs/{BtuU_zhIvl9orhXJ2.cjs → BIcGM64pW8jzwXoR.cjs} +1 -1
- package/browser/cjs/{Cdi9twdv4KfAl5I72.cjs → BQEk2bmRsrTs-zJu2.cjs} +3 -3
- package/browser/cjs/{Y37Q7YjNKfaPg9qC.cjs → BW4gFAFA5vc1x_8G.cjs} +1 -1
- package/browser/cjs/{CVvPoEKURol1Aftd.cjs → BYp7-QW_AGEONvMr.cjs} +1 -1
- package/browser/cjs/{BeYzZkmTef6nGcoR.cjs → Bq7bgCz2WfVwfQSv.cjs} +2 -2
- package/browser/cjs/{3xD-77z5V9IlNXjn2.cjs → BzvKaJw-3G3FMhao2.cjs} +1 -1
- package/browser/cjs/C1tO7v57UD8xmj2X.cjs +86 -0
- package/browser/cjs/C9K6gYebhUCoGcyy.cjs +5 -0
- package/browser/cjs/{BFDhFIqPaIRivcO3.cjs → CAEF_wXnxI6o5BkS.cjs} +1 -1
- package/browser/cjs/{CFnnvEHNOFcAUaHE.cjs → CN8lXPB3rJ4Ux6jN.cjs} +1 -1
- package/browser/cjs/{X5Grge615whs1q_I2.cjs → CObKFza7rEOQcteD2.cjs} +1 -1
- package/browser/cjs/CcBPECGj-X0W9a3_.cjs +3 -0
- package/browser/cjs/{BH_9BSdzWI3sYvEo2.cjs → ChMPHLE_jFKu0JmZ2.cjs} +1 -1
- package/browser/cjs/{jgba8pT4LamzxlS8.cjs → CtEazH3mA0Tj8qrG.cjs} +1 -1
- package/browser/cjs/{0udzrkQg8Nf9nRbI.cjs → CxY5iqVeCdKKTzDq.cjs} +1 -1
- package/browser/cjs/{B37bgauMls6bQwyP.cjs → D2KFRZ75pzopfyVC.cjs} +1 -1
- package/browser/cjs/{BREMLtxkQhtNSVra.cjs → D6cjnwWR_iUSe1f62.cjs} +1 -1
- package/browser/cjs/D9OGD2b5RCuNVkVt.cjs +1 -0
- package/browser/cjs/DDGqSmEUwpCyj2-T.cjs +12 -0
- package/browser/cjs/{pb5LnC0Ye1NBoRvg.cjs → DMJpPocVk36TEmfa.cjs} +1 -1
- package/browser/cjs/{BqJIWrtud1IdCny_.cjs → DP0yIsjVWme5C-UE.cjs} +1 -1
- package/browser/cjs/Dmdcgm3pqGKmXPGb.cjs +33 -0
- package/browser/cjs/{CFSMFEE8YXmRYGPL.cjs → Ds8fgjqVz8xPRHog.cjs} +1 -1
- package/browser/cjs/{C1nECuaXDUkYlVQY2.cjs → DuLz-mXv6patMuVn2.cjs} +1 -1
- package/browser/cjs/{VRIZX6-JADRk2Iao.cjs → Eja0Zsmdah-At3rJ.cjs} +1 -1
- package/browser/cjs/{CxWeFfNAUvhHe9F-.cjs → QH2fF4MqkcvdkNjz.cjs} +2 -2
- package/browser/cjs/{CUCXS7BrMsSnSXVr.cjs → Y0B5_Kqc0UL2taRO.cjs} +2 -2
- package/browser/cjs/gOdLq87FmaB-hTTZ.cjs +1 -0
- package/browser/cjs/index.cjs +1 -1
- package/{cdn/assets/Cl5KKGUmrf4e7lB3.js → browser/esm/2dJqxS99uENpvAC92.mjs} +1 -1
- package/browser/esm/{9LhOHxxuP2jO-YDv.mjs → 4-QoxOhoR614u5tO.mjs} +12 -12
- package/browser/esm/{tEoFD7IKo7vDcL80.mjs → 53p_EWlOxGgrMq-q.mjs} +207 -207
- package/{cdn/assets/DwGeIZ6nCjk9UiXk.js → browser/esm/5XtgjihhVCzNqyYJ2.mjs} +1 -1
- package/browser/esm/{DpjPEgS5W70lK0GU.mjs → B1AbnDun66mq_S2f.mjs} +12 -12
- package/browser/esm/{BJhMeXHgj2izJPad.mjs → B3CqIagnCvfOrLBT.mjs} +7 -7
- package/browser/esm/{GjOmlUOFqz90L-9x2.mjs → B4094aQR3Q4KhALV2.mjs} +8 -8
- package/{cdn/assets/CwRqY3jy0pkU72Ty.js → browser/esm/B7kOoeXeYeZqA_mU.mjs} +1 -1
- package/{cdn/assets/CDVkQjbphikzy5cP.js → browser/esm/BC9RLqAWMPRx_1rS.mjs} +1 -1
- package/browser/esm/{DvFh-0k-PvKrKwkt.mjs → BDHrIbkTx7Ii0RYb.mjs} +5 -5
- package/browser/esm/{TJB9Rw8_wY-D-aKa2.mjs → BEF8kcbXgMjyCP4C2.mjs} +1 -1
- package/browser/esm/{DafUQqzTsegjuTX92.mjs → BEgQWG98wq54oeau2.mjs} +7 -7
- package/{cdn/assets/Wy-cTg0gDeXuKv0a.js → browser/esm/BG-wTTfaCHaJMI5b2.mjs} +1 -1
- package/{cdn/assets/9XJnug1pfQreKXZr.js → browser/esm/BG8zQEmkmTTw8LXE2.mjs} +1 -1
- package/browser/esm/{D0OOkDRea_6_jbt2.mjs → BHmeRWtpqOMknkon.mjs} +1 -1
- package/browser/esm/{DzujlnEzr0M92mNz.mjs → BIboUJ6YhTe0O5Ep.mjs} +1 -1
- package/{cdn/assets/MIcNDPtZ2tOqEJLi.js → browser/esm/BKX_mnqOl4t0M7Q-.mjs} +1 -1
- package/browser/esm/{BfkghIcy-zOKLz4c.mjs → BLq8q4tpQq7lW0jg.mjs} +2 -2
- package/{cdn/assets/BVRLpEysZKAgHCqC.js → browser/esm/BM3Fxh1DBzKRDnJ-2.mjs} +1 -1
- package/{cdn/assets/Ds-v1MKCCCRK5y__.js → browser/esm/BMlDCj6kw-JTuDJ92.mjs} +1 -1
- package/browser/esm/{BnFl2afy78teEcaD.mjs → BT1lb0BHqaMUHJEH.mjs} +4 -4
- package/browser/esm/{DbmQdZUcujE_ICGk.mjs → BTiq0pI-MmNI9sx6.mjs} +3 -3
- package/browser/esm/{CCH2N2D6f4m3sxHV.mjs → BV1A7fanbtryQZdr.mjs} +129 -129
- package/{cdn/assets/DL-6XEhXlHkvgtF_.js → browser/esm/BXf0y-wp2FQ5btCG2.mjs} +1 -1
- package/browser/esm/{DnS-xX8jkMERhPbF.mjs → BamGz0uoayfOfFJD.mjs} +8 -8
- package/{cdn/assets/Ccj-Gq_hyRtb93R-.js → browser/esm/BbRZ0cO4t2haGX-o.mjs} +1 -1
- package/browser/esm/{DJoktru8Ln1idAEk2.mjs → BbgnnZj965cf_RAV2.mjs} +9 -9
- package/{cdn/assets/7R7r4iHAxN8rnOmW2.js → browser/esm/Be2V19M8IxytN_Aa.mjs} +2 -2
- package/browser/esm/{EHwbgKRgADVAwQbs2.mjs → BibrryjUsSysyTSD2.mjs} +11 -11
- package/browser/esm/{CtPuA7JjziKZTOy4.mjs → Bk-F9XzxhuyAOQqK.mjs} +1 -1
- package/{cdn/assets/HA0CYoHHAU5VgVW5.js → browser/esm/Bk13V_C0eSaqMClU.mjs} +1 -1
- package/browser/esm/{BZDhc9cFdvb2DZp52.mjs → BlC4_SZ2XYvtnkHw.mjs} +12 -12
- package/{cdn/assets/BsGIsDAUk9bSNC2-.js → browser/esm/BmZX5BqczMfR2VlT2.mjs} +1 -1
- package/browser/esm/{BFIwPtz-TW4VvaZR.mjs → Bpp8p7LJo9K-1Tm-.mjs} +1 -1
- package/browser/esm/{ejd62mg_zHpVGhbH.mjs → Bpypf56n7jOOW7Ys.mjs} +9 -9
- package/browser/esm/{BDJXGdb3hQGrna00.mjs → Bs6uuY3i689nSdNa.mjs} +3890 -3803
- package/browser/esm/{me8l7609yOrUhpBU2.mjs → BwekjT1bXcBAV6hi2.mjs} +1 -1
- package/browser/esm/{BKY2gKXOB637hih-.mjs → Bxt5fHMZXudQ1QHA.mjs} +6 -6
- package/browser/esm/{DMXx0lIMiLsQgbVK.mjs → Byl6FdOyv58rFwxZ.mjs} +5 -5
- package/{cdn/assets/BkgfJjCizaRuC_N5.js → browser/esm/Bynpw8CnO-1JkFdZ2.mjs} +1 -1
- package/{cdn/assets/q1AmoBDraQE-T8im2.js → browser/esm/BzilGTs3oFGxJ5uB.mjs} +2 -2
- package/browser/esm/{Dr0aqIJxcsRdzQox2.mjs → C39fSQO6blxFky052.mjs} +7 -7
- package/browser/esm/{C5wklWg-nVHGfhda.mjs → CC52ynv81P-LwXRT.mjs} +6 -6
- package/browser/esm/{Bi2jbQd8mecebnRM2.mjs → CCvvNbrMzlFHlAbr2.mjs} +4 -4
- package/{cdn/assets/TikP0KAVISVw72_42.js → browser/esm/CEWWFcwu4AyqL0cQ.mjs} +225 -220
- package/browser/esm/{BmNqTvvRVjF_c1qz.mjs → CEgIZKMC4XoMmPp5.mjs} +3 -3
- package/browser/esm/{DyDgU8THo8GBGQ4M.mjs → CI8YyVegXUBlHR61.mjs} +1 -1
- package/browser/esm/{B6mzT3jt8PsKgBWH2.mjs → CI92jUOrJIKUlfGx2.mjs} +128 -128
- package/browser/esm/{CshVZ7dBZzXK1qdP.mjs → CKc-IOHYDEuo2FhB.mjs} +5 -5
- package/browser/esm/{IPVHjbNIjyMsOxUR.mjs → CNZeWICVX0x6E3-Z.mjs} +1 -1
- package/browser/esm/{C0Cbiq1ZKs0s-oUn.mjs → CNgKTif3Jo9FLV7d.mjs} +2 -2
- package/{cdn/assets/CQhIZf112hMPFsjD.js → browser/esm/CSlBZF1ezptA1LSS2.mjs} +1 -1
- package/{cdn/assets/B9epCKVFFaq_fX4j.js → browser/esm/CUj7kwIeQGAqyb6V.mjs} +1 -1
- package/browser/esm/{ytk4-EolaWr77_nC.mjs → CVDNfe5yVj7xYGeO.mjs} +2 -2
- package/browser/esm/{DJl3zpaAG7xtX-vB.mjs → CWQXDC8Qk5PH757v.mjs} +13 -13
- package/{cdn/assets/D-YuVmmS-kKcV9xr2.js → browser/esm/CX0QhwSYuHoImWlY2.mjs} +1 -1
- package/browser/esm/{CH-EdTSDEYE7IaBC.mjs → CZy1bU6cVChuZKag.mjs} +236 -236
- package/browser/esm/{Dnk-x1RHZ-HCYKGy2.mjs → C_Kd0CPQvZsJLD6b2.mjs} +1 -1
- package/{cdn/assets/COZ775SOX8hXz68T.js → browser/esm/CdV0VXnaW6UyTd8E.mjs} +1 -1
- package/browser/esm/{CTpri2fSv5dZbUwJ.mjs → CecKVsBMvvKuk2Og.mjs} +2107 -2037
- package/browser/esm/{BwYNDge9HsfAlKEk.mjs → Ci7qcrvyeBaD36sR.mjs} +5 -5
- package/{cdn/assets/ioECgEEk-HCEo_qL2.js → browser/esm/Cjq-G2Seyww6IMSH.mjs} +1 -1
- package/browser/esm/{BVLamiPGpKQKiyPW2.mjs → Clu5SMZriAkKa_np2.mjs} +13 -13
- package/browser/esm/{BrmKrgxwVxzOs8v9.mjs → CmcKdn-U2ywgYm_9.mjs} +2 -2
- package/browser/esm/{BfmngO7uzIcK9Lux2.mjs → CqSxZiLos0nQa69t2.mjs} +5 -5
- package/browser/esm/{0HCb-Mkw8Otpj9B6.mjs → CsK0x9jgM8z_DOl1.mjs} +37 -37
- package/browser/esm/{uwB2_ERsYGldq4on2.mjs → CsqtbHllm56zw5xh2.mjs} +1 -1
- package/browser/esm/{CbGZtQlImYkXEGhI.mjs → CtZ4wSjG6QUWs7Nn.mjs} +6 -6
- package/{cdn/assets/DcTAnKNgB4UiSyH-2.js → browser/esm/CtaapT_7WuEvy48w2.mjs} +1 -1
- package/browser/esm/{BIklj1nwWIcZCmKp2.mjs → CxJliRXAfjf-8FJL2.mjs} +1 -1
- package/browser/esm/{BXOm0hdx068QsENe.mjs → D5MuKMXqFbc9B8JP.mjs} +3 -3
- package/browser/esm/{D2fjpIsYf8xbJ3qt2.mjs → D7-Zv2k1IJkmQoxc.mjs} +1 -1
- package/browser/esm/{BVGcECvfrJsTA5kD.mjs → D99KkptfLQp60ECI.mjs} +2 -2
- package/browser/esm/{CySaHP1TkAtt7IqW.mjs → DA0VxVTFcWvrEQEv.mjs} +2 -2
- package/browser/esm/{DBVG6J7cidK5K5QE.mjs → DD-_f0jEXDy0dn6z.mjs} +6 -6
- package/{cdn/assets/ClIlIFc_63tI2r9S.js → browser/esm/DDg-fxiIqpuutuyu2.mjs} +1 -1
- package/{cdn/assets/Ba0_2fGhHSS7kV2l.js → browser/esm/DJzMm5FQXuMWHNom2.mjs} +1 -1
- package/{cdn/assets/CTsLj1vEfSqm_tm4.js → browser/esm/DKLwRgsx1WelayB6.mjs} +1 -1
- package/browser/esm/{DeY3vEbV4T2WgYP22.mjs → DNXCAcVGHeeoKPcx2.mjs} +1 -1
- package/{cdn/assets/BJkZVLqBoBngX2V-.js → browser/esm/DSY8maNeFb51KgKe2.mjs} +1 -1
- package/browser/esm/{39GslBYZKZUJpjcX.mjs → DT8AGfoENVVMPsi3.mjs} +1 -1
- package/browser/esm/{B9yaWiEn9khUlCmT.mjs → DUpHK7eGlzF6E3h5.mjs} +5 -5
- package/browser/esm/{CMBLrQ2K32IKaZHu.mjs → DX0xvH5nQ8MjqsA02.mjs} +2 -2
- package/{cdn/assets/CZVi5-MceLzKtZCX.js → browser/esm/DYaHqG1Xx-r7mlLq.mjs} +1 -1
- package/browser/esm/{ZFZ3X4ek1OFa4xKm.mjs → DZyZNxEMnIWr2n8S.mjs} +3 -3
- package/{cdn/assets/CpD0Rq1ei0UW4wvV2.js → browser/esm/DbGc-QtQMWI-VyUe.mjs} +1 -1
- package/{cdn/assets/bY52psG3lmpa706j2.js → browser/esm/DbfFQif7awKrcxxB.mjs} +3 -3
- package/browser/esm/{CkRTvOlXWFrTaFLB.mjs → Dcbf_tge-hZbUfUD.mjs} +4 -4
- package/browser/esm/{DYhGe1HslNmi3MWF.mjs → De-RIk_tQ6xW8NH2.mjs} +1 -1
- package/browser/esm/{CTZpbsb07-ieZ8Sv.mjs → DgGF1ZaI3ti0c_Nz.mjs} +1 -1
- package/browser/esm/{DqJYCOxMI0h7olt5.mjs → DhnxpW56CJ43gVOI.mjs} +1 -1
- package/browser/esm/{CVtQ8m0S6nnXk7XH.mjs → DjwllBVpUWlaltMT.mjs} +6 -6
- package/browser/esm/{AS-KiFBez1nwB_vC.mjs → DqfIf41HljTIhC84.mjs} +5 -5
- package/{cdn/assets/zsqoPH22vSCRd7nP.js → browser/esm/Dt8IOrB4ifUVtTff2.mjs} +1 -1
- package/browser/esm/{Bp1kaqNxSV0Hskwb.mjs → DwEiTFl_RN5oQzfh.mjs} +7 -7
- package/{cdn/assets/CTdaEmBnApCaYU--2.js → browser/esm/HQv1oLV3ax-NKXZG.mjs} +1 -1
- package/browser/esm/{qxXoiVui214rfZng2.mjs → IMAnmKax7yp8adEP2.mjs} +15 -15
- package/{cdn/assets/BXzrl80_N9hn_3462.js → browser/esm/Jw068AbKaxWlv8HJ2.mjs} +1 -1
- package/browser/esm/{GzFeH6oCN6eWnXbX.mjs → MJIl3u3WexRfuRxx.mjs} +4 -4
- package/{cdn/assets/D_olfPNNH0l8JrFu.js → browser/esm/MZKwwgG9APikaCAg.mjs} +249 -243
- package/{cdn/assets/DavD7unX6vAvDq492.js → browser/esm/Nj1DgowT0KN0un7b2.mjs} +1 -1
- package/{cdn/assets/DUVV-c3N8XuG8lyr.js → browser/esm/R3YBWWwMJAzbuwie2.mjs} +1 -1
- package/browser/esm/{DD_-Q_s0aq0ehCRj.mjs → RFuzM5jhOgjn2C_7.mjs} +2 -2
- package/{cdn/assets/COgR28nGHeL59WLY.js → browser/esm/SNsjWQUbxOQzdnCT.mjs} +1 -1
- package/browser/esm/{CtCW25b0E8FaH1jL.mjs → Sm94kpOe8UUYLpaZ.mjs} +3 -3
- package/browser/esm/{DRU8HlvNdJ-IdDad2.mjs → UOfj2s5X9yjL1iLF2.mjs} +8 -8
- package/browser/esm/{Z4L_LGr5jeXjCPo6.mjs → YGKMD1YfDLoo18Sy.mjs} +1 -1
- package/browser/esm/{B27wXIrrKNvUzMGE.mjs → iKMg-svZQSvoVzqO2.mjs} +1 -1
- package/browser/esm/index.mjs +4 -4
- package/browser/esm/{BZ6ssyp3xvgxb4Ux2.mjs → jvvKubD9MdvZCawH2.mjs} +11 -11
- package/browser/esm/{Btdn9KXWaFikV2VI.mjs → l9SSIWXeR5tPN95-.mjs} +3 -3
- package/browser/esm/{CukE7coIERV0PmeU2.mjs → nBRFIzaPeMPPvIMQ2.mjs} +6 -6
- package/browser/esm/{B3N4rAHBBKghSNf-.mjs → rnntZ_PYlojxr5c4.mjs} +303 -304
- package/browser/esm/{B609gZLpNve9hsr-2.mjs → sIWoD1UYd1XgTrIs2.mjs} +1 -1
- package/browser/esm/{C8KBkOocNYDNWBDu.mjs → swjGzqq7IK8YnHrV.mjs} +2 -2
- package/{cdn/assets/BCcFKm-VY0gZ0TzZ.js → browser/esm/uk2_KQhVX77MWa7A2.mjs} +1 -1
- package/{cdn/assets/BJahzXLdJMKJrGJ82.js → browser/esm/y07oKUx2vGjEEZ0w.mjs} +1 -1
- package/browser/esm/{CZDNrQuttGG8SW_a2.mjs → yFD3mg0KbvkE3s1Y2.mjs} +7 -7
- package/browser/esm/{B-cVGeAqeE1MJbcg2.mjs → yqwkS9EO5146-Xhf2.mjs} +9 -9
- package/cdn/assets/{CbWjq5gAF4Empxh12.js → -OScuzLTidF7HNaK2.js} +14 -14
- package/cdn/assets/{Cl2Y6toZDsktHGlZ.js → -wn5AXVsNdciGzNx.js} +1223 -1224
- package/{browser/esm/Cl5KKGUmrf4e7lB32.mjs → cdn/assets/2dJqxS99uENpvAC9.js} +1 -1
- package/cdn/assets/{s_afm7GAx-6Ktr_x.js → 3QC61uhcIBmRDR9w.js} +5156 -5086
- package/cdn/assets/{B102zq0Z2de_ly2m.js → 4Z5QgDDHi93cqy332.js} +193 -193
- package/{browser/esm/DwGeIZ6nCjk9UiXk2.mjs → cdn/assets/5XtgjihhVCzNqyYJ.js} +1 -1
- package/cdn/assets/{CyhnDYQf3_cdp52w2.js → B1WYofA6cHbr8sxv2.js} +100 -100
- package/cdn/assets/{Dwplym5bjb2VhwM82.js → B4aainAlYLn-Q5H62.js} +3 -3
- package/cdn/assets/{BQvxcrhV7qxXjTHq.js → B5G5aOCiy3kn0ADy.js} +2 -2
- package/{browser/esm/CwRqY3jy0pkU72Ty2.mjs → cdn/assets/B7kOoeXeYeZqA_mU2.js} +1 -1
- package/cdn/assets/{BwJlIoU5gbBMo6Q5.js → B8kiZt5i9HOHYeAo.js} +3 -3
- package/{browser/esm/CDVkQjbphikzy5cP2.mjs → cdn/assets/BC9RLqAWMPRx_1rS.js} +1 -1
- package/cdn/assets/{CXULuRUQ4TAsm84q.js → BDZq-VDymQAePI7X.js} +2 -2
- package/cdn/assets/{TJB9Rw8_wY-D-aKa.js → BEF8kcbXgMjyCP4C.js} +1 -1
- package/{browser/esm/Wy-cTg0gDeXuKv0a2.mjs → cdn/assets/BG-wTTfaCHaJMI5b.js} +1 -1
- package/{browser/esm/9XJnug1pfQreKXZr2.mjs → cdn/assets/BG8zQEmkmTTw8LXE.js} +1 -1
- package/cdn/assets/{DMBv9-cZDNgrEPnj.js → BGlQEwuUWK6Oz7bC.js} +105 -105
- package/{browser/esm/CpD0Rq1ei0UW4wvV.mjs → cdn/assets/BHmeRWtpqOMknkon.js} +1 -1
- package/cdn/assets/BHmeRWtpqOMknkon2.js +24 -0
- package/cdn/assets/{Dm-vUbnccwQ63uHt.js → BITxO-ILVNOqgbA7.js} +4 -4
- package/{browser/esm/MIcNDPtZ2tOqEJLi.mjs → cdn/assets/BKX_mnqOl4t0M7Q-2.js} +1 -1
- package/{browser/esm/BVRLpEysZKAgHCqC.mjs → cdn/assets/BM3Fxh1DBzKRDnJ-.js} +1 -1
- package/{browser/esm/Ds-v1MKCCCRK5y__2.mjs → cdn/assets/BMlDCj6kw-JTuDJ9.js} +1 -1
- package/cdn/assets/{nBpkSj6rxz09lHp42.js → BNU2ZqxIegIJr-572.js} +7 -7
- package/cdn/assets/{CWdwxTP6ZBP_KJE42.js → BSUsQ6-YD40bvOdG2.js} +7 -7
- package/cdn/assets/{BOSnQONqTqkqjHEU.js → BV3cgeOVx6QLl85F.js} +6 -6
- package/cdn/assets/{C5yCm-TSfx74xL002.js → BWcc3hnnAhelxjOr2.js} +10 -10
- package/{browser/esm/DL-6XEhXlHkvgtF_2.mjs → cdn/assets/BXf0y-wp2FQ5btCG.js} +1 -1
- package/cdn/assets/{Dp_KsQdcEefYydgO2.js → BZbIcyw3tiUx7ztK2.js} +766 -766
- package/{browser/esm/Ccj-Gq_hyRtb93R-.mjs → cdn/assets/BbRZ0cO4t2haGX-o.js} +1 -1
- package/cdn/assets/{DWX7iaXMf0PrhOuh.js → BdI4wcd4XWPgeQnl.js} +3 -3
- package/cdn/assets/{BwbtHh-oXpG5mLZu2.js → BhNQRWnlFUA4eX9Z2.js} +4 -4
- package/cdn/assets/{CtPuA7JjziKZTOy42.js → Bk-F9XzxhuyAOQqK2.js} +1 -1
- package/{browser/esm/HA0CYoHHAU5VgVW5.mjs → cdn/assets/Bk13V_C0eSaqMClU.js} +1 -1
- package/cdn/assets/{B9HUtdLQ29C5hAM2.js → Bk8tTxRXYv1v5QpX.js} +2 -2
- package/{browser/esm/BsGIsDAUk9bSNC2-2.mjs → cdn/assets/BmZX5BqczMfR2VlT.js} +1 -1
- package/cdn/assets/{BFIwPtz-TW4VvaZR2.js → Bpp8p7LJo9K-1Tm-2.js} +1 -1
- package/cdn/assets/{D5F6MTHIhDIafUlO.js → BqA9-X1PlqRSSWll.js} +2 -2
- package/cdn/assets/{olHQykNiRoLYpdJB.js → Bt-Xdgz1GdP9i0KH.js} +5 -5
- package/cdn/assets/{CkqsTJkl1cuZl14R.js → Bv8Sjub_HtVCmnyZ.js} +6 -6
- package/cdn/assets/{me8l7609yOrUhpBU.js → BwekjT1bXcBAV6hi.js} +1 -1
- package/{browser/esm/BkgfJjCizaRuC_N52.mjs → cdn/assets/Bynpw8CnO-1JkFdZ.js} +1 -1
- package/cdn/assets/{CzQUeHmA3XvLXm-s2.js → BzNZfg3RJdx9PRAg2.js} +9 -9
- package/cdn/assets/{r4hni7MWaP9SUvzC.js → C0ioCmY0K9GI3SiM.js} +7 -7
- package/cdn/assets/{COnOkTReK4TBuBx52.js → C8lUc_Lc03y-Whne2.js} +12 -12
- package/cdn/assets/{DZn5mtzClpE29qV5.js → CAgzNDmM7lJZAN5m.js} +2 -2
- package/cdn/assets/{DyDgU8THo8GBGQ4M.js → CI8YyVegXUBlHR61.js} +1 -1
- package/cdn/assets/{CvC5oy9uXPzktYaz2.js → CJMMds78eEvd6ivG2.js} +3 -3
- package/cdn/assets/{DzRXZ_mhd60oh-A52.js → CK4ZQnpkZHN03RHP2.js} +9 -9
- package/cdn/assets/{IPVHjbNIjyMsOxUR2.js → CNZeWICVX0x6E3-Z.js} +1 -1
- package/cdn/assets/{ByJlomQcLV_4oZGw2.js → COaJqYKx8CJ595fz2.js} +4 -4
- package/{browser/esm/CQhIZf112hMPFsjD2.mjs → cdn/assets/CSlBZF1ezptA1LSS.js} +1 -1
- package/{browser/esm/B9epCKVFFaq_fX4j.mjs → cdn/assets/CUj7kwIeQGAqyb6V.js} +1 -1
- package/{browser/esm/D-YuVmmS-kKcV9xr.mjs → cdn/assets/CX0QhwSYuHoImWlY.js} +1 -1
- package/cdn/assets/{Dnk-x1RHZ-HCYKGy.js → C_Kd0CPQvZsJLD6b.js} +1 -1
- package/cdn/assets/{DtFr2Mm_KqU6PZfY.js → CaLQ8stna0cEenbY.js} +8 -8
- package/cdn/assets/{DfzSY0wpTYYTWIY2.js → Cb1n0HtvwfvZOwZz.js} +8 -8
- package/cdn/assets/{_fGcdybbKg6_ekOp.js → CcJHQ6UROltFQL2I.js} +2 -2
- package/{browser/esm/COZ775SOX8hXz68T2.mjs → cdn/assets/CdV0VXnaW6UyTd8E.js} +1 -1
- package/cdn/assets/{dL4ou82v-pjouw0s2.js → CeD6pRhoV1LfiJjD.js} +12 -12
- package/cdn/assets/{C6v7rU3plIdoUWre2.js → ChBa56MbB_cDd9LM2.js} +8 -8
- package/cdn/assets/{BXRMXZjJExEHTMfL2.js → CjO9u_nQjtCD7xTH2.js} +72 -72
- package/{browser/esm/ioECgEEk-HCEo_qL.mjs → cdn/assets/Cjq-G2Seyww6IMSH2.js} +1 -1
- package/cdn/assets/{Dungsxp8KcjLsV23.js → ClHDdBXrC_nobC_N.js} +9 -9
- package/{browser/esm/BHdUUWliTWsGcyUW.mjs → cdn/assets/ClWQjK8wtCNyfHiY.js} +2 -2
- package/cdn/assets/{BvONQrMoKCUSnkqN.js → ClkL86jz-4Gf_Uwg2.js} +10 -10
- package/cdn/assets/{CqFZWOO-31j7rHdf.js → CsfLKTLGWgDLWY2z.js} +6 -6
- package/cdn/assets/{uwB2_ERsYGldq4on.js → CsqtbHllm56zw5xh.js} +1 -1
- package/{browser/esm/DcTAnKNgB4UiSyH-2.mjs → cdn/assets/CtaapT_7WuEvy48w2.js} +1 -1
- package/cdn/assets/{CKGUrocJnCQ7uGt72.js → Cwee8HXWwJj0ASk32.js} +3890 -3803
- package/cdn/assets/{BIklj1nwWIcZCmKp.js → CxJliRXAfjf-8FJL.js} +1 -1
- package/cdn/assets/{DXnM0BURZgjm8R2W.js → D-bML_q46je0p2os.js} +8 -8
- package/cdn/assets/{D2fjpIsYf8xbJ3qt.js → D7-Zv2k1IJkmQoxc.js} +1 -1
- package/{browser/esm/D8iYbJIpITf1DL9N.mjs → cdn/assets/DAN4gSLpoicGd0oX2.js} +3 -3
- package/{browser/esm/B2pyobtSQ_9fn__o.mjs → cdn/assets/DBDr4dkaPZ8Gd8CD.js} +249 -243
- package/{browser/esm/ClIlIFc_63tI2r9S2.mjs → cdn/assets/DDg-fxiIqpuutuyu.js} +1 -1
- package/cdn/assets/{TGZuqw2NN_OSIJO0.js → DHd5k_mCX2iTwwRi.js} +2 -2
- package/{browser/esm/Ba0_2fGhHSS7kV2l2.mjs → cdn/assets/DJzMm5FQXuMWHNom2.js} +1 -1
- package/{browser/esm/CTsLj1vEfSqm_tm42.mjs → cdn/assets/DKLwRgsx1WelayB62.js} +1 -1
- package/cdn/assets/{D4e9Z6yAYtli_UZy.js → DL_Jd5k5JINA7woQ.js} +12 -12
- package/cdn/assets/{DeY3vEbV4T2WgYP2.js → DNXCAcVGHeeoKPcx.js} +1 -1
- package/cdn/assets/{kaSysgj5TE-xQXsG2.js → DQrSW7F6xwljb9vw2.js} +5 -5
- package/cdn/assets/{w9gI9mzOHGtRSOFe.js → DR4uNNkaArYCuvNg.js} +2 -2
- package/{browser/esm/BJkZVLqBoBngX2V-2.mjs → cdn/assets/DSY8maNeFb51KgKe.js} +1 -1
- package/cdn/assets/{39GslBYZKZUJpjcX.js → DT8AGfoENVVMPsi3.js} +1 -1
- package/cdn/assets/{CMBLrQ2K32IKaZHu.js → DX0xvH5nQ8MjqsA0.js} +2 -2
- package/{browser/esm/CZVi5-MceLzKtZCX2.mjs → cdn/assets/DYaHqG1Xx-r7mlLq2.js} +1 -1
- package/cdn/assets/DbGc-QtQMWI-VyUe2.js +24 -0
- package/cdn/assets/{DYhGe1HslNmi3MWF2.js → De-RIk_tQ6xW8NH22.js} +1 -1
- package/cdn/assets/{Boe-L-sc0zC0Cw5N.js → DfMvz_tU8vJuV2Wl.js} +3 -3
- package/cdn/assets/{CTZpbsb07-ieZ8Sv.js → DgGF1ZaI3ti0c_Nz.js} +1 -1
- package/cdn/assets/{ko_gqiF0zCGAHO1l2.js → Dhmpgvzx9S-LYXr82.js} +9 -9
- package/cdn/assets/{DqJYCOxMI0h7olt52.js → DhnxpW56CJ43gVOI2.js} +1 -1
- package/cdn/assets/{CVuIbopxUvt0-2rL.js → Dm0riUQ_5Wg9oFgO.js} +7 -7
- package/{browser/esm/DCILZE5X4dLAM7Qa.mjs → cdn/assets/DmfSfK3IDzXPHkJL2.js} +225 -220
- package/{browser/esm/zsqoPH22vSCRd7nP2.mjs → cdn/assets/Dt8IOrB4ifUVtTff.js} +1 -1
- package/cdn/assets/{CiIadd7oAsvq2iR9.js → DupOTk4J52hzKr6p.js} +7 -7
- package/cdn/assets/{Cge4sxB_4OwAQwod.js → DyPUmQ-x13kFTQyg.js} +3 -3
- package/cdn/assets/{CTzZ6Xzw63GKixmU2.js → F-Y7Aw8fXxuX1LhE2.js} +207 -207
- package/{browser/esm/CTdaEmBnApCaYU--.mjs → cdn/assets/HQv1oLV3ax-NKXZG2.js} +1 -1
- package/cdn/assets/{HfJJBylzZ4Z4VNp82.js → HT9FFYzSOuRaDcHS2.js} +6 -6
- package/{browser/esm/BXzrl80_N9hn_346.mjs → cdn/assets/Jw068AbKaxWlv8HJ.js} +1 -1
- package/{browser/esm/DavD7unX6vAvDq49.mjs → cdn/assets/Nj1DgowT0KN0un7b.js} +1 -1
- package/{browser/esm/DUVV-c3N8XuG8lyr2.mjs → cdn/assets/R3YBWWwMJAzbuwie.js} +1 -1
- package/{browser/esm/COgR28nGHeL59WLY.mjs → cdn/assets/SNsjWQUbxOQzdnCT.js} +1 -1
- package/cdn/assets/{SHgLeVOmAOO6qQOR2.js → TO6gumfUOp2BgIlL.js} +7 -7
- package/cdn/assets/{CurA0H2pTTmFWY4N.js → UtYZqTCpvZMQKdR8.js} +2 -2
- package/cdn/assets/{Z4L_LGr5jeXjCPo62.js → YGKMD1YfDLoo18Sy2.js} +1 -1
- package/cdn/assets/{xH_Bg7r0fryoCvSl2.js → ZQsrI5kqNG_ZOdZD2.js} +38 -38
- package/cdn/assets/{WMPhjIQfI4mQp3Bg.js → _5fYV4ZbX0S6MIpD2.js} +8 -8
- package/cdn/assets/{C8cUmy4K0YRcXOBu2.js → dywzP082Q24_9Q5U2.js} +9 -9
- package/cdn/assets/{BO2RVHzXl9yxZmKM.js → i6PnYkX2rfHQQEvF.js} +3 -3
- package/cdn/assets/{B27wXIrrKNvUzMGE2.js → iKMg-svZQSvoVzqO.js} +1 -1
- package/cdn/assets/{Dctsk-QW8KKUje0b2.js → rFTMJ-_CKVUSpQ9x2.js} +13 -13
- package/cdn/assets/{DacWhkcqwjK3VnAA2.js → rT3DomLULA1xJhfY2.js} +16 -16
- package/cdn/assets/{nzKpfea1MNkFBMak.js → s2fSOFCKUPsjfoxR.js} +7 -7
- package/cdn/assets/{B609gZLpNve9hsr-.js → sIWoD1UYd1XgTrIs.js} +1 -1
- package/{browser/esm/BCcFKm-VY0gZ0TzZ.mjs → cdn/assets/uk2_KQhVX77MWa7A.js} +1 -1
- package/{browser/esm/gd127f9DAewQX3YF.mjs → cdn/assets/v2SkWlVj3d1y2tfT2.js} +2 -2
- package/cdn/assets/{Dzxg4kLxKyMklPNe2.js → wBchGa30DBwJnPZQ2.js} +3 -3
- package/{browser/esm/BJahzXLdJMKJrGJ8.mjs → cdn/assets/y07oKUx2vGjEEZ0w2.js} +1 -1
- package/cdn/assets/{B0iMXJrxCR1TmwMa2.js → ykS_w8WDHugwGY9S2.js} +8 -8
- package/cdn/index.js +2 -2
- package/package.json +3 -3
- package/browser/cjs/CBXWKzJggj62dtpP.cjs +0 -1
- package/browser/cjs/Crk724Yv2awixZFL.cjs +0 -33
- package/browser/cjs/DE8xPZdgqnIs7vdp.cjs +0 -86
- package/browser/cjs/Di-65J92p03pfERi.cjs +0 -5
- package/browser/cjs/LObFxO4TDyRQ2l05.cjs +0 -12
- package/browser/cjs/dJ3N_yPCcdiUsFNY.cjs +0 -3
- package/browser/cjs/jQhVJbABYXmAnYFf.cjs +0 -1
- package/cdn/assets/D0OOkDRea_6_jbt2.js +0 -24
- package/cdn/assets/D0OOkDRea_6_jbt22.js +0 -24
- /package/browser/cjs/{1XrWGMP3GmsQOMIX.cjs → 1XrWGMP3GmsQOMIX2.cjs} +0 -0
- /package/browser/cjs/{49_x589Na12sizKK2.cjs → 49_x589Na12sizKK.cjs} +0 -0
- /package/browser/cjs/{BWDfauDHqB6U_2ka.cjs → BWDfauDHqB6U_2ka2.cjs} +0 -0
- /package/browser/cjs/{Btc0Nzu40VYOpzLX2.cjs → Btc0Nzu40VYOpzLX.cjs} +0 -0
- /package/browser/cjs/{CRx1WvmgBjT8WVyB2.cjs → CRx1WvmgBjT8WVyB.cjs} +0 -0
- /package/browser/cjs/{CW-b31_-r-_raT8Y2.cjs → CW-b31_-r-_raT8Y.cjs} +0 -0
- /package/browser/cjs/{CXlzsh_WHCOsErJ1.cjs → CXlzsh_WHCOsErJ12.cjs} +0 -0
- /package/browser/cjs/{D8-KovdJ0LjxqCe22.cjs → D8-KovdJ0LjxqCe2.cjs} +0 -0
- /package/browser/cjs/{DNKyaSruDogoBd2H.cjs → DNKyaSruDogoBd2H2.cjs} +0 -0
- /package/browser/cjs/{Du4jBiFxRIF1OjD42.cjs → Du4jBiFxRIF1OjD4.cjs} +0 -0
- /package/browser/cjs/{aONv0Ys3C8xmnaR8.cjs → aONv0Ys3C8xmnaR82.cjs} +0 -0
- /package/browser/cjs/{z_rZE1OHFPpdGBh4.cjs → z_rZE1OHFPpdGBh42.cjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=class{constructor(e){this._worker=null,this._nextId=1,this._pendingRequests=new Map,this._workerFactory=e}start(){if(typeof Worker>`u`)throw Error(`Web Workers are not supported in this environment.`);return this._worker||(this._worker=this._workerFactory(),this._worker.onmessage=e=>{let{id:t,result:n,error:r}=e.data,i=this._pendingRequests.get(t);if(i)if(this._pendingRequests.delete(t),r){let e=Error(r.message);e.stack=r.stack,r.cause&&(e.cause=r.cause),i.reject(e)}else i.resolve(n)},this._worker.onerror=e=>{console.error(`Worker error:`,e),this._pendingRequests.forEach(t=>{t.reject(Error(`Worker failed: ${e.message}`))}),this._pendingRequests.clear(),this._worker=null}),Promise.resolve()}execute(e){if(!this._worker)throw Error(`Worker is not initialized. Call start() first.`);let t=this._nextId++;return new Promise((n,r)=>{this._pendingRequests.set(t,{resolve:n,reject:r}),this._worker.postMessage({id:t,params:e})})}terminate(){this._worker&&=(this._worker.terminate(),null)}},t=class{constructor(e){this._onExecute=e}execute(e){return this._onExecute(e)}start(){return Promise.resolve()}terminate(){}},n="var e=Object.defineProperty,t=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},r=Object.defineProperty,i=(e,t)=>{\n/**\n* @license @sheetxl/utils - Utils - Utilities used by most SheetXL components. - v0.7.28-beta.2\n*\n* (C) 2026-present SheetXL Inc. & Michael T. Ford\n* License: The license can be found at https://www.sheetxl.com/license.\n*/\nlet n={};for(var i in e)r(n,i,{get:e[i],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:`Module`}),n},a={Column:`column`,Row:`row`};({...a});function o(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;let n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!o(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!o(r[1],t.get(r[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if((n!==`_owner`||!e.$$typeof)&&!o(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function s(e){let t=Object.prototype.toString.call(e);return t===`[object RegExp]`||t===`[object Date]`||function(e){return e.$$typeof===c}(e)}var c=typeof Symbol==`function`&&Symbol.for?Symbol.for(`react.element`):60103;function l(e){return function(e){return!!e&&typeof e==`object`}(e)&&!s(e)}function u(e,t){return!1!==t.clone&&t.isMergeableObject(e)?h((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function d(e,t,n){return e.concat(t).map(function(e){return u(e,n)})}function f(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}(e))}function p(e,t){try{return t in e}catch{return!1}}function m(e,t,n){let r={};return n.isMergeableObject(e)&&f(e).forEach(function(t){r[t]=u(e[t],n)}),f(t).forEach(function(i){(function(e,t){return p(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,i)||(p(e,i)&&n.isMergeableObject(t[i])?r[i]=function(e,t){if(!t.customMerge)return h;let n=t.customMerge(e);return typeof n==`function`?n:h}(i,n)(e[i],t[i],n):r[i]=u(t[i],n))}),r}function h(e,t,n){(n||={}).arrayMerge=n.arrayMerge||d,n.isMergeableObject=n.isMergeableObject||l,n.cloneUnlessOtherwiseSpecified=u;let r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):m(e,t,n):u(t,n)}h.all=function(e,t){if(!Array.isArray(e))throw Error(`first argument should be an array`);return e.reduce(function(e,n){return h(e,n,t)},{})};var g=i({DonePromise:()=>y,EmptyArray:()=>_,EmptyObject:()=>v,OSType:()=>k,arrayMove:()=>ge,asNumber:()=>T,camelToPrettyCase:()=>S,castToString:()=>_e,cloneObject:()=>ne,consoleWithNoSource:()=>De,deepEqual:()=>o,deepFreeze:()=>Oe,deepMerge:()=>h,diffValues:()=>pe,findEqualOrGreater:()=>me,findEqualOrLesser:()=>he,getFromPath:()=>Te,getPlatform:()=>A,isDefined:()=>ye,isEmpty:()=>be,isEqualArrays:()=>ie,isEqualBounds:()=>ae,isNullOrUndefined:()=>ve,isNumeric:()=>E,isObject:()=>O,isPromiseLike:()=>xe,isRectInsideRect:()=>Ce,isRectIntersect:()=>Se,mergeContentful:()=>fe,removeEmptyProperties:()=>oe,removeEqualValues:()=>ue,removeEqualValuesLayered:()=>de,removeListenerAll:()=>se,roundAccurately:()=>te,setToPath:()=>Ee,splitNumber:()=>ee,subtractRect:()=>we,textToKey:()=>C,toSafeJSON:()=>j,transpose:()=>ce,uuidV4:()=>w,validEnumValue:()=>x}),_=Object.freeze([]),v=Object.freeze({}),y=Promise.resolve(),b=e=>e;function x(e,t){if(!Object.values(e).includes(t))throw Error(`Invalid type: ${t??`null`}. Must be one of: ${Object.values(e).join(`, `)}.`)}function S(e){return e?e.length===1?e.toUpperCase():e.replace(/([A-Z])/g,` $1`).replace(/^./,function(e){return e.toUpperCase()}).trim():``}function C(e){return e.replace(/[^a-zA-Z0-9]/g,``).toLowerCase()}function w(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,function(e){let t=16*Math.random()|0;return(e===`x`?t:3&t|8).toString(16)})}function T(e){let t=function(e){return 1*e}(e);return Number.isFinite(t)?t:0}function E(e){let t=1*e;return Number.isFinite(t)&&typeof t==`number`}var D=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,0xe8d4a51000,0x9184e72a000,0x5af3107a4000,0x38d7ea4c68000,0x2386f26fc10000];function ee(e){let t=Math.abs(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t),r=t-n,i;n>2**53-1?i=Number(n.toExponential().split(`e`)[1])+1:(i=Math.ceil(Math.log10(n+1)),D[i]<=n&&i++);let a=0,o=0,s=15-i;if(r>0&&s>0){let e=D[s];if(a=Math.round(r*e),a===e)n++,a=0,n>=D[i]&&i++;else if(a>0)for(o=s;a%10==0;)a/=10,o--}return{ip:e<0?-n:n,fp:a,ipLength:i,fpLength:o}}function te(e,t=0){if(e==null||!isFinite(e))return null;let n=10**t;return Number(Math.round(e*n)/n)}function ne(e){return ve(e)?e:JSON.parse(JSON.stringify(e))}var re=(e,t)=>e===t;function ie(e,t,n){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;n||=re;let r=e.length;for(let i=0;i<r;i++)if(!n(e[i],t[i]))return!1;return!0}function ae(e,t){return e===t||!(!e||!t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function O(e){return typeof e==`object`&&!Array.isArray(e)&&e!==null}function oe(e){if(typeof e!=`object`||Array.isArray(e)||e===null)return e;let t=e;return Object.keys(t).forEach(function(e){t[e]&&typeof t[e]==`object`?oe(t[e]):t[e]!==null&&t[e]!==void 0||delete t[e],typeof t[e]==`object`&&Object.keys(t[e]).length===0&&delete t[e]}),Object.keys(e).length===0?null:e}function se(e,t){if(!e)return _;let n=e.length;for(let r=0;r<n;r++){let n=e[r];n&&n(t)}return _}function ce(e){if(!e)return e;let t=e.length,n=e[0].length,r=[];for(let e=0;e<n;e++)r[e]=Array(t);for(let i=0;i<t;i++){let t=e[i];for(let e=0;e<n;e++)r[e][i]=t[e]}return r}var le=(e,t)=>!(e!==t&&!ie(e,t))||!!e.isEqual?.(t);function ue(e,t,n=le){if(e==null||e===t)return null;if(!e||typeof e!=`object`||Array.isArray(e)||e.isImmutable?.())return n(e,t)?null:e;let r=Object.keys(e),i=r.length;if(i===0)return null;let a=!1;for(let o=0;o<i;o++){let i=r[o];ue(e[i],t?.[i],n)===null&&(a=!0,delete e[i])}return a&&Object.keys(e).length===0?null:void 0}function de(e,t,n=le){if(e==null)return!0;if(!e||typeof e!=`object`||Array.isArray(e)||e.isImmutable?.()){let r,i=!1;for(let e=0;!i&&e<t.length;e++)t[e]!==void 0&&(i=!0,r=t[e]);return i&&(e===r||n(e,r))}let r=Object.keys(e),i=r.length;if(i===0)return!0;let a=t.length,o=!1;for(let s=0;s<i;s++){let i=r[s],c=[];for(let e=0;e<a;e++){let n=t[e]?.[i];n!==void 0&&c.push(n)}de(e[i],c,n)&&(o=!0,delete e[i])}return o&&Object.keys(e).length===0}function fe(...e){let t=e.length;if(t>0&&e[t-1]!==void 0&&!O(e[t-1]))return e[t-1];let n=e[0]||{};for(let r=1;r<t;r++)n=h(n,e[r]||{},{arrayMerge:(e,t)=>[...t]});return n}function pe(e,t){let n={},r=Object.keys(t),i=r.length;for(let a=0;a<i;a++){let i=r[a],o=e[i],s=t[i];o!==s&&(n[i]=o===void 0?s:o)}return Object.keys(n).length===0?null:n}function me(e,t,n=b){let r=0,i=e.length-1;for(;r<=i;){let a=Math.floor((r+i)/2),o=n(e[a]);if(o===t)return a;o<t?r=a+1:i=a-1}return r}function he(e,t,n=b){let r=e.length-1,i=0;for(;r>=i;){let a=Math.floor((r+i)/2),o=n(e[a]);if(o===t)return a;o>t?r=a-1:i=a+1}return r}function ge(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function _e(e){return e==null||e===void 0?``:typeof e==`string`?e:``+e}function ve(e){return e==null}function ye(e){return e!=null}function be(e){return e==null||e===``}function xe(e){return!!e&&typeof e.then==`function`}function Se(e,t){return!(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top)}function Ce(e,t){return e.top>=t.top&&e.bottom<=t.bottom&&e.left>=t.left&&e.right<=t.right}function we(e,t,n=!1){if(!t)return[e];if(!Se(e,t))return[];let r=[],i=e,a=()=>{t.top>i.top&&t.top<i.bottom&&(r.push({...i,bottom:t.top}),i={...i,top:t.top})},o=()=>{t.bottom>i.top&&t.bottom<i.bottom&&(r.push({...i,top:t.bottom}),i={...i,bottom:t.bottom})},s=()=>{t.right>i.left&&t.right<i.right&&(r.push({...i,left:t.right}),i={...i,right:t.right})},c=()=>{t.left>i.left&&t.left<i.right&&(r.push({...i,right:t.left}),i={...i,left:t.left})};return n?(c(),s(),a(),o()):(a(),o(),s(),c()),r}function Te(e,t){let n=t.split(`.`),r=e,i=n.length;for(let e=0;e<i;e++){let t=n[e];if(!r)return null;let i=r[t];if(typeof i==`function`&&(i=i.bind(r)()),!i||!O(i))return i;r=i}return r??null}function Ee(e,t,n){let r=t.split(`.`),i=e;if(!i)throw Error(`Can not set path to a null path.`);let a=r.length;for(let e=0;i&&e<a-1;e++){let t=r[e],n=i[t];if(n??(n={},i[t]=n),!O(n))throw Error(`Can not set path to a non object path.`);i=n}if(typeof n!=`number`&&typeof n!=`boolean`&&typeof n!=`string`&&!O(n))throw Error(`Can not set path to ${n} that is not a a supported primitive.`);return i[r[a-1]]=n,e}function De(...e){return new Promise(t=>{setTimeout(()=>{Function(`console.log.apply(console, arguments)`).apply(null,e),t()})})}var k={Windows:`windows`,MacOS:`macos`,IOS:`ios`,Linux:`linux`,Android:`android`,Safari:`safari`,Firefox:`firefox`,Unknown:`unknown`};function A(){let e=globalThis.navigator!==void 0&&globalThis.navigator.userAgent?globalThis.navigator.userAgent.toLowerCase():``;return e?/(win32|win64|windows|wince)/i.test(e)?k.Windows:/(macintosh|macintel|macppc|mac68k|macos)/i.test(e)?k.MacOS:/(iphone|ipad|ipod)/i.test(e)?k.IOS:/android/.test(e)?k.Android:/linux/.test(e)?k.Linux:/^((?!chrome|android|).)*safari/i.test(e)?k.Safari:/^((?!chrome|android|Seamonkey).)*firefox/i.test(e)?k.Firefox:k.Unknown:k.Unknown}function Oe(e){Object.freeze(e);let t=e;return Object.keys(t).forEach(e=>{typeof t[e]!=`object`||t[e]===null||Object.isFrozen(t[e])||Oe(t[e])}),e}function j(e){if(typeof e!=`object`||!e)return e;if(typeof e.toJSON==`function`)return e.toJSON();if(Array.isArray(e))return e.map(e=>j(e));if(typeof e.toString==`function`&&e.toString!==Object.prototype.toString)return e.toString();let t={};for(let n in e)e.hasOwnProperty(n)&&(t[n]=j(e[n]));return t}i({EmptyCell:()=>ke,EmptyRange:()=>Ae,EmptyRanges:()=>je,EmptySelection:()=>Me,cellToRange:()=>Xe,columnFirstCellComparator:()=>Le,columnFirstRangeComparator:()=>Ne,createCellComparator:()=>He,createConflatingRanges:()=>dt,createRangeComparator:()=>Ve,defaultRange:()=>st,extendRangeToIntersectingRanges:()=>rt,extendRangeToUnionRanges:()=>nt,intersectRanges:()=>Ze,isCellWithinRange:()=>Ge,isEqualCells:()=>Ue,isEqualRanges:()=>We,isEqualRangesArrays:()=>Je,isEqualSelectionCoords:()=>$e,isRangeWithinRange:()=>Ke,isRangesIntersect:()=>qe,isSingleCell:()=>Ye,isValidRange:()=>tt,mergeRangeCoordValues:()=>ut,reverseColumnFirstCellComparator:()=>Be,reverseColumnFirstRangeComparator:()=>Ie,reverseRowFirstCellComparator:()=>ze,reverseRowFirstRangeComparator:()=>Fe,rowFirstCellComparator:()=>Re,rowFirstRangeComparator:()=>Pe,sanitizeRange:()=>at,sanitizeRangeArray:()=>ot,translateRange:()=>it,unionRanges:()=>Qe,unionRangesArrays:()=>et});var ke=Object.freeze({colIndex:0,rowIndex:0}),Ae=Object.freeze({colStart:0,rowStart:0,colEnd:0,rowEnd:0}),je=_,Me=Object.freeze({cell:ke,ranges:_,rangeIndex:-1});function Ne(e,t){return e.colStart===t.colStart?e.rowStart-t.rowStart:e.colStart-t.colStart}function Pe(e,t){return e.rowStart===t.rowStart?e.colStart-t.colStart:e.rowStart-t.rowStart}function Fe(e,t){return e.rowEnd===t.rowEnd?t.colEnd-e.colEnd:t.rowEnd-e.rowEnd}function Ie(e,t){return e.colEnd===t.colEnd?t.rowEnd-e.rowEnd:t.colEnd-e.colEnd}function Le(e,t){return e.colIndex===t.colIndex?e.rowIndex-t.rowIndex:e.colIndex-t.colIndex}function Re(e,t){return e.rowIndex===t.rowIndex?e.colIndex-t.colIndex:e.rowIndex-t.rowIndex}function ze(e,t){return e.rowIndex===t.rowIndex?t.colIndex-e.colIndex:t.rowIndex-e.rowIndex}function Be(e,t){return e.colIndex===t.colIndex?t.rowIndex-e.rowIndex:t.colIndex-e.colIndex}function Ve(e=a.Row,t=!1){return t?e===a.Column?Ie:Fe:e===a.Column?Ne:Pe}function He(e=a.Row,t=!1){return t?e===a.Column?Be:ze:e===a.Column?Le:Re}function Ue(e,t){return e===t||!(!e||!t)&&e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex&&e.scope===t.scope}function We(e,t){return e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd&&e.scope===t.scope}function Ge(e,t){if(!e||!t)return!1;let n=e.rowIndex;if(n<t.rowStart||n>t.rowEnd)return!1;let r=e.colIndex;return!(r<t.colStart||r>t.colEnd)}function Ke(e,t){return!(!e||!t)&&!(e.rowStart<t.rowStart||e.rowEnd>t.rowEnd)&&!(e.colStart<t.colStart||e.colEnd>t.colEnd)}function qe(e,t){return!(!e||!t)&&!(e.colStart>t.colEnd||t.colStart>e.colEnd)&&!(e.rowStart>t.rowEnd||t.rowStart>e.rowEnd)}function Je(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!We(e[n],t[n]))return!1;return!0}function Ye(e){return!!e&&e.rowEnd===e.rowStart&&e.colStart===e.colEnd}function Xe(e,t){if(!e)return null;let n=t;return n||(n={...e},delete n.colIndex,delete n.rowIndex),n.colStart=e.colIndex??0,n.rowStart=e.rowIndex??0,n.colEnd=e.colIndex??0,n.rowEnd=e.rowIndex??0,n}function Ze(e,t,n){if(!e)return n?t:{...t};if(!t)return n?e:{...e};if(!e&&!t||e.rowStart>t.rowEnd||e.rowEnd<t.rowStart||e.colStart>t.colEnd||e.colEnd<t.colStart)return null;let r=Math.max(e.colStart,t.colStart),i=Math.max(e.rowStart,t.rowStart),a=Math.min(e.colEnd,t.colEnd),o=Math.min(e.rowEnd,t.rowEnd),s=n;return s?(s.colStart=r,s.rowStart=i,s.colEnd=a,s.rowEnd=o):s={colStart:r,rowStart:i,colEnd:a,rowEnd:o},s}function Qe(e,t,n){if(!e&&!t)return null;if(!e)return n?t:{...t};if(!t)return n?e:{...e};let r=Math.min(e.colStart,t.colStart),i=Math.min(e.rowStart,t.rowStart),a=Math.max(e.colEnd,t.colEnd),o=Math.max(e.rowEnd,t.rowEnd),s=n;return s?(s.colStart=r,s.rowStart=i,s.colEnd=a,s.rowEnd=o):s={colStart:r,rowStart:i,colEnd:a,rowEnd:o},s}function $e(e,t){return e===t||!(!e||!t)&&e.rangeIndex===t.rangeIndex&&!!Ue(e.cell,t.cell)&&Je(e.ranges,t.ranges)}function et(e,t,n){if(!e||e.length===0)return null;if(e.length===1&&!t)return e[0];let r=e[0];for(let t=1;t<e.length;t++)r=Qe(r,e[t],n);return t&&(r=Qe(r,t,n)),r}function tt(e){return!!e&&!(typeof e.colStart!=`number`||e.colStart<0)&&!(typeof e.colEnd!=`number`||e.colEnd<e.colStart)&&!(typeof e.rowStart!=`number`||e.rowStart<0)&&!(typeof e.rowEnd!=`number`||e.rowEnd<e.rowStart)}function nt(e,t){if(!t||t.length===0)return e;let n=e,r=null;for(;!We(n,r);)r=n,n=rt(r,t);return n}function rt(e,t){if(!t||t.length===0)return e;let n={...e};for(let e=0;e<t.length;e++){let r=t[e];qe(n,r)&&(n.rowStart=Math.min(n.rowStart,r.rowStart),n.colStart=Math.min(n.colStart,r.colStart),n.rowEnd=Math.max(n.rowEnd,r.rowEnd),n.colEnd=Math.max(n.colEnd,r.colEnd))}return n}function it(e,t=-e.rowStart,n=-e.colStart,r){return r?(r.colStart=e.colStart+n,r.rowStart=e.rowStart+t,r.colEnd=e.colEnd+n,r.rowEnd=e.rowEnd+t,r):{colStart:e.colStart+n,rowStart:e.rowStart+t,colEnd:e.colEnd+n,rowEnd:e.rowEnd+t}}function at(e,t){return e?e.scope?{colStart:e.colIndex??e.colStart??t?.colStart??0,rowStart:e.rowIndex??e.rowStart??t?.rowStart??0,colEnd:e.colIndex??e.colEnd??t?.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??t?.rowEnd??0,scope:e.scope}:{colStart:e.colIndex??e.colStart??t?.colStart??0,rowStart:e.rowIndex??e.rowStart??t?.rowStart??0,colEnd:e.colIndex??e.colEnd??t?.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??t?.rowEnd??0}:null}function ot(e,t){if(!e)return null;let n=e.length,r=Array(n);for(let i=0;i<n;i++)r[i]=at(e[i],t);return r}function st(e,t,n){return e?n?(n.colStart=e.colStart??t.colStart,n.rowStart=e.rowStart??t.rowStart,n.colEnd=e.colEnd??t.colEnd,n.rowEnd=e.rowEnd??t.rowEnd,n):{colStart:e.colStart??t.colStart,rowStart:e.rowStart??t.rowStart,colEnd:e.colEnd??t.colEnd,rowEnd:e.rowEnd??t.rowEnd}:t}var ct=[null,null],lt=(e,t,n)=>{if(e[0].value===e[1].value)return t};function ut(e,t=2,n,r=a.Row,i){let o=[...e];if(t<=0||e.length<=1)return o;let s=r===a.Column,c=0,l=!1;do{let e=o.sort(Ve(s?a.Row:a.Column));o=[],o.push(e[0]);let t=e.length,u=0,d=e[0],f=d.colStart,p=d.rowStart,m=d.colEnd,h=d.rowEnd;for(let a=1;a<t;a++){let t=e[a],c=!1;if(c=s?d&&p===t.rowStart&&h===t.rowEnd&&m+1===t.colStart:d&&f===t.colStart&&m===t.colEnd&&h+1===t.rowStart,c){let e={colStart:f,rowStart:p,colEnd:s?t.colEnd:m,rowEnd:s?h:t.rowEnd};if(d.value!==void 0&&(e.value=d.value),n){let a=i??[null,null];a[0]=d,a[1]=t,e=n(a,e,r)}if(e){o[u]=e,l=!0,d=e,f=d.colStart,p=d.rowStart,m=d.colEnd,h=d.rowEnd;continue}}o[++u]=t,d=t,f=d.colStart,p=d.rowStart,m=d.colEnd,h=d.rowEnd}c++,s=!s,c===1&&(l=!0)}while(c<t&&l&&o.length>1);return o}function dt(e,t=!1){let n=[],r,i=null,o=-(2**53-1),s=-(2**53-1);return{append:(a,c,l)=>{let u=!0,d=l!==void 0;if(d){let n=e?e(r,l,t):r===l?l:void 0;n===void 0?u=!1:l=n}if(u&&c===s+1&&a===o)return t?i.rowEnd=c:i.colEnd=c,s=c,void(r=l);i&&n.push(i);let f=t?a:c,p=t?c:a;i={colStart:f,rowStart:p,colEnd:f,rowEnd:p},d&&(i.value=l),o=a,s=c,r=l},done:e=>(i&&=(n.push(i),null),e?ut(n,3,!0===e?lt:e,t?a.Column:a.Row,ct):n)}}var M={Up:`up`,Down:`down`,Left:`left`,Right:`right`},N={Html:`text/html`,Plain:`text/plain`,Png:`image/png`};i({findNextCellWithinSelection:()=>ft,traverseHiddenHeaders:()=>P});function P(e,t,n,r){if(!e)return t;let i=t,a=n===M.Right||n===M.Down;for(;;){let t=e(i,!a);if(t===0)return i;let n=a?i+t:i-t;if(r!==void 0&&(a?n>r:n<r))return r;i=n}}function ft(e,t=M.Right,n,r,i,a=null){if(a&&$e(a,e))return e;let o=e.ranges,s=e.rangeIndex,c=o[s];if(!qe({rowStart:e.cell.rowIndex,colStart:e.cell.colIndex,rowEnd:e.cell.rowIndex,colEnd:e.cell.colIndex},c))return e;let l={...e.cell},u=s;switch(t){case M.Right:l.colIndex=P(i,l.colIndex+1,t,c.colEnd+1);break;case M.Left:l.colIndex=P(i,l.colIndex-1,t,c.colStart-1);break;case M.Down:l.rowIndex=P(r,l.rowIndex+1,t,c.rowEnd+1);break;case M.Up:l.rowIndex=P(r,l.rowIndex-1,t,c.rowStart-1)}let d=e=>{if(e){u=s>=o.length-1?0:s+1;let e=o[u];l={colIndex:e.colStart,rowIndex:e.rowStart}}else{u=s<=0?o.length-1:s-1;let e=o[u];l={colIndex:e.colEnd,rowIndex:e.rowEnd}}};if(t===M.Right&&l.colIndex>c.colEnd&&l.rowIndex===c.rowEnd)d(!0);else if(t===M.Left&&l.colIndex<c.colStart&&l.rowIndex===c.rowStart)d(!1);else if(t===M.Down&&l.colIndex===c.colEnd&&l.rowIndex>c.rowEnd)d(!0);else if(t===M.Up&&l.colIndex===c.colStart&&l.rowIndex<c.rowStart)d(!1);else{let e=l.rowIndex,n=l.colIndex;switch(t){case M.Right:n>c.colEnd&&(e=P(r,e+1,t,c.rowEnd+1),n=c.colStart,e>c.rowEnd&&(e=c.rowStart));break;case M.Left:n<c.colStart&&(e=P(r,e-1,t,c.rowStart-1),n=c.colEnd,e<c.rowStart&&(e=c.rowEnd));break;case M.Down:e>c.rowEnd&&(n=P(i,n+1,t,c.colEnd+1),e=c.rowStart,n>c.colEnd&&(n=c.colStart));break;case M.Up:e<c.rowStart&&(n=P(i,n-1,t,c.colStart-1),e=c.rowEnd,n<c.colStart&&(n=c.colEnd))}l={rowIndex:e,colIndex:n}}let f=n(l);if(!Ke(f,c)){let e=Ze(f,c);e&&(f=e)}let p={rowStart:P(r,f.rowStart,M.Down,f.rowEnd),colStart:P(i,f.colStart,M.Right,f.colEnd),rowEnd:P(r,f.rowEnd,M.Up,f.rowStart),colEnd:P(i,f.colEnd,M.Left,f.colStart)};if(p.rowStart!==l.rowIndex||p.colStart!==l.colIndex){switch(t){case M.Right:o[u].colStart===p.colStart&&o[u].colEnd===p.colEnd&&(l.rowIndex=p.rowEnd),l.colIndex=p.colEnd;break;case M.Left:o[u].colStart===p.colStart&&o[u].colEnd===p.colEnd&&(l.rowIndex=p.rowStart),l.rowIndex===p.rowStart?l.colIndex=p.colStart+1:l.colIndex=p.colStart;break;case M.Down:o[u].rowStart===p.rowStart&&o[u].rowEnd===p.rowEnd&&(l.colIndex=p.colEnd),l.rowIndex=p.rowEnd;break;case M.Up:o[u].rowStart===p.rowStart&&o[u].rowEnd===p.rowEnd&&(l.colIndex=p.colStart),l.colIndex===p.colStart?l.rowIndex=p.rowStart+1:l.rowIndex=p.rowStart}return ft({cell:l,ranges:e.ranges,rangeIndex:u},t,n,r,i,a??e)}return{ranges:e.ranges,cell:l,rangeIndex:u}}new class{constructor(){this._onceMessageKeys=new Set,this._overrides=null}setOverrides(e){this._overrides=e??null}getOverrides(){return this._overrides}_write(e,t,n){if(n?.onceKey){let e=this._onceMessageKeys;if(e.has(n.onceKey))return;e.add(n.onceKey)}let r=n?.meta,i=this._overrides;if(i){let r=i[e];if(r)return void r.bind(i)(t,n)}r===void 0?console[e](t):console[e](t,r)}log(e,t){return this._write(`log`,e,t)}error(e,t){return this._write(`error`,e,t)}warn(e,t){return this._write(`warn`,e,t)}debug(e,t){return this._write(`debug`,e,t)}},i({EmptyBounds:()=>ht,EmptyRect:()=>mt,EmptyTopLeft:()=>pt});var pt=Object.freeze({left:0,top:0}),mt=Object.freeze({left:0,top:0,bottom:0,right:0}),ht=Object.freeze({x:0,y:0,width:0,height:0});i({canUseDOM:()=>gt,getDPI:()=>vt,hasFocus:()=>yt,openFileDialog:()=>_t,whenFocus:()=>bt});var gt=!(typeof window>`u`||!window.document||!window.document.createElement),_t=(e=`*.*`)=>new Promise((t,n)=>{if(!gt)return void n(`Unable to open dialog with no dom.`);let r=document.createElement(`input`);r.type=`file`,r.accept=e;let i=null,a=!1;globalThis.addEventListener?.(`focus`,()=>{setTimeout(()=>{i||a||(a=!0,t(null))},1e3)},{once:!0,passive:!0}),r.onchange=()=>{if(i=r.files?.[0]??null,i){if(a)return void console.warn(`File open detected after faux cancel.`,i);t(i)}},r.autofocus=!0,r.click()}),vt=()=>{let e=1;return typeof window==`object`&&(e=window.devicePixelRatio||1),e},yt=(e,t=!1)=>(document.hasFocus()||t)&&(e===document.activeElement||e?.contains(document.activeElement)),bt=async(e,t=!1)=>new Promise(n=>{yt(e,t)?n(!0):e.addEventListener(`focusin`,()=>{n(!0)},{once:!0}),e.focus()});i({cancelTimeout:()=>Dt,debounce:()=>Ct,nextTick:()=>Tt,rafThrottle:()=>wt,requestTimeout:()=>Ot,throttle:()=>St});var F=globalThis.requestAnimationFrame,xt=globalThis.cancelAnimationFrame;function St(e,t){let n=null;return(...r)=>{let i=Date.now();(!n||i-n>=t)&&(n=i,e(...r))}}function Ct(e,t=300,n=!1){let r,i,a,o=null,s=0;function c(){let l=Date.now()-s;l<t&&l>=0?o=setTimeout(c,t-l):(o=null,n||(a=e.apply(i,r),i=r=null))}t??=100;let l=function(){i=globalThis,r=arguments,s=Date.now();var l=n&&!o;return o||=setTimeout(c,t),l&&(a=e.apply(i,r),i=r=null),a};return l.clear=function(){o&&=(clearTimeout(o),null)},l.flush=function(){o&&=(a=e.apply(i,r),i=r=null,clearTimeout(o),null)},l}var wt=e=>{let t,n=!1,r=function(){n=!1,e(t)};return function(e){t=e,t&&t.persist&&t.persist(),n||(n=!0,F(r))}},Tt=e=>{if(typeof F==`function`)F(()=>{e()});else{let t=globalThis.setImmediate;(typeof t==`function`?t:setTimeout)(()=>{e()})}},Et=typeof performance==`object`&&typeof performance.now==`function`?()=>performance.now():()=>Date.now(),Dt=e=>{xt(e.id)},Ot=(e,t)=>{let n=Et(),r={id:F(function i(){Et()-n>=t?e.call(null):r.id=F(i)})};return r};i({MESSAGE_ERROR_INVALID_ARG:()=>kt});var kt=e=>`Invalid argument: '${e}'.`;i({APP_MIME_TYPE:()=>At,DEFAULT_MIME_TYPE:()=>`*/*`,JSONStableStringify:()=>It,arrayBufferToBase64:()=>Pt,base64ToArrayBuffer:()=>Nt,blobToString:()=>Ft,isNodeBuffer:()=>jt});var At=`application/octet-stream`,I=globalThis.Buffer,jt=e=>I?.isBuffer(e)??!1,Mt=globalThis.FileReader,Nt=e=>{let t=typeof globalThis.atob==`function`?globalThis.atob(e):I.from(e,`base64`).toString(`binary`),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer},Pt=e=>{let t=new Uint8Array(e),n=t.byteLength,r=``;for(let e=0;e<n;e++)r+=String.fromCharCode(t[e]);if(typeof globalThis.btoa==`function`)return globalThis.btoa(r);if(I)return I.from(r,`binary`).toString(`base64`);throw Error(`Unsupported environment`)},Ft=e=>new Promise((t,n)=>{if(e)if(Mt){let r=new Mt;r.onload=()=>{t(r.result)},r.onerror=()=>{n(r.error)},r.readAsText(e)}else if(I){let r=e=>I.from(e).toString(`utf-8`);e.arrayBuffer().then(e=>{t(r(e))}).catch(e=>{n(e)})}else n(Error(`Unsupported environment`));else t(``)});function It(e,t){t||={},typeof t==`function`&&(t={cmp:t});let n=typeof t.cycles==`boolean`&&t.cycles,r=t.cmp&&(i=t.cmp,function(e){return function(t,n){return i({key:t,value:e[t]},{key:n,value:e[n]})}});var i;let a=[];return function e(t){if(t&&t.toJSON&&typeof t.toJSON==`function`&&(t=t.toJSON()),t===void 0)return;if(typeof t==`number`)return isFinite(t)?``+t:`null`;if(typeof t!=`object`)return JSON.stringify(t);let i;if(Array.isArray(t)){i=`[`;for(let n=0;n<t.length;n++)n&&(i+=`,`),i+=e(t[n])||`null`;return i+`]`}if(t===null)return`null`;if(a.indexOf(t)!==-1){if(n)return JSON.stringify(`__cycle__`);throw TypeError(`Converting circular structure to JSON`)}let o=a.push(t)-1,s=Object.keys(t).sort(r&&r(t));i=``;for(let n=0;n<s.length;n++){let r=s[n],a=e(t[r]);a&&(i&&(i+=`,`),i+=JSON.stringify(r)+`:`+a)}return a.splice(o,1),`{`+i+`}`}(e)}var Lt;i({DATA_URL_PNG_PREFIX:()=>Rt,getImageDataUrl:()=>Vt,loadImageDetails:()=>Ut});var Rt=`data:image/png;base64,`,zt=`Unable to resolve image.`,Bt=e=>new Promise(async(t,n)=>{let r=null;try{let i=r=new Image;i.src=e,i.addEventListener(`load`,function(){t({width:i.naturalWidth,height:i.naturalHeight})},{once:!0}),i.addEventListener(`error`,function(t){URL.revokeObjectURL(e);let r=t?.error?.message??``;r&&=`: ${r}`,n(`Invalid Image${r}`)},{once:!0}),await i.decode()}catch{r?.src&&URL.revokeObjectURL(r.src)}r||n(Error(zt))}),Vt=(e,t=1)=>new Promise(async(n,r)=>{let i=null;try{let a=i=new Image;a.src=e,a.addEventListener(`load`,function(){try{let e=document.createElement(`canvas`);e.width=a.naturalWidth,e.height=a.naturalHeight;let r=e.getContext(`2d`);if(!r)throw Error(`Unable to create 2d context`);r.drawImage(a,0,0);let i=e.toDataURL(`image/png`,t);n({elemImg:a,dataUrl:i})}catch(t){URL.revokeObjectURL(e),r(t)}},{once:!0}),a.addEventListener(`error`,function(){URL.revokeObjectURL(e),r(`Invalid Image`)},{once:!0}),await a.decode()}catch{i?.src&&URL.revokeObjectURL(i.src)}i||r(Error(zt))}),Ht=`image/svg+xml`,Ut=async(e,t=null)=>{let n=null,r=async()=>{try{let r=t??`image/*`,i=URL.createObjectURL(new Blob([e],{type:r}));n={mimeType:r,naturalSize:await Bt(i),asUrl:i}}catch{}},i=async()=>{try{let r=new TextDecoder().decode(e),i=URL.createObjectURL(new Blob([r],{type:Ht})),a=await Bt(i);n={mimeType:t??Ht,naturalSize:a,asUrl:i,asSVGText:r}}catch{}};if(t===Ht?await i():t?.startsWith(`image/`)?await r():(await r(),n||await i()),!n)throw Error(`Failed to load image`);return n},Wt=new Set,Gt=e=>{Wt.has(e)||(Wt.add(e),console.warn(`Unknown property '${e}' in update; ignoring.`))};(function(e){e.PassThrough=Object.freeze({});let t=e.resolveTypedUpdates=(e,n,r,i,a=!1)=>{if(e===null)return e;if(e===void 0)return i;let o=e;if(n?.shorthand){let t=n?.shorthand(e,r);t!==void 0&&(o=t)}if(o!==null&&n?.getSubType){let e=n.getSubType(o,i);e&&(n=e)}let s=n?.properties,c=n?.arrayType??!1,l=o;if(n&&n.merge&&l&&i)l=n.merge(l,i,r);else if(!c&&s){let e=Object.keys({...o,...i});l=null;let n=e.length;for(let c=0;c<n;c++){let n=e[c],u,d=o?.[n];if(d!==void 0){let e=s[n];if(!e){Gt(n);continue}u=t(d,e,r,i?.[n],a)}else u=i?.[n];u==null?a&&d===null&&(l??={},l[n]=null):(l??={},l[n]=u)}}return l}})(Lt||={});var Kt={code:`safari`,message:`The Safari browser does not support advanced copy and paste.\nCopy and paste will be limited to within the browser tab.\n\nPlease use Chrome or Edge if external copy and paste is required.`},qt={code:`perms`,message:`You do not have permissions to access the clipboard.\nAll copy and paste operations will be limited to the browser tab.`},Jt=A()===k.Safari?Kt:qt,Yt={Safari:Kt,Perms:qt,PermsWrite:Jt,PermsRead:Jt},Xt=async()=>new Promise(e=>{document.hasFocus()?e():globalThis.addEventListener?.(`focus`,()=>{e()},{once:!0}),document.activeElement.focus?.()}),Zt=async(e,t,n)=>{if(A()===k.Safari)return await n(Error(Kt.message));try{let r=async e=>{try{return await e()}catch(e){if(e.message?.includes(`Document is not focused`))return!1;throw e}},i=await globalThis?.navigator?.permissions?.query({name:e,allowWithoutGesture:!0,allowWithoutSanitization:!0}),a=!1;if(i.state===`prompt`&&(a=await r(t)),a||i.state!==`granted`||(a=await t()),!a)return await n(Error(i.state))}catch(e){return e.message===`No valid data on clipboard`||e.name===`DataError`?void 0:await n(e)}},Qt=async e=>{if(!e)return null;try{return await e.read({unsanitized:[N.Html]})}catch{}return await e.read()},$t=async(e,t)=>{if(!e)return null;let n=await Qt(e),r=!1;for(let e=0;!r&&n&&e<n.length;e++)if(r=n[e].types.includes(t),r)return await n[e].getType(t);return null};if(!globalThis.ClipboardItem){let e=(e,t)=>new Blob([t],{type:e});class t{constructor(t,n){this._items={},this._types=Object.keys(t);let r={},i=Object.keys(t);for(let n=0;n<i.length;n++){let a=i[n],o=t[a];r[a]=typeof o==`string`?e(a,o):o}this._items=r,this._presentationStyle=n?.presentationStyle??`unspecified`}get types(){return this._types}getType(e){return Promise.resolve(this._items[e])}supports(e){return!0}}globalThis.ClipboardItem=t}var en,tn=async(e,t=N.Html)=>new Promise(async(n,r)=>{try{let r=await $t(e,t);if(r){let e=new FileReader;e.onload=()=>{n(e.result)},e.onerror=()=>{n(``)},e.readAsText(r)}else n(``)}catch(e){r(e)}}),nn=async(e,t=N.Html)=>{let n=await tn(e,t);if(!n)return null;let r=null;try{r=new DOMParser().parseFromString(n,N.Html)}catch{console.warn(`Can't parse html from clipboard.`)}return r},rn=async e=>{e&&await e.writeText(``)},L=`clipboard-uuid`,R=`web text/uuid`,an=e=>`<div style=\"display:none\" ${L}=\"${e}\"/>`,on={type:N.Plain},sn={type:N.Html},cn={type:R},ln=(e,t)=>{let n=null;try{let r=new DOMParser().parseFromString(t,N.Html);r.body.firstElementChild?.setAttribute(L,e),n=r.getElementsByTagName(`body`)[0].innerHTML}catch(e){console.warn(`Can't embed uuid.`,e)}return n},un=(e,t)=>{if(!t||!e)return!1;try{let n=t.querySelectorAll(`[${L}=\"${e}\"]`);if(n&&n.length===1)return!0;if(t.querySelector(`parsererror`))throw Error(`We are unable to parse node`);return!1}catch{return!1}},dn=class{constructor(e){if(this._state=null,this._nativeClipboard=null,this._onFocus=null,this._onBlur=null,e?.nativeClipboard===void 0||!0===e?.nativeClipboard)try{this._nativeClipboard=globalThis?.navigator.clipboard}catch{!0===e?.nativeClipboard&&console.warn(`NativeClipboard option set to true but no native clipboard available.`)}else this._nativeClipboard=!1===e?.nativeClipboard?null:e?.nativeClipboard??null;this._disableCheckOnFocus=e?.disableCheckOnFocus??!1,this._init()}async _checkForChanges(){this._nativeClipboard&&this._state&&!this._disableCheckOnFocus&&await Zt(`clipboard-read`,async()=>{await Xt();let e=await tn(this._nativeClipboard,R);if(!this._state||e&&e===this._state.uuid)return!0;let t=await nn(this._nativeClipboard,N.Html);return!this._state||(un(this._state.uuid,t)||this.clear(),!0)},async e=>{e?.message===`denied`||e.message?.includes(`Document is not focused`)||A()===k.Safari||console.warn(`Unable to detect clipboard changes: `,e)})}_init(){let e=this;this._listeners=new Map,this._listenersCapture=new Map,this._state=null,this._nativeClipboard&&(this._onFocus=()=>{e._checkForChanges()},this._onBlur=()=>{globalThis.addEventListener?.(`focus`,e._onFocus,{once:!0})},globalThis.addEventListener?.(`blur`,this._onBlur),this._nativeClipboard.addEventListener(`clipboardchange`,t=>{e._checkForChanges()}))}async read(){if(!this._nativeClipboard)return this._state?.items??null;let e=this;return await Zt(`clipboard-read`,async()=>{if(await Xt(),this._state?.uuid){let t=await tn(this._nativeClipboard,R);if(t&&t===e._state?.uuid)return!0;let n=await nn(this._nativeClipboard,N.Html);if(un(e._state?.uuid,n))return!0}return e._state={items:await Qt(this._nativeClipboard),uuid:null,ref:null},this.dispatchEvent(new Event(`clipboardread`)),!0},async e=>{this.dispatchEvent(new Event(`clipboarderrorread`))}),this._state?.items??[]}async write(e){return this._write({uuid:w(),items:e,ref:null})}async _write(e){if(!this._nativeClipboard)return this._state=e,this.dispatchEvent(new Event(`clipboardwrite`)),void this.dispatchEvent(new Event(`clipboardchange`));let t=this,n=[],r=e.uuid,i=e.items??[],a=()=>{t._state={uuid:r,ref:e.ref,items:n},t.dispatchEvent(new Event(`clipboardwrite`)),t.dispatchEvent(new Event(`clipboardchange`))};await Zt(`clipboard-write`,async()=>{await Xt(),r&&i.length===0&&(i.push(new ClipboardItem({[R]:new Blob([r],cn)})),i.push(new ClipboardItem({[N.Html]:new Blob([an(r)],sn)})));for(let e=0;e<Math.min(1,i.length);e++){let t=i[e],a=t.types.indexOf(N.Html),o=null;if(a!==-1&&(o=await Ft(await t.getType(N.Html)),o&&=ln(r,o)),!o&&t.types.includes(N.Plain)){let e=await t.getType(N.Plain);if(e){let t=null;typeof e==`string`?(console.warn(`text as string`,e),t=e):t=await Ft(e),t&&(o=`<div ${L}=\"${r}\">${t}</div>`)}}if(!o&&t.types.includes(N.Png)){let e=Pt(await(await t.getType(N.Png)).arrayBuffer());o=`<div ${L}=\"${r}\"><img src=\"${Rt+e}\"/></div>`}!o&&r&&(o=an(r));let s=new Blob([o??``],sn),c={},l=t.types,u=l.length;for(let e=0;e<u;e++){let n=l[e];c[n]=e===a?s:t.getType(n)}o&&a===-1&&(c[N.Html]=s),r&&(c[R]=new Blob([r],cn)),n.push(new ClipboardItem(c))}try{n&&n.length!==0?await this._nativeClipboard.write(n):await rn(this._nativeClipboard)}catch(e){e.message?.includes(`Document is not focused`)||console.warn(`Unable to write to native clipboard: `,e)}return a(),!0},async e=>{this.dispatchEvent(new Event(`clipboarderrorwrite`)),a()})}async writeReference(e){if(!e)return void this.clear();let t=null,n={};try{let t=await e.toText?.()??null;t&&(n[N.Plain]=new Blob([t??``],on))}catch(e){t=e}try{let t=await e.toHtml?.()??null;t&&(n[N.Html]=new Blob([t],{type:N.Html}))}catch(e){t=e,console.warn(`export to html`,e)}try{let t=await e.toImage?.()??null;t&&(n[N.Png]=t)}catch(e){t=e,console.warn(`export to png`,e)}let r=this._write({uuid:w(),ref:e,items:Object.keys(n).length>0?[new ClipboardItem(n)]:null});if(t)throw t;return r}clear(e=!1){this._state&&(this._state=null,e&&this._write({uuid:null,ref:null,items:null}),this.dispatchEvent(new Event(`clipboardwrite`)),this.dispatchEvent(new Event(`clipboardchange`)))}async readReference(){return await this.read(),this._state?.ref??null}readText(){return new Promise(async(e,t)=>{let n=await this.read(),r=null,i=n?n.length:0;for(let e=0;!r&&e<i;e++){let t=n[e];t.types.includes(N.Plain)&&(r=await t.getType(N.Plain))}if(!r)return void e(``);let a=new FileReader;a.onload=()=>{e(a.result)},a.readAsText(r),a.onerror=e=>{t(e)}})}async writeText(e){let t=[new ClipboardItem({[N.Plain]:new Blob([e],on)})];return this._write({uuid:w(),items:t,ref:null})}addEventListener(e,t,n={}){let r=n?.capture?this._listenersCapture:this._listeners,i=r.get(e);i||(i=new Map,r.set(e,i)),t&&i.set(t,typeof n==`boolean`?{}:n)}dispatchEvent(e){if(!e)return!1;let t=t=>{let n=t.get(e.type);n&&n.forEach((t,r)=>{try{typeof r==`function`?r(e):r.handleEvent&&r.handleEvent(e),t.once&&n.delete(r)}catch(e){console.warn(e)}})};return t(this._listenersCapture),t(this._listeners),!0}removeEventListener(e,t,n){let r=n?.capture?this._listenersCapture:this._listeners,i=r.get(e);i&&t&&(i.delete(t),i.size===0&&r.delete(e))}close(){this._onFocus&&globalThis.removeEventListener?.(`focus`,this._onFocus),this._onBlur&&globalThis.removeEventListener?.(`blur`,this._onBlur)}};(en=dn||={}).ErrorMessages=Yt,en.Global=new dn;var fn=e=>e===` `||e===` `||e===`\n`||e===`\\r`;function pn(e,t){for(;t.i<e.length&&fn(e[t.i]);)t.i++}function mn(e,t,n,r){let i=[],a=``,o=()=>{a&&=(i.push(a),``)};for(;t.i<e.length;){let s=e[t.i];if(s===`}`&&r>0)break;if(s!==`{`)if(s===`#`&&n)o(),i.push({kind:`hash`}),t.i++;else{if(s===`'`){let r=e[t.i+1];if(r===`'`){a+=`'`,t.i+=2;continue}if(r===`{`||r===`}`||r===`#`&&n){for(t.i++;t.i<e.length;){let n=e[t.i];if(n===`'`){if(e[t.i+1]===`'`){a+=`'`,t.i+=2;continue}t.i++;break}a+=n,t.i++}continue}a+=`'`,t.i++;continue}a+=s,t.i++}else t.i++,o(),i.push(hn(e,t,n,r))}return o(),i}function hn(e,t,n,r){let i=t.i;for(;t.i<e.length&&e[t.i]!==`,`&&e[t.i]!==`}`;)t.i++;let a=e.slice(i,t.i).trim();if(e[t.i]===`}`)return t.i++,{kind:`arg`,name:a};if(t.i>=e.length)return{kind:`arg`,name:a};t.i++;let o=t.i;for(;t.i<e.length&&e[t.i]!==`,`&&e[t.i]!==`}`;)t.i++;let s=e.slice(o,t.i).trim(),c=s===`plural`||s===`selectordinal`||s===`select`;if(e[t.i]!==`,`||!c){let n=r+1;for(;t.i<e.length&&n>r;)e[t.i]===`{`?n++:e[t.i]===`}`&&n--,t.i++;return{kind:`arg`,name:a}}t.i++;let l={},u=0;for(;pn(e,t),!(t.i>=e.length);){if(e[t.i]===`}`){t.i++;break}let i=t.i;for(;t.i<e.length&&e[t.i]!==`{`&&e[t.i]!==`}`&&!fn(e[t.i]);)t.i++;let a=e.slice(i,t.i);if(a.startsWith(`offset:`))u=parseInt(a.slice(7),10)||0;else{if(pn(e,t),e[t.i]!==`{`)break;t.i++,l[a]=mn(e,t,s!==`select`||n,r+1),e[t.i]===`}`&&t.i++}}return{kind:`branched`,type:s,name:a,offset:u,branches:l}}var gn=new Map,_n=new Map,vn=new Map;function yn(e,t){let n=t?_n:gn,r=n.get(e);if(!r){try{r=new Intl.PluralRules(e,t?{type:`ordinal`}:void 0)}catch{r=new Intl.PluralRules(`en`,t?{type:`ordinal`}:void 0)}n.set(e,r)}return r}function bn(e){let t=vn.get(e);if(!t){try{t=new Intl.NumberFormat(e)}catch{t=new Intl.NumberFormat(`en`)}vn.set(e,t)}return t}function xn(e,t,n,r){let i=``;for(let a of e){if(typeof a==`string`){i+=a;continue}if(a.kind===`arg`){let e=t?.[a.name];i+=e===void 0?`{${a.name}}`:String(e);continue}if(a.kind===`hash`){i+=r===void 0?`#`:bn(n).format(r);continue}let e=t?.[a.name];if(a.type===`select`){let o=(e===void 0?void 0:a.branches[String(e)])??a.branches.other;i+=o?xn(o,t,n,r):e===void 0?`{${a.name}}`:String(e);continue}let o=typeof e==`number`?e:Number(e);if(e===void 0||Number.isNaN(o)){let e=a.branches.other;i+=e?xn(e,t,n,void 0):`{${a.name}}`;continue}let s=a.branches[`=${o}`],c=o-a.offset;if(!s){let e=yn(n,a.type===`selectordinal`).select(c);s=a.branches[e]??a.branches.other}i+=s?xn(s,t,n,c):String(e)}return i}new TextDecoder;\n/**\n* @license @sheetxl/primitives - Primitives - Base types for SheetXL functions. - v0.7.28-beta.2\n*\n* (C) 2026-present SheetXL Inc. & Michael T. Ford\n* License: The license can be found at https://www.sheetxl.com/license.\n*/\nvar Sn;(function(e){e.MAX_TEXT_LENGTH=32767;let t=e.MAX_SIGNIFICANT_DIGITS=15;e.truncateNumberText=function(e){let n=e.length;if(n<=t)return e;let r=0,i=null;for(let a=0;a<n;a++){let n=e.charCodeAt(a);if(n>=48&&n<=57){if(r===0&&n===48)continue;r++,r>t&&((i??=e.split(``))[a]=`0`)}else if((n===69||n===101)&&r>0)break}return i===null?e:i.join(``)}})(Sn||={});var Cn,z,wn,B,V={Number:`number`,String:`string`,Boolean:`boolean`,Error:`error`,RichData:`richData`,Null:`null`},Tn={...V,Date:`date`};(z=Cn||={}).Axis={Column:`column`,Row:`row`},z.AxisSelection={...Cn.Axis,Both:`both`},z.Direction={Up:`up`,Down:`down`,Left:`left`,Right:`right`},(wn||={}).Aggregate={Count:`count`,NumericalCount:`numericalCount`,Sum:`sum`,Average:`average`,StdDev:`stdDev`,PopulationStdDev:`stdDevP`,Variance:`var`,PopulationVariance:`varP`,Min:`min`,Max:`max`},function(e){let t=e.Code={Parse:0,Null:1,Div0:2,Value:3,Ref:4,Name:5,Num:6,NA:7,GettingData:8,Spill:9,Connect:10,Blocked:11,Unknown:12,Field:13,Calc:14,Busy:16,Python:19,Timeout:20},n=e.Label={Parse:`#PARSE!`,Null:`#NULL!`,Div0:`#DIV/0!`,Value:`#VALUE!`,Ref:`#REF!`,Name:`#NAME?`,Num:`#NUM!`,NA:`#N/A`,GettingData:`#GETTING_DATA`,Spill:`#SPILL!`,Connect:`#CONNECT!`,Blocked:`#BLOCKED!`,Unknown:`#UNKNOWN!`,Field:`#FIELD!`,Calc:`#CALC!`,Busy:`#BUSY!`,Python:`#PYTHON!`,Timeout:`#TIMEOUT!`};class r extends Error{constructor(e,t,n,r){super(n,r),this._label=t,this._code=e,this.details=r}static{this.code=B.Code.Unknown}get isFormulaError(){return!0}getLabel(){return this._label}getCode(){return this._code}equals(e){return!!e&&(this._code===e._code||this._code===e.code)}get[Symbol.toStringTag](){return`[FormulaError]`}toString(){return this._label}}e.Known=r;class i extends r{constructor(e,r){super(t.Parse,n.Parse,e,r)}static{this.code=B.Code.Parse}getDetails(){let e=this.details;return{line:e?.line??1,column:e?.column??1,offset:e?.offset??0,length:e?.length??0}}}e.Parse=i;class a extends r{constructor(e,r){super(t.Null,n.Null,e,r)}static{this.code=B.Code.Null}}e.Null=a;class o extends r{constructor(e,r){super(t.Div0,n.Div0,e,r)}static{this.code=B.Code.Div0}}e.Div0=o;class s extends r{constructor(e,r){super(t.Value,n.Value,e,r)}static{this.code=B.Code.Value}}e.Value=s;class c extends r{constructor(e,r){super(t.Ref,n.Ref,e,r)}static{this.code=B.Code.Ref}}e.Ref=c;class l extends r{constructor(e,r){super(t.Name,n.Name,e,r)}static{this.code=B.Code.Name}}e.Name=l;class u extends r{constructor(e,r){super(t.Num,n.Num,e,r)}static{this.code=B.Code.Num}}e.Num=u;class d extends r{constructor(e,r){super(t.NA,n.NA,e,r)}static{this.code=B.Code.NA}}e.NA=d;class f extends r{constructor(e,r){super(t.GettingData,n.GettingData,e,r)}static{this.code=B.Code.GettingData}}e.GettingData=f;class p extends r{constructor(e,r){super(t.Spill,n.Spill,e,r)}static{this.code=B.Code.Spill}}e.Spill=p;class m extends r{constructor(e,r){super(t.Connect,n.Connect,e,r)}static{this.code=B.Code.Connect}}e.Connect=m;class h extends r{constructor(e,r){super(t.Blocked,n.Blocked,e,r)}static{this.code=B.Code.Blocked}}e.Blocked=h;class g extends r{constructor(e,r){super(t.Unknown,n.Unknown,e,r)}static{this.code=B.Code.Unknown}}e.Unknown=g;class _ extends r{constructor(e,r){super(t.Field,n.Field,e,r)}static{this.code=B.Code.Field}}e.Field=_;class v extends r{constructor(e,r){super(t.Calc,n.Calc,e,r)}static{this.code=B.Code.Calc}}e.Calc=v;class y extends r{constructor(e,r){super(t.Busy,n.Busy,e,r)}static{this.code=B.Code.Busy}}e.Busy=y;class b extends r{constructor(e,r){super(t.Python,n.Python,e,r)}static{this.code=B.Code.Python}}e.Python=b;class x extends r{constructor(e,r){super(t.Timeout,n.Timeout,e,r)}static{this.code=B.Code.Timeout}}e.Timeout=x}(B||={});var H={};H[B.Code.Parse]=B.Parse,H[B.Code.Null]=B.Null,H[B.Code.Div0]=B.Div0,H[B.Code.Value]=B.Value,H[B.Code.Ref]=B.Ref,H[B.Code.Name]=B.Name,H[B.Code.Num]=B.Num,H[B.Code.NA]=B.NA,H[B.Code.GettingData]=B.GettingData,H[B.Code.Spill]=B.Spill,H[B.Code.Connect]=B.Connect,H[B.Code.Blocked]=B.Blocked,H[B.Code.Unknown]=B.Unknown,H[B.Code.Field]=B.Field,H[B.Code.Calc]=B.Calc,H[B.Code.Busy]=B.Busy,H[B.Code.Python]=B.Python,H[B.Code.Timeout]=B.Timeout;var En=new Map,Dn=new Map,On=new Map,kn=new Map,An=Object.keys(H);for(let e=0;e<An.length;e++){let t=H[An[e]],n=new t;On.set(n.getLabel(),t),kn.set(n.getCode(),t),En.set(n.getLabel(),n),Dn.set(n.getCode(),n)}(function(e){let t=e.getBuiltInByCode=e=>Dn.get(e);e.BuiltIn={Parse:t(B.Code.Parse),Null:t(B.Code.Null),Div0:t(B.Code.Div0),Value:t(B.Code.Value),Ref:t(B.Code.Ref),Name:t(B.Code.Name),Num:t(B.Code.Num),NA:t(B.Code.NA),GettingData:t(B.Code.GettingData),Spill:t(B.Code.Spill),Connect:t(B.Code.Connect),Blocked:t(B.Code.Blocked),Unknown:t(B.Code.Unknown),Field:t(B.Code.Field),Calc:t(B.Code.Calc),Busy:t(B.Code.Busy),Python:t(B.Code.Python),Timeout:t(B.Code.Timeout)},e.newTypedError=(e,t,n)=>{let r;return r=typeof e==`string`?On.get(e):kn.get(e),r||=B.Unknown,new r(t,n)},e.getBuiltInByLabel=e=>En.get(e),e.isError=function(e,t){return!!e&&!0===e.isFormulaError&&(t===void 0||e.getCode()===t)}})(B||={});var jn=class{createRange(e,t,n){throw new U}getReference(e,t){throw new U}getResizedReference(e,t,n){throw new U}getNumberFormat(e,t){throw new U}fromSerialDate(e,t){throw new U}toSerialDate(e,t){throw new U}getDateParts(e,t){throw new U}getSerialDate(e,t,n,r,i,a,o){throw new U}getNow(){throw new U}getValueAt(e,t,n,r){return null}getEntireCoords(){return Nn}isValidDate(e,t){return e instanceof Date||Object.prototype.toString.call(e)===`[object Date]`?!isNaN(e.getTime()):!t&&typeof e==`number`&&!(e<0||e>Fn)}getRow(){return 0}getColumn(){return 0}getFormulaAt(e,t,n){return null}getSpillAt(e,t,n){return null}getSheetIndex(e){return-1}getSheetCount(){return 1}markVolatile(){}formatResults(e){}filterHidden(e,t){return e}filterTotals(e){return e}getFunction(e){return null}getAddress(e,t){throw new U}parseAsSerialDate(e,t){throw new U}parseAsDate(e,t){throw new U}parseAsNumber(e,t){throw new U}createCriteria(e){throw new U}parseAsLiteral(e){let t=e.toUpperCase();return t===`TRUE`||t!==`FALSE`&&B.getBuiltInByLabel(t)}toText(e){return typeof e==`string`?e:e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:e?.isFormulaError?e.getLabel():String(e)}compare(e,t,n){if(e===t)return 0;let r=Mn(e),i=Mn(t);return r===i?e<t?-1:+(e>t):r<i?-1:1}getRuntime(){return Pn}},Mn=e=>{if(e==null)return 0;switch(typeof e){case`number`:return 1;case`string`:return 2;case`boolean`:return 3;default:return 4}},U=class extends Error{constructor(e=`Not implemented in StubbedFormulaContext`){super(e),this.name=`NotImplementedError`}},Nn=Object.freeze({colStart:0,rowStart:0,colEnd:2**14-1,rowEnd:2**20-1}),Pn={isDate1904:()=>!1,getLocale:()=>Ln.tag,getLocaleProfile:()=>Ln,isR1C1:()=>!1,getNow:()=>0,getLocation:()=>`unknown`,getVersion:()=>`1.0.0`,getOS:()=>`unknown`,getUser:()=>`unidentified`,getDescription:()=>`Stubbed Formula Context`},Fn=2958465,W=new jn,In=class{constructor(){this._scope=W}_setScope(e){this._scope=e??W}_getScope(){return this._scope}getNumberFormat(e,t){return this._getScope().getNumberFormat(e,t)}getEntireCoords(){return this._getScope().getEntireCoords()??Nn}parseAsSerialDate(e,t){return this._getScope().parseAsSerialDate(e,t)}parseAsDate(e,t){return this._getScope().parseAsDate(e,t)}parseAsNumber(e,t){return this._getScope().parseAsNumber(e,t)}createCriteria(e){return this._getScope().createCriteria(e)}parseAsLiteral(e){let t=this._getScope();return t.parseAsLiteral?t.parseAsLiteral(e):W.parseAsLiteral(e)}toText(e){return this._getScope().toText(e)}isValidDate(e,t=!1){return this._getScope().isValidDate(e,t)}fromSerialDate(e,t=!1){return this._getScope().fromSerialDate(e,t)}toSerialDate(e,t=!1){return this._getScope().toSerialDate(e,t)}getDateParts(e,t){return this._getScope().getDateParts(e,t)}getSerialDate(e,t,n,r=0,i=0,a=0,o=0){return this._getScope().getSerialDate(e,t,n,r,i,a,o)}getNow(){return this._getScope().getNow()}createRange(e,t,n){return this._getScope().createRange(e,t,n)}getRow(){return this._getScope().getRow?.()??0}getColumn(){return this._getScope().getColumn?.()??0}getReference(e,t){return this._getScope().getReference(e,t)}getResizedReference(e,t,n){return this._getScope().getResizedReference(e,t,n)}getValueAt(e,t,n){return this._getScope().getValueAt(e,t,n)}getFormulaAt(e,t,n){return this._getScope().getFormulaAt?.(e,t,n)??null}getSpillAt(e,t,n){return this._getScope().getSpillAt?.(e,t,n)??null}getSheetIndex(e){return this._getScope().getSheetIndex?.(e)??-1}getSheetCount(){return this._getScope().getSheetCount?.()??1}markVolatile(){this._getScope().markVolatile?.()}formatResults(e){this._getScope().formatResults?.(e)}filterHidden(e,t){return this._getScope().filterHidden?.(e,t)??e}filterTotals(e){return this._getScope().filterTotals?.(e)??e}getFunction(e){return this._getScope().getFunction?.(e)??null}getAddress(e,t){return this._getScope().getAddress(e,t)}compare(e,t,n){return this._getScope().compare?.(e,t,n)??W.compare(e,t,n)}getRuntime(){return this._getScope().getRuntime()}get[Symbol.toStringTag](){return`[FormulaContext]`}toString(){return this._getScope()?.toString?.()??`{STUB SCOPE}`}},Ln=Object.freeze({tag:`en-US`,numberingSystem:`latn`,decimal:`.`,group:`,`,grouping:[3],minusSign:`-`,percentSign:`%`,permilleSign:`‰`,currencyCode:`USD`,currencySymbol:`$`,currencyDisplay:`symbol`,currencyPosition:`before`,currencySpacing:`tight`,date:Object.freeze({calendar:`gregory`,short:`M/d/yy`,medium:`MMM d, y`,long:`MMMM d, y`,timeShort:`h:mm a`,timeLong:`h:mm:ss a`,am:`AM`,pm:`PM`,firstDay:0,weekend:[6,0],monthsWide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],monthsAbbr:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],weekdaysWide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],weekdaysAbbr:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],hour12:!0}),listSeparator:`,`,csvDelimiter:`,`,rtl:!1,collator:Object.freeze({sensitivity:`base`,numeric:!0})});new In;const G=Object.freeze({NoBody:`SXL1001`,Anonymous:`SXL1002`,ParseError:`SXL1003`,InvalidParamType:`SXL2001`,InvalidReturnType:`SXL2002`,UndefinedInput:`SXL2003`,MissingType:`SXL2004`,UntypedArray:`SXL2005`,GenericArity:`SXL2006`,MultipleModifiers:`SXL2007`,ContextNotFirst:`SXL2010`,MultipleLambda:`SXL2020`,LambdaNotLast:`SXL2021`,LambdaScalarMismatch:`SXL2022`,LambdaReturn:`SXL2023`,FunctionReturn:`SXL2024`,LambdaArity:`SXL2025`,ArrayDepth:`SXL2030`,RepeatingPosition:`SXL2040`,MultipleRepeating:`SXL2041`,RepeatingSlots:`SXL2042`,RepeatingOptional:`SXL2043`,NoExports:`SXL3001`,UnknownParam:`SXL3002`,BuiltInName:`SXL3003`,MissingSummary:`SXL9001`,MissingParamDescription:`SXL9002`,MissingReturns:`SXL9003`}),Rn=[{name:`summary`,group:`sheetxl`,description:`Short description shown in function tooltips and autocomplete.`},{name:`param`,group:`jsdoc`,description:`Document a parameter. A string union type becomes a dropdown of allowed options.`,snippet:\"param ${1:name} ${2:description}\"},{name:`returns`,aliases:[`return`],group:`jsdoc`,description:`Describe the return value.`},{name:`category`,group:`sheetxl`,description:`Group the function under a category in the function list.`,snippet:\"category ${1:name}\"},{name:`name`,group:`sheetxl`,description:`Override the displayed function name.`,snippet:\"name ${1:NAME}\"},{name:`description`,group:`sheetxl`,description:`A longer description of the function.`},{name:`deprecated`,group:`sheetxl`,standalone:!0,description:`Mark the function as deprecated (optionally with a reason).`},{name:`hidden`,group:`sheetxl`,standalone:!0,description:`Hide the function from the function list.`},{name:`example`,group:`jsdoc`,description:`Provide a usage example.`},{name:`see`,group:`jsdoc`,description:`Reference a related function or link.`}],zn=(()=>{let e=new Map;for(let t of Rn)if(e.set(t.name,t),t.aliases)for(let n of t.aliases)e.set(n,t);return e})();function Bn(e){if(!e)return;let t=(e.startsWith(`@`)?e.slice(1):e).toLowerCase();return zn.get(t)}function Vn(e){return Bn(e)?.standalone===!0}const Hn=new Map([[`IReferenceRange`,`p`],[`IRange`,`r`]]),K=new Map([[`IWorkbook`,`workbook`],[`ISheet`,`sheet`],[`ICellRanges`,`ranges`],[`ICellRange`,`range`]]),Un=Array.from(K.keys()),q=(e,t)=>{Array.from(t.keys()).forEach(n=>{let r=t.get(n);t.set(`${e}.${n}`,r)})},Wn=new Map([[`Scalar`,`*`],[`Lambda`,`l`],[`FormulaError.Known`,V.Error],[`Date`,Tn.Date],[`IRichData`,Tn.RichData]]),Gn=new Map([[`Repeating`,`repeating`]]),Kn=new Set([`Flatten`,`SheetXL.Flatten`]),qn=new Map([[`AcceptError`,`accept`],[`AcceptRefError`,`accept-ref`]]),Jn=new Set([`Omittable`]),J=`SheetXL`;q(J,Hn),q(J,K),q(J,Gn),q(J,qn),Jn.add(`${J}.Omittable`);const Yn=new Map([[`Promise`,()=>({async:!0})],[`Observable`,()=>({stream:!0})]]),Xn=`__scriptContext__`,Zn=new Set([`IScript.ScriptContext`,`${J}.IScript.ScriptContext`,`ScriptContext`]),Qn=(e,t)=>{let n=t.literal;if(n===void 0)return;let r=e.SyntaxKind;switch(n.kind){case r.StringLiteral:return n.text;case r.NumericLiteral:return parseFloat(n.text);case r.TrueKeyword:return!0;case r.FalseKeyword:return!1;case r.NullKeyword:return null;case r.PrefixUnaryExpression:return n.operator===r.MinusToken&&n.operand?.kind===r.NumericLiteral?-parseFloat(n.operand.text):void 0;default:return}},$n=e=>{if(!e||e.length===0)return``;let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r.kind;if(i!==`link`){if(i===`linkName`){let i=e[n+1];if(i?.kind===`linkText`&&i.text.trim())continue;t+=r.text;continue}if(i===`linkText`){t+=r.text.trim();continue}t+=r.text}}return t.replace(/\\r\\n?/g,`\n`).split(/\\n[^\\S\\n]*\\n\\s*/).map(e=>e.split(`\n`).map(e=>e.trim()).filter(Boolean).join(` `)).filter(Boolean).join(`\n`).trim()};function er(e,t,n,r){let i=r?.builtInNames?.length?new Set(r.builtInNames.map(e=>e.toUpperCase())):null,a=[],o=[],s=null,c=e=>{if(!e||typeof e.getStart!=`function`)return{start:0,length:0};try{return{start:e.getStart(),length:e.getWidth()}}catch{return{start:0,length:0}}},l=(e,t,n,r)=>{let{start:i,length:a}=c(e);o.push({start:i,length:a,severity:n,code:t,message:r})},u=(e,t,n)=>{l(e,t,`error`,n)},d=e=>e?.parent?.name?.escapedText,f=(e,t,n,r,i=!1,a=!1)=>{let o={count:0},s=g(e,t,n,r,o,i,a);return o.count>=2&&(t.range||(t.range=`m`,o.count-=2),!r&&o.count>=1&&(--o.count,o.count>0&&u(e,G.ArrayDepth,`Arrays of more than 2 dimensions are not supported: '${d(e)}'.`))),o.count>0&&(t.arrayDepth=o.count),s},p=(t,n,r,i,a)=>{if(n!==`Lambda`&&n!==`${J}.Lambda`)return!1;let o=t.typeArguments,s=`*`;if(o&&o.length===2)if(a&&o[0].kind===e.SyntaxKind.TupleType&&(r.lambdaArity=o[0].elements.length),o[1].kind===e.SyntaxKind.AnyKeyword)s=`raw`;else{let e={};g(o[1],e,i,!1,{count:0}),s=e.scalar??`*`}else if(o&&o.length===1&&o[0].kind!==e.SyntaxKind.TupleType&&o[0].kind!==e.SyntaxKind.ArrayType)if(a&&(r.lambdaArity=2),o[0].kind===e.SyntaxKind.AnyKeyword)s=`raw`;else{let e={};g(o[0],e,i,!1,{count:0}),s=e.scalar??`*`}return r.lambda=s,!0},m=(t,n,r,i)=>{if(!i){u(t,G.FunctionReturn,`Function type is not a valid return type: '${d(t)}'. Declare a 'Lambda' return instead.`);return}let a=t.type,o={},s=`*`;a&&(a.kind===e.SyntaxKind.AnyKeyword?s=`raw`:(g(a,o,r,!1,{count:0}),s=o.scalar??`*`));let c=t.parameters;c&&!c.some(e=>e.dotDotDotToken)&&(n.lambdaArity=c.length),n.lambda=s},h=(t,n,r,i)=>{let a=(e,t,n)=>{let a={name:e};return f(t,a,r,!0),n&&(a.optional=!0),i&&!a.errors&&(a.errors=i),a};if(t.kind!==e.SyntaxKind.TupleType)return[a(n,t,!1)];let o=t.elements;if(o.length<2)return u(t,G.RepeatingSlots,`'${n}': a repeating group of period ${o.length} must be spelled 'Repeating<T>' without the tuple.`),null;let s=[];for(let t=0;t<o.length;t++){let r=o[t];if(r.kind!==e.SyntaxKind.NamedTupleMember)return u(r,G.RepeatingSlots,`'${n}': every slot of a repeating group must be labelled, e.g. 'Repeating<[criteriaRange: IRange, criteria: Scalar]>'.`),null;let i=!!r.questionToken;if(i&&t!==o.length-1)return u(r,G.RepeatingOptional,`'${n}': only the LAST slot of a repeating group may be optional (slot '${r.name?.getText?.()}' is not).`),null;s.push(a(r.name?.getText?.()??`${t}`,r.type,i))}return s},g=(t,n,r,i,a,o=!1,s=!1)=>{if(!t){u(t,G.MissingType,`Type is not defined for '${n?.name??`return`}'.`);return}if(t.kind===e.SyntaxKind.ParenthesizedType)return g(t.type,n,r,i,a,o,s);if(t.kind===e.SyntaxKind.UnionType){let c=t=>t.kind===e.SyntaxKind.UndefinedKeyword||t.kind===e.SyntaxKind.VoidKeyword||t.kind===e.SyntaxKind.NullKeyword||t.kind===e.SyntaxKind.LiteralType&&t.literal?.kind===e.SyntaxKind.NullKeyword,l=t.types.filter(e=>!c(e));if(l.length===1)return g(l[0],n,r,i,a,o,s);let f=t=>{if(t.kind!==e.SyntaxKind.LiteralType)return;let n=t.literal;if(n?.kind===e.SyntaxKind.NumericLiteral||n?.kind===e.SyntaxKind.PrefixUnaryExpression&&n.operand?.kind===e.SyntaxKind.NumericLiteral)return e.SyntaxKind.NumericLiteral;if(n?.kind===e.SyntaxKind.StringLiteral)return e.SyntaxKind.StringLiteral},m=f(l[0]);if(m!==void 0&&l.every(e=>f(e)===m)){n.scalar=m===e.SyntaxKind.NumericLiteral?V.Number:V.String;return}if(!i){n.scalar=`*`;return}if(l.length===2){let t=t=>{if(t.kind!==e.SyntaxKind.TypeReference)return!1;let n=e.isTypeReferenceNode(t)?t.typeName.getText():``;return n===`Lambda`||n===`${J}.Lambda`},c=l.findIndex(t);if(c>=0&&!t(l[1-c])){g(l[1-c],n,r,i,a,o,s),p(l[c],l[c].typeName.getText(),n,r,i);return}}u(t,G.InvalidParamType,`Union parameter types are not supported: '${d(t)}'. Use a single type, optionally with '| null' or '| undefined', or 'T | Lambda<…>' for a value-or-lambda slot.`);return}if(t.kind===e.SyntaxKind.NumberKeyword)n.scalar=V.Number;else if(t.kind===e.SyntaxKind.StringKeyword)n.scalar=V.String;else if(t.kind===e.SyntaxKind.BooleanKeyword)n.scalar=V.Boolean;else if(t.kind===e.SyntaxKind.UndefinedKeyword||t.kind===e.SyntaxKind.NullKeyword||t.kind===e.SyntaxKind.VoidKeyword){if(i){u(t,G.UndefinedInput,`'undefined' is not a valid type for input: '${d(t)}'.`);return}n.scalar=V.Null}else if(t.kind===e.SyntaxKind.BigIntKeyword)n.scalar=V.Number;else if(t.kind===e.SyntaxKind.AnyKeyword)i&&(n.range=`*`);else if(t.kind===e.SyntaxKind.ArrayType){let e=t.elementType;if(!e){u(t,G.UntypedArray,`'Array' must be typed: '${d(t)}'.`);return}if(i&&s){let i=n,a=i.name??d(t)??`parameter`,o=i.errors;delete i.errors;let s={name:a};f(e,s,r,!0),o&&!s.errors&&(s.errors=o),i.repeating=[s];return}a.count++,g(e,n,r,i,a)}else if(t.kind!==e.SyntaxKind.TupleType)if(t.kind===e.SyntaxKind.TypeReference){let c=t.typeName?.getText?.()??null,l=qn.get(c);if(l){let e=d(t);if(!i){u(t,G.InvalidReturnType,`'${c}' is not a valid return type: '${e}'. Error-policy markers apply to parameters only.`);return}let f=n;if(f.errors){u(t,G.InvalidParamType,`'${e}' declares more than one error-policy marker ('${f.errors}' and '${l}'). Only one is allowed.`);return}let p=t.typeArguments;if(!p||p.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${e}'.`);return}return f.errors=l,g(p[0],n,r,i,a,o,s)}if(Jn.has(c)){let l=n.name??d(t);if(!i){u(t,G.InvalidReturnType,`'Omittable' is not a valid return type: '${l}'. It describes how an ARGUMENT is received.`);return}let f=t.typeArguments;if(!f||f.length<1||f.length>2){u(t,G.GenericArity,`'${c}' must be typed with 1 or 2 types: '${l}'.`);return}let p=n;if(p.omittable=!0,f.length===2){let n=Qn(e,f[1]);if(n===void 0){u(t,G.InvalidParamType,`'${l}' declares '${c}' with a second type that is not a literal value. Use a number, string, boolean or null - the engine substitutes it for an omitted argument.`);return}p.omittedValue=n}return g(f[0],n,r,i,a,o,s)}if(Kn.has(c)){let e=n.name??d(t);if(!i){u(t,G.InvalidReturnType,`'Flatten' is not a valid return type: '${e}'. It describes how an ARGUMENT is received.`);return}let s=t.typeArguments;if(!s||s.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${e}'.`);return}return a.count++,g(s[0],n,r,i,a,o)}if(Gn.get(c)===`repeating`){let e=n.name??d(t);if(!i){u(t,G.RepeatingPosition,`'Repeating' is not a valid return type: '${e}'.`);return}if(a.count!==0){u(t,G.RepeatingPosition,`'Repeating' cannot be nested inside another type: '${e}'.`);return}let o=n,s=t.typeArguments;if(!s||s.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${e}'.`);return}let l=o.errors;delete o.errors;let f=h(s[0],e??`parameter`,r,l);f&&(o.repeating=f);return}let m=Hn.get(c),_=!1;m&&(n.range=m,_=!0);let v=Wn.get(c);if(v&&(n.scalar=v),v!==void 0&&(_=!0),p(t,c,n,r,i))return;if(i){if(Zn.has(c))return Xn;let e=K.get(c);if(e)return e}else{let e=Yn.get(c);if(e){let r=Object.assign(n,e()),i=0;if(r.async&&i++,r.stream&&i++,i>1){u(t,G.MultipleModifiers,`'${c}' cannot have multiple modifiers: '${d(t)}'.`);return}_=!0}}if(!_){let e=`number, string, boolean, Scalar, Lambda, Date, FormulaError.Known, IRichData, IRange, IReferenceRange (and arrays of these; optionally wrapped in AcceptError<T>/AcceptRefError<T>, or grouped with Repeating<T>)`,n;n=i?o?`'${c}' is not a valid first parameter: '${d(t)}'. The first parameter is EITHER a macro target (making this a macro) OR a calculation input (making this a calculation function). Allowed: ${Un.join(`, `)} (macro target); ${e} (calculation input).`:`'${c}' is not a valid parameter type: '${d(t)}'. Allowed: ${e}.`:`'${c}' is not a valid return type: '${d(t)}'. Allowed: number, string, boolean, Scalar, Date, FormulaError.Known, IRichData, IRange, Promise<T>, Observable<T> (and arrays of these).`,u(t,i?G.InvalidParamType:G.InvalidReturnType,n);return}let y=t.typeArguments;if(y){if(y.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${d(t)}'.`);return}f(y[0],n,r,i)}}else t.kind===e.SyntaxKind.FunctionType&&m(t,n,r,i)},_=t=>(e.getCombinedModifierFlags(t)&e.ModifierFlags.Export)!==0,v=t=>(e.getCombinedModifierFlags(t)&e.ModifierFlags.Default)!==0;try{e.forEachChild(t,t=>{if(_(t)&&e.isFunctionDeclaration(t)){let r=t?.name?.getText();if(!t.body){u(t,G.NoBody,`'${r}': function has no body.`);return}if(!r){u(t,G.Anonymous,`Anonymous exported functions are not allowed.`);return}let o={},c={parameters:{}};try{o.name=r;let d=n.getSymbolAtLocation(t.name),p=$n(d?.getDocumentationComment(n));p&&(c.summary=p);let m={};f(t.type,m,o,!1),o.returnType=m;let h={};v(t)&&(h.default=!0,s=r),Object.keys(h).length>0&&(o.behavior=h),o.parameters=[];let g=new Map,_=new Map,y=new Set,b=null,x=null,S=null,C=0,w=!1,T=0;for(let r=0;r<t.parameters.length;r++){let i=t.parameters[r],a={};a.name=i.name?.getText();let s=o.parameters.length===0,l=f(i.type,a,o,!0,s,!i.dotDotDotToken);if(l===Xn){r===0&&o.context===void 0&&(o.context=`script`);continue}if(l){if(o.parameters.length!==0){u(i,G.ContextNotFirst,`'${o.name}' contexts must be the first parameter: '${a.name}'.`);return}o.context=l;continue}if(a.lambda!==void 0){if(b!==null){u(i,G.MultipleLambda,`'${o.name}' has more than one Lambda parameter ('${b}' and '${a.name}'). Only one Lambda parameter is allowed.`);return}b=a.name}else if(b!==null){u(i,G.LambdaNotLast,`'${o.name}' Lambda parameter ('${b}') must be the last parameter, but '${a.name}' follows it.`);return}let d=i.initializer!==void 0&&i.initializer!==null||i.questionToken!==void 0&&i.questionToken!==null,p;if(d&&(a.optional=!0,i.initializer))try{i.initializer.kind===e.SyntaxKind.StringLiteral?p=i.initializer.text:i.initializer.kind===e.SyntaxKind.NumericLiteral?p=parseFloat(i.initializer.text):i.initializer.kind===e.SyntaxKind.TrueKeyword||i.initializer.kind===e.SyntaxKind.FalseKeyword?p=i.initializer.kind===e.SyntaxKind.TrueKeyword:i.initializer.kind===e.SyntaxKind.NullKeyword&&(p=null)}catch(e){console.warn(`Couldn't extract default value for parameter '${a.name}'`,e)}i.dotDotDotToken&&(a.rest=!0);let m=a.repeating;if(m){if(a.rest){u(i,G.RepeatingPosition,`'${o.name}' parameter '${a.name}' is both a rest parameter and a repeating group. A group already repeats — drop the '...'.`);return}if(d&&m.length===1){u(i,G.RepeatingOptional,`'${o.name}' parameter '${a.name}' cannot be an optional repeating group. Use '...${a.name}: T[]' for zero-or-more, or drop the '?' for one-or-more.`);return}if(x!==null){u(i,G.MultipleRepeating,`'${o.name}' has more than one repeating group ('${x}' and '${a.name}'). Only one is allowed — two would make the argument count ambiguous.`);return}if(S!==null){u(i,G.RepeatingOptional,`'${o.name}' parameter '${S}' is optional and precedes the repeating group '${a.name}'. Every parameter outside a group must be required.`);return}x=a.name,C=m.length,w=m[m.length-1].optional===!0}else if(x!==null&&a.rest){u(i,G.RepeatingOptional,`'${o.name}' parameter '${a.name}' is a rest parameter and follows the repeating group '${x}'. Two variadic tails would make the argument count ambiguous.`);return}else if(x!==null&&d){if(T>=C-1){u(i,G.RepeatingOptional,C===1?`'${o.name}' parameter '${a.name}' is optional and follows the period-1 repeating group '${x}'. One more argument is indistinguishable from one more repetition — make it required, or give the group a period.`:`'${o.name}' has ${T+1} optional parameters after the repeating group '${x}', which has period ${C}. At most ${C-1} may be optional, or the argument count no longer decides the parse.`);return}if(w){u(i,G.RepeatingOptional,`'${o.name}' parameter '${a.name}' is optional and follows '${x}', whose own last slot is already optional. Both omissions reach the same argument count — drop one.`);return}T++}d&&!m&&(S=a.name);let h=(a.range?2:0)+(a.arrayDepth??0),v=a.range===`r`||a.range===`p`||a.range===`*`,E=a.rest||v?3:2;if(h>E){u(i,G.ArrayDepth,`'${o.name}' parameter '${a.name}' has an array depth of ${h}; the maximum is ${E}${a.rest?` for a rest parameter`:` (use a rest parameter for one more level, or an IRange)`}.`);return}o.parameters.push(a);let D={description:``};c.parameters[a.name]=D;let ee=n.getSymbolAtLocation(i.name);if(D.description=$n(ee?.getDocumentationComment(n)),p!==void 0&&(a.defaultValue=p),g.set(a.name,a),_.set(a.name,i),m&&m.length>1){y.add(a.name);for(let e of m){let t=`${a.name}.${e.name}`;c.parameters[t]={description:``},g.set(t,e),_.set(t,i)}}}if(t.jsDoc&&t.jsDoc.length>0){let n=t.jsDoc,i=n.length;for(let t=0;t<i;t++){let i=n[t]?.tags;if(!i)continue;let a=i.length;for(let t=0;t<a;t++){let n=i[t],a=n?.tagName?.text;if(!a)continue;a=a.toLowerCase();let s=n.comment,l=Vn(a);if(!(typeof s!=`string`&&!l)&&(typeof s==`string`&&(s=s.replace(/\\r\\n?/g,`\n`).trim()),!(!l&&s&&(s=s.split(`\n`)[0].trim(),!s||s.length===0)))){if(s&&typeof s==`string`){let e=/\\{@link(code|plain)?\\s+([^}|]+)(?:\\s*\\|\\s*([^}]+))?\\}/g,t,n=s,r=[];for(;(t=e.exec(s))!==null;){let[e,n,r,i]=t,a=[r.trim()];i&&a.push(i.trim())}s=n,r.length>0&&a===`see`&&(c.links||=[],c.links.push(...r))}if(a===`name`){let e=s;e!==r&&(c.name=e)}else if(a!==`description`){if(a===`summary`){let e=s;e&&(c.summary=e)}else if(a===`param`){let t=n.name?.getText?.()??n.name?.text,i=g.get(t);if(!i){u(n,G.UnknownParam,`Parameter '${t}' not found in function '${r}'.`);continue}let a=c.parameters?.[t];if(a&&!a.description&&typeof s==`string`&&s&&(a.description=s),n.typeExpression&&n.typeExpression.type)try{let t=n.typeExpression.type;if(t.kind===e.SyntaxKind.UnionType){let n=[];i.enums=n,t.types.forEach(t=>{if(t.kind===e.SyntaxKind.LiteralType){let e=t.literal.text;e&&n.push(e)}})}}catch(e){console.warn(`Error parsing JSDoc type expression:`,e)}}else if(a===`returns`||a===`return`)o.returnType.description=s;else if(a===`category`)c.category=s;else if(a===`deprecated`||a===`hidden`){let e=!0,t=s?.toLowerCase();t===`false`?e=!1:t!==`true`&&(e=s),e!==!1&&(c.deprecated=e??!0)}}}}}}Object.keys(o.returnType).length===0&&delete o.returnType,c.summary||l(t.name??t,G.MissingSummary,`warning`,`'${r}': missing a description. Add a JSDoc summary or '@summary'.`);let E=!o.context;if(E&&i?.has(r.toUpperCase())){u(t.name??t,G.BuiltInName,`'${r}' is a built-in function. Choose a different name - a calculation function cannot replace a built-in.`);return}if(E){let e=c.parameters??{};for(let[t,n]of Object.entries(e))if(!y.has(t)&&!n.description){let e=_.get(t);l(e,G.MissingParamDescription,`warning`,`'${r}': parameter '${t}' is missing a description. Add an '@param ${t}' tag.`)}}a.push([o,c])}catch(e){u(t,G.ParseError,`'${r}': ${e.message}`)}}})}catch(e){u(void 0,G.ParseError,`Unable to analyze module: ${e?.message??e}`)}return{functions:a,autoRun:s,diagnostics:o}}const tr=`__SHEETXL`;var nr=n({initialize:()=>rr});async function rr(){return Y||(Y=new Promise(async(e,t)=>{try{let t=`0.20.2`,n=`https://esm.sh/esbuild-wasm@${t}`,r=`https://esm.sh/esbuild-wasm@${t}/esbuild.wasm`,i=(await import(n)).default;await i.initialize({wasmURL:r,worker:!1}),e(i)}catch(e){console.error(`Error initializing esbuild:`,e),t(e)}}),Y)}var Y,ir=t((()=>{Y=null}));let X=null,Z=null;async function ar(){if(X)return X;if(Z){if(await Z,!X)throw Error(`ESBuild initialization promise resolved, but instance is not available.`);return X}let e,t;Z=new Promise((n,r)=>{e=n,t=r});try{let{initialize:t}=await Promise.resolve().then(()=>(ir(),nr));return X=await t(),e(),X}catch(e){throw console.error(`Failed to import or initialize esbuild:`,e),Z=null,t(e),e}}const or={compilerOptions:{target:`esnext`}};async function sr(e,t,n=`/script.js`,r=tr){try{let e=await ar(),i=`@sheetxl/primitives`,a=`\n export const FormulaContext = globalThis.${r}?.FormulaContext;\n export const ScalarType = globalThis.${r}?.ScalarType;\n export const Observable = globalThis.${r}?.Observable;\n export const IRange = globalThis.${r}?.IRange;\n export const FormulaError = globalThis.${r}?.FormulaError;\n // Add more exports as needed\n `,o=await e.build({entryPoints:[n],bundle:!0,write:!1,format:`esm`,plugins:[{name:`sheetxl-esbuild-in-memory`,setup(e){let r=`sheetxl-`+new Date().getTime();e.onResolve({filter:RegExp(`^(${n.replace(`/`,`\\\\/`)}|${i})$`)},e=>({path:e.path,namespace:r})),e.onResolve({filter:/.*/},e=>{if(e.namespace!==r)return console.warn(`esbuild: Treating import \"${e.path}\" as external.`),{path:e.path,external:!0}}),e.onLoad({filter:/.*/,namespace:r},e=>{let o;if(e.path===n)o=t;else if(e.path===i)o=a;else return{errors:[{text:`Cannot load unknown path in ${r}: ${e.path}`}]};return{contents:o,loader:`ts`}})}}],sourcemap:`inline`,tsconfigRaw:or,minify:!0,platform:`neutral`});if(o.outputFiles&&o.outputFiles.length>0)return o.outputFiles[0].text;throw o.errors&&o.errors.length>0?Error(`esbuild bundling failed: ${o.errors.map(e=>e.text).join(`\n`)}`):Error(`esbuild did not produce an output file.`)}catch(e){throw console.error(`esbuild bundling process failed:`,e),e}}var cr=n({initialize:()=>lr});async function lr(){return Q||(Q=new Promise(async(e,t)=>{let n=null;try{n=await import(`https://esm.sh/typescript@5.7.2`)}catch(e){console.error(`Error initializing Browser TypeScript module:`,e)}n||console.log(`use script fallback`),e(n)}),Q)}var Q,ur=t((()=>{Q=null}));const dr=async()=>`\n interface FirstTest {\n isTrue?: boolean;\n }\n`;let $=null;async function fr(){if($)return $;try{return await(await Promise.resolve().then(()=>(ur(),cr))).initialize()}catch(e){throw $=null,e}finally{$=null}}async function pr(e){let t=e?.source??null;if(!t)return{module:null,diagnostics:[]};let n=(e.disableBundle||e.declarationsOnly)??!1,[r,i]=await Promise.all([dr(),fr()]),a=``,o={allowJs:!0,declaration:!1,sourceMap:!1,inlineSourceMap:!1,inlineSources:!1,isolatedModules:!0,preserveConstEnums:!1,module:99,noResolve:!0,emitDeclarationOnly:!1,target:i.ScriptTarget.ES2020},s=`script`,c=`${s}.ts`,l=`lib.d.ts`,u=`global.d.ts`,d={[c]:t,[l]:`\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface Promise<T> {\n /**\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The\n * resolved value cannot be modified from the callback.\n * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).\n * @returns A Promise for the completion of the callback.\n */\n finally(onfinally?: (() => void) | undefined | null): Promise<T>;\n}\n`,[u]:r},f=i.createProgram([c,u],o,{getSourceFile:(e,t,n,r)=>i.createSourceFile(e,d[e],i.ScriptTarget.Latest,!0),fileExists:e=>d[e]!==void 0,readFile:e=>d[e],writeFile:(e,t)=>{d[e]=t},getCurrentDirectory:()=>`./`,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getDefaultLibFileName:e=>l,getNewLine:()=>`\n`}),p=f.getTypeChecker(),m=f.getSourceFile(c);f.emit(),a=d[`${s}.js`]??``;let h=f.getSyntacticDiagnostics(m).map(e=>({start:e.start??0,length:e.length??0,severity:`error`,code:`TS${e.code}`,message:i.flattenDiagnosticMessageText(e.messageText,`\n`)})),_=er(i,m,p,{builtInNames:e.builtInNames}),v=[...h,..._.diagnostics],y=_.functions,b=_.autoRun,x=v.some(e=>e.severity===`error`),S=`${g.uuidV4()}-script`,C=null;if(x)a=``;else{try{n||(a=await sr(i,a,s))}catch{console.warn(`Error bundling script`)}let e=a.indexOf(`//# sourceMappingURL`);e>-1&&(C=a.substring(e+20+1,a.length),a=a.substring(0,e),a=a.replaceAll(`globalThis.__SHEETXL`,tr))}let w={functions:y,commitId:S,source:t,name:`Script`,language:`typescript`,compiled:a};return C&&(w.sourceMap=C),b&&(w.autoRun=b),{module:w,diagnostics:v}}self.addEventListener(`message`,async e=>{let{id:t,params:n}=e.data;try{let e=await pr(n);self.postMessage({id:t,result:e,error:null})}catch(e){self.postMessage({id:t,result:null,error:{message:e.message,stack:e.stack,cause:e.cause}})}});",r=typeof self<`u`&&self.Blob&&new Blob([`URL.revokeObjectURL(import.meta.url);`,n],{type:`text/javascript;charset=utf-8`});function i(e){let t;try{if(t=r&&(self.URL||self.webkitURL).createObjectURL(r),!t)throw``;let n=new Worker(t,{type:`module`,name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(n),{type:`module`,name:e?.name})}}var a=async()=>{let{compileModule:e}=await Promise.resolve().then(()=>require("./CxWeFfNAUvhHe9F-.cjs")),n=new t(t=>e(t));return await n.start(),n};exports.createCompilerWorker=async function(){if(globalThis.process?.versions?.node&&typeof Worker>`u`)return await a();if(typeof Worker<`u`){let t=new e(()=>new i);try{return await t.start(),t}catch(e){console.error(`Failed to start TypescriptCompiler worker reverting to fallback:`,e)}}return await a()};
|
|
1
|
+
var e=class{constructor(e){this._worker=null,this._nextId=1,this._pendingRequests=new Map,this._workerFactory=e}start(){if(typeof Worker>`u`)throw Error(`Web Workers are not supported in this environment.`);return this._worker||(this._worker=this._workerFactory(),this._worker.onmessage=e=>{let{id:t,result:n,error:r}=e.data,i=this._pendingRequests.get(t);if(i)if(this._pendingRequests.delete(t),r){let e=Error(r.message);e.stack=r.stack,r.cause&&(e.cause=r.cause),i.reject(e)}else i.resolve(n)},this._worker.onerror=e=>{console.error(`Worker error:`,e),this._pendingRequests.forEach(t=>{t.reject(Error(`Worker failed: ${e.message}`))}),this._pendingRequests.clear(),this._worker=null}),Promise.resolve()}execute(e){if(!this._worker)throw Error(`Worker is not initialized. Call start() first.`);let t=this._nextId++;return new Promise((n,r)=>{this._pendingRequests.set(t,{resolve:n,reject:r}),this._worker.postMessage({id:t,params:e})})}terminate(){this._worker&&=(this._worker.terminate(),null)}},t=class{constructor(e){this._onExecute=e}execute(e){return this._onExecute(e)}start(){return Promise.resolve()}terminate(){}},n="var e=Object.defineProperty,t=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},r=Object.defineProperty,i=(e,t)=>{\n/**\n* @license @sheetxl/utils - Utils - Utilities used by most SheetXL components. - v0.7.28-beta.3\n*\n* (C) 2026-present SheetXL Inc. & Michael T. Ford\n* License: The license can be found at https://www.sheetxl.com/license.\n*/\nlet n={};for(var i in e)r(n,i,{get:e[i],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:`Module`}),n},a={Column:`column`,Row:`row`};({...a});function o(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;let n,r,i;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!o(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!o(r[1],t.get(r[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if((n!==`_owner`||!e.$$typeof)&&!o(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function s(e){let t=Object.prototype.toString.call(e);return t===`[object RegExp]`||t===`[object Date]`||function(e){return e.$$typeof===c}(e)}var c=typeof Symbol==`function`&&Symbol.for?Symbol.for(`react.element`):60103;function l(e){return function(e){return!!e&&typeof e==`object`}(e)&&!s(e)}function u(e,t){return!1!==t.clone&&t.isMergeableObject(e)?h((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function d(e,t,n){return e.concat(t).map(function(e){return u(e,n)})}function f(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}(e))}function p(e,t){try{return t in e}catch{return!1}}function m(e,t,n){let r={};return n.isMergeableObject(e)&&f(e).forEach(function(t){r[t]=u(e[t],n)}),f(t).forEach(function(i){(function(e,t){return p(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,i)||(p(e,i)&&n.isMergeableObject(t[i])?r[i]=function(e,t){if(!t.customMerge)return h;let n=t.customMerge(e);return typeof n==`function`?n:h}(i,n)(e[i],t[i],n):r[i]=u(t[i],n))}),r}function h(e,t,n){(n||={}).arrayMerge=n.arrayMerge||d,n.isMergeableObject=n.isMergeableObject||l,n.cloneUnlessOtherwiseSpecified=u;let r=Array.isArray(t);return r===Array.isArray(e)?r?n.arrayMerge(e,t,n):m(e,t,n):u(t,n)}h.all=function(e,t){if(!Array.isArray(e))throw Error(`first argument should be an array`);return e.reduce(function(e,n){return h(e,n,t)},{})};var g=i({DonePromise:()=>y,EmptyArray:()=>_,EmptyObject:()=>v,OSType:()=>k,arrayMove:()=>ge,asNumber:()=>T,camelToPrettyCase:()=>S,castToString:()=>_e,cloneObject:()=>ne,consoleWithNoSource:()=>De,deepEqual:()=>o,deepFreeze:()=>Oe,deepMerge:()=>h,diffValues:()=>pe,findEqualOrGreater:()=>me,findEqualOrLesser:()=>he,getFromPath:()=>Te,getPlatform:()=>A,isDefined:()=>ye,isEmpty:()=>be,isEqualArrays:()=>ie,isEqualBounds:()=>ae,isNullOrUndefined:()=>ve,isNumeric:()=>E,isObject:()=>O,isPromiseLike:()=>xe,isRectInsideRect:()=>Ce,isRectIntersect:()=>Se,mergeContentful:()=>fe,removeEmptyProperties:()=>oe,removeEqualValues:()=>ue,removeEqualValuesLayered:()=>de,removeListenerAll:()=>se,roundAccurately:()=>te,setToPath:()=>Ee,splitNumber:()=>ee,subtractRect:()=>we,textToKey:()=>C,toSafeJSON:()=>j,transpose:()=>ce,uuidV4:()=>w,validEnumValue:()=>x}),_=Object.freeze([]),v=Object.freeze({}),y=Promise.resolve(),b=e=>e;function x(e,t){if(!Object.values(e).includes(t))throw Error(`Invalid type: ${t??`null`}. Must be one of: ${Object.values(e).join(`, `)}.`)}function S(e){return e?e.length===1?e.toUpperCase():e.replace(/([A-Z])/g,` $1`).replace(/^./,function(e){return e.toUpperCase()}).trim():``}function C(e){return e.replace(/[^a-zA-Z0-9]/g,``).toLowerCase()}function w(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,function(e){let t=16*Math.random()|0;return(e===`x`?t:3&t|8).toString(16)})}function T(e){let t=function(e){return 1*e}(e);return Number.isFinite(t)?t:0}function E(e){let t=1*e;return Number.isFinite(t)&&typeof t==`number`}var D=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,0xe8d4a51000,0x9184e72a000,0x5af3107a4000,0x38d7ea4c68000,0x2386f26fc10000];function ee(e){let t=Math.abs(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t),r=t-n,i;n>2**53-1?i=Number(n.toExponential().split(`e`)[1])+1:(i=Math.ceil(Math.log10(n+1)),D[i]<=n&&i++);let a=0,o=0,s=15-i;if(r>0&&s>0){let e=D[s];if(a=Math.round(r*e),a===e)n++,a=0,n>=D[i]&&i++;else if(a>0)for(o=s;a%10==0;)a/=10,o--}return{ip:e<0?-n:n,fp:a,ipLength:i,fpLength:o}}function te(e,t=0){if(e==null||!isFinite(e))return null;let n=10**t;return Number(Math.round(e*n)/n)}function ne(e){return ve(e)?e:JSON.parse(JSON.stringify(e))}var re=(e,t)=>e===t;function ie(e,t,n){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;n||=re;let r=e.length;for(let i=0;i<r;i++)if(!n(e[i],t[i]))return!1;return!0}function ae(e,t){return e===t||!(!e||!t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function O(e){return typeof e==`object`&&!Array.isArray(e)&&e!==null}function oe(e){if(typeof e!=`object`||Array.isArray(e)||e===null)return e;let t=e;return Object.keys(t).forEach(function(e){t[e]&&typeof t[e]==`object`?oe(t[e]):t[e]!==null&&t[e]!==void 0||delete t[e],typeof t[e]==`object`&&Object.keys(t[e]).length===0&&delete t[e]}),Object.keys(e).length===0?null:e}function se(e,t){if(!e)return _;let n=e.length;for(let r=0;r<n;r++){let n=e[r];n&&n(t)}return _}function ce(e){if(!e)return e;let t=e.length,n=e[0].length,r=[];for(let e=0;e<n;e++)r[e]=Array(t);for(let i=0;i<t;i++){let t=e[i];for(let e=0;e<n;e++)r[e][i]=t[e]}return r}var le=(e,t)=>!(e!==t&&!ie(e,t))||!!e.isEqual?.(t);function ue(e,t,n=le){if(e==null||e===t)return null;if(!e||typeof e!=`object`||Array.isArray(e)||e.isImmutable?.())return n(e,t)?null:e;let r=Object.keys(e),i=r.length;if(i===0)return null;let a=!1;for(let o=0;o<i;o++){let i=r[o];ue(e[i],t?.[i],n)===null&&(a=!0,delete e[i])}return a&&Object.keys(e).length===0?null:void 0}function de(e,t,n=le){if(e==null)return!0;if(!e||typeof e!=`object`||Array.isArray(e)||e.isImmutable?.()){let r,i=!1;for(let e=0;!i&&e<t.length;e++)t[e]!==void 0&&(i=!0,r=t[e]);return i&&(e===r||n(e,r))}let r=Object.keys(e),i=r.length;if(i===0)return!0;let a=t.length,o=!1;for(let s=0;s<i;s++){let i=r[s],c=[];for(let e=0;e<a;e++){let n=t[e]?.[i];n!==void 0&&c.push(n)}de(e[i],c,n)&&(o=!0,delete e[i])}return o&&Object.keys(e).length===0}function fe(...e){let t=e.length;if(t>0&&e[t-1]!==void 0&&!O(e[t-1]))return e[t-1];let n=e[0]||{};for(let r=1;r<t;r++)n=h(n,e[r]||{},{arrayMerge:(e,t)=>[...t]});return n}function pe(e,t){let n={},r=Object.keys(t),i=r.length;for(let a=0;a<i;a++){let i=r[a],o=e[i],s=t[i];o!==s&&(n[i]=o===void 0?s:o)}return Object.keys(n).length===0?null:n}function me(e,t,n=b){let r=0,i=e.length-1;for(;r<=i;){let a=Math.floor((r+i)/2),o=n(e[a]);if(o===t)return a;o<t?r=a+1:i=a-1}return r}function he(e,t,n=b){let r=e.length-1,i=0;for(;r>=i;){let a=Math.floor((r+i)/2),o=n(e[a]);if(o===t)return a;o>t?r=a-1:i=a+1}return r}function ge(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function _e(e){return e==null||e===void 0?``:typeof e==`string`?e:``+e}function ve(e){return e==null}function ye(e){return e!=null}function be(e){return e==null||e===``}function xe(e){return!!e&&typeof e.then==`function`}function Se(e,t){return!(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top)}function Ce(e,t){return e.top>=t.top&&e.bottom<=t.bottom&&e.left>=t.left&&e.right<=t.right}function we(e,t,n=!1){if(!t)return[e];if(!Se(e,t))return[];let r=[],i=e,a=()=>{t.top>i.top&&t.top<i.bottom&&(r.push({...i,bottom:t.top}),i={...i,top:t.top})},o=()=>{t.bottom>i.top&&t.bottom<i.bottom&&(r.push({...i,top:t.bottom}),i={...i,bottom:t.bottom})},s=()=>{t.right>i.left&&t.right<i.right&&(r.push({...i,left:t.right}),i={...i,right:t.right})},c=()=>{t.left>i.left&&t.left<i.right&&(r.push({...i,right:t.left}),i={...i,left:t.left})};return n?(c(),s(),a(),o()):(a(),o(),s(),c()),r}function Te(e,t){let n=t.split(`.`),r=e,i=n.length;for(let e=0;e<i;e++){let t=n[e];if(!r)return null;let i=r[t];if(typeof i==`function`&&(i=i.bind(r)()),!i||!O(i))return i;r=i}return r??null}function Ee(e,t,n){let r=t.split(`.`),i=e;if(!i)throw Error(`Can not set path to a null path.`);let a=r.length;for(let e=0;i&&e<a-1;e++){let t=r[e],n=i[t];if(n??(n={},i[t]=n),!O(n))throw Error(`Can not set path to a non object path.`);i=n}if(typeof n!=`number`&&typeof n!=`boolean`&&typeof n!=`string`&&!O(n))throw Error(`Can not set path to ${n} that is not a a supported primitive.`);return i[r[a-1]]=n,e}function De(...e){return new Promise(t=>{setTimeout(()=>{Function(`console.log.apply(console, arguments)`).apply(null,e),t()})})}var k={Windows:`windows`,MacOS:`macos`,IOS:`ios`,Linux:`linux`,Android:`android`,Safari:`safari`,Firefox:`firefox`,Unknown:`unknown`};function A(){let e=globalThis.navigator!==void 0&&globalThis.navigator.userAgent?globalThis.navigator.userAgent.toLowerCase():``;return e?/(win32|win64|windows|wince)/i.test(e)?k.Windows:/(macintosh|macintel|macppc|mac68k|macos)/i.test(e)?k.MacOS:/(iphone|ipad|ipod)/i.test(e)?k.IOS:/android/.test(e)?k.Android:/linux/.test(e)?k.Linux:/^((?!chrome|android|).)*safari/i.test(e)?k.Safari:/^((?!chrome|android|Seamonkey).)*firefox/i.test(e)?k.Firefox:k.Unknown:k.Unknown}function Oe(e){Object.freeze(e);let t=e;return Object.keys(t).forEach(e=>{typeof t[e]!=`object`||t[e]===null||Object.isFrozen(t[e])||Oe(t[e])}),e}function j(e){if(typeof e!=`object`||!e)return e;if(typeof e.toJSON==`function`)return e.toJSON();if(Array.isArray(e))return e.map(e=>j(e));if(typeof e.toString==`function`&&e.toString!==Object.prototype.toString)return e.toString();let t={};for(let n in e)e.hasOwnProperty(n)&&(t[n]=j(e[n]));return t}i({EmptyCell:()=>ke,EmptyRange:()=>Ae,EmptyRanges:()=>je,EmptySelection:()=>Me,cellToRange:()=>Xe,columnFirstCellComparator:()=>Le,columnFirstRangeComparator:()=>Ne,createCellComparator:()=>He,createConflatingRanges:()=>dt,createRangeComparator:()=>Ve,defaultRange:()=>st,extendRangeToIntersectingRanges:()=>rt,extendRangeToUnionRanges:()=>nt,intersectRanges:()=>Ze,isCellWithinRange:()=>Ge,isEqualCells:()=>Ue,isEqualRanges:()=>We,isEqualRangesArrays:()=>Je,isEqualSelectionCoords:()=>$e,isRangeWithinRange:()=>Ke,isRangesIntersect:()=>qe,isSingleCell:()=>Ye,isValidRange:()=>tt,mergeRangeCoordValues:()=>ut,reverseColumnFirstCellComparator:()=>Be,reverseColumnFirstRangeComparator:()=>Ie,reverseRowFirstCellComparator:()=>ze,reverseRowFirstRangeComparator:()=>Fe,rowFirstCellComparator:()=>Re,rowFirstRangeComparator:()=>Pe,sanitizeRange:()=>at,sanitizeRangeArray:()=>ot,translateRange:()=>it,unionRanges:()=>Qe,unionRangesArrays:()=>et});var ke=Object.freeze({colIndex:0,rowIndex:0}),Ae=Object.freeze({colStart:0,rowStart:0,colEnd:0,rowEnd:0}),je=_,Me=Object.freeze({cell:ke,ranges:_,rangeIndex:-1});function Ne(e,t){return e.colStart===t.colStart?e.rowStart-t.rowStart:e.colStart-t.colStart}function Pe(e,t){return e.rowStart===t.rowStart?e.colStart-t.colStart:e.rowStart-t.rowStart}function Fe(e,t){return e.rowEnd===t.rowEnd?t.colEnd-e.colEnd:t.rowEnd-e.rowEnd}function Ie(e,t){return e.colEnd===t.colEnd?t.rowEnd-e.rowEnd:t.colEnd-e.colEnd}function Le(e,t){return e.colIndex===t.colIndex?e.rowIndex-t.rowIndex:e.colIndex-t.colIndex}function Re(e,t){return e.rowIndex===t.rowIndex?e.colIndex-t.colIndex:e.rowIndex-t.rowIndex}function ze(e,t){return e.rowIndex===t.rowIndex?t.colIndex-e.colIndex:t.rowIndex-e.rowIndex}function Be(e,t){return e.colIndex===t.colIndex?t.rowIndex-e.rowIndex:t.colIndex-e.colIndex}function Ve(e=a.Row,t=!1){return t?e===a.Column?Ie:Fe:e===a.Column?Ne:Pe}function He(e=a.Row,t=!1){return t?e===a.Column?Be:ze:e===a.Column?Le:Re}function Ue(e,t){return e===t||!(!e||!t)&&e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex&&e.scope===t.scope}function We(e,t){return e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd&&e.scope===t.scope}function Ge(e,t){if(!e||!t)return!1;let n=e.rowIndex;if(n<t.rowStart||n>t.rowEnd)return!1;let r=e.colIndex;return!(r<t.colStart||r>t.colEnd)}function Ke(e,t){return!(!e||!t)&&!(e.rowStart<t.rowStart||e.rowEnd>t.rowEnd)&&!(e.colStart<t.colStart||e.colEnd>t.colEnd)}function qe(e,t){return!(!e||!t)&&!(e.colStart>t.colEnd||t.colStart>e.colEnd)&&!(e.rowStart>t.rowEnd||t.rowStart>e.rowEnd)}function Je(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!We(e[n],t[n]))return!1;return!0}function Ye(e){return!!e&&e.rowEnd===e.rowStart&&e.colStart===e.colEnd}function Xe(e,t){if(!e)return null;let n=t;return n||(n={...e},delete n.colIndex,delete n.rowIndex),n.colStart=e.colIndex??0,n.rowStart=e.rowIndex??0,n.colEnd=e.colIndex??0,n.rowEnd=e.rowIndex??0,n}function Ze(e,t,n){if(!e)return n?t:{...t};if(!t)return n?e:{...e};if(!e&&!t||e.rowStart>t.rowEnd||e.rowEnd<t.rowStart||e.colStart>t.colEnd||e.colEnd<t.colStart)return null;let r=Math.max(e.colStart,t.colStart),i=Math.max(e.rowStart,t.rowStart),a=Math.min(e.colEnd,t.colEnd),o=Math.min(e.rowEnd,t.rowEnd),s=n;return s?(s.colStart=r,s.rowStart=i,s.colEnd=a,s.rowEnd=o):s={colStart:r,rowStart:i,colEnd:a,rowEnd:o},s}function Qe(e,t,n){if(!e&&!t)return null;if(!e)return n?t:{...t};if(!t)return n?e:{...e};let r=Math.min(e.colStart,t.colStart),i=Math.min(e.rowStart,t.rowStart),a=Math.max(e.colEnd,t.colEnd),o=Math.max(e.rowEnd,t.rowEnd),s=n;return s?(s.colStart=r,s.rowStart=i,s.colEnd=a,s.rowEnd=o):s={colStart:r,rowStart:i,colEnd:a,rowEnd:o},s}function $e(e,t){return e===t||!(!e||!t)&&e.rangeIndex===t.rangeIndex&&!!Ue(e.cell,t.cell)&&Je(e.ranges,t.ranges)}function et(e,t,n){if(!e||e.length===0)return null;if(e.length===1&&!t)return e[0];let r=e[0];for(let t=1;t<e.length;t++)r=Qe(r,e[t],n);return t&&(r=Qe(r,t,n)),r}function tt(e){return!!e&&!(typeof e.colStart!=`number`||e.colStart<0)&&!(typeof e.colEnd!=`number`||e.colEnd<e.colStart)&&!(typeof e.rowStart!=`number`||e.rowStart<0)&&!(typeof e.rowEnd!=`number`||e.rowEnd<e.rowStart)}function nt(e,t){if(!t||t.length===0)return e;let n=e,r=null;for(;!We(n,r);)r=n,n=rt(r,t);return n}function rt(e,t){if(!t||t.length===0)return e;let n={...e};for(let e=0;e<t.length;e++){let r=t[e];qe(n,r)&&(n.rowStart=Math.min(n.rowStart,r.rowStart),n.colStart=Math.min(n.colStart,r.colStart),n.rowEnd=Math.max(n.rowEnd,r.rowEnd),n.colEnd=Math.max(n.colEnd,r.colEnd))}return n}function it(e,t=-e.rowStart,n=-e.colStart,r){return r?(r.colStart=e.colStart+n,r.rowStart=e.rowStart+t,r.colEnd=e.colEnd+n,r.rowEnd=e.rowEnd+t,r):{colStart:e.colStart+n,rowStart:e.rowStart+t,colEnd:e.colEnd+n,rowEnd:e.rowEnd+t}}function at(e,t){return e?e.scope?{colStart:e.colIndex??e.colStart??t?.colStart??0,rowStart:e.rowIndex??e.rowStart??t?.rowStart??0,colEnd:e.colIndex??e.colEnd??t?.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??t?.rowEnd??0,scope:e.scope}:{colStart:e.colIndex??e.colStart??t?.colStart??0,rowStart:e.rowIndex??e.rowStart??t?.rowStart??0,colEnd:e.colIndex??e.colEnd??t?.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??t?.rowEnd??0}:null}function ot(e,t){if(!e)return null;let n=e.length,r=Array(n);for(let i=0;i<n;i++)r[i]=at(e[i],t);return r}function st(e,t,n){return e?n?(n.colStart=e.colStart??t.colStart,n.rowStart=e.rowStart??t.rowStart,n.colEnd=e.colEnd??t.colEnd,n.rowEnd=e.rowEnd??t.rowEnd,n):{colStart:e.colStart??t.colStart,rowStart:e.rowStart??t.rowStart,colEnd:e.colEnd??t.colEnd,rowEnd:e.rowEnd??t.rowEnd}:t}var ct=[null,null],lt=(e,t,n)=>{if(e[0].value===e[1].value)return t};function ut(e,t=2,n,r=a.Row,i){let o=[...e];if(t<=0||e.length<=1)return o;let s=r===a.Column,c=0,l=!1;do{let e=o.sort(Ve(s?a.Row:a.Column));o=[],o.push(e[0]);let t=e.length,u=0,d=e[0],f=d.colStart,p=d.rowStart,m=d.colEnd,h=d.rowEnd;for(let a=1;a<t;a++){let t=e[a],c=!1;if(c=s?d&&p===t.rowStart&&h===t.rowEnd&&m+1===t.colStart:d&&f===t.colStart&&m===t.colEnd&&h+1===t.rowStart,c){let e={colStart:f,rowStart:p,colEnd:s?t.colEnd:m,rowEnd:s?h:t.rowEnd};if(d.value!==void 0&&(e.value=d.value),n){let a=i??[null,null];a[0]=d,a[1]=t,e=n(a,e,r)}if(e){o[u]=e,l=!0,d=e,f=d.colStart,p=d.rowStart,m=d.colEnd,h=d.rowEnd;continue}}o[++u]=t,d=t,f=d.colStart,p=d.rowStart,m=d.colEnd,h=d.rowEnd}c++,s=!s,c===1&&(l=!0)}while(c<t&&l&&o.length>1);return o}function dt(e,t=!1){let n=[],r,i=null,o=-(2**53-1),s=-(2**53-1);return{append:(a,c,l)=>{let u=!0,d=l!==void 0;if(d){let n=e?e(r,l,t):r===l?l:void 0;n===void 0?u=!1:l=n}if(u&&c===s+1&&a===o)return t?i.rowEnd=c:i.colEnd=c,s=c,void(r=l);i&&n.push(i);let f=t?a:c,p=t?c:a;i={colStart:f,rowStart:p,colEnd:f,rowEnd:p},d&&(i.value=l),o=a,s=c,r=l},done:e=>(i&&=(n.push(i),null),e?ut(n,3,!0===e?lt:e,t?a.Column:a.Row,ct):n)}}var M={Up:`up`,Down:`down`,Left:`left`,Right:`right`},N={Html:`text/html`,Plain:`text/plain`,Png:`image/png`};i({findNextCellWithinSelection:()=>ft,traverseHiddenHeaders:()=>P});function P(e,t,n,r){if(!e)return t;let i=t,a=n===M.Right||n===M.Down;for(;;){let t=e(i,!a);if(t===0)return i;let n=a?i+t:i-t;if(r!==void 0&&(a?n>r:n<r))return r;i=n}}function ft(e,t=M.Right,n,r,i,a=null){if(a&&$e(a,e))return e;let o=e.ranges,s=e.rangeIndex,c=o[s];if(!qe({rowStart:e.cell.rowIndex,colStart:e.cell.colIndex,rowEnd:e.cell.rowIndex,colEnd:e.cell.colIndex},c))return e;let l={...e.cell},u=s;switch(t){case M.Right:l.colIndex=P(i,l.colIndex+1,t,c.colEnd+1);break;case M.Left:l.colIndex=P(i,l.colIndex-1,t,c.colStart-1);break;case M.Down:l.rowIndex=P(r,l.rowIndex+1,t,c.rowEnd+1);break;case M.Up:l.rowIndex=P(r,l.rowIndex-1,t,c.rowStart-1)}let d=e=>{if(e){u=s>=o.length-1?0:s+1;let e=o[u];l={colIndex:e.colStart,rowIndex:e.rowStart}}else{u=s<=0?o.length-1:s-1;let e=o[u];l={colIndex:e.colEnd,rowIndex:e.rowEnd}}};if(t===M.Right&&l.colIndex>c.colEnd&&l.rowIndex===c.rowEnd)d(!0);else if(t===M.Left&&l.colIndex<c.colStart&&l.rowIndex===c.rowStart)d(!1);else if(t===M.Down&&l.colIndex===c.colEnd&&l.rowIndex>c.rowEnd)d(!0);else if(t===M.Up&&l.colIndex===c.colStart&&l.rowIndex<c.rowStart)d(!1);else{let e=l.rowIndex,n=l.colIndex;switch(t){case M.Right:n>c.colEnd&&(e=P(r,e+1,t,c.rowEnd+1),n=c.colStart,e>c.rowEnd&&(e=c.rowStart));break;case M.Left:n<c.colStart&&(e=P(r,e-1,t,c.rowStart-1),n=c.colEnd,e<c.rowStart&&(e=c.rowEnd));break;case M.Down:e>c.rowEnd&&(n=P(i,n+1,t,c.colEnd+1),e=c.rowStart,n>c.colEnd&&(n=c.colStart));break;case M.Up:e<c.rowStart&&(n=P(i,n-1,t,c.colStart-1),e=c.rowEnd,n<c.colStart&&(n=c.colEnd))}l={rowIndex:e,colIndex:n}}let f=n(l);if(!Ke(f,c)){let e=Ze(f,c);e&&(f=e)}let p={rowStart:P(r,f.rowStart,M.Down,f.rowEnd),colStart:P(i,f.colStart,M.Right,f.colEnd),rowEnd:P(r,f.rowEnd,M.Up,f.rowStart),colEnd:P(i,f.colEnd,M.Left,f.colStart)};if(p.rowStart!==l.rowIndex||p.colStart!==l.colIndex){switch(t){case M.Right:o[u].colStart===p.colStart&&o[u].colEnd===p.colEnd&&(l.rowIndex=p.rowEnd),l.colIndex=p.colEnd;break;case M.Left:o[u].colStart===p.colStart&&o[u].colEnd===p.colEnd&&(l.rowIndex=p.rowStart),l.rowIndex===p.rowStart?l.colIndex=p.colStart+1:l.colIndex=p.colStart;break;case M.Down:o[u].rowStart===p.rowStart&&o[u].rowEnd===p.rowEnd&&(l.colIndex=p.colEnd),l.rowIndex=p.rowEnd;break;case M.Up:o[u].rowStart===p.rowStart&&o[u].rowEnd===p.rowEnd&&(l.colIndex=p.colStart),l.colIndex===p.colStart?l.rowIndex=p.rowStart+1:l.rowIndex=p.rowStart}return ft({cell:l,ranges:e.ranges,rangeIndex:u},t,n,r,i,a??e)}return{ranges:e.ranges,cell:l,rangeIndex:u}}new class{constructor(){this._onceMessageKeys=new Set,this._overrides=null}setOverrides(e){this._overrides=e??null}getOverrides(){return this._overrides}_write(e,t,n){if(n?.onceKey){let e=this._onceMessageKeys;if(e.has(n.onceKey))return;e.add(n.onceKey)}let r=n?.meta,i=this._overrides;if(i){let r=i[e];if(r)return void r.bind(i)(t,n)}r===void 0?console[e](t):console[e](t,r)}log(e,t){return this._write(`log`,e,t)}error(e,t){return this._write(`error`,e,t)}warn(e,t){return this._write(`warn`,e,t)}debug(e,t){return this._write(`debug`,e,t)}},i({EmptyBounds:()=>ht,EmptyRect:()=>mt,EmptyTopLeft:()=>pt});var pt=Object.freeze({left:0,top:0}),mt=Object.freeze({left:0,top:0,bottom:0,right:0}),ht=Object.freeze({x:0,y:0,width:0,height:0});i({canUseDOM:()=>gt,getDPI:()=>vt,hasFocus:()=>yt,openFileDialog:()=>_t,whenFocus:()=>bt});var gt=!(typeof window>`u`||!window.document||!window.document.createElement),_t=(e=`*.*`)=>new Promise((t,n)=>{if(!gt)return void n(`Unable to open dialog with no dom.`);let r=document.createElement(`input`);r.type=`file`,r.accept=e;let i=null,a=!1;globalThis.addEventListener?.(`focus`,()=>{setTimeout(()=>{i||a||(a=!0,t(null))},1e3)},{once:!0,passive:!0}),r.onchange=()=>{if(i=r.files?.[0]??null,i){if(a)return void console.warn(`File open detected after faux cancel.`,i);t(i)}},r.autofocus=!0,r.click()}),vt=()=>{let e=1;return typeof window==`object`&&(e=window.devicePixelRatio||1),e},yt=(e,t=!1)=>(document.hasFocus()||t)&&(e===document.activeElement||e?.contains(document.activeElement)),bt=async(e,t=!1)=>new Promise(n=>{yt(e,t)?n(!0):e.addEventListener(`focusin`,()=>{n(!0)},{once:!0}),e.focus()});i({cancelTimeout:()=>Dt,debounce:()=>Ct,nextTick:()=>Tt,rafThrottle:()=>wt,requestTimeout:()=>Ot,throttle:()=>St});var F=globalThis.requestAnimationFrame,xt=globalThis.cancelAnimationFrame;function St(e,t){let n=null;return(...r)=>{let i=Date.now();(!n||i-n>=t)&&(n=i,e(...r))}}function Ct(e,t=300,n=!1){let r,i,a,o=null,s=0;function c(){let l=Date.now()-s;l<t&&l>=0?o=setTimeout(c,t-l):(o=null,n||(a=e.apply(i,r),i=r=null))}t??=100;let l=function(){i=globalThis,r=arguments,s=Date.now();var l=n&&!o;return o||=setTimeout(c,t),l&&(a=e.apply(i,r),i=r=null),a};return l.clear=function(){o&&=(clearTimeout(o),null)},l.flush=function(){o&&=(a=e.apply(i,r),i=r=null,clearTimeout(o),null)},l}var wt=e=>{let t,n=!1,r=function(){n=!1,e(t)};return function(e){t=e,t&&t.persist&&t.persist(),n||(n=!0,F(r))}},Tt=e=>{if(typeof F==`function`)F(()=>{e()});else{let t=globalThis.setImmediate;(typeof t==`function`?t:setTimeout)(()=>{e()})}},Et=typeof performance==`object`&&typeof performance.now==`function`?()=>performance.now():()=>Date.now(),Dt=e=>{xt(e.id)},Ot=(e,t)=>{let n=Et(),r={id:F(function i(){Et()-n>=t?e.call(null):r.id=F(i)})};return r};i({MESSAGE_ERROR_INVALID_ARG:()=>kt});var kt=e=>`Invalid argument: '${e}'.`;i({APP_MIME_TYPE:()=>At,DEFAULT_MIME_TYPE:()=>`*/*`,JSONStableStringify:()=>It,arrayBufferToBase64:()=>Pt,base64ToArrayBuffer:()=>Nt,blobToString:()=>Ft,isNodeBuffer:()=>jt});var At=`application/octet-stream`,I=globalThis.Buffer,jt=e=>I?.isBuffer(e)??!1,Mt=globalThis.FileReader,Nt=e=>{let t=typeof globalThis.atob==`function`?globalThis.atob(e):I.from(e,`base64`).toString(`binary`),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer},Pt=e=>{let t=new Uint8Array(e),n=t.byteLength,r=``;for(let e=0;e<n;e++)r+=String.fromCharCode(t[e]);if(typeof globalThis.btoa==`function`)return globalThis.btoa(r);if(I)return I.from(r,`binary`).toString(`base64`);throw Error(`Unsupported environment`)},Ft=e=>new Promise((t,n)=>{if(e)if(Mt){let r=new Mt;r.onload=()=>{t(r.result)},r.onerror=()=>{n(r.error)},r.readAsText(e)}else if(I){let r=e=>I.from(e).toString(`utf-8`);e.arrayBuffer().then(e=>{t(r(e))}).catch(e=>{n(e)})}else n(Error(`Unsupported environment`));else t(``)});function It(e,t){t||={},typeof t==`function`&&(t={cmp:t});let n=typeof t.cycles==`boolean`&&t.cycles,r=t.cmp&&(i=t.cmp,function(e){return function(t,n){return i({key:t,value:e[t]},{key:n,value:e[n]})}});var i;let a=[];return function e(t){if(t&&t.toJSON&&typeof t.toJSON==`function`&&(t=t.toJSON()),t===void 0)return;if(typeof t==`number`)return isFinite(t)?``+t:`null`;if(typeof t!=`object`)return JSON.stringify(t);let i;if(Array.isArray(t)){i=`[`;for(let n=0;n<t.length;n++)n&&(i+=`,`),i+=e(t[n])||`null`;return i+`]`}if(t===null)return`null`;if(a.indexOf(t)!==-1){if(n)return JSON.stringify(`__cycle__`);throw TypeError(`Converting circular structure to JSON`)}let o=a.push(t)-1,s=Object.keys(t).sort(r&&r(t));i=``;for(let n=0;n<s.length;n++){let r=s[n],a=e(t[r]);a&&(i&&(i+=`,`),i+=JSON.stringify(r)+`:`+a)}return a.splice(o,1),`{`+i+`}`}(e)}var Lt;i({DATA_URL_PNG_PREFIX:()=>Rt,getImageDataUrl:()=>Vt,loadImageDetails:()=>Ut});var Rt=`data:image/png;base64,`,zt=`Unable to resolve image.`,Bt=e=>new Promise(async(t,n)=>{let r=null;try{let i=r=new Image;i.src=e,i.addEventListener(`load`,function(){t({width:i.naturalWidth,height:i.naturalHeight})},{once:!0}),i.addEventListener(`error`,function(t){URL.revokeObjectURL(e);let r=t?.error?.message??``;r&&=`: ${r}`,n(`Invalid Image${r}`)},{once:!0}),await i.decode()}catch{r?.src&&URL.revokeObjectURL(r.src)}r||n(Error(zt))}),Vt=(e,t=1)=>new Promise(async(n,r)=>{let i=null;try{let a=i=new Image;a.src=e,a.addEventListener(`load`,function(){try{let e=document.createElement(`canvas`);e.width=a.naturalWidth,e.height=a.naturalHeight;let r=e.getContext(`2d`);if(!r)throw Error(`Unable to create 2d context`);r.drawImage(a,0,0);let i=e.toDataURL(`image/png`,t);n({elemImg:a,dataUrl:i})}catch(t){URL.revokeObjectURL(e),r(t)}},{once:!0}),a.addEventListener(`error`,function(){URL.revokeObjectURL(e),r(`Invalid Image`)},{once:!0}),await a.decode()}catch{i?.src&&URL.revokeObjectURL(i.src)}i||r(Error(zt))}),Ht=`image/svg+xml`,Ut=async(e,t=null)=>{let n=null,r=async()=>{try{let r=t??`image/*`,i=URL.createObjectURL(new Blob([e],{type:r}));n={mimeType:r,naturalSize:await Bt(i),asUrl:i}}catch{}},i=async()=>{try{let r=new TextDecoder().decode(e),i=URL.createObjectURL(new Blob([r],{type:Ht})),a=await Bt(i);n={mimeType:t??Ht,naturalSize:a,asUrl:i,asSVGText:r}}catch{}};if(t===Ht?await i():t?.startsWith(`image/`)?await r():(await r(),n||await i()),!n)throw Error(`Failed to load image`);return n},Wt=new Set,Gt=e=>{Wt.has(e)||(Wt.add(e),console.warn(`Unknown property '${e}' in update; ignoring.`))};(function(e){e.PassThrough=Object.freeze({});let t=e.resolveTypedUpdates=(e,n,r,i,a=!1)=>{if(e===null)return e;if(e===void 0)return i;let o=e;if(n?.shorthand){let t=n?.shorthand(e,r);t!==void 0&&(o=t)}if(o!==null&&n?.getSubType){let e=n.getSubType(o,i);e&&(n=e)}let s=n?.properties,c=n?.arrayType??!1,l=o;if(n&&n.merge&&l&&i)l=n.merge(l,i,r);else if(!c&&s){let e=Object.keys({...o,...i});l=null;let n=e.length;for(let c=0;c<n;c++){let n=e[c],u,d=o?.[n];if(d!==void 0){let e=s[n];if(!e){Gt(n);continue}u=t(d,e,r,i?.[n],a)}else u=i?.[n];u==null?a&&d===null&&(l??={},l[n]=null):(l??={},l[n]=u)}}return l}})(Lt||={});var Kt={code:`safari`,message:`The Safari browser does not support advanced copy and paste.\nCopy and paste will be limited to within the browser tab.\n\nPlease use Chrome or Edge if external copy and paste is required.`},qt={code:`perms`,message:`You do not have permissions to access the clipboard.\nAll copy and paste operations will be limited to the browser tab.`},Jt=A()===k.Safari?Kt:qt,Yt={Safari:Kt,Perms:qt,PermsWrite:Jt,PermsRead:Jt},Xt=async()=>new Promise(e=>{document.hasFocus()?e():globalThis.addEventListener?.(`focus`,()=>{e()},{once:!0}),document.activeElement.focus?.()}),Zt=async(e,t,n)=>{if(A()===k.Safari)return await n(Error(Kt.message));try{let r=async e=>{try{return await e()}catch(e){if(e.message?.includes(`Document is not focused`))return!1;throw e}},i=await globalThis?.navigator?.permissions?.query({name:e,allowWithoutGesture:!0,allowWithoutSanitization:!0}),a=!1;if(i.state===`prompt`&&(a=await r(t)),a||i.state!==`granted`||(a=await t()),!a)return await n(Error(i.state))}catch(e){return e.message===`No valid data on clipboard`||e.name===`DataError`?void 0:await n(e)}},Qt=async e=>{if(!e)return null;try{return await e.read({unsanitized:[N.Html]})}catch{}return await e.read()},$t=async(e,t)=>{if(!e)return null;let n=await Qt(e),r=!1;for(let e=0;!r&&n&&e<n.length;e++)if(r=n[e].types.includes(t),r)return await n[e].getType(t);return null};if(!globalThis.ClipboardItem){let e=(e,t)=>new Blob([t],{type:e});class t{constructor(t,n){this._items={},this._types=Object.keys(t);let r={},i=Object.keys(t);for(let n=0;n<i.length;n++){let a=i[n],o=t[a];r[a]=typeof o==`string`?e(a,o):o}this._items=r,this._presentationStyle=n?.presentationStyle??`unspecified`}get types(){return this._types}getType(e){return Promise.resolve(this._items[e])}supports(e){return!0}}globalThis.ClipboardItem=t}var en,tn=async(e,t=N.Html)=>new Promise(async(n,r)=>{try{let r=await $t(e,t);if(r){let e=new FileReader;e.onload=()=>{n(e.result)},e.onerror=()=>{n(``)},e.readAsText(r)}else n(``)}catch(e){r(e)}}),nn=async(e,t=N.Html)=>{let n=await tn(e,t);if(!n)return null;let r=null;try{r=new DOMParser().parseFromString(n,N.Html)}catch{console.warn(`Can't parse html from clipboard.`)}return r},rn=async e=>{e&&await e.writeText(``)},L=`clipboard-uuid`,R=`web text/uuid`,an=e=>`<div style=\"display:none\" ${L}=\"${e}\"/>`,on={type:N.Plain},sn={type:N.Html},cn={type:R},ln=(e,t)=>{let n=null;try{let r=new DOMParser().parseFromString(t,N.Html);r.body.firstElementChild?.setAttribute(L,e),n=r.getElementsByTagName(`body`)[0].innerHTML}catch(e){console.warn(`Can't embed uuid.`,e)}return n},un=(e,t)=>{if(!t||!e)return!1;try{let n=t.querySelectorAll(`[${L}=\"${e}\"]`);if(n&&n.length===1)return!0;if(t.querySelector(`parsererror`))throw Error(`We are unable to parse node`);return!1}catch{return!1}},dn=class{constructor(e){if(this._state=null,this._nativeClipboard=null,this._onFocus=null,this._onBlur=null,e?.nativeClipboard===void 0||!0===e?.nativeClipboard)try{this._nativeClipboard=globalThis?.navigator.clipboard}catch{!0===e?.nativeClipboard&&console.warn(`NativeClipboard option set to true but no native clipboard available.`)}else this._nativeClipboard=!1===e?.nativeClipboard?null:e?.nativeClipboard??null;this._disableCheckOnFocus=e?.disableCheckOnFocus??!1,this._init()}async _checkForChanges(){this._nativeClipboard&&this._state&&!this._disableCheckOnFocus&&await Zt(`clipboard-read`,async()=>{await Xt();let e=await tn(this._nativeClipboard,R);if(!this._state||e&&e===this._state.uuid)return!0;let t=await nn(this._nativeClipboard,N.Html);return!this._state||(un(this._state.uuid,t)||this.clear(),!0)},async e=>{e?.message===`denied`||e.message?.includes(`Document is not focused`)||A()===k.Safari||console.warn(`Unable to detect clipboard changes: `,e)})}_init(){let e=this;this._listeners=new Map,this._listenersCapture=new Map,this._state=null,this._nativeClipboard&&(this._onFocus=()=>{e._checkForChanges()},this._onBlur=()=>{globalThis.addEventListener?.(`focus`,e._onFocus,{once:!0})},globalThis.addEventListener?.(`blur`,this._onBlur),this._nativeClipboard.addEventListener(`clipboardchange`,t=>{e._checkForChanges()}))}async read(){if(!this._nativeClipboard)return this._state?.items??null;let e=this;return await Zt(`clipboard-read`,async()=>{if(await Xt(),this._state?.uuid){let t=await tn(this._nativeClipboard,R);if(t&&t===e._state?.uuid)return!0;let n=await nn(this._nativeClipboard,N.Html);if(un(e._state?.uuid,n))return!0}return e._state={items:await Qt(this._nativeClipboard),uuid:null,ref:null},this.dispatchEvent(new Event(`clipboardread`)),!0},async e=>{this.dispatchEvent(new Event(`clipboarderrorread`))}),this._state?.items??[]}async write(e){return this._write({uuid:w(),items:e,ref:null})}async _write(e){if(!this._nativeClipboard)return this._state=e,this.dispatchEvent(new Event(`clipboardwrite`)),void this.dispatchEvent(new Event(`clipboardchange`));let t=this,n=[],r=e.uuid,i=e.items??[],a=()=>{t._state={uuid:r,ref:e.ref,items:n},t.dispatchEvent(new Event(`clipboardwrite`)),t.dispatchEvent(new Event(`clipboardchange`))};await Zt(`clipboard-write`,async()=>{await Xt(),r&&i.length===0&&(i.push(new ClipboardItem({[R]:new Blob([r],cn)})),i.push(new ClipboardItem({[N.Html]:new Blob([an(r)],sn)})));for(let e=0;e<Math.min(1,i.length);e++){let t=i[e],a=t.types.indexOf(N.Html),o=null;if(a!==-1&&(o=await Ft(await t.getType(N.Html)),o&&=ln(r,o)),!o&&t.types.includes(N.Plain)){let e=await t.getType(N.Plain);if(e){let t=null;typeof e==`string`?(console.warn(`text as string`,e),t=e):t=await Ft(e),t&&(o=`<div ${L}=\"${r}\">${t}</div>`)}}if(!o&&t.types.includes(N.Png)){let e=Pt(await(await t.getType(N.Png)).arrayBuffer());o=`<div ${L}=\"${r}\"><img src=\"${Rt+e}\"/></div>`}!o&&r&&(o=an(r));let s=new Blob([o??``],sn),c={},l=t.types,u=l.length;for(let e=0;e<u;e++){let n=l[e];c[n]=e===a?s:t.getType(n)}o&&a===-1&&(c[N.Html]=s),r&&(c[R]=new Blob([r],cn)),n.push(new ClipboardItem(c))}try{n&&n.length!==0?await this._nativeClipboard.write(n):await rn(this._nativeClipboard)}catch(e){e.message?.includes(`Document is not focused`)||console.warn(`Unable to write to native clipboard: `,e)}return a(),!0},async e=>{this.dispatchEvent(new Event(`clipboarderrorwrite`)),a()})}async writeReference(e){if(!e)return void this.clear();let t=null,n={};try{let t=await e.toText?.()??null;t&&(n[N.Plain]=new Blob([t??``],on))}catch(e){t=e}try{let t=await e.toHtml?.()??null;t&&(n[N.Html]=new Blob([t],{type:N.Html}))}catch(e){t=e,console.warn(`export to html`,e)}try{let t=await e.toImage?.()??null;t&&(n[N.Png]=t)}catch(e){t=e,console.warn(`export to png`,e)}let r=this._write({uuid:w(),ref:e,items:Object.keys(n).length>0?[new ClipboardItem(n)]:null});if(t)throw t;return r}clear(e=!1){this._state&&(this._state=null,e&&this._write({uuid:null,ref:null,items:null}),this.dispatchEvent(new Event(`clipboardwrite`)),this.dispatchEvent(new Event(`clipboardchange`)))}async readReference(){return await this.read(),this._state?.ref??null}readText(){return new Promise(async(e,t)=>{let n=await this.read(),r=null,i=n?n.length:0;for(let e=0;!r&&e<i;e++){let t=n[e];t.types.includes(N.Plain)&&(r=await t.getType(N.Plain))}if(!r)return void e(``);let a=new FileReader;a.onload=()=>{e(a.result)},a.readAsText(r),a.onerror=e=>{t(e)}})}async writeText(e){let t=[new ClipboardItem({[N.Plain]:new Blob([e],on)})];return this._write({uuid:w(),items:t,ref:null})}addEventListener(e,t,n={}){let r=n?.capture?this._listenersCapture:this._listeners,i=r.get(e);i||(i=new Map,r.set(e,i)),t&&i.set(t,typeof n==`boolean`?{}:n)}dispatchEvent(e){if(!e)return!1;let t=t=>{let n=t.get(e.type);n&&n.forEach((t,r)=>{try{typeof r==`function`?r(e):r.handleEvent&&r.handleEvent(e),t.once&&n.delete(r)}catch(e){console.warn(e)}})};return t(this._listenersCapture),t(this._listeners),!0}removeEventListener(e,t,n){let r=n?.capture?this._listenersCapture:this._listeners,i=r.get(e);i&&t&&(i.delete(t),i.size===0&&r.delete(e))}close(){this._onFocus&&globalThis.removeEventListener?.(`focus`,this._onFocus),this._onBlur&&globalThis.removeEventListener?.(`blur`,this._onBlur)}};(en=dn||={}).ErrorMessages=Yt,en.Global=new dn;var fn=e=>e===` `||e===` `||e===`\n`||e===`\\r`;function pn(e,t){for(;t.i<e.length&&fn(e[t.i]);)t.i++}function mn(e,t,n,r){let i=[],a=``,o=()=>{a&&=(i.push(a),``)};for(;t.i<e.length;){let s=e[t.i];if(s===`}`&&r>0)break;if(s!==`{`)if(s===`#`&&n)o(),i.push({kind:`hash`}),t.i++;else{if(s===`'`){let r=e[t.i+1];if(r===`'`){a+=`'`,t.i+=2;continue}if(r===`{`||r===`}`||r===`#`&&n){for(t.i++;t.i<e.length;){let n=e[t.i];if(n===`'`){if(e[t.i+1]===`'`){a+=`'`,t.i+=2;continue}t.i++;break}a+=n,t.i++}continue}a+=`'`,t.i++;continue}a+=s,t.i++}else t.i++,o(),i.push(hn(e,t,n,r))}return o(),i}function hn(e,t,n,r){let i=t.i;for(;t.i<e.length&&e[t.i]!==`,`&&e[t.i]!==`}`;)t.i++;let a=e.slice(i,t.i).trim();if(e[t.i]===`}`)return t.i++,{kind:`arg`,name:a};if(t.i>=e.length)return{kind:`arg`,name:a};t.i++;let o=t.i;for(;t.i<e.length&&e[t.i]!==`,`&&e[t.i]!==`}`;)t.i++;let s=e.slice(o,t.i).trim(),c=s===`plural`||s===`selectordinal`||s===`select`;if(e[t.i]!==`,`||!c){let n=r+1;for(;t.i<e.length&&n>r;)e[t.i]===`{`?n++:e[t.i]===`}`&&n--,t.i++;return{kind:`arg`,name:a}}t.i++;let l={},u=0;for(;pn(e,t),!(t.i>=e.length);){if(e[t.i]===`}`){t.i++;break}let i=t.i;for(;t.i<e.length&&e[t.i]!==`{`&&e[t.i]!==`}`&&!fn(e[t.i]);)t.i++;let a=e.slice(i,t.i);if(a.startsWith(`offset:`))u=parseInt(a.slice(7),10)||0;else{if(pn(e,t),e[t.i]!==`{`)break;t.i++,l[a]=mn(e,t,s!==`select`||n,r+1),e[t.i]===`}`&&t.i++}}return{kind:`branched`,type:s,name:a,offset:u,branches:l}}var gn=new Map,_n=new Map,vn=new Map;function yn(e,t){let n=t?_n:gn,r=n.get(e);if(!r){try{r=new Intl.PluralRules(e,t?{type:`ordinal`}:void 0)}catch{r=new Intl.PluralRules(`en`,t?{type:`ordinal`}:void 0)}n.set(e,r)}return r}function bn(e){let t=vn.get(e);if(!t){try{t=new Intl.NumberFormat(e)}catch{t=new Intl.NumberFormat(`en`)}vn.set(e,t)}return t}function xn(e,t,n,r){let i=``;for(let a of e){if(typeof a==`string`){i+=a;continue}if(a.kind===`arg`){let e=t?.[a.name];i+=e===void 0?`{${a.name}}`:String(e);continue}if(a.kind===`hash`){i+=r===void 0?`#`:bn(n).format(r);continue}let e=t?.[a.name];if(a.type===`select`){let o=(e===void 0?void 0:a.branches[String(e)])??a.branches.other;i+=o?xn(o,t,n,r):e===void 0?`{${a.name}}`:String(e);continue}let o=typeof e==`number`?e:Number(e);if(e===void 0||Number.isNaN(o)){let e=a.branches.other;i+=e?xn(e,t,n,void 0):`{${a.name}}`;continue}let s=a.branches[`=${o}`],c=o-a.offset;if(!s){let e=yn(n,a.type===`selectordinal`).select(c);s=a.branches[e]??a.branches.other}i+=s?xn(s,t,n,c):String(e)}return i}new TextDecoder;\n/**\n* @license @sheetxl/primitives - Primitives - Base types for SheetXL functions. - v0.7.28-beta.3\n*\n* (C) 2026-present SheetXL Inc. & Michael T. Ford\n* License: The license can be found at https://www.sheetxl.com/license.\n*/\nvar Sn;(function(e){e.MAX_TEXT_LENGTH=32767;let t=e.MAX_SIGNIFICANT_DIGITS=15;e.truncateNumberText=function(e){let n=e.length;if(n<=t)return e;let r=0,i=null;for(let a=0;a<n;a++){let n=e.charCodeAt(a);if(n>=48&&n<=57){if(r===0&&n===48)continue;r++,r>t&&((i??=e.split(``))[a]=`0`)}else if((n===69||n===101)&&r>0)break}return i===null?e:i.join(``)}})(Sn||={});var Cn,z,wn,B,V={Number:`number`,String:`string`,Boolean:`boolean`,Error:`error`,RichData:`richData`,Null:`null`},Tn={...V,Date:`date`};(z=Cn||={}).Axis={Column:`column`,Row:`row`},z.AxisSelection={...Cn.Axis,Both:`both`},z.Direction={Up:`up`,Down:`down`,Left:`left`,Right:`right`},(wn||={}).Aggregate={Count:`count`,NumericalCount:`numericalCount`,Sum:`sum`,Average:`average`,StdDev:`stdDev`,PopulationStdDev:`stdDevP`,Variance:`var`,PopulationVariance:`varP`,Min:`min`,Max:`max`},function(e){let t=e.Code={Parse:0,Null:1,Div0:2,Value:3,Ref:4,Name:5,Num:6,NA:7,GettingData:8,Spill:9,Connect:10,Blocked:11,Unknown:12,Field:13,Calc:14,Busy:16,Python:19,Timeout:20},n=e.Label={Parse:`#PARSE!`,Null:`#NULL!`,Div0:`#DIV/0!`,Value:`#VALUE!`,Ref:`#REF!`,Name:`#NAME?`,Num:`#NUM!`,NA:`#N/A`,GettingData:`#GETTING_DATA`,Spill:`#SPILL!`,Connect:`#CONNECT!`,Blocked:`#BLOCKED!`,Unknown:`#UNKNOWN!`,Field:`#FIELD!`,Calc:`#CALC!`,Busy:`#BUSY!`,Python:`#PYTHON!`,Timeout:`#TIMEOUT!`};class r extends Error{constructor(e,t,n,r){super(n,r),this._label=t,this._code=e,this.details=r}static{this.code=B.Code.Unknown}get isFormulaError(){return!0}getLabel(){return this._label}getCode(){return this._code}equals(e){return!!e&&(this._code===e._code||this._code===e.code)}get[Symbol.toStringTag](){return`[FormulaError]`}toString(){return this._label}}e.Known=r;class i extends r{constructor(e,r){super(t.Parse,n.Parse,e,r)}static{this.code=B.Code.Parse}getDetails(){let e=this.details;return{line:e?.line??1,column:e?.column??1,offset:e?.offset??0,length:e?.length??0}}}e.Parse=i;class a extends r{constructor(e,r){super(t.Null,n.Null,e,r)}static{this.code=B.Code.Null}}e.Null=a;class o extends r{constructor(e,r){super(t.Div0,n.Div0,e,r)}static{this.code=B.Code.Div0}}e.Div0=o;class s extends r{constructor(e,r){super(t.Value,n.Value,e,r)}static{this.code=B.Code.Value}}e.Value=s;class c extends r{constructor(e,r){super(t.Ref,n.Ref,e,r)}static{this.code=B.Code.Ref}}e.Ref=c;class l extends r{constructor(e,r){super(t.Name,n.Name,e,r)}static{this.code=B.Code.Name}}e.Name=l;class u extends r{constructor(e,r){super(t.Num,n.Num,e,r)}static{this.code=B.Code.Num}}e.Num=u;class d extends r{constructor(e,r){super(t.NA,n.NA,e,r)}static{this.code=B.Code.NA}}e.NA=d;class f extends r{constructor(e,r){super(t.GettingData,n.GettingData,e,r)}static{this.code=B.Code.GettingData}}e.GettingData=f;class p extends r{constructor(e,r){super(t.Spill,n.Spill,e,r)}static{this.code=B.Code.Spill}}e.Spill=p;class m extends r{constructor(e,r){super(t.Connect,n.Connect,e,r)}static{this.code=B.Code.Connect}}e.Connect=m;class h extends r{constructor(e,r){super(t.Blocked,n.Blocked,e,r)}static{this.code=B.Code.Blocked}}e.Blocked=h;class g extends r{constructor(e,r){super(t.Unknown,n.Unknown,e,r)}static{this.code=B.Code.Unknown}}e.Unknown=g;class _ extends r{constructor(e,r){super(t.Field,n.Field,e,r)}static{this.code=B.Code.Field}}e.Field=_;class v extends r{constructor(e,r){super(t.Calc,n.Calc,e,r)}static{this.code=B.Code.Calc}}e.Calc=v;class y extends r{constructor(e,r){super(t.Busy,n.Busy,e,r)}static{this.code=B.Code.Busy}}e.Busy=y;class b extends r{constructor(e,r){super(t.Python,n.Python,e,r)}static{this.code=B.Code.Python}}e.Python=b;class x extends r{constructor(e,r){super(t.Timeout,n.Timeout,e,r)}static{this.code=B.Code.Timeout}}e.Timeout=x}(B||={});var H={};H[B.Code.Parse]=B.Parse,H[B.Code.Null]=B.Null,H[B.Code.Div0]=B.Div0,H[B.Code.Value]=B.Value,H[B.Code.Ref]=B.Ref,H[B.Code.Name]=B.Name,H[B.Code.Num]=B.Num,H[B.Code.NA]=B.NA,H[B.Code.GettingData]=B.GettingData,H[B.Code.Spill]=B.Spill,H[B.Code.Connect]=B.Connect,H[B.Code.Blocked]=B.Blocked,H[B.Code.Unknown]=B.Unknown,H[B.Code.Field]=B.Field,H[B.Code.Calc]=B.Calc,H[B.Code.Busy]=B.Busy,H[B.Code.Python]=B.Python,H[B.Code.Timeout]=B.Timeout;var En=new Map,Dn=new Map,On=new Map,kn=new Map,An=Object.keys(H);for(let e=0;e<An.length;e++){let t=H[An[e]],n=new t;On.set(n.getLabel(),t),kn.set(n.getCode(),t),En.set(n.getLabel(),n),Dn.set(n.getCode(),n)}(function(e){let t=e.getBuiltInByCode=e=>Dn.get(e);e.BuiltIn={Parse:t(B.Code.Parse),Null:t(B.Code.Null),Div0:t(B.Code.Div0),Value:t(B.Code.Value),Ref:t(B.Code.Ref),Name:t(B.Code.Name),Num:t(B.Code.Num),NA:t(B.Code.NA),GettingData:t(B.Code.GettingData),Spill:t(B.Code.Spill),Connect:t(B.Code.Connect),Blocked:t(B.Code.Blocked),Unknown:t(B.Code.Unknown),Field:t(B.Code.Field),Calc:t(B.Code.Calc),Busy:t(B.Code.Busy),Python:t(B.Code.Python),Timeout:t(B.Code.Timeout)},e.newTypedError=(e,t,n)=>{let r;return r=typeof e==`string`?On.get(e):kn.get(e),r||=B.Unknown,new r(t,n)},e.getBuiltInByLabel=e=>En.get(e),e.isError=function(e,t){return!!e&&!0===e.isFormulaError&&(t===void 0||e.getCode()===t)}})(B||={});var jn=class{createRange(e,t,n){throw new U}getReference(e,t){throw new U}getResizedReference(e,t,n){throw new U}getNumberFormat(e,t){throw new U}fromSerialDate(e,t){throw new U}toSerialDate(e,t){throw new U}getDateParts(e,t){throw new U}getSerialDate(e,t,n,r,i,a,o){throw new U}getNow(){throw new U}getValueAt(e,t,n,r){return null}getEntireCoords(){return Nn}isValidDate(e,t){return e instanceof Date||Object.prototype.toString.call(e)===`[object Date]`?!isNaN(e.getTime()):!t&&typeof e==`number`&&!(e<0||e>Fn)}getRow(){return 0}getColumn(){return 0}getFormulaAt(e,t,n){return null}getSpillAt(e,t,n){return null}getSheetIndex(e){return-1}getSheetCount(){return 1}markVolatile(){}formatResults(e){}filterHidden(e,t){return e}filterTotals(e){return e}getFunction(e){return null}getAddress(e,t){throw new U}parseAsSerialDate(e,t){throw new U}parseAsDate(e,t){throw new U}parseAsNumber(e,t){throw new U}createCriteria(e){throw new U}parseAsLiteral(e){let t=e.toUpperCase();return t===`TRUE`||t!==`FALSE`&&B.getBuiltInByLabel(t)}toText(e){return typeof e==`string`?e:e==null?``:typeof e==`boolean`?e?`TRUE`:`FALSE`:e?.isFormulaError?e.getLabel():String(e)}compare(e,t,n){if(e===t)return 0;let r=Mn(e),i=Mn(t);return r===i?e<t?-1:+(e>t):r<i?-1:1}getRuntime(){return Pn}},Mn=e=>{if(e==null)return 0;switch(typeof e){case`number`:return 1;case`string`:return 2;case`boolean`:return 3;default:return 4}},U=class extends Error{constructor(e=`Not implemented in StubbedFormulaContext`){super(e),this.name=`NotImplementedError`}},Nn=Object.freeze({colStart:0,rowStart:0,colEnd:2**14-1,rowEnd:2**20-1}),Pn={isDate1904:()=>!1,getLocale:()=>Ln.tag,getLocaleProfile:()=>Ln,isR1C1:()=>!1,getNow:()=>0,getLocation:()=>`unknown`,getVersion:()=>`1.0.0`,getOS:()=>`unknown`,getUser:()=>`unidentified`,getDescription:()=>`Stubbed Formula Context`},Fn=2958465,W=new jn,In=class{constructor(){this._scope=W}_setScope(e){this._scope=e??W}_getScope(){return this._scope}getNumberFormat(e,t){return this._getScope().getNumberFormat(e,t)}getEntireCoords(){return this._getScope().getEntireCoords()??Nn}parseAsSerialDate(e,t){return this._getScope().parseAsSerialDate(e,t)}parseAsDate(e,t){return this._getScope().parseAsDate(e,t)}parseAsNumber(e,t){return this._getScope().parseAsNumber(e,t)}createCriteria(e){return this._getScope().createCriteria(e)}parseAsLiteral(e){let t=this._getScope();return t.parseAsLiteral?t.parseAsLiteral(e):W.parseAsLiteral(e)}toText(e){return this._getScope().toText(e)}isValidDate(e,t=!1){return this._getScope().isValidDate(e,t)}fromSerialDate(e,t=!1){return this._getScope().fromSerialDate(e,t)}toSerialDate(e,t=!1){return this._getScope().toSerialDate(e,t)}getDateParts(e,t){return this._getScope().getDateParts(e,t)}getSerialDate(e,t,n,r=0,i=0,a=0,o=0){return this._getScope().getSerialDate(e,t,n,r,i,a,o)}getNow(){return this._getScope().getNow()}createRange(e,t,n){return this._getScope().createRange(e,t,n)}getRow(){return this._getScope().getRow?.()??0}getColumn(){return this._getScope().getColumn?.()??0}getReference(e,t){return this._getScope().getReference(e,t)}getResizedReference(e,t,n){return this._getScope().getResizedReference(e,t,n)}getValueAt(e,t,n){return this._getScope().getValueAt(e,t,n)}getFormulaAt(e,t,n){return this._getScope().getFormulaAt?.(e,t,n)??null}getSpillAt(e,t,n){return this._getScope().getSpillAt?.(e,t,n)??null}getSheetIndex(e){return this._getScope().getSheetIndex?.(e)??-1}getSheetCount(){return this._getScope().getSheetCount?.()??1}markVolatile(){this._getScope().markVolatile?.()}formatResults(e){this._getScope().formatResults?.(e)}filterHidden(e,t){return this._getScope().filterHidden?.(e,t)??e}filterTotals(e){return this._getScope().filterTotals?.(e)??e}getFunction(e){return this._getScope().getFunction?.(e)??null}getAddress(e,t){return this._getScope().getAddress(e,t)}compare(e,t,n){return this._getScope().compare?.(e,t,n)??W.compare(e,t,n)}getRuntime(){return this._getScope().getRuntime()}get[Symbol.toStringTag](){return`[FormulaContext]`}toString(){return this._getScope()?.toString?.()??`{STUB SCOPE}`}},Ln=Object.freeze({tag:`en-US`,numberingSystem:`latn`,decimal:`.`,group:`,`,grouping:[3],minusSign:`-`,percentSign:`%`,permilleSign:`‰`,currencyCode:`USD`,currencySymbol:`$`,currencyDisplay:`symbol`,currencyPosition:`before`,currencySpacing:`tight`,date:Object.freeze({calendar:`gregory`,short:`M/d/yy`,medium:`MMM d, y`,long:`MMMM d, y`,timeShort:`h:mm a`,timeLong:`h:mm:ss a`,am:`AM`,pm:`PM`,firstDay:0,weekend:[6,0],monthsWide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],monthsAbbr:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],weekdaysWide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],weekdaysAbbr:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],hour12:!0}),listSeparator:`,`,csvDelimiter:`,`,rtl:!1,collator:Object.freeze({sensitivity:`base`,numeric:!0})});new In;const G=Object.freeze({NoBody:`SXL1001`,Anonymous:`SXL1002`,ParseError:`SXL1003`,InvalidParamType:`SXL2001`,InvalidReturnType:`SXL2002`,UndefinedInput:`SXL2003`,MissingType:`SXL2004`,UntypedArray:`SXL2005`,GenericArity:`SXL2006`,MultipleModifiers:`SXL2007`,ContextNotFirst:`SXL2010`,MultipleLambda:`SXL2020`,LambdaNotLast:`SXL2021`,LambdaScalarMismatch:`SXL2022`,LambdaReturn:`SXL2023`,FunctionReturn:`SXL2024`,LambdaArity:`SXL2025`,ArrayDepth:`SXL2030`,RepeatingPosition:`SXL2040`,MultipleRepeating:`SXL2041`,RepeatingSlots:`SXL2042`,RepeatingOptional:`SXL2043`,NoExports:`SXL3001`,UnknownParam:`SXL3002`,BuiltInName:`SXL3003`,MissingSummary:`SXL9001`,MissingParamDescription:`SXL9002`,MissingReturns:`SXL9003`}),Rn=[{name:`summary`,group:`sheetxl`,description:`Short description shown in function tooltips and autocomplete.`},{name:`param`,group:`jsdoc`,description:`Document a parameter. A string union type becomes a dropdown of allowed options.`,snippet:\"param ${1:name} ${2:description}\"},{name:`returns`,aliases:[`return`],group:`jsdoc`,description:`Describe the return value.`},{name:`category`,group:`sheetxl`,description:`Group the function under a category in the function list.`,snippet:\"category ${1:name}\"},{name:`name`,group:`sheetxl`,description:`Override the displayed function name.`,snippet:\"name ${1:NAME}\"},{name:`description`,group:`sheetxl`,description:`A longer description of the function.`},{name:`deprecated`,group:`sheetxl`,standalone:!0,description:`Mark the function as deprecated (optionally with a reason).`},{name:`hidden`,group:`sheetxl`,standalone:!0,description:`Hide the function from the function list.`},{name:`example`,group:`jsdoc`,description:`Provide a usage example.`},{name:`see`,group:`jsdoc`,description:`Reference a related function or link.`}],zn=(()=>{let e=new Map;for(let t of Rn)if(e.set(t.name,t),t.aliases)for(let n of t.aliases)e.set(n,t);return e})();function Bn(e){if(!e)return;let t=(e.startsWith(`@`)?e.slice(1):e).toLowerCase();return zn.get(t)}function Vn(e){return Bn(e)?.standalone===!0}const Hn=new Map([[`IReferenceRange`,`p`],[`IRange`,`r`]]),K=new Map([[`IWorkbook`,`workbook`],[`ISheet`,`sheet`],[`ICellRanges`,`ranges`],[`ICellRange`,`range`]]),Un=Array.from(K.keys()),q=(e,t)=>{Array.from(t.keys()).forEach(n=>{let r=t.get(n);t.set(`${e}.${n}`,r)})},Wn=new Map([[`Scalar`,`*`],[`Lambda`,`l`],[`FormulaError.Known`,V.Error],[`Date`,Tn.Date],[`IRichData`,Tn.RichData]]),Gn=new Map([[`Repeating`,`repeating`]]),Kn=new Set([`Flatten`,`SheetXL.Flatten`]),qn=new Map([[`AcceptError`,`accept`],[`AcceptRefError`,`accept-ref`]]),Jn=new Set([`Omittable`]),J=`SheetXL`;q(J,Hn),q(J,K),q(J,Gn),q(J,qn),Jn.add(`${J}.Omittable`);const Yn=new Map([[`Promise`,()=>({async:!0})],[`Observable`,()=>({stream:!0})]]),Xn=`__scriptContext__`,Zn=new Set([`IScript.ScriptContext`,`${J}.IScript.ScriptContext`,`ScriptContext`]),Qn=(e,t)=>{let n=t.literal;if(n===void 0)return;let r=e.SyntaxKind;switch(n.kind){case r.StringLiteral:return n.text;case r.NumericLiteral:return parseFloat(n.text);case r.TrueKeyword:return!0;case r.FalseKeyword:return!1;case r.NullKeyword:return null;case r.PrefixUnaryExpression:return n.operator===r.MinusToken&&n.operand?.kind===r.NumericLiteral?-parseFloat(n.operand.text):void 0;default:return}},$n=e=>{if(!e||e.length===0)return``;let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r.kind;if(i!==`link`){if(i===`linkName`){let i=e[n+1];if(i?.kind===`linkText`&&i.text.trim())continue;t+=r.text;continue}if(i===`linkText`){t+=r.text.trim();continue}t+=r.text}}return t.replace(/\\r\\n?/g,`\n`).split(/\\n[^\\S\\n]*\\n\\s*/).map(e=>e.split(`\n`).map(e=>e.trim()).filter(Boolean).join(` `)).filter(Boolean).join(`\n`).trim()};function er(e,t,n,r){let i=r?.builtInNames?.length?new Set(r.builtInNames.map(e=>e.toUpperCase())):null,a=[],o=[],s=null,c=e=>{if(!e||typeof e.getStart!=`function`)return{start:0,length:0};try{return{start:e.getStart(),length:e.getWidth()}}catch{return{start:0,length:0}}},l=(e,t,n,r)=>{let{start:i,length:a}=c(e);o.push({start:i,length:a,severity:n,code:t,message:r})},u=(e,t,n)=>{l(e,t,`error`,n)},d=e=>e?.parent?.name?.escapedText,f=(e,t,n,r,i=!1,a=!1)=>{let o={count:0},s=g(e,t,n,r,o,i,a);return o.count>=2&&(t.range||(t.range=`m`,o.count-=2),!r&&o.count>=1&&(--o.count,o.count>0&&u(e,G.ArrayDepth,`Arrays of more than 2 dimensions are not supported: '${d(e)}'.`))),o.count>0&&(t.arrayDepth=o.count),s},p=(t,n,r,i,a)=>{if(n!==`Lambda`&&n!==`${J}.Lambda`)return!1;let o=t.typeArguments,s=`*`;if(o&&o.length===2)if(a&&o[0].kind===e.SyntaxKind.TupleType&&(r.lambdaArity=o[0].elements.length),o[1].kind===e.SyntaxKind.AnyKeyword)s=`raw`;else{let e={};g(o[1],e,i,!1,{count:0}),s=e.scalar??`*`}else if(o&&o.length===1&&o[0].kind!==e.SyntaxKind.TupleType&&o[0].kind!==e.SyntaxKind.ArrayType)if(a&&(r.lambdaArity=2),o[0].kind===e.SyntaxKind.AnyKeyword)s=`raw`;else{let e={};g(o[0],e,i,!1,{count:0}),s=e.scalar??`*`}return r.lambda=s,!0},m=(t,n,r,i)=>{if(!i){u(t,G.FunctionReturn,`Function type is not a valid return type: '${d(t)}'. Declare a 'Lambda' return instead.`);return}let a=t.type,o={},s=`*`;a&&(a.kind===e.SyntaxKind.AnyKeyword?s=`raw`:(g(a,o,r,!1,{count:0}),s=o.scalar??`*`));let c=t.parameters;c&&!c.some(e=>e.dotDotDotToken)&&(n.lambdaArity=c.length),n.lambda=s},h=(t,n,r,i)=>{let a=(e,t,n)=>{let a={name:e};return f(t,a,r,!0),n&&(a.optional=!0),i&&!a.errors&&(a.errors=i),a};if(t.kind!==e.SyntaxKind.TupleType)return[a(n,t,!1)];let o=t.elements;if(o.length<2)return u(t,G.RepeatingSlots,`'${n}': a repeating group of period ${o.length} must be spelled 'Repeating<T>' without the tuple.`),null;let s=[];for(let t=0;t<o.length;t++){let r=o[t];if(r.kind!==e.SyntaxKind.NamedTupleMember)return u(r,G.RepeatingSlots,`'${n}': every slot of a repeating group must be labelled, e.g. 'Repeating<[criteriaRange: IRange, criteria: Scalar]>'.`),null;let i=!!r.questionToken;if(i&&t!==o.length-1)return u(r,G.RepeatingOptional,`'${n}': only the LAST slot of a repeating group may be optional (slot '${r.name?.getText?.()}' is not).`),null;s.push(a(r.name?.getText?.()??`${t}`,r.type,i))}return s},g=(t,n,r,i,a,o=!1,s=!1)=>{if(!t){u(t,G.MissingType,`Type is not defined for '${n?.name??`return`}'.`);return}if(t.kind===e.SyntaxKind.ParenthesizedType)return g(t.type,n,r,i,a,o,s);if(t.kind===e.SyntaxKind.UnionType){let c=t=>t.kind===e.SyntaxKind.UndefinedKeyword||t.kind===e.SyntaxKind.VoidKeyword||t.kind===e.SyntaxKind.NullKeyword||t.kind===e.SyntaxKind.LiteralType&&t.literal?.kind===e.SyntaxKind.NullKeyword,l=t.types.filter(e=>!c(e));if(l.length===1)return g(l[0],n,r,i,a,o,s);let f=t=>{if(t.kind!==e.SyntaxKind.LiteralType)return;let n=t.literal;if(n?.kind===e.SyntaxKind.NumericLiteral||n?.kind===e.SyntaxKind.PrefixUnaryExpression&&n.operand?.kind===e.SyntaxKind.NumericLiteral)return e.SyntaxKind.NumericLiteral;if(n?.kind===e.SyntaxKind.StringLiteral)return e.SyntaxKind.StringLiteral},m=f(l[0]);if(m!==void 0&&l.every(e=>f(e)===m)){n.scalar=m===e.SyntaxKind.NumericLiteral?V.Number:V.String;return}if(!i){n.scalar=`*`;return}if(l.length===2){let t=t=>{if(t.kind!==e.SyntaxKind.TypeReference)return!1;let n=e.isTypeReferenceNode(t)?t.typeName.getText():``;return n===`Lambda`||n===`${J}.Lambda`},c=l.findIndex(t);if(c>=0&&!t(l[1-c])){g(l[1-c],n,r,i,a,o,s),p(l[c],l[c].typeName.getText(),n,r,i);return}}u(t,G.InvalidParamType,`Union parameter types are not supported: '${d(t)}'. Use a single type, optionally with '| null' or '| undefined', or 'T | Lambda<…>' for a value-or-lambda slot.`);return}if(t.kind===e.SyntaxKind.NumberKeyword)n.scalar=V.Number;else if(t.kind===e.SyntaxKind.StringKeyword)n.scalar=V.String;else if(t.kind===e.SyntaxKind.BooleanKeyword)n.scalar=V.Boolean;else if(t.kind===e.SyntaxKind.UndefinedKeyword||t.kind===e.SyntaxKind.NullKeyword||t.kind===e.SyntaxKind.VoidKeyword){if(i){u(t,G.UndefinedInput,`'undefined' is not a valid type for input: '${d(t)}'.`);return}n.scalar=V.Null}else if(t.kind===e.SyntaxKind.BigIntKeyword)n.scalar=V.Number;else if(t.kind===e.SyntaxKind.AnyKeyword)i&&(n.range=`*`);else if(t.kind===e.SyntaxKind.ArrayType){let e=t.elementType;if(!e){u(t,G.UntypedArray,`'Array' must be typed: '${d(t)}'.`);return}if(i&&s){let i=n,a=i.name??d(t)??`parameter`,o=i.errors;delete i.errors;let s={name:a};f(e,s,r,!0),o&&!s.errors&&(s.errors=o),i.repeating=[s];return}a.count++,g(e,n,r,i,a)}else if(t.kind!==e.SyntaxKind.TupleType)if(t.kind===e.SyntaxKind.TypeReference){let c=t.typeName?.getText?.()??null,l=qn.get(c);if(l){let e=d(t);if(!i){u(t,G.InvalidReturnType,`'${c}' is not a valid return type: '${e}'. Error-policy markers apply to parameters only.`);return}let f=n;if(f.errors){u(t,G.InvalidParamType,`'${e}' declares more than one error-policy marker ('${f.errors}' and '${l}'). Only one is allowed.`);return}let p=t.typeArguments;if(!p||p.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${e}'.`);return}return f.errors=l,g(p[0],n,r,i,a,o,s)}if(Jn.has(c)){let l=n.name??d(t);if(!i){u(t,G.InvalidReturnType,`'Omittable' is not a valid return type: '${l}'. It describes how an ARGUMENT is received.`);return}let f=t.typeArguments;if(!f||f.length<1||f.length>2){u(t,G.GenericArity,`'${c}' must be typed with 1 or 2 types: '${l}'.`);return}let p=n;if(p.omittable=!0,f.length===2){let n=Qn(e,f[1]);if(n===void 0){u(t,G.InvalidParamType,`'${l}' declares '${c}' with a second type that is not a literal value. Use a number, string, boolean or null - the engine substitutes it for an omitted argument.`);return}p.omittedValue=n}return g(f[0],n,r,i,a,o,s)}if(Kn.has(c)){let e=n.name??d(t);if(!i){u(t,G.InvalidReturnType,`'Flatten' is not a valid return type: '${e}'. It describes how an ARGUMENT is received.`);return}let s=t.typeArguments;if(!s||s.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${e}'.`);return}return a.count++,g(s[0],n,r,i,a,o)}if(Gn.get(c)===`repeating`){let e=n.name??d(t);if(!i){u(t,G.RepeatingPosition,`'Repeating' is not a valid return type: '${e}'.`);return}if(a.count!==0){u(t,G.RepeatingPosition,`'Repeating' cannot be nested inside another type: '${e}'.`);return}let o=n,s=t.typeArguments;if(!s||s.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${e}'.`);return}let l=o.errors;delete o.errors;let f=h(s[0],e??`parameter`,r,l);f&&(o.repeating=f);return}let m=Hn.get(c),_=!1;m&&(n.range=m,_=!0);let v=Wn.get(c);if(v&&(n.scalar=v),v!==void 0&&(_=!0),p(t,c,n,r,i))return;if(i){if(Zn.has(c))return Xn;let e=K.get(c);if(e)return e}else{let e=Yn.get(c);if(e){let r=Object.assign(n,e()),i=0;if(r.async&&i++,r.stream&&i++,i>1){u(t,G.MultipleModifiers,`'${c}' cannot have multiple modifiers: '${d(t)}'.`);return}_=!0}}if(!_){let e=`number, string, boolean, Scalar, Lambda, Date, FormulaError.Known, IRichData, IRange, IReferenceRange (and arrays of these; optionally wrapped in AcceptError<T>/AcceptRefError<T>, or grouped with Repeating<T>)`,n;n=i?o?`'${c}' is not a valid first parameter: '${d(t)}'. The first parameter is EITHER a macro target (making this a macro) OR a calculation input (making this a calculation function). Allowed: ${Un.join(`, `)} (macro target); ${e} (calculation input).`:`'${c}' is not a valid parameter type: '${d(t)}'. Allowed: ${e}.`:`'${c}' is not a valid return type: '${d(t)}'. Allowed: number, string, boolean, Scalar, Date, FormulaError.Known, IRichData, IRange, Promise<T>, Observable<T> (and arrays of these).`,u(t,i?G.InvalidParamType:G.InvalidReturnType,n);return}let y=t.typeArguments;if(y){if(y.length!==1){u(t,G.GenericArity,`'${c}' must be typed with exactly 1 type: '${d(t)}'.`);return}f(y[0],n,r,i)}}else t.kind===e.SyntaxKind.FunctionType&&m(t,n,r,i)},_=t=>(e.getCombinedModifierFlags(t)&e.ModifierFlags.Export)!==0,v=t=>(e.getCombinedModifierFlags(t)&e.ModifierFlags.Default)!==0;try{e.forEachChild(t,t=>{if(_(t)&&e.isFunctionDeclaration(t)){let r=t?.name?.getText();if(!t.body){u(t,G.NoBody,`'${r}': function has no body.`);return}if(!r){u(t,G.Anonymous,`Anonymous exported functions are not allowed.`);return}let o={},c={parameters:{}};try{o.name=r;let d=n.getSymbolAtLocation(t.name),p=$n(d?.getDocumentationComment(n));p&&(c.summary=p);let m={};f(t.type,m,o,!1),o.returnType=m;let h={};v(t)&&(h.default=!0,s=r),Object.keys(h).length>0&&(o.behavior=h),o.parameters=[];let g=new Map,_=new Map,y=new Set,b=null,x=null,S=null,C=0,w=!1,T=0;for(let r=0;r<t.parameters.length;r++){let i=t.parameters[r],a={};a.name=i.name?.getText();let s=o.parameters.length===0,l=f(i.type,a,o,!0,s,!i.dotDotDotToken);if(l===Xn){r===0&&o.context===void 0&&(o.context=`script`);continue}if(l){if(o.parameters.length!==0){u(i,G.ContextNotFirst,`'${o.name}' contexts must be the first parameter: '${a.name}'.`);return}o.context=l;continue}if(a.lambda!==void 0){if(b!==null){u(i,G.MultipleLambda,`'${o.name}' has more than one Lambda parameter ('${b}' and '${a.name}'). Only one Lambda parameter is allowed.`);return}b=a.name}else if(b!==null){u(i,G.LambdaNotLast,`'${o.name}' Lambda parameter ('${b}') must be the last parameter, but '${a.name}' follows it.`);return}let d=i.initializer!==void 0&&i.initializer!==null||i.questionToken!==void 0&&i.questionToken!==null,p;if(d&&(a.optional=!0,i.initializer))try{i.initializer.kind===e.SyntaxKind.StringLiteral?p=i.initializer.text:i.initializer.kind===e.SyntaxKind.NumericLiteral?p=parseFloat(i.initializer.text):i.initializer.kind===e.SyntaxKind.TrueKeyword||i.initializer.kind===e.SyntaxKind.FalseKeyword?p=i.initializer.kind===e.SyntaxKind.TrueKeyword:i.initializer.kind===e.SyntaxKind.NullKeyword&&(p=null)}catch(e){console.warn(`Couldn't extract default value for parameter '${a.name}'`,e)}i.dotDotDotToken&&(a.rest=!0);let m=a.repeating;if(m){if(a.rest){u(i,G.RepeatingPosition,`'${o.name}' parameter '${a.name}' is both a rest parameter and a repeating group. A group already repeats — drop the '...'.`);return}if(d&&m.length===1){u(i,G.RepeatingOptional,`'${o.name}' parameter '${a.name}' cannot be an optional repeating group. Use '...${a.name}: T[]' for zero-or-more, or drop the '?' for one-or-more.`);return}if(x!==null){u(i,G.MultipleRepeating,`'${o.name}' has more than one repeating group ('${x}' and '${a.name}'). Only one is allowed — two would make the argument count ambiguous.`);return}if(S!==null){u(i,G.RepeatingOptional,`'${o.name}' parameter '${S}' is optional and precedes the repeating group '${a.name}'. Every parameter outside a group must be required.`);return}x=a.name,C=m.length,w=m[m.length-1].optional===!0}else if(x!==null&&a.rest){u(i,G.RepeatingOptional,`'${o.name}' parameter '${a.name}' is a rest parameter and follows the repeating group '${x}'. Two variadic tails would make the argument count ambiguous.`);return}else if(x!==null&&d){if(T>=C-1){u(i,G.RepeatingOptional,C===1?`'${o.name}' parameter '${a.name}' is optional and follows the period-1 repeating group '${x}'. One more argument is indistinguishable from one more repetition — make it required, or give the group a period.`:`'${o.name}' has ${T+1} optional parameters after the repeating group '${x}', which has period ${C}. At most ${C-1} may be optional, or the argument count no longer decides the parse.`);return}if(w){u(i,G.RepeatingOptional,`'${o.name}' parameter '${a.name}' is optional and follows '${x}', whose own last slot is already optional. Both omissions reach the same argument count — drop one.`);return}T++}d&&!m&&(S=a.name);let h=(a.range?2:0)+(a.arrayDepth??0),v=a.range===`r`||a.range===`p`||a.range===`*`,E=a.rest||v?3:2;if(h>E){u(i,G.ArrayDepth,`'${o.name}' parameter '${a.name}' has an array depth of ${h}; the maximum is ${E}${a.rest?` for a rest parameter`:` (use a rest parameter for one more level, or an IRange)`}.`);return}o.parameters.push(a);let D={description:``};c.parameters[a.name]=D;let ee=n.getSymbolAtLocation(i.name);if(D.description=$n(ee?.getDocumentationComment(n)),p!==void 0&&(a.defaultValue=p),g.set(a.name,a),_.set(a.name,i),m&&m.length>1){y.add(a.name);for(let e of m){let t=`${a.name}.${e.name}`;c.parameters[t]={description:``},g.set(t,e),_.set(t,i)}}}if(t.jsDoc&&t.jsDoc.length>0){let n=t.jsDoc,i=n.length;for(let t=0;t<i;t++){let i=n[t]?.tags;if(!i)continue;let a=i.length;for(let t=0;t<a;t++){let n=i[t],a=n?.tagName?.text;if(!a)continue;a=a.toLowerCase();let s=n.comment,l=Vn(a);if(!(typeof s!=`string`&&!l)&&(typeof s==`string`&&(s=s.replace(/\\r\\n?/g,`\n`).trim()),!(!l&&s&&(s=s.split(`\n`)[0].trim(),!s||s.length===0)))){if(s&&typeof s==`string`){let e=/\\{@link(code|plain)?\\s+([^}|]+)(?:\\s*\\|\\s*([^}]+))?\\}/g,t,n=s,r=[];for(;(t=e.exec(s))!==null;){let[e,n,r,i]=t,a=[r.trim()];i&&a.push(i.trim())}s=n,r.length>0&&a===`see`&&(c.links||=[],c.links.push(...r))}if(a===`name`){let e=s;e!==r&&(c.name=e)}else if(a!==`description`){if(a===`summary`){let e=s;e&&(c.summary=e)}else if(a===`param`){let t=n.name?.getText?.()??n.name?.text,i=g.get(t);if(!i){u(n,G.UnknownParam,`Parameter '${t}' not found in function '${r}'.`);continue}let a=c.parameters?.[t];if(a&&!a.description&&typeof s==`string`&&s&&(a.description=s),n.typeExpression&&n.typeExpression.type)try{let t=n.typeExpression.type;if(t.kind===e.SyntaxKind.UnionType){let n=[];i.enums=n,t.types.forEach(t=>{if(t.kind===e.SyntaxKind.LiteralType){let e=t.literal.text;e&&n.push(e)}})}}catch(e){console.warn(`Error parsing JSDoc type expression:`,e)}}else if(a===`returns`||a===`return`)o.returnType.description=s;else if(a===`category`)c.category=s;else if(a===`deprecated`||a===`hidden`){let e=!0,t=s?.toLowerCase();t===`false`?e=!1:t!==`true`&&(e=s),e!==!1&&(c.deprecated=e??!0)}}}}}}Object.keys(o.returnType).length===0&&delete o.returnType,c.summary||l(t.name??t,G.MissingSummary,`warning`,`'${r}': missing a description. Add a JSDoc summary or '@summary'.`);let E=!o.context;if(E&&i?.has(r.toUpperCase())){u(t.name??t,G.BuiltInName,`'${r}' is a built-in function. Choose a different name - a calculation function cannot replace a built-in.`);return}if(E){let e=c.parameters??{};for(let[t,n]of Object.entries(e))if(!y.has(t)&&!n.description){let e=_.get(t);l(e,G.MissingParamDescription,`warning`,`'${r}': parameter '${t}' is missing a description. Add an '@param ${t}' tag.`)}}a.push([o,c])}catch(e){u(t,G.ParseError,`'${r}': ${e.message}`)}}})}catch(e){u(void 0,G.ParseError,`Unable to analyze module: ${e?.message??e}`)}return{functions:a,autoRun:s,diagnostics:o}}const tr=`__SHEETXL`;var nr=n({initialize:()=>rr});async function rr(){return Y||(Y=new Promise(async(e,t)=>{try{let t=`0.20.2`,n=`https://esm.sh/esbuild-wasm@${t}`,r=`https://esm.sh/esbuild-wasm@${t}/esbuild.wasm`,i=(await import(n)).default;await i.initialize({wasmURL:r,worker:!1}),e(i)}catch(e){console.error(`Error initializing esbuild:`,e),t(e)}}),Y)}var Y,ir=t((()=>{Y=null}));let X=null,Z=null;async function ar(){if(X)return X;if(Z){if(await Z,!X)throw Error(`ESBuild initialization promise resolved, but instance is not available.`);return X}let e,t;Z=new Promise((n,r)=>{e=n,t=r});try{let{initialize:t}=await Promise.resolve().then(()=>(ir(),nr));return X=await t(),e(),X}catch(e){throw console.error(`Failed to import or initialize esbuild:`,e),Z=null,t(e),e}}const or={compilerOptions:{target:`esnext`}};async function sr(e,t,n=`/script.js`,r=tr){try{let e=await ar(),i=`@sheetxl/primitives`,a=`\n export const FormulaContext = globalThis.${r}?.FormulaContext;\n export const ScalarType = globalThis.${r}?.ScalarType;\n export const Observable = globalThis.${r}?.Observable;\n export const IRange = globalThis.${r}?.IRange;\n export const FormulaError = globalThis.${r}?.FormulaError;\n // Add more exports as needed\n `,o=await e.build({entryPoints:[n],bundle:!0,write:!1,format:`esm`,plugins:[{name:`sheetxl-esbuild-in-memory`,setup(e){let r=`sheetxl-`+new Date().getTime();e.onResolve({filter:RegExp(`^(${n.replace(`/`,`\\\\/`)}|${i})$`)},e=>({path:e.path,namespace:r})),e.onResolve({filter:/.*/},e=>{if(e.namespace!==r)return console.warn(`esbuild: Treating import \"${e.path}\" as external.`),{path:e.path,external:!0}}),e.onLoad({filter:/.*/,namespace:r},e=>{let o;if(e.path===n)o=t;else if(e.path===i)o=a;else return{errors:[{text:`Cannot load unknown path in ${r}: ${e.path}`}]};return{contents:o,loader:`ts`}})}}],sourcemap:`inline`,tsconfigRaw:or,minify:!0,platform:`neutral`});if(o.outputFiles&&o.outputFiles.length>0)return o.outputFiles[0].text;throw o.errors&&o.errors.length>0?Error(`esbuild bundling failed: ${o.errors.map(e=>e.text).join(`\n`)}`):Error(`esbuild did not produce an output file.`)}catch(e){throw console.error(`esbuild bundling process failed:`,e),e}}var cr=n({initialize:()=>lr});async function lr(){return Q||(Q=new Promise(async(e,t)=>{let n=null;try{n=await import(`https://esm.sh/typescript@5.7.2`)}catch(e){console.error(`Error initializing Browser TypeScript module:`,e)}n||console.log(`use script fallback`),e(n)}),Q)}var Q,ur=t((()=>{Q=null}));const dr=async()=>`\n interface FirstTest {\n isTrue?: boolean;\n }\n`;let $=null;async function fr(){if($)return $;try{return await(await Promise.resolve().then(()=>(ur(),cr))).initialize()}catch(e){throw $=null,e}finally{$=null}}async function pr(e){let t=e?.source??null;if(!t)return{module:null,diagnostics:[]};let n=(e.disableBundle||e.declarationsOnly)??!1,[r,i]=await Promise.all([dr(),fr()]),a=``,o={allowJs:!0,declaration:!1,sourceMap:!1,inlineSourceMap:!1,inlineSources:!1,isolatedModules:!0,preserveConstEnums:!1,module:99,noResolve:!0,emitDeclarationOnly:!1,target:i.ScriptTarget.ES2020},s=`script`,c=`${s}.ts`,l=`lib.d.ts`,u=`global.d.ts`,d={[c]:t,[l]:`\n/**\n * Represents the completion of an asynchronous operation\n */\ninterface Promise<T> {\n /**\n * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The\n * resolved value cannot be modified from the callback.\n * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).\n * @returns A Promise for the completion of the callback.\n */\n finally(onfinally?: (() => void) | undefined | null): Promise<T>;\n}\n`,[u]:r},f=i.createProgram([c,u],o,{getSourceFile:(e,t,n,r)=>i.createSourceFile(e,d[e],i.ScriptTarget.Latest,!0),fileExists:e=>d[e]!==void 0,readFile:e=>d[e],writeFile:(e,t)=>{d[e]=t},getCurrentDirectory:()=>`./`,getCanonicalFileName:e=>e,useCaseSensitiveFileNames:()=>!0,getDefaultLibFileName:e=>l,getNewLine:()=>`\n`}),p=f.getTypeChecker(),m=f.getSourceFile(c);f.emit(),a=d[`${s}.js`]??``;let h=f.getSyntacticDiagnostics(m).map(e=>({start:e.start??0,length:e.length??0,severity:`error`,code:`TS${e.code}`,message:i.flattenDiagnosticMessageText(e.messageText,`\n`)})),_=er(i,m,p,{builtInNames:e.builtInNames}),v=[...h,..._.diagnostics],y=_.functions,b=_.autoRun,x=v.some(e=>e.severity===`error`),S=`${g.uuidV4()}-script`,C=null;if(x)a=``;else{try{n||(a=await sr(i,a,s))}catch{console.warn(`Error bundling script`)}let e=a.indexOf(`//# sourceMappingURL`);e>-1&&(C=a.substring(e+20+1,a.length),a=a.substring(0,e),a=a.replaceAll(`globalThis.__SHEETXL`,tr))}let w={functions:y,commitId:S,source:t,name:`Script`,language:`typescript`,compiled:a};return C&&(w.sourceMap=C),b&&(w.autoRun=b),{module:w,diagnostics:v}}self.addEventListener(`message`,async e=>{let{id:t,params:n}=e.data;try{let e=await pr(n);self.postMessage({id:t,result:e,error:null})}catch(e){self.postMessage({id:t,result:null,error:{message:e.message,stack:e.stack,cause:e.cause}})}});",r=typeof self<`u`&&self.Blob&&new Blob([`URL.revokeObjectURL(import.meta.url);`,n],{type:`text/javascript;charset=utf-8`});function i(e){let t;try{if(t=r&&(self.URL||self.webkitURL).createObjectURL(r),!t)throw``;let n=new Worker(t,{type:`module`,name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(n),{type:`module`,name:e?.name})}}var a=async()=>{let{compileModule:e}=await Promise.resolve().then(()=>require("./QH2fF4MqkcvdkNjz.cjs")),n=new t(t=>e(t));return await n.start(),n};exports.createCompilerWorker=async function(){if(globalThis.process?.versions?.node&&typeof Worker>`u`)return await a();if(typeof Worker<`u`){let t=new e(()=>new i);try{return await t.start(),t}catch(e){console.error(`Failed to start TypescriptCompiler worker reverting to fallback:`,e)}}return await a()};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./B7_pDFYCVzt-3hUs.cjs"),t=require("./Ytzw6iUYx5f19wfK.cjs"),n=require("./BOLM1QOvxUKhYbK5.cjs"),r=require("./BC9dJX0j0S8cLlfd.cjs"),i=require("./
|
|
1
|
+
const e=require("./B7_pDFYCVzt-3hUs.cjs"),t=require("./Ytzw6iUYx5f19wfK.cjs"),n=require("./BOLM1QOvxUKhYbK5.cjs"),r=require("./BC9dJX0j0S8cLlfd.cjs"),i=require("./DDGqSmEUwpCyj2-T.cjs"),a=require("./C1tO7v57UD8xmj2X.cjs"),o=require("./CxY5iqVeCdKKTzDq.cjs");var s=e.r(t.i(),1),c=e.r(t.r(),1),l=[`Ok`,`Cancel`],u=(0,s.memo)(e=>{let{initialValue:t=null,context:u,onOption:d,onValidateOption:f,onDone:p,onInput:m,options:h=l,defaultOption:g=h?.[0],cancelOption:_=`Cancel`,sx:v,...y}=e,b=n.Xt(),x=(0,s.useMemo)(()=>u?.().getNames().findValidName(`Range1`),[]),S=(0,s.useMemo)(()=>{if(!t)return!0},[]),[C,w]=(0,s.useState)({displayText:t?.getName()??x,errorText:null}),[T,E]=(0,s.useState)(()=>({displayValue:t?.getRanges?.()??u?.()?.selection()??null,errorText:null})),[D,O]=(0,s.useState)(!1),k=a.i().getMode()?.mode===`point`,A=(0,s.useCallback)(async e=>!C.errorText&&!T.errorText,[]),j=n.tt((e,n,r)=>{if(!n){let e=C?.displayText??``,n=(i=T?.displayValue??null)==null?null:typeof i==`string`?i:i.isICellRanges?i.toString():i.getExpression(),r=null;if(S||!t)n&&(r=u?.()?.getNames().addFormula(e,n,!1)??null);else{let i=t;i.setExpression&&t.doBatch(()=>{t.setName(e),n&&i.setExpression(n)},b(`op.editNamedItem`,{name:e})),r=t}r&&(r.select(),m?.(r))}var i;d?.(e,n,r),p?.()},[u,C,T,p,d,g,_,m]),M=n.tt(e=>{let t=null;try{u?.().getNames().validateName(e)}catch(e){let n=e?.message;t=n&&b(n)}w({displayText:e,errorText:t})},[]),N=n.tt(e=>{t&&t.getName().toLowerCase()===e.toLowerCase()||u?.().getNames().validateName(e)},[u,t]),P=(0,s.useCallback)(e=>{E({displayValue:e??null,errorText:null})},[]);return(0,c.jsx)(r.i,{title:b(S?`namedRange.titleDefine`:`namedRange.titleEdit`),options:h,onOption:j,onValidateOption:A,defaultOption:g,cancelOption:_,autoFocusSel:`.autoFocus`,suspendModal:k,sx:{width:`460px`,...v},...y,children:(0,c.jsxs)(n.t,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0),rowGap:e=>e.spacing(1),range:`flex`,flexDirection:`column`},children:[(0,c.jsx)(i.t,{sx:{paddingTop:e=>e.spacing(1.5)},formName:`name`,defaultInput:x,value:C.displayText,onChangeInput:M,onValidate:N,onFocus:e=>{D||e.target?.select(),O(!0)}}),(0,c.jsx)(o.r,{grammar:`reference`,formName:`range`,value:T.displayValue,onChangeInput:P,pickAs:`absolute`,allowMulti:!0,onFocus:e=>{D||e.target?.select(),O(!0)}})]})})});exports.NamedReferenceDialog=u,exports.default=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./B7_pDFYCVzt-3hUs.cjs"),t=require("./Ytzw6iUYx5f19wfK.cjs"),n=require("./BOLM1QOvxUKhYbK5.cjs"),r=require("./BC9dJX0j0S8cLlfd.cjs"),i=require("./KzrnzN7NeOPdB-Ic.cjs"),a=require("./
|
|
1
|
+
const e=require("./B7_pDFYCVzt-3hUs.cjs"),t=require("./Ytzw6iUYx5f19wfK.cjs"),n=require("./BOLM1QOvxUKhYbK5.cjs"),r=require("./BC9dJX0j0S8cLlfd.cjs"),i=require("./KzrnzN7NeOPdB-Ic.cjs"),a=require("./C1tO7v57UD8xmj2X.cjs"),o=require("./CxY5iqVeCdKKTzDq.cjs");var s=e.r(t.i(),1),c=e.r(t.r(),1),l=[`Ok`,`Cancel`],u=(0,s.memo)(e=>{let{onInput:t,onOption:u,onValidateOption:d,onDone:f,options:p=l,defaultOption:m=p?.[0],cancelOption:h=`Cancel`,sx:g,initialValue:_,context:v,...y}=e,b=n.Xt(),[x,S]=(0,s.useState)(!1),[C,w]=(0,s.useState)(()=>_?.hasHeader??!1),[T,E]=(0,s.useState)(()=>_?.ranges??null),D=(0,s.useMemo)(()=>{let e=_?.ranges?.getSheet?.()?.getName();return e?{scope:e}:void 0},[_]),O=a.i().getMode()?.mode===`point`,k=n.tt(e=>{let n=T?{..._,hasHeader:C,ranges:T}:null,r=e===h||!e;t?.(!r&&n?n:void 0),u?.(e??h,r,e===m),f?.({option:e,tableOptions:n})},[f,u,m,h,C,T,_]),A=(0,s.useCallback)(async(e,t)=>!0,[]);return(0,c.jsx)(r.i,{title:b(`tableNew.title`),options:p,onDone:k,onValidateOption:A,defaultOption:m,cancelOption:h,autoFocusSel:`.autoFocus`,suspendModal:O,sx:{width:`360px`,...g},...y,children:(0,c.jsxs)(n.t,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0),rowGap:e=>e.spacing(1),display:`flex`,flexDirection:`column`},children:[(0,c.jsx)(o.r,{grammar:`reference`,classNameInput:`autoFocus`,formName:`range`,value:T,allowMulti:!1,allowCrossSheet:!1,home:D,onChangeInput:e=>E(e?.getReferences()??null),onFocus:e=>{x||e.target?.select(),S(!0)}}),(0,c.jsx)(i.t,{control:(0,c.jsx)(i.n,{checked:C,onChange:()=>w(!C)}),label:b(`tableNew.hasHeaders`),labelPlacement:`end`})]})})});exports.TableNewDialog=u,exports.default=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./B7_pDFYCVzt-3hUs.cjs"),t=require("./Ytzw6iUYx5f19wfK.cjs"),n=require("./BOLM1QOvxUKhYbK5.cjs"),r=require("./BC9dJX0j0S8cLlfd.cjs"),i=require("./
|
|
1
|
+
const e=require("./B7_pDFYCVzt-3hUs.cjs"),t=require("./Ytzw6iUYx5f19wfK.cjs"),n=require("./BOLM1QOvxUKhYbK5.cjs"),r=require("./BC9dJX0j0S8cLlfd.cjs"),i=require("./BYp7-QW_AGEONvMr.cjs");var a=e.r(t.i(),1),o=e.r(t.r(),1),s=[`Ok`,`Cancel`],c=(0,a.memo)(e=>{let{initialValue:t,context:c,onOption:l,onValidateOption:u,onInput:d,onDone:f,options:p=s,defaultOption:m=p?.[0],cancelOption:h=`Cancel`,sx:g,..._}=e,v=n.Xt(),[y,b]=(0,a.useState)(t),x=n.tt(async e=>{let t=e===h;t||d?.(y,e),l?.(e,t,e===m),f?.()},[y,d,f,l,h,m]),S=(0,a.useCallback)(async e=>await Promise.resolve(u?.(e))??!0,[u]);return(0,o.jsx)(r.i,{title:v(`numberFormat.dialogTitle`),options:p,onDone:f,onOption:e=>x(e),onValidateOption:S,defaultOption:m,cancelOption:h,autoFocusSel:`.sxl-nf-cat-active`,sx:{width:`512px`,...g},..._,children:(0,o.jsx)(i.t,{value:y,onChange:b,onCommit:()=>x(m),context:c,style:{paddingTop:`4px`}})})});exports.NumberFormatDialog=c,exports.default=c;
|