@sheetxl/sdk 0.4.19 → 0.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/browser/cjs/{CBHpVFiJCCNa32Qd.cjs → 2Ek3ERw3_Bykd8fw.cjs} +2 -2
  2. package/browser/cjs/{D6QgMx0WUlWgYoae.cjs → 6TI34Ha4FA7iPlUF.cjs} +1 -1
  3. package/browser/cjs/{DaYyPfJx_pc2iDDm.cjs → BCHaDG_rDvnn8ZBd.cjs} +1 -1
  4. package/browser/cjs/{BWO4PWgRzvVsWDJA.cjs → Bahkk8039gRyN9Mo.cjs} +1 -1
  5. package/browser/cjs/{CAyn-VHwt044Jaid.cjs → BngbTy19wpFaenhY.cjs} +1 -1
  6. package/browser/cjs/{BnloHxo3XPFlt9gf.cjs → Bp7N_nyopyZKjRRL.cjs} +1 -1
  7. package/browser/cjs/{BmLK2Q7ZKH-MpZf2.cjs → BtV6fyILcBfpVmM0.cjs} +1 -1
  8. package/browser/cjs/{BPzvAcSjBOPCLRae.cjs → Bv8Q9Woak_tt-5Pm.cjs} +1 -1
  9. package/browser/cjs/{hW1yREos32gpIHsR.cjs → CBMFkyyTw0XlFLRH.cjs} +1 -1
  10. package/browser/cjs/{DoPx_0PJzz8WOjE-.cjs → CEebzMIuXLwwzsFT.cjs} +1 -1
  11. package/browser/cjs/{hReZyLibRX_QhdqA.cjs → CM1U1IRvnVgZaUwu.cjs} +1 -1
  12. package/browser/cjs/{V_uwtlknwPnP2Un_.cjs → CvJBfy0UeKfDQ8dm.cjs} +1 -1
  13. package/browser/cjs/CvXi1eD_vGRkx_Qg.cjs +124 -0
  14. package/browser/cjs/Cw2bnqP6ZrrZ2Bbq.cjs +7 -0
  15. package/browser/cjs/{C9nSUDDtDNZklTgo.cjs → D-JnQCqB1E48ybn1.cjs} +1 -1
  16. package/browser/cjs/{DoXjUhbXYEMYEj6w.cjs → D30MUnA7XeRC7nKA.cjs} +1 -1
  17. package/browser/cjs/{eL4wAPO18NOtxRmW.cjs → D6U-YLLOpX5BzDpj.cjs} +1 -1
  18. package/browser/cjs/{-XdpUGDwGmHHx1Rt.cjs → DBYUO1gBwFZ9YzXu.cjs} +1 -1
  19. package/browser/cjs/DBgdjlLJAvbKQ6m1.cjs +53 -0
  20. package/browser/cjs/{D8kiw7ChCC7ethCe.cjs → DMM_7MUTtUyTxUte.cjs} +1 -1
  21. package/browser/cjs/{CrfDFjK9RNj481-9.cjs → DP5RAH-JZmys2_Ez.cjs} +1 -1
  22. package/browser/cjs/{C0dfikqxNZtNj-22.cjs → DV6ZkCTUWQA6p4rK.cjs} +1 -1
  23. package/browser/cjs/{Doku1UVzxfUkKjsU.cjs → DnCv1ao4SJJC07Rk.cjs} +1 -1
  24. package/browser/cjs/{Bg5cGAcyMKhc1LVR.cjs → Du14zhQYf2mcjgP8.cjs} +1 -1
  25. package/browser/cjs/index.cjs +2 -2
  26. package/browser/cjs/{qjfxOoVcFF4_7fg8.cjs → j7VVtACDr_Df6VoV.cjs} +1 -1
  27. package/browser/cjs/{B9v3u3hwmPue1Crf.cjs → mCTmXzm3-Nr4hMMh.cjs} +1 -1
  28. package/browser/cjs/{DPc0gEusAoUYAI0O.cjs → z7NeiDHMwAIvmXQM.cjs} +1 -1
  29. package/browser/esm/{5v6eKDgISAObg5Sk.mjs → 8ZQRIB2EsDWE9tsR.mjs} +7787 -9081
  30. package/browser/esm/{DnRa0ZQVLa2Fqzju.mjs → AZWItMZ40w7pXzM3.mjs} +6 -4
  31. package/{node/esm/DIiCZ8EuWYWD1G4X.mjs → browser/esm/B1NCmSNzMv8wue5X.mjs} +1 -1
  32. package/browser/esm/{DW6X_ih_Ttv8w6c2.mjs → B4TD60vusDQB28Y6.mjs} +1 -1
  33. package/browser/esm/{D36yXHRPCJFPE2Cn.mjs → BGt455yLuaSCtS3B.mjs} +1 -1
  34. package/{node/esm/BefBv4Sji_c90mMN.mjs → browser/esm/BH6V9bxFT7tKt3JY.mjs} +1 -1
  35. package/browser/esm/{BYu-X1qYzm9tZ3jy.mjs → C08q_YT1-6oRRKn7.mjs} +1 -1
  36. package/browser/esm/{CyZcmz9fV3_Zu57s.mjs → C3lBcMoGYfLhgMfA.mjs} +1 -1
  37. package/browser/esm/{C0HNcnUg1sYe6vKJ.mjs → C3ppHQZRcF8ZsuOM.mjs} +1 -1
  38. package/browser/esm/{B6zlCMitM169AEV5.mjs → C3xhjguoFh_LLdE0.mjs} +1 -1
  39. package/browser/esm/{CxdfUZ_whNEdCrBM.mjs → C86MlawsKJdD9LF8.mjs} +1 -1
  40. package/browser/esm/{C_hMM356eOyIGEgy.mjs → CWaBHMvzzTzqW2aW.mjs} +1 -1
  41. package/browser/esm/{CZ6VZ3NtZyMBJLvF.mjs → C_UDq7u8kN8EM5VM.mjs} +1 -1
  42. package/browser/esm/{aR99Cx5S9piceH0j.mjs → CiHNaJRMjs_J-E64.mjs} +1 -1
  43. package/{node/esm/JP2SydGPgN2PrEam.mjs → browser/esm/DP2FYMLsdP_WcDYS.mjs} +1 -1
  44. package/{node/esm/DLn3G10hRwsZCSWB.mjs → browser/esm/DQpvGf222ccOGfjU.mjs} +1 -1
  45. package/browser/esm/{D9GMsV9S5kpEpaQ3.mjs → DU9crFdCyt80pRza.mjs} +2 -2
  46. package/{node/esm/Cy781c813953r7bq.mjs → browser/esm/Dbm37kRSyl_8FJoJ.mjs} +1 -1
  47. package/{node/esm/BgePMvIc6yA6_ebp.mjs → browser/esm/DkpEl_DXRacSkWrt.mjs} +1 -1
  48. package/browser/esm/{CV8kpqwdAKIIEJia.mjs → DmY32GhkYpEm8mSs.mjs} +1 -1
  49. package/browser/esm/{XrA8fo2R4AS3HzFz.mjs → XiCMvT7sjmvl0gUN.mjs} +1 -1
  50. package/browser/esm/{N5WXqNpZDnhetIYG.mjs → YC7mlG3gvQikwmLc.mjs} +1 -1
  51. package/{node/esm/BrAfC_Hz1HZiZjNh.mjs → browser/esm/bhTV2Kuwe5GAobt1.mjs} +1 -1
  52. package/{node/esm/CrBwUqwLJqFG3U4m.mjs → browser/esm/graF5_D09QCDSoHN.mjs} +1 -1
  53. package/browser/esm/index.mjs +54 -82
  54. package/browser/esm/{1v0wWt1fqPRDORx-.mjs → tkRDOxVCj9OmVmBR.mjs} +1 -1
  55. package/browser/esm/{OBWvICzxYhna2IxF.mjs → zGGld_iCASteK8iy.mjs} +1 -1
  56. package/browser/esm/{Dnypbs7l46y-W1pE.mjs → zJQ-f_DFW5-NL9Jy.mjs} +46 -44
  57. package/licenses/dependencies.txt +0 -66
  58. package/node/esm/{BNu3V1ap_WR3jqdX.mjs → 4kTocRYniLajS_hb.mjs} +1 -1
  59. package/{browser/esm/DIiCZ8EuWYWD1G4X.mjs → node/esm/B1NCmSNzMv8wue5X.mjs} +1 -1
  60. package/node/esm/{D36yXHRPCJFPE2Cn.mjs → BGt455yLuaSCtS3B.mjs} +1 -1
  61. package/{browser/esm/BefBv4Sji_c90mMN.mjs → node/esm/BH6V9bxFT7tKt3JY.mjs} +1 -1
  62. package/node/esm/{BhJMGJ-z8AHuc4PL.mjs → BTi4XED3s0teHiBt.mjs} +1 -1
  63. package/node/esm/{CteSWuaSiS_quyBE.mjs → BXBNHBvt9nYiWgUU.mjs} +1 -1
  64. package/node/esm/{CjPySw20pNmqGeem.mjs → BmmN529Wnsai7InC.mjs} +1 -1
  65. package/node/esm/{kQVOc3F7_ib5L98K.mjs → Bmv6hV4ffBD80ICq.mjs} +253 -251
  66. package/node/esm/{CyZcmz9fV3_Zu57s.mjs → C3lBcMoGYfLhgMfA.mjs} +1 -1
  67. package/node/esm/{C0HNcnUg1sYe6vKJ.mjs → C3ppHQZRcF8ZsuOM.mjs} +1 -1
  68. package/node/esm/{B6zlCMitM169AEV5.mjs → C3xhjguoFh_LLdE0.mjs} +1 -1
  69. package/node/esm/{CxdfUZ_whNEdCrBM.mjs → C86MlawsKJdD9LF8.mjs} +1 -1
  70. package/node/esm/{BvdYpC2TrqFNZ1dz.mjs → CrCDm1JQ6LgVBdtF.mjs} +1 -1
  71. package/{browser/esm/JP2SydGPgN2PrEam.mjs → node/esm/DP2FYMLsdP_WcDYS.mjs} +1 -1
  72. package/{browser/esm/DLn3G10hRwsZCSWB.mjs → node/esm/DQpvGf222ccOGfjU.mjs} +1 -1
  73. package/{browser/esm/Cy781c813953r7bq.mjs → node/esm/Dbm37kRSyl_8FJoJ.mjs} +1 -1
  74. package/{browser/esm/BgePMvIc6yA6_ebp.mjs → node/esm/DkpEl_DXRacSkWrt.mjs} +1 -1
  75. package/node/esm/{CV8kpqwdAKIIEJia.mjs → DmY32GhkYpEm8mSs.mjs} +1 -1
  76. package/node/esm/{DbXESzawTrm7E2Do.mjs → DrT-57di5SkkFmk2.mjs} +1 -1
  77. package/node/esm/{BSbOEM-6aEtAEUn2.mjs → DyijBggm1X4Ksin0.mjs} +362 -360
  78. package/node/esm/{CHeQiTLK58a6NVsG.mjs → PynWQEh5r-eYdDWa.mjs} +1 -1
  79. package/node/esm/{N5WXqNpZDnhetIYG.mjs → YC7mlG3gvQikwmLc.mjs} +1 -1
  80. package/{browser/esm/BrAfC_Hz1HZiZjNh.mjs → node/esm/bhTV2Kuwe5GAobt1.mjs} +1 -1
  81. package/{browser/esm/CrBwUqwLJqFG3U4m.mjs → node/esm/graF5_D09QCDSoHN.mjs} +1 -1
  82. package/node/esm/index.mjs +12263 -13563
  83. package/node/esm/{OBWvICzxYhna2IxF.mjs → zGGld_iCASteK8iy.mjs} +1 -1
  84. package/package.json +5 -5
  85. package/browser/cjs/BSWe1zW77SdisEXi.cjs +0 -1501
  86. package/browser/cjs/C501EF7RGelm6o3R.cjs +0 -7
  87. package/browser/cjs/CJx8P3pZaRnS6Kny.cjs +0 -13
  88. package/browser/cjs/CxV1-OXj1ZO7MZQF.cjs +0 -60
  89. package/browser/cjs/DWPbAMkxOt6Cb9cp.cjs +0 -6
  90. package/browser/cjs/DWRcbn9JzkP-rey4.cjs +0 -32
  91. package/browser/cjs/DaEr2QpQ5d613oTn.cjs +0 -6
  92. package/browser/cjs/mN18HSNpekubzWOx.cjs +0 -6
  93. package/browser/cjs/oROZhcugo511lwYD.cjs +0 -124
  94. package/browser/esm/BaqE8hRXzTNVxA7s.mjs +0 -820
  95. package/browser/esm/Bf7DBXkGk1UG9hJQ.mjs +0 -21
  96. package/browser/esm/Br2kerMrZq0pplwK.mjs +0 -24
  97. package/browser/esm/BwotCxIgIVf7Syhx.mjs +0 -1575
  98. package/browser/esm/C94a-TJowUoPL9Fp.mjs +0 -29
  99. package/browser/esm/dRf_0yDP86DLaRrp.mjs +0 -472
  100. package/node/esm/07j0n4N6h6oBOk_2.mjs +0 -29
  101. package/node/esm/BSLIxDVCng1Ep_kU.mjs +0 -14
  102. package/node/esm/Bx9qRsBq80w6DZmQ.mjs +0 -454
  103. package/node/esm/BxOnww5rEBN0LYwd.mjs +0 -80
  104. package/node/esm/DK54CIvklXVGAymn.mjs +0 -813
  105. package/node/esm/DjenIXryJ8ccxNad.mjs +0 -16
@@ -1,10 +1,12 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.19
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.4.21
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
6
6
  */
7
- import { FormulaError as n, F as t, ScalarType as e, IRange as r, CommonUtils as u, T as o } from "./index.mjs";
7
+ import { FormulaError as n, ScalarType as t, IRange as e } from "@sheetxl/primitives";
8
+ import { CommonUtils as r } from "@sheetxl/utils";
9
+ import { F as u, T as o } from "./index.mjs";
8
10
  import a from "bessel";
9
11
  import i from "jstat";
10
12
  import { bahttext as l } from "bahttext";
@@ -144,34 +146,34 @@ function A(n2) {
144
146
  function R(n2, t2) {
145
147
  return n2.getUTCFullYear() === t2.getUTCFullYear() && n2.getUTCMonth() === t2.getUTCMonth() && n2.getUTCDate() === t2.getUTCDate();
146
148
  }
147
- function C(n2, e2, r2) {
148
- const u2 = t.fromOADate(n2), o2 = t.fromOADate(e2);
149
- if (r2 = r2.toLowerCase(), n2 > e2) return Number.NaN;
150
- const a2 = o2.getUTCFullYear() - u2.getUTCFullYear(), i2 = o2.getUTCMonth() - u2.getUTCMonth(), l2 = o2.getUTCDate() - u2.getUTCDate();
149
+ function C(n2, t2, e2) {
150
+ const r2 = u.fromOADate(n2), o2 = u.fromOADate(t2);
151
+ if (e2 = e2.toLowerCase(), n2 > t2) return Number.NaN;
152
+ const a2 = o2.getUTCFullYear() - r2.getUTCFullYear(), i2 = o2.getUTCMonth() - r2.getUTCMonth(), l2 = o2.getUTCDate() - r2.getUTCDate();
151
153
  let s2;
152
- switch (r2) {
154
+ switch (e2) {
153
155
  case "y":
154
156
  return s2 = i2 < 0 || 0 === i2 && l2 < 0 ? -1 : 0, s2 + a2;
155
157
  case "m":
156
158
  return s2 = l2 < 0 ? -1 : 0, 12 * a2 + i2 + s2;
157
159
  case "d":
158
- return Math.floor(o2.getTime() - u2.getTime()) / p;
160
+ return Math.floor(o2.getTime() - r2.getTime()) / p;
159
161
  case "md":
160
- return u2.setUTCFullYear(o2.getUTCFullYear()), l2 < 0 ? u2.setUTCMonth(o2.getUTCMonth() - 1) : u2.setUTCMonth(o2.getUTCMonth()), Math.floor(o2.getTime() - u2.getTime()) / p;
162
+ return r2.setUTCFullYear(o2.getUTCFullYear()), l2 < 0 ? r2.setUTCMonth(o2.getUTCMonth() - 1) : r2.setUTCMonth(o2.getUTCMonth()), Math.floor(o2.getTime() - r2.getTime()) / p;
161
163
  case "ym":
162
164
  return s2 = l2 < 0 ? -1 : 0, (s2 + 12 * a2 + i2) % 12;
163
165
  case "yd":
164
- return i2 < 0 || 0 === i2 && l2 < 0 ? u2.setUTCFullYear(o2.getUTCFullYear() - 1) : u2.setUTCFullYear(o2.getUTCFullYear()), Math.floor(o2.getTime() - u2.getTime()) / p;
166
+ return i2 < 0 || 0 === i2 && l2 < 0 ? r2.setUTCFullYear(o2.getUTCFullYear() - 1) : r2.setUTCFullYear(o2.getUTCFullYear()), Math.floor(o2.getTime() - r2.getTime()) / p;
165
167
  }
166
168
  }
167
169
  function O(n2, t2) {
168
170
  return Math.trunc(n2) - Math.trunc(t2);
169
171
  }
170
- function D(n2, e2, r2 = false) {
171
- const u2 = t.fromOADate(n2), o2 = t.fromOADate(e2);
172
- 31 === u2.getUTCDate() && u2.setUTCDate(30), !r2 && u2.getUTCDate() < 30 && o2.getUTCDate() > 30 ? o2.setUTCMonth(o2.getUTCMonth() + 1, 1) : 31 === o2.getUTCDate() && o2.setUTCDate(30);
173
- const a2 = o2.getUTCFullYear() - u2.getUTCFullYear();
174
- return 30 * (o2.getUTCMonth() - u2.getUTCMonth()) + (o2.getUTCDate() - u2.getUTCDate()) + 12 * a2 * 30;
172
+ function D(n2, t2, e2 = false) {
173
+ const r2 = u.fromOADate(n2), o2 = u.fromOADate(t2);
174
+ 31 === r2.getUTCDate() && r2.setUTCDate(30), !e2 && r2.getUTCDate() < 30 && o2.getUTCDate() > 30 ? o2.setUTCMonth(o2.getUTCMonth() + 1, 1) : 31 === o2.getUTCDate() && o2.setUTCDate(30);
175
+ const a2 = o2.getUTCFullYear() - r2.getUTCFullYear();
176
+ return 30 * (o2.getUTCMonth() - r2.getUTCMonth()) + (o2.getUTCDate() - r2.getUTCDate()) + 12 * a2 * 30;
175
177
  }
176
178
  function y(n2) {
177
179
  const t2 = A(n2), e2 = new Date(Date.UTC(t2.getFullYear(), t2.getMonth(), t2.getDate())), r2 = e2.getUTCDay();
@@ -214,50 +216,50 @@ function w(t2, e2, r2 = 1, u2 = null) {
214
216
  }
215
217
  return M(t2) - 1;
216
218
  }
217
- function B(e2, r2, u2 = 0) {
218
- let o2 = t.fromOADate(e2), a2 = t.fromOADate(r2);
219
+ function B(t2, e2, r2 = 0) {
220
+ let o2 = u.fromOADate(t2), a2 = u.fromOADate(e2);
219
221
  if (o2 > a2) {
220
222
  const n2 = o2;
221
223
  o2 = a2, a2 = n2;
222
- const t2 = e2;
223
- e2 = r2, r2 = t2;
224
+ const r3 = t2;
225
+ t2 = e2, e2 = r3;
224
226
  }
225
- if ((u2 = Math.trunc(u2)) < 0 || u2 > 4) throw n.BuiltIn.Value;
227
+ if ((r2 = Math.trunc(r2)) < 0 || r2 > 4) throw n.BuiltIn.Value;
226
228
  let i2 = o2.getUTCDate();
227
229
  const l2 = o2.getUTCMonth() + 1, s2 = o2.getUTCFullYear();
228
230
  let f2 = a2.getUTCDate();
229
231
  const c2 = a2.getUTCMonth() + 1, m2 = a2.getUTCFullYear();
230
- switch (u2) {
232
+ switch (r2) {
231
233
  case 0:
232
234
  return 31 === i2 && 31 === f2 ? (i2 = 30, f2 = 30) : 31 === i2 ? i2 = 30 : 30 === i2 && 31 === f2 && (f2 = 30), Math.abs(f2 + 30 * c2 + 360 * m2 - (i2 + 30 * l2 + 360 * s2)) / 360;
233
235
  case 1:
234
236
  if (m2 - s2 < 2) {
235
237
  const n2 = 1900 !== (p2 = s2) && 1 !== new Date(p2, 1, 29).getMonth() || 1900 === s2 ? 365 : 366;
236
- return O(r2, e2) / n2;
238
+ return O(e2, t2) / n2;
237
239
  }
238
240
  {
239
- const n2 = m2 - s2 + 1, t2 = new Date(m2 + 1, 0, 1), u3 = new Date(s2, 0, 1), o3 = (t2.getTime() - u3.getTime()) / 1e3 / 60 / 60 / 24 / n2;
240
- return O(r2, e2) / o3;
241
+ const n2 = m2 - s2 + 1, r3 = new Date(m2 + 1, 0, 1), u2 = new Date(s2, 0, 1), o3 = (r3.getTime() - u2.getTime()) / 1e3 / 60 / 60 / 24 / n2;
242
+ return O(e2, t2) / o3;
241
243
  }
242
244
  case 2:
243
- return Math.abs(O(r2, e2) / 360);
245
+ return Math.abs(O(e2, t2) / 360);
244
246
  case 3:
245
- return Math.abs(O(r2, e2) / 365);
247
+ return Math.abs(O(e2, t2) / 365);
246
248
  case 4:
247
249
  return Math.abs(f2 + 30 * c2 + 360 * m2 - (i2 + 30 * l2 + 360 * s2)) / 360;
248
250
  }
249
251
  var p2;
250
252
  }
251
- const U = Object.freeze(Object.defineProperty({ __proto__: null, DATE: function(n2, e2, r2) {
252
- return n2 < 0 || n2 >= 1e4 ? Number.NaN : (n2 < 1900 && (n2 += 1900), t.formatResults("Short Date"), t.toOADate(new Date(n2, e2 - 1, r2)));
253
+ const U = Object.freeze(Object.defineProperty({ __proto__: null, DATE: function(n2, t2, e2) {
254
+ return n2 < 0 || n2 >= 1e4 ? Number.NaN : (n2 < 1900 && (n2 += 1900), u.formatResults("Short Date"), u.toOADate(new Date(n2, t2 - 1, e2)));
253
255
  }, DATEDIF: C, DATESTRING: function(t2) {
254
256
  return n.BuiltIn.NA;
255
- }, DATEVALUE: function(e2) {
257
+ }, DATEVALUE: function(t2) {
256
258
  try {
257
- const r2 = t.parseAsDateTime(e2);
258
- if (!r2) throw n.BuiltIn.Value;
259
- return Math.floor(r2);
260
- } catch (t2) {
259
+ const e2 = u.parseAsDateTime(t2);
260
+ if (!e2) throw n.BuiltIn.Value;
261
+ return Math.floor(e2);
262
+ } catch (t3) {
261
263
  throw n.BuiltIn.Value;
262
264
  }
263
265
  }, DAY: function(n2) {
@@ -337,19 +339,19 @@ const U = Object.freeze(Object.defineProperty({ __proto__: null, DATE: function(
337
339
  }
338
340
  return o2 * i2;
339
341
  }, NOW: function() {
340
- const n2 = /* @__PURE__ */ new Date(), e2 = M(Date.UTC(n2.getFullYear(), n2.getMonth(), n2.getDate(), n2.getHours(), n2.getMinutes(), n2.getSeconds(), n2.getMilliseconds())) + (3600 * n2.getHours() + 60 * n2.getMinutes() + n2.getSeconds()) / 86400;
341
- return t.markVolatile(), t.formatResults("Short Date Short Time"), e2;
342
+ const n2 = /* @__PURE__ */ new Date(), t2 = M(Date.UTC(n2.getFullYear(), n2.getMonth(), n2.getDate(), n2.getHours(), n2.getMinutes(), n2.getSeconds(), n2.getMilliseconds())) + (3600 * n2.getHours() + 60 * n2.getMinutes() + n2.getSeconds()) / 86400;
343
+ return u.markVolatile(), u.formatResults("Short Date Short Time"), t2;
342
344
  }, SECOND: function(n2) {
343
345
  return A(n2).getUTCSeconds();
344
- }, TIME: function(n2, e2, r2) {
345
- return n2 < 0 || n2 > 32767 || e2 < 0 || e2 > 32767 || r2 < 0 || r2 > 32767 ? Number.NaN : (t.formatResults("Medium Time"), (3600 * n2 + 60 * e2 + r2) / 86400);
346
+ }, TIME: function(n2, t2, e2) {
347
+ return n2 < 0 || n2 > 32767 || t2 < 0 || t2 > 32767 || e2 < 0 || e2 > 32767 ? Number.NaN : (u.formatResults("Medium Time"), (3600 * n2 + 60 * t2 + e2) / 86400);
346
348
  }, TIMEVALUE: function(n2) {
347
349
  const t2 = A(n2);
348
350
  return (3600 * t2.getUTCHours() + 60 * t2.getUTCMinutes() + t2.getUTCSeconds()) / 86400;
349
351
  }, TODAY: function() {
350
- t.formatResults("Short Date");
352
+ u.formatResults("Short Date");
351
353
  const n2 = /* @__PURE__ */ new Date();
352
- return t.toOADate(new Date(n2.getFullYear(), n2.getMonth(), n2.getDate()));
354
+ return u.toOADate(new Date(n2.getFullYear(), n2.getMonth(), n2.getDate()));
353
355
  }, WEEKDAY: function(t2, e2 = 1) {
354
356
  const r2 = A(t2).getUTCDay(), u2 = E[e2];
355
357
  if (!u2) throw n.BuiltIn.Num;
@@ -654,14 +656,14 @@ function fn(n2) {
654
656
  function cn(n2) {
655
657
  return !(n2 < 0 || n2 > 4);
656
658
  }
657
- function mn(n2, e2, r2, u2 = 0, o2 = 0) {
659
+ function mn(n2, t2, e2, r2 = 0, o2 = 0) {
658
660
  let a2;
659
- if (0 === n2) a2 = u2 + r2 * e2;
661
+ if (0 === n2) a2 = r2 + e2 * t2;
660
662
  else {
661
- const t2 = Math.pow(1 + n2, e2);
662
- a2 = 1 === o2 ? u2 * t2 + r2 * (1 + n2) * (t2 - 1) / n2 : u2 * t2 + r2 * (t2 - 1) / n2;
663
+ const u2 = Math.pow(1 + n2, t2);
664
+ a2 = 1 === o2 ? r2 * u2 + e2 * (1 + n2) * (u2 - 1) / n2 : r2 * u2 + e2 * (u2 - 1) / n2;
663
665
  }
664
- return t.formatResults(an(t.getRuntime())), -a2;
666
+ return u.formatResults(an(u.getRuntime())), -a2;
665
667
  }
666
668
  function pn(t2, ...e2) {
667
669
  if (e2.length > 254) throw n.BuiltIn.Value;
@@ -675,32 +677,32 @@ function pn(t2, ...e2) {
675
677
  }
676
678
  return r2;
677
679
  }
678
- function Nn(n2, e2, r2, u2 = 0, o2 = 0) {
679
- if (0 === n2) return (-r2 - u2) / e2;
680
+ function Nn(n2, t2, e2, r2 = 0, o2 = 0) {
681
+ if (0 === n2) return (-e2 - r2) / t2;
680
682
  o2 = o2 ? 1 : 0;
681
- const a2 = Math.pow(1 + n2, e2);
682
- return t.formatResults(an(t.getRuntime())), (u2 * n2 + r2 * n2 * a2) * (o2 ? 1 / (1 + n2) : 1) / (1 - a2);
683
+ const a2 = Math.pow(1 + n2, t2);
684
+ return u.formatResults(an(u.getRuntime())), (r2 * n2 + e2 * n2 * a2) * (o2 ? 1 / (1 + n2) : 1) / (1 - a2);
683
685
  }
684
686
  const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: function(n2, t2, e2, r2, u2, o2, a2 = 0, i2 = true) {
685
687
  return fn(n2) && fn(t2) && fn(e2) && sn(o2) && !cn(a2) ? u2 * r2 * B(n2, e2, a2) : Number.NaN;
686
688
  }, ACCRINTM: function(n2, t2, e2, r2, u2 = 0) {
687
689
  }, AMORLINC: function(n2, t2, e2, r2, u2, o2, a2 = 0) {
688
690
  }, COUPDAYBS: function(n2, t2, e2, r2 = 0) {
689
- }, COUPDAYS: function(n2, e2, r2, u2 = 0) {
690
- if (1 === u2) {
691
- const u3 = function(n3, t2, e3) {
692
- const r3 = new Date(t2);
693
- if (r3.setFullYear(n3.getFullYear()), r3 > n3) for (; r3 > n3; ) r3.setMonth(r3.getMonth() - Math.round(12 / e3));
691
+ }, COUPDAYS: function(n2, t2, e2, r2 = 0) {
692
+ if (1 === r2) {
693
+ const r3 = function(n3, t3, e3) {
694
+ const r4 = new Date(t3);
695
+ if (r4.setFullYear(n3.getFullYear()), r4 > n3) for (; r4 > n3; ) r4.setMonth(r4.getMonth() - Math.round(12 / e3));
694
696
  else {
695
- const t3 = new Date(r3);
696
- for (t3.setMonth(t3.getMonth() + Math.round(12 / e3)); t3 <= n3; ) r3.setTime(t3.getTime()), t3.setMonth(t3.getMonth() + Math.round(12 / e3));
697
+ const t4 = new Date(r4);
698
+ for (t4.setMonth(t4.getMonth() + Math.round(12 / e3)); t4 <= n3; ) r4.setTime(t4.getTime()), t4.setMonth(t4.getMonth() + Math.round(12 / e3));
697
699
  }
698
- return r3;
699
- }(t.fromOADate(n2), t.fromOADate(e2), r2), o3 = new Date(u3);
700
- return o3.setMonth(o3.getMonth() + Math.round(12 / r2)), C(t.toOADate(u3), t.toOADate(o3), "D");
700
+ return r4;
701
+ }(u.fromOADate(n2), u.fromOADate(t2), e2), o3 = new Date(r3);
702
+ return o3.setMonth(o3.getMonth() + Math.round(12 / e2)), C(u.toOADate(r3), u.toOADate(o3), "D");
701
703
  }
702
704
  let o2;
703
- switch (u2) {
705
+ switch (r2) {
704
706
  case 0:
705
707
  case 2:
706
708
  case 4:
@@ -712,7 +714,7 @@ const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: funct
712
714
  default:
713
715
  return Number.NaN;
714
716
  }
715
- return o2 / r2;
717
+ return o2 / e2;
716
718
  }, COUPNCD: function(n2, t2, e2, r2 = 0) {
717
719
  }, COUPNUM: function(n2, t2, e2, r2 = 0) {
718
720
  }, COUPPCD: function(n2, t2, e2, r2 = 0) {
@@ -737,18 +739,18 @@ const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: funct
737
739
  1 === r2 && (i2 = 0 === o2 ? a2 + e2 * n2 : a2, r2++);
738
740
  for (let t3 = r2; t3 <= u2; t3++) i2 += o2 > 0 ? a2 - (mn(n2, t3 - 2, a2, e2, 1) - a2) * n2 : a2 - mn(n2, t3 - 1, a2, e2, 0) * n2;
739
741
  return i2;
740
- }, DB: function(n2, e2, r2, u2, o2 = 12) {
741
- if (n2 < 0 || e2 < 0 || r2 < 0 || u2 < 0) return Number.NaN;
742
+ }, DB: function(n2, t2, e2, r2, o2 = 12) {
743
+ if (n2 < 0 || t2 < 0 || e2 < 0 || r2 < 0) return Number.NaN;
742
744
  if (o2 < 1 || o2 > 12) return Number.NaN;
743
- if (u2 > r2) return Number.NaN;
744
- if (e2 >= n2) return 0;
745
- const a2 = 1 - Math.pow(e2 / n2, 1 / r2), i2 = Math.round(1e3 * a2) / 1e3;
746
- if (t.formatResults(an(t.getRuntime())), 1 === u2) return n2 * i2 * o2 / 12;
745
+ if (r2 > e2) return Number.NaN;
746
+ if (t2 >= n2) return 0;
747
+ const a2 = 1 - Math.pow(t2 / n2, 1 / e2), i2 = Math.round(1e3 * a2) / 1e3;
748
+ if (u.formatResults(an(u.getRuntime())), 1 === r2) return n2 * i2 * o2 / 12;
747
749
  let l2 = n2 * i2 * o2 / 12;
748
- for (let t2 = 2; t2 <= u2; t2++) {
749
- if (t2 === u2 && u2 === r2) return Math.max(0, n2 - l2 - e2);
750
+ for (let u2 = 2; u2 <= r2; u2++) {
751
+ if (u2 === r2 && r2 === e2) return Math.max(0, n2 - l2 - t2);
750
752
  const o3 = (n2 - l2) * i2;
751
- if (t2 === u2) return o3;
753
+ if (u2 === r2) return o3;
752
754
  l2 += o3;
753
755
  }
754
756
  return 0;
@@ -805,8 +807,8 @@ const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: funct
805
807
  r2 *= 1 + t3;
806
808
  }
807
809
  return r2;
808
- }, INTRATE: function(n2, e2, r2, u2, o2 = 2) {
809
- return fn(n2) && fn(e2) && cn(o2) ? r2 <= 0 || u2 <= 0 || n2 >= e2 ? Number.NaN : r2 >= u2 ? 1 / 0 : ln(t.fromOADate(n2), t.fromOADate(e2)) ? Number.NaN : void 0 : Number.NaN;
810
+ }, INTRATE: function(n2, t2, e2, r2, o2 = 2) {
811
+ return fn(n2) && fn(t2) && cn(o2) ? e2 <= 0 || r2 <= 0 || n2 >= t2 ? Number.NaN : e2 >= r2 ? 1 / 0 : ln(u.fromOADate(n2), u.fromOADate(t2)) ? Number.NaN : void 0 : Number.NaN;
810
812
  }, IPMT: function(n2, t2, e2, r2, u2 = 0, o2 = 0) {
811
813
  const a2 = Nn(n2, e2, r2, u2, o2);
812
814
  return 1 === t2 ? n2 * (o2 ? 0 : -r2) : n2 * (o2 ? mn(n2, t2 - 2, a2, r2, o2) - a2 : mn(n2, t2 - 1, a2, r2, o2));
@@ -867,8 +869,8 @@ const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: funct
867
869
  return u2 - r2 * u2 * i2 / a2;
868
870
  }, PRICEMAT: function(n2, t2, e2, r2, u2, o2 = 0) {
869
871
  if (!(fn(n2) && fn(t2) && fn(e2) && cn(o2))) return Number.NaN;
870
- }, PV: function(n2, e2, r2, u2 = 0, o2 = 0) {
871
- return o2 = o2 ? 1 : 0, -1 === n2 ? 0 === e2 ? Number.NaN : 1 / 0 : (t.formatResults(an(t.getRuntime())), 0 === n2 ? -r2 * e2 - u2 : ((1 - Math.pow(1 + n2, e2)) * r2 * (1 + n2 * o2) / n2 - u2) / Math.pow(1 + n2, e2));
872
+ }, PV: function(n2, t2, e2, r2 = 0, o2 = 0) {
873
+ return o2 = o2 ? 1 : 0, -1 === n2 ? 0 === t2 ? Number.NaN : 1 / 0 : (u.formatResults(an(u.getRuntime())), 0 === n2 ? -e2 * t2 - r2 : ((1 - Math.pow(1 + n2, t2)) * e2 * (1 + n2 * o2) / n2 - r2) / Math.pow(1 + n2, t2));
872
874
  }, RATE: function(t2, e2, r2, u2 = 0, o2 = 0, a2 = 0.1) {
873
875
  if (a2 <= -1) throw n.BuiltIn.Value;
874
876
  o2 = o2 ? 1 : 0;
@@ -902,18 +904,18 @@ const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: funct
902
904
  if (!fn(e2) || !fn(r2)) throw n.BuiltIn.Num;
903
905
  }, SYD: function(n2, t2, e2, r2) {
904
906
  return r2 > e2 ? Number.NaN : (n2 - t2) * (e2 - r2 + 1) * 2 / (e2 * (e2 + 1));
905
- }, TBILLEQ: function(n2, e2, r2) {
906
- if (!fn(n2) || !fn(e2)) return Number.NaN;
907
- if ((n2 = Math.round(n2)) >= (e2 = Math.round(e2)) || ln(t.fromOADate(n2), t.fromOADate(e2))) return Number.NaN;
908
- const u2 = 360 - r2 * (e2 - n2);
909
- return 0 === u2 ? 0 : u2 < 0 ? Number.NaN : 365 * r2 / u2;
910
- }, TBILLPRICE: function(n2, e2, r2) {
911
- if (!fn(n2) || !fn(e2)) return Number.NaN;
912
- if ((n2 = Math.round(n2)) >= (e2 = Math.round(e2)) || ln(t.fromOADate(n2), t.fromOADate(e2))) return Number.NaN;
913
- const u2 = 360 - r2 * (e2 - n2);
914
- return 0 === u2 ? 0 : u2 < 0 ? Number.NaN : 100 * (1 - r2 * (e2 - n2) / 360);
915
- }, TBILLYIELD: function(n2, e2, r2) {
916
- return fn(n2) && fn(e2) ? (n2 = Math.round(n2)) >= (e2 = Math.round(e2)) || ln(t.fromOADate(n2), t.fromOADate(e2)) ? Number.NaN : 360 * (100 - r2) / (r2 * (e2 - n2)) : Number.NaN;
907
+ }, TBILLEQ: function(n2, t2, e2) {
908
+ if (!fn(n2) || !fn(t2)) return Number.NaN;
909
+ if ((n2 = Math.round(n2)) >= (t2 = Math.round(t2)) || ln(u.fromOADate(n2), u.fromOADate(t2))) return Number.NaN;
910
+ const r2 = 360 - e2 * (t2 - n2);
911
+ return 0 === r2 ? 0 : r2 < 0 ? Number.NaN : 365 * e2 / r2;
912
+ }, TBILLPRICE: function(n2, t2, e2) {
913
+ if (!fn(n2) || !fn(t2)) return Number.NaN;
914
+ if ((n2 = Math.round(n2)) >= (t2 = Math.round(t2)) || ln(u.fromOADate(n2), u.fromOADate(t2))) return Number.NaN;
915
+ const r2 = 360 - e2 * (t2 - n2);
916
+ return 0 === r2 ? 0 : r2 < 0 ? Number.NaN : 100 * (1 - e2 * (t2 - n2) / 360);
917
+ }, TBILLYIELD: function(n2, t2, e2) {
918
+ return fn(n2) && fn(t2) ? (n2 = Math.round(n2)) >= (t2 = Math.round(t2)) || ln(u.fromOADate(n2), u.fromOADate(t2)) ? Number.NaN : 360 * (100 - e2) / (e2 * (t2 - n2)) : Number.NaN;
917
919
  }, VDB: function(n2, t2, e2, r2, u2, o2 = 2, a2 = false) {
918
920
  if (!fn(r2) || !fn(u2)) return Number.NaN;
919
921
  }, XIRR: function(n2, t2, e2 = 0.1) {
@@ -929,47 +931,47 @@ const hn = Object.freeze(Object.defineProperty({ __proto__: null, ACCRINT: funct
929
931
  }, YIELDMAT: function(n2, t2, e2, r2, u2, o2 = 0) {
930
932
  if (!fn(n2) || !fn(t2) || !cn(o2)) return Number.NaN;
931
933
  } }, Symbol.toStringTag, { value: "Module" }));
932
- const En = Object.freeze(Object.defineProperty({ __proto__: null, CELL: function(e2, r2) {
933
- let u2 = null;
934
- switch (e2) {
934
+ const En = Object.freeze(Object.defineProperty({ __proto__: null, CELL: function(t2, e2) {
935
+ let r2 = null;
936
+ switch (t2) {
935
937
  case "address":
936
- const e3 = r2.getCoords();
937
- u2 = t.getAddress({ colIndex: e3.colStart, $colIndex: true, rowIndex: e3.rowStart, $rowIndex: true });
938
+ const t3 = e2.getCoords();
939
+ r2 = u.getAddress({ colIndex: t3.colStart, $colIndex: true, rowIndex: t3.rowStart, $rowIndex: true });
938
940
  break;
939
941
  case "col":
940
942
  case "row":
941
- u2 = r2.getCoords().colStart + 1;
943
+ r2 = e2.getCoords().colStart + 1;
942
944
  break;
943
945
  case "contents":
944
- u2 = r2.getValueAt(0, 0);
946
+ r2 = e2.getValueAt(0, 0);
945
947
  break;
946
948
  case "type":
947
- const o2 = r2.getValueAt(0, 0);
948
- u2 = null === o2 ? "b" : "string" == typeof o2 ? "l" : "v";
949
+ const o2 = e2.getValueAt(0, 0);
950
+ r2 = null === o2 ? "b" : "string" == typeof o2 ? "l" : "v";
949
951
  break;
950
952
  default:
951
- u2 = n.BuiltIn.Value;
953
+ r2 = n.BuiltIn.Value;
952
954
  }
953
- return t.markVolatile(), u2;
955
+ return u.markVolatile(), r2;
954
956
  }, ERROR_TYPE: function(t2) {
955
957
  return t2.map((t3) => t3 instanceof n.Known ? t3.getCode() : n.BuiltIn.NA).fillEmpty(true);
956
- }, INFO: function(e2) {
957
- if ("DIRECTORY" === (e2 = e2.toUpperCase())) {
958
+ }, INFO: function(t2) {
959
+ if ("DIRECTORY" === (t2 = t2.toUpperCase())) {
958
960
  try {
959
- return t.markVolatile(), t.getRuntime().getLocation();
961
+ return u.markVolatile(), u.getRuntime().getLocation();
960
962
  } catch (n2) {
961
963
  }
962
964
  return "..";
963
965
  }
964
- if ("NUMFILE" === e2) return "1";
965
- if ("ORIGIN" === e2) return "$A$1";
966
- if ("RECALC" === e2) return "1";
967
- if ("RELEASE" === e2) return t.getRuntime().getVersion();
968
- if ("OSVERSION" === e2) return "1";
969
- if ("SYSTEM" === e2) return t.getRuntime().getOS();
970
- if ("USER" === e2) {
971
- const n2 = t.getRuntime().getUser();
972
- return n2 || (t.formatResults("@[Red]"), "Unidentified");
966
+ if ("NUMFILE" === t2) return "1";
967
+ if ("ORIGIN" === t2) return "$A$1";
968
+ if ("RECALC" === t2) return "1";
969
+ if ("RELEASE" === t2) return u.getRuntime().getVersion();
970
+ if ("OSVERSION" === t2) return "1";
971
+ if ("SYSTEM" === t2) return u.getRuntime().getOS();
972
+ if ("USER" === t2) {
973
+ const n2 = u.getRuntime().getUser();
974
+ return n2 || (u.formatResults("@[Red]"), "Unidentified");
973
975
  }
974
976
  throw n.BuiltIn.Value;
975
977
  }, ISBLANK: function(n2) {
@@ -981,7 +983,7 @@ const En = Object.freeze(Object.defineProperty({ __proto__: null, CELL: function
981
983
  }, ISEVEN: function(n2) {
982
984
  return n2.map((n3) => "number" == typeof n3 && Math.trunc(n3) % 2 == 0).fillEmpty(false);
983
985
  }, ISFORMULA: function(n2) {
984
- return n2.map((n3, e2) => null !== t.getFormulaAt(e2.rowIndex, e2.colIndex)).fillEmpty(false);
986
+ return n2.map((n3, t2) => null !== u.getFormulaAt(t2.rowIndex, t2.colIndex)).fillEmpty(false);
985
987
  }, ISLOGICAL: function(n2) {
986
988
  return n2.map((n3) => "boolean" == typeof n3).fillEmpty(false);
987
989
  }, ISNA: function(t2) {
@@ -1006,57 +1008,57 @@ const En = Object.freeze(Object.defineProperty({ __proto__: null, CELL: function
1006
1008
  return 0;
1007
1009
  }, NA: function() {
1008
1010
  return n.BuiltIn.NA;
1009
- }, SHEET: function(e2) {
1010
- const r2 = t.getSheetIndex(e2);
1011
- return r2 >= 0 ? r2 + 1 : n.BuiltIn.NA;
1011
+ }, SHEET: function(t2) {
1012
+ const e2 = u.getSheetIndex(t2);
1013
+ return e2 >= 0 ? e2 + 1 : n.BuiltIn.NA;
1012
1014
  }, SHEETS: function(n2) {
1013
- return n2 ? 1 : t.getSheetCount();
1015
+ return n2 ? 1 : u.getSheetCount();
1014
1016
  }, TYPE: function(t2) {
1015
1017
  if (t2.getWidth() > 1 || t2.getHeight() > 1) return 64;
1016
1018
  const e2 = t2.getValueAt(0, 0), r2 = typeof e2;
1017
1019
  return "string" === r2 ? 2 : "boolean" === r2 ? 4 : e2 instanceof n.Known ? 16 : 1;
1018
1020
  } }, Symbol.toStringTag, { value: "Module" }));
1019
- const gn = { mismatchFill: n.BuiltIn.NA }, In = { type: e.Boolean, coerce: true };
1020
- const Tn = Object.freeze(Object.defineProperty({ __proto__: null, AND: function(...t2) {
1021
+ const gn = { mismatchFill: n.BuiltIn.NA }, In = { type: t.Boolean, coerce: true };
1022
+ const Tn = Object.freeze(Object.defineProperty({ __proto__: null, AND: function(...e2) {
1021
1023
  let r2 = false;
1022
- for (const n2 of t2) for (const t3 of n2.values({ type: e.Boolean, coerce: true })) if (r2 = true, !t3) return false;
1024
+ for (const n2 of e2) for (const e3 of n2.values({ type: t.Boolean, coerce: true })) if (r2 = true, !e3) return false;
1023
1025
  return !!r2 || n.BuiltIn.Value;
1024
1026
  }, BYCOL: function(n2, t2) {
1025
1027
  }, BYROW: function(n2, t2) {
1026
1028
  }, FALSE: function() {
1027
1029
  return false;
1028
- }, IF: function(t2, u2, o2) {
1029
- if (1 === t2.size) {
1030
- return t2.getValueAt(0, 0, In) ? u2 : o2 ?? t2.empty().replace([[false]]);
1030
+ }, IF: function(r2, u2, o2) {
1031
+ if (1 === r2.size) {
1032
+ return r2.getValueAt(0, 0, In) ? u2 : o2 ?? r2.empty().replace([[false]]);
1031
1033
  }
1032
- const a2 = t2.getWidth(), i2 = t2.getHeight();
1034
+ const a2 = r2.getWidth(), i2 = r2.getHeight();
1033
1035
  if (1 === a2 || 1 === i2) {
1034
- const l3 = 1 === a2 ? r.Orientation.Column : r.Orientation.Row, s3 = 1 === i2, f3 = s3 ? u2.getHeight() : u2.getWidth(), c2 = 1 === (s3 ? u2.getWidth() : u2.getHeight());
1036
+ const l3 = 1 === a2 ? e.Orientation.Column : e.Orientation.Row, s3 = 1 === i2, f3 = s3 ? u2.getHeight() : u2.getWidth(), c2 = 1 === (s3 ? u2.getWidth() : u2.getHeight());
1035
1037
  if (!o2) {
1036
- const n2 = 1 === i2, e2 = n2 ? u2.getHeight() : u2.getWidth();
1037
- o2 = t2.empty().fill(false, { colStart: 0, rowStart: 0, colEnd: (n2 ? 1 : e2) - 1, rowEnd: (n2 ? e2 : 1) - 1 });
1038
+ const n2 = 1 === i2, t2 = n2 ? u2.getHeight() : u2.getWidth();
1039
+ o2 = r2.empty().fill(false, { colStart: 0, rowStart: 0, colEnd: (n2 ? 1 : t2) - 1, rowEnd: (n2 ? t2 : 1) - 1 });
1038
1040
  }
1039
- const m2 = s3 ? o2.getHeight() : o2.getWidth(), p2 = 1 === (s3 ? o2.getWidth() : o2.getHeight()), N2 = Math.max(f3, m2), h2 = t2.empty().fill(n.BuiltIn.Value, { colStart: 0, rowStart: 0, colEnd: (s3 ? o2.getWidth() : N2) - 1, rowEnd: (s3 ? N2 : o2.getHeight()) - 1 }), E2 = [];
1040
- let g2 = t2.empty();
1041
- t2.forEach((t3, e2) => {
1042
- const r2 = true === t3;
1043
- let a3 = r2 ? u2 : o2;
1044
- t3 instanceof n.Known && (a3 = h2);
1041
+ const m2 = s3 ? o2.getHeight() : o2.getWidth(), p2 = 1 === (s3 ? o2.getWidth() : o2.getHeight()), N2 = Math.max(f3, m2), h2 = r2.empty().fill(n.BuiltIn.Value, { colStart: 0, rowStart: 0, colEnd: (s3 ? o2.getWidth() : N2) - 1, rowEnd: (s3 ? N2 : o2.getHeight()) - 1 }), E2 = [];
1042
+ let g2 = r2.empty();
1043
+ r2.forEach((t2, e2) => {
1044
+ const r3 = true === t2;
1045
+ let a3 = r3 ? u2 : o2;
1046
+ t2 instanceof n.Known && (a3 = h2);
1045
1047
  let i3 = 0;
1046
- (r2 && !c2 || !r2 && !p2) && (i3 = s3 ? e2.colIndex : e2.rowIndex);
1048
+ (r3 && !c2 || !r3 && !p2) && (i3 = s3 ? e2.colIndex : e2.rowIndex);
1047
1049
  const l4 = s3 ? { colStart: i3, colEnd: i3 } : { rowStart: i3, rowEnd: i3 };
1048
1050
  a3 = a3.slice(l4), g2 = g2.replace(a3, e2);
1049
1051
  const f4 = s3 ? a3.getHeight() : a3.getWidth();
1050
1052
  f4 < N2 && (s3 ? (l4.rowStart = f4, l4.rowEnd = N2 - 1) : (l4.colStart = f4, l4.colEnd = N2 - 1), E2.push(l4));
1051
- }, { orientation: l3, type: e.Boolean, coerce: true, includeEmpty: true });
1052
- for (let t3 = 0; t3 < E2.length; t3++) g2 = g2.fill(n.BuiltIn.NA, E2[t3]);
1053
+ }, { orientation: l3, type: t.Boolean, coerce: true, includeEmpty: true });
1054
+ for (let t2 = 0; t2 < E2.length; t2++) g2 = g2.fill(n.BuiltIn.NA, E2[t2]);
1053
1055
  return g2;
1054
1056
  }
1055
1057
  const l2 = a2 - 1, s2 = i2 - 1;
1056
- let f2 = u2.broadcast(o2, (e2, r2, u3) => {
1058
+ let f2 = u2.broadcast(o2, (t2, e2, u3) => {
1057
1059
  let o3 = u3.colIndex, a3 = u3.rowIndex;
1058
1060
  if (o3 > l2 || a3 > s2) return n.BuiltIn.NA;
1059
- return t2.getValueAt(u3.rowIndex, u3.colIndex, In) ? e2 : r2;
1061
+ return r2.getValueAt(u3.rowIndex, u3.colIndex, In) ? t2 : e2;
1060
1062
  }, gn);
1061
1063
  return f2 = f2.fillEmpty(n.BuiltIn.NA, Math.max(u2.getWidth(), o2.getWidth()), Math.max(u2.getHeight(), o2.getHeight())), f2;
1062
1064
  }, IFERROR: function(t2, e2) {
@@ -1077,24 +1079,24 @@ const Tn = Object.freeze(Object.defineProperty({ __proto__: null, AND: function(
1077
1079
  }, MAP: function(n2, ...t2) {
1078
1080
  }, NOT: function(t2) {
1079
1081
  return t2.map((t3) => "boolean" == typeof t3 ? !t3 : "number" == typeof t3 ? 0 === t3 : n.BuiltIn.Value).fillEmpty(true);
1080
- }, OR: function(...t2) {
1082
+ }, OR: function(...e2) {
1081
1083
  let r2 = false;
1082
- for (const n2 of t2) for (const t3 of n2.values({ type: e.Boolean, coerce: true })) if (r2 = true, true === t3) return true;
1084
+ for (const n2 of e2) for (const e3 of n2.values({ type: t.Boolean, coerce: true })) if (r2 = true, true === e3) return true;
1083
1085
  return !r2 && n.BuiltIn.Value;
1084
1086
  }, REDUCE: function(n2, t2, e2) {
1085
1087
  }, SCAN: function(n2, t2, e2) {
1086
1088
  }, SWITCH: function(n2, t2, ...e2) {
1087
1089
  }, TRUE: function() {
1088
1090
  return false;
1089
- }, XOR: function(...t2) {
1091
+ }, XOR: function(...e2) {
1090
1092
  let r2 = false, u2 = 0;
1091
- for (const n2 of t2) for (const t3 of n2.values({ type: e.Boolean, coerce: true })) r2 = true, true === t3 && u2++;
1093
+ for (const n2 of e2) for (const e3 of n2.values({ type: t.Boolean, coerce: true })) r2 = true, true === e3 && u2++;
1092
1094
  return r2 ? u2 % 2 == 1 : n.BuiltIn.Value;
1093
1095
  } }, Symbol.toStringTag, { value: "Module" })), dn = (n2) => "string" == typeof n2 && /[*?]/.test(n2), bn = (n2, t2) => RegExp(n2.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/([^~]??)[?]/g, "$1.").replace(/([^~]??)[*]/g, "$1.*").replace(/~([?*])/g, "$1"), t2);
1094
- const Mn = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: function(e2, r2, u2 = 1, o2 = true, a2 = "") {
1095
- if (e2 < 1 || r2 < 1 || u2 < 1 || u2 > 4) throw n.BuiltIn.Value;
1096
- const i2 = { $colIndex: 1 === u2 || 3 === u2, colIndex: r2 - 1, $rowIndex: 1 === u2 || 2 === u2, rowIndex: e2 - 1, sheetName: a2 };
1097
- return t.getAddress(i2, !o2);
1096
+ const Mn = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: function(t2, e2, r2 = 1, o2 = true, a2 = "") {
1097
+ if (t2 < 1 || e2 < 1 || r2 < 1 || r2 > 4) throw n.BuiltIn.Value;
1098
+ const i2 = { $colIndex: 1 === r2 || 3 === r2, colIndex: e2 - 1, $rowIndex: 1 === r2 || 2 === r2, rowIndex: t2 - 1, sheetName: a2 };
1099
+ return u.getAddress(i2, !o2);
1098
1100
  }, AREAS: function(...n2) {
1099
1101
  return n2.length;
1100
1102
  }, CHOOSE: function(t2, e2, ...r2) {
@@ -1117,20 +1119,20 @@ const Mn = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: funct
1117
1119
  return Math.floor(t3 - 1);
1118
1120
  }).map((n2) => [...u2[n2]]);
1119
1121
  }, COLUMN: function(n2) {
1120
- if (!n2) return [t.getPosition().colIndex + 1];
1121
- const e2 = [], r2 = n2.getCoords(), u2 = r2.colStart, o2 = r2.colEnd;
1122
- for (let n3 = u2; n3 <= o2; n3++) e2.push(n3 + 1);
1123
- return e2;
1122
+ if (!n2) return [u.getPosition().colIndex + 1];
1123
+ const t2 = [], e2 = n2.getCoords(), r2 = e2.colStart, o2 = e2.colEnd;
1124
+ for (let n3 = r2; n3 <= o2; n3++) t2.push(n3 + 1);
1125
+ return t2;
1124
1126
  }, COLUMNS: function(n2) {
1125
1127
  return n2.getWidth();
1126
1128
  }, DROP: function(n2, t2, e2 = 0) {
1127
1129
  }, EXPAND: function(t2, e2, r2 = 0, u2 = n.BuiltIn.NA) {
1128
1130
  }, FIELDVALUE: function(n2, t2) {
1129
1131
  }, FILTER: function(n2, t2, e2) {
1130
- }, FORMULATEXT: function(e2) {
1131
- const r2 = e2.getCoords(), u2 = t.getFormulaAt(r2.rowStart, r2.colStart);
1132
- if (null === u2) throw n.BuiltIn.NA;
1133
- return "=" + u2;
1132
+ }, FORMULATEXT: function(t2) {
1133
+ const e2 = t2.getCoords(), r2 = u.getFormulaAt(e2.rowStart, e2.colStart);
1134
+ if (null === r2) throw n.BuiltIn.NA;
1135
+ return "=" + r2;
1134
1136
  }, GETPIVOTDATA: function(n2, t2, e2, r2) {
1135
1137
  }, GROUPBY: function(n2, t2, e2, r2 = null, u2 = 2, o2 = null, a2 = null, i2 = 0) {
1136
1138
  }, HLOOKUP: function(t2, e2, r2, u2 = true) {
@@ -1180,21 +1182,21 @@ const Mn = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: funct
1180
1182
  const n2 = e2 - 1;
1181
1183
  return o2.slice({ colStart: 0, rowStart: n2, colEnd: i2 - 1, rowEnd: n2 });
1182
1184
  }
1183
- }, INDIRECT: function(n2, e2 = true) {
1184
- return t.getReference(n2, !e2);
1185
+ }, INDIRECT: function(n2, t2 = true) {
1186
+ return u.getReference(n2, !t2);
1185
1187
  }, LOOKUP: function(n2, t2, e2) {
1186
1188
  }, MATCH: function(n2, t2, e2) {
1187
- }, OFFSET: function(e2, r2, u2, o2, a2) {
1188
- if (o2 = o2 ?? e2.getHeight(), (a2 = a2 ?? e2.getWidth()) < 0) throw n.BuiltIn.Ref;
1189
+ }, OFFSET: function(t2, e2, r2, o2, a2) {
1190
+ if (o2 = o2 ?? t2.getHeight(), (a2 = a2 ?? t2.getWidth()) < 0) throw n.BuiltIn.Ref;
1189
1191
  if (o2 < 0) throw n.BuiltIn.Ref;
1190
- const i2 = e2.getCoords(), l2 = { rowStart: i2.rowStart + r2, colStart: i2.colStart + u2, rowEnd: i2.rowStart + r2 + o2 - 1, colEnd: i2.colStart + u2 + a2 - 1 };
1191
- return t.getReference(l2);
1192
+ const i2 = t2.getCoords(), l2 = { rowStart: i2.rowStart + e2, colStart: i2.colStart + r2, rowEnd: i2.rowStart + e2 + o2 - 1, colEnd: i2.colStart + r2 + a2 - 1 };
1193
+ return u.getReference(l2);
1192
1194
  }, PIVOTBY: function(n2, t2, e2, r2, u2 = null, o2 = 2, a2 = null, i2 = 2, l2 = null, s2 = null, f2 = 0) {
1193
1195
  }, ROW: function(n2) {
1194
- if (!n2) return [t.getPosition().rowIndex + 1];
1195
- const e2 = [], r2 = n2.getCoords(), u2 = r2.rowStart, o2 = r2.rowEnd;
1196
- for (let n3 = u2; n3 <= o2; n3++) e2.push([n3 + 1]);
1197
- return e2;
1196
+ if (!n2) return [u.getPosition().rowIndex + 1];
1197
+ const t2 = [], e2 = n2.getCoords(), r2 = e2.rowStart, o2 = e2.rowEnd;
1198
+ for (let n3 = r2; n3 <= o2; n3++) t2.push([n3 + 1]);
1199
+ return t2;
1198
1200
  }, ROWS: function(n2) {
1199
1201
  return n2.getHeight();
1200
1202
  }, RTD: function(n2, t2, ...e2) {
@@ -1205,35 +1207,35 @@ const Mn = Object.freeze(Object.defineProperty({ __proto__: null, ADDRESS: funct
1205
1207
  }, TOROW: function(n2, t2 = 0, e2 = false) {
1206
1208
  }, TRANSPOSE: function(n2) {
1207
1209
  return n2.transpose();
1208
- }, TRIMRANGE: function(e2, u2 = 3, o2 = 3) {
1209
- let a2 = 0, i2 = e2.getHeight() - 1, l2 = 0, s2 = e2.getWidth() - 1;
1210
- const f2 = e2.isIReferenceRange;
1210
+ }, TRIMRANGE: function(t2, r2 = 3, o2 = 3) {
1211
+ let a2 = 0, i2 = t2.getHeight() - 1, l2 = 0, s2 = t2.getWidth() - 1;
1212
+ const f2 = t2.isIReferenceRange;
1211
1213
  if (f2) {
1212
- const n2 = e2.getCoords();
1214
+ const n2 = t2.getCoords();
1213
1215
  a2 = n2.rowStart, i2 = n2.rowEnd, l2 = n2.colStart, s2 = n2.colEnd;
1214
- } else a2 = 0, i2 = e2.getHeight() - 1, l2 = 0, s2 = e2.getWidth() - 1;
1215
- if (1 === u2 || 3 === u2) {
1216
- const t2 = e2.entries({ orientation: r.Orientation.Row }).next().value;
1217
- if (!t2) return n.BuiltIn.Ref;
1218
- a2 = t2.coords.rowIndex;
1216
+ } else a2 = 0, i2 = t2.getHeight() - 1, l2 = 0, s2 = t2.getWidth() - 1;
1217
+ if (1 === r2 || 3 === r2) {
1218
+ const r3 = t2.entries({ orientation: e.Orientation.Row }).next().value;
1219
+ if (!r3) return n.BuiltIn.Ref;
1220
+ a2 = r3.coords.rowIndex;
1219
1221
  }
1220
- if (2 === u2 || 3 === u2) {
1221
- const t2 = e2.entries({ reverse: true, orientation: r.Orientation.Row }).next().value;
1222
- if (!t2) return n.BuiltIn.Ref;
1223
- i2 = t2.coords.rowIndex;
1222
+ if (2 === r2 || 3 === r2) {
1223
+ const r3 = t2.entries({ reverse: true, orientation: e.Orientation.Row }).next().value;
1224
+ if (!r3) return n.BuiltIn.Ref;
1225
+ i2 = r3.coords.rowIndex;
1224
1226
  }
1225
1227
  if (1 === o2 || 3 === o2) {
1226
- const t2 = e2.entries({ orientation: r.Orientation.Column }).next().value;
1227
- if (!t2) return n.BuiltIn.Ref;
1228
- l2 = t2.coords.colIndex;
1228
+ const r3 = t2.entries({ orientation: e.Orientation.Column }).next().value;
1229
+ if (!r3) return n.BuiltIn.Ref;
1230
+ l2 = r3.coords.colIndex;
1229
1231
  }
1230
1232
  if (2 === o2 || 3 === o2) {
1231
- const t2 = e2.entries({ reverse: true, orientation: r.Orientation.Column }).next().value;
1232
- if (!t2) return n.BuiltIn.Ref;
1233
- s2 = t2.coords.colIndex;
1233
+ const r3 = t2.entries({ reverse: true, orientation: e.Orientation.Column }).next().value;
1234
+ if (!r3) return n.BuiltIn.Ref;
1235
+ s2 = r3.coords.colIndex;
1234
1236
  }
1235
1237
  let c2;
1236
- return f2 ? t.getReference({ colStart: l2, rowStart: a2, colEnd: s2, rowEnd: i2 }) : (c2 = e2.slice({ colStart: l2, rowStart: a2, rowEnd: i2, colEnd: s2 }), c2);
1238
+ return f2 ? u.getReference({ colStart: l2, rowStart: a2, colEnd: s2, rowEnd: i2 }) : (c2 = t2.slice({ colStart: l2, rowStart: a2, rowEnd: i2, colEnd: s2 }), c2);
1237
1239
  }, UNIQUE: function(n2, t2 = false, e2 = false) {
1238
1240
  }, VLOOKUP: function(t2, e2, r2, u2 = true) {
1239
1241
  if (r2 < 1) return n.BuiltIn.Value;
@@ -1457,25 +1459,25 @@ const Pn = Object.freeze(Object.defineProperty({ __proto__: null, ABS: function(
1457
1459
  }, RADIANS: function(n2) {
1458
1460
  return n2 / 180 * Math.PI;
1459
1461
  }, RAND: function() {
1460
- return t.markVolatile(), Math.random();
1461
- }, RANDARRAY: function(e2 = 1, r2 = 1, u2 = 0, o2 = 1, a2 = false) {
1462
- if (0 === e2 || 0 === r2) throw n.BuiltIn.Calc;
1463
- if (e2 < 0 || r2 < 0) throw n.BuiltIn.Value;
1464
- const i2 = t.getEntireCoords();
1465
- if (e2 + 1 > i2.rowEnd || r2 + 1 > i2.colEnd) throw n.BuiltIn.Value;
1466
- if (u2 > o2) throw Number.NaN;
1467
- const l2 = Math.floor(e2), s2 = Math.floor(r2), f2 = new Array(l2);
1462
+ return u.markVolatile(), Math.random();
1463
+ }, RANDARRAY: function(t2 = 1, e2 = 1, r2 = 0, o2 = 1, a2 = false) {
1464
+ if (0 === t2 || 0 === e2) throw n.BuiltIn.Calc;
1465
+ if (t2 < 0 || e2 < 0) throw n.BuiltIn.Value;
1466
+ const i2 = u.getEntireCoords();
1467
+ if (t2 + 1 > i2.rowEnd || e2 + 1 > i2.colEnd) throw n.BuiltIn.Value;
1468
+ if (r2 > o2) throw Number.NaN;
1469
+ const l2 = Math.floor(t2), s2 = Math.floor(e2), f2 = new Array(l2);
1468
1470
  for (let n2 = 0; n2 < l2; n2++) {
1469
- const t2 = new Array(s2);
1471
+ const t3 = new Array(s2);
1470
1472
  for (let n3 = 0; n3 < s2; n3++) {
1471
- let e3 = u2 + Math.random() * (o2 - u2);
1472
- a2 && (e3 = Math.floor(e3), e3 > o2 && (e3 = o2)), t2[n3] = e3;
1473
+ let e3 = r2 + Math.random() * (o2 - r2);
1474
+ a2 && (e3 = Math.floor(e3), e3 > o2 && (e3 = o2)), t3[n3] = e3;
1473
1475
  }
1474
- f2[n2] = t2;
1476
+ f2[n2] = t3;
1475
1477
  }
1476
- return t.markVolatile(), f2;
1477
- }, RANDBETWEEN: function(n2, e2) {
1478
- return t.markVolatile(), Math.floor(Math.random() * (e2 - n2 + 1) + n2);
1478
+ return u.markVolatile(), f2;
1479
+ }, RANDBETWEEN: function(n2, t2) {
1480
+ return u.markVolatile(), Math.floor(Math.random() * (t2 - n2 + 1) + n2);
1479
1481
  }, ROMAN: function(n2, t2 = 0) {
1480
1482
  if (0 !== t2) throw Error("ROMAN: only allows form=0 (classic form).");
1481
1483
  const e2 = String(n2).split(""), r2 = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM", "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC", "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
@@ -1513,18 +1515,18 @@ const Pn = Object.freeze(Object.defineProperty({ __proto__: null, ABS: function(
1513
1515
  const t3 = 0.5 * e2;
1514
1516
  return r2 * Math.round((Math.abs(n2) + t3) / e2) * e2;
1515
1517
  }
1516
- }, SEQUENCE: function(e2, r2 = 1, u2 = 1, o2 = 1) {
1517
- if (0 === e2 || 0 === r2) throw n.BuiltIn.Calc;
1518
- if (e2 < 0 || r2 < 0) throw n.BuiltIn.Value;
1519
- const a2 = t.getEntireCoords();
1520
- if (e2 + 1 > a2.rowEnd || r2 + 1 > a2.colEnd) throw n.BuiltIn.Value;
1521
- const i2 = Math.floor(e2), l2 = Math.floor(r2);
1522
- let s2 = u2;
1518
+ }, SEQUENCE: function(t2, e2 = 1, r2 = 1, o2 = 1) {
1519
+ if (0 === t2 || 0 === e2) throw n.BuiltIn.Calc;
1520
+ if (t2 < 0 || e2 < 0) throw n.BuiltIn.Value;
1521
+ const a2 = u.getEntireCoords();
1522
+ if (t2 + 1 > a2.rowEnd || e2 + 1 > a2.colEnd) throw n.BuiltIn.Value;
1523
+ const i2 = Math.floor(t2), l2 = Math.floor(e2);
1524
+ let s2 = r2;
1523
1525
  const f2 = new Array(i2);
1524
1526
  for (let n2 = 0; n2 < i2; n2++) {
1525
- const t2 = new Array(l2);
1526
- for (let n3 = 0; n3 < l2; n3++) t2[n3] = s2, s2 += o2;
1527
- f2[n2] = t2;
1527
+ const t3 = new Array(l2);
1528
+ for (let n3 = 0; n3 < l2; n3++) t3[n3] = s2, s2 += o2;
1529
+ f2[n2] = t3;
1528
1530
  }
1529
1531
  return f2;
1530
1532
  }, SERIESSUM: function(t2, e2, r2, ...u2) {
@@ -1560,9 +1562,9 @@ const Pn = Object.freeze(Object.defineProperty({ __proto__: null, ABS: function(
1560
1562
  });
1561
1563
  }), r2;
1562
1564
  }, SUMSQ: function(...n2) {
1563
- let t2 = 0;
1564
- for (const r2 of n2) for (const n3 of r2.values({ type: e.Number, includeBoolean: true })) t2 = Cn(t2 + n3 ** 2);
1565
- return t2;
1565
+ let e2 = 0;
1566
+ for (const r2 of n2) for (const n3 of r2.values({ type: t.Number, includeBoolean: true })) e2 = Cn(e2 + n3 ** 2);
1567
+ return e2;
1566
1568
  }, SUMX2MY2: function(n2, t2) {
1567
1569
  return wn(n2, t2, (n3, t3) => n3 ** 2 - t3 ** 2);
1568
1570
  }, SUMX2PY2: function(n2, t2) {
@@ -1857,10 +1859,10 @@ function at(...n2) {
1857
1859
  return Math.sqrt(t2);
1858
1860
  }
1859
1861
  function it(...n2) {
1860
- let t2 = 0, r2 = 0;
1862
+ let e2 = 0, r2 = 0;
1861
1863
  const u2 = Gn(...n2);
1862
- for (const o2 of n2) for (const n3 of o2.values({ type: e.Number, includeMistyped: true })) "number" == typeof n3 && (t2 += Math.pow(n3 - u2, 2)), r2++;
1863
- return t2 / (r2 - 1);
1864
+ for (const o2 of n2) for (const n3 of o2.values({ type: t.Number, includeMistyped: true })) "number" == typeof n3 && (e2 += Math.pow(n3 - u2, 2)), r2++;
1865
+ return e2 / (r2 - 1);
1864
1866
  }
1865
1867
  const lt = Object.freeze(Object.defineProperty({ __proto__: null, BETADIST: function(n2, t2, e2, r2, u2 = 0, o2 = 1) {
1866
1868
  return zn(n2, t2, e2, true, u2, o2);
@@ -2187,19 +2189,19 @@ function Ct(t2, e2 = 0) {
2187
2189
  if (0 !== (e2 = Math.floor(e2)) && 1 !== e2) throw n.BuiltIn.Value;
2188
2190
  return null !== t2 ? "string" == typeof t2 ? 1 === e2 ? '"' + t2 + '"' : t2 : "boolean" == typeof t2 ? t2 ? "TRUE" : "FALSE" : t2.toString() : "";
2189
2191
  }
2190
- const Ot = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: function(t2, e2 = 0) {
2191
- if (0 !== (e2 = Math.floor(e2)) && 1 !== e2) throw n.BuiltIn.Value;
2192
- const u2 = 1 === e2;
2192
+ const Ot = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: function(t2, r2 = 0) {
2193
+ if (0 !== (r2 = Math.floor(r2)) && 1 !== r2) throw n.BuiltIn.Value;
2194
+ const u2 = 1 === r2;
2193
2195
  let o2 = null;
2194
2196
  if (!u2) {
2195
- for (const n2 of t2.values({ orientation: r.Orientation.Row })) o2 = null === o2 ? "" : o2 + ", ", o2 += Ct(n2, e2);
2197
+ for (const n2 of t2.values({ orientation: e.Orientation.Row })) o2 = null === o2 ? "" : o2 + ", ", o2 += Ct(n2, r2);
2196
2198
  return o2;
2197
2199
  }
2198
2200
  const a2 = t2.getValues();
2199
2201
  o2 = "{";
2200
2202
  for (let n2 = 0; n2 < a2.length; n2++) {
2201
2203
  const t3 = a2[n2];
2202
- for (let n3 = 0; n3 < t3.length; n3++) o2 += Ct(t3[n3], e2), n3 < t3.length - 1 && (o2 += ",");
2204
+ for (let n3 = 0; n3 < t3.length; n3++) o2 += Ct(t3[n3], r2), n3 < t3.length - 1 && (o2 += ",");
2203
2205
  n2 < a2.length - 1 && (o2 += ";");
2204
2206
  }
2205
2207
  return u2 && (o2 += "}"), o2;
@@ -2210,34 +2212,34 @@ const Ot = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: f
2210
2212
  return String.fromCharCode(t2);
2211
2213
  }, CLEAN: function(n2) {
2212
2214
  return n2.replace(/[\x00-\x1F]/g, "");
2213
- }, CODE: Tt, CONCAT: function(...t2) {
2215
+ }, CODE: Tt, CONCAT: function(...r2) {
2214
2216
  let u2 = "", o2 = 0;
2215
- for (const a2 of t2) for (const t3 of a2.values({ type: e.String, coerce: true, orientation: r.Orientation.Row })) {
2217
+ for (const a2 of r2) for (const r3 of a2.values({ type: t.String, coerce: true, orientation: e.Orientation.Row })) {
2216
2218
  if (o2++ > 254) throw n.Value;
2217
- u2 += t3;
2219
+ u2 += r3;
2218
2220
  }
2219
2221
  return u2;
2220
- }, CONCATENATE: function(...t2) {
2222
+ }, CONCATENATE: function(...e2) {
2221
2223
  let r2 = "", u2 = 0;
2222
- for (const o2 of t2) {
2223
- const t3 = o2.getValueAt(0, 0, { type: e.String, coerce: true });
2224
+ for (const o2 of e2) {
2225
+ const e3 = o2.getValueAt(0, 0, { type: t.String, coerce: true });
2224
2226
  if (u2++ > 254) throw n.Value;
2225
- r2 += t3;
2227
+ r2 += e3;
2226
2228
  }
2227
2229
  return r2;
2228
2230
  }, DBCS: function(n2) {
2229
2231
  return gt(n2);
2230
2232
  }, DETECTLANGUAGE: function(n2) {
2231
- }, DOLLAR: function(n2, e2 = 2) {
2232
- const r2 = Array(e2).fill("0").join(""), u2 = t.getRuntime(), o2 = u2.getCurrencySymbol(), a2 = u2.getNumberGroupSeparator(), i2 = u2.getNumberDecimalSeparator(), l2 = `${o2}#${a2}##0${i2}${r2}_);(${o2}#${a2}##0${i2}${r2})`;
2233
- return t.getNumberFormat(l2, n2).trim();
2233
+ }, DOLLAR: function(n2, t2 = 2) {
2234
+ const e2 = Array(t2).fill("0").join(""), r2 = u.getRuntime(), o2 = r2.getCurrencySymbol(), a2 = r2.getNumberGroupSeparator(), i2 = r2.getNumberDecimalSeparator(), l2 = `${o2}#${a2}##0${i2}${e2}_);(${o2}#${a2}##0${i2}${e2})`;
2235
+ return u.getNumberFormat(l2, n2).trim();
2234
2236
  }, EXACT: function(n2, t2) {
2235
2237
  return n2 === t2;
2236
2238
  }, FIND: dt, FINDB: function(n2, t2, e2 = 1) {
2237
2239
  return dt(n2, t2, e2);
2238
- }, FIXED: function(n2, e2 = 2, r2 = false) {
2239
- const u2 = Array(e2).fill("0").join(""), o2 = t.getRuntime(), a2 = o2.getNumberGroupSeparator(), i2 = o2.getNumberDecimalSeparator(), l2 = r2 ? "" : `#${a2}`, s2 = `${l2}##0${i2}${u2}_);(${l2}##0${i2}${u2})`;
2240
- return t.getNumberFormat(s2, n2).trim();
2240
+ }, FIXED: function(n2, t2 = 2, e2 = false) {
2241
+ const r2 = Array(t2).fill("0").join(""), o2 = u.getRuntime(), a2 = o2.getNumberGroupSeparator(), i2 = o2.getNumberDecimalSeparator(), l2 = e2 ? "" : `#${a2}`, s2 = `${l2}##0${i2}${r2}_);(${l2}##0${i2}${r2})`;
2242
+ return u.getNumberFormat(s2, n2).trim();
2241
2243
  }, LEFT: bt, LEFTB: function(n2, t2 = 1) {
2242
2244
  return bt(n2, t2);
2243
2245
  }, LEN: function(n2) {
@@ -2284,10 +2286,10 @@ const Ot = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: f
2284
2286
  return o2;
2285
2287
  }, T: function(n2) {
2286
2288
  return "string" == typeof n2 ? n2 : "";
2287
- }, TEXT: function(e2, r2) {
2289
+ }, TEXT: function(t2, e2) {
2288
2290
  try {
2289
- return t.getNumberFormat(r2, e2);
2290
- } catch (t2) {
2291
+ return u.getNumberFormat(e2, t2);
2292
+ } catch (t3) {
2291
2293
  throw n.BuiltIn.Value;
2292
2294
  }
2293
2295
  }, TEXTAFTER: function(t2, e2, r2 = 1, u2 = 0, o2 = 0, a2 = void 0) {
@@ -2314,9 +2316,9 @@ const Ot = Object.freeze(Object.defineProperty({ __proto__: null, ARRAYTOTEXT: f
2314
2316
  }
2315
2317
  const c2 = t2.substring(0, s2);
2316
2318
  return 1 === o2 && 0 === c2.length ? "" : c2;
2317
- }, TEXTJOIN: function(n2, t2, ...u2) {
2319
+ }, TEXTJOIN: function(n2, r2, ...u2) {
2318
2320
  let o2 = "";
2319
- for (const a2 of u2) for (const u3 of a2.values({ type: e.String, coerce: true, orientation: r.Orientation.Row, includeEmpty: !t2 })) 0 === u3.length && t2 || (o2.length > 0 && (o2 += n2), o2 += u3);
2321
+ for (const a2 of u2) for (const u3 of a2.values({ type: t.String, coerce: true, orientation: e.Orientation.Row, includeEmpty: !r2 })) 0 === u3.length && r2 || (o2.length > 0 && (o2 += n2), o2 += u3);
2320
2322
  return o2;
2321
2323
  }, TEXTSPLIT: function(t2, e2, r2 = null, u2 = false, o2 = 0, a2 = void 0) {
2322
2324
  if (!t2) return [[""]];
@@ -2408,42 +2410,42 @@ const Ut = Object.freeze(Object.defineProperty({ __proto__: null, ENCODEURL: fun
2408
2410
  } catch (t3) {
2409
2411
  throw n.BuiltIn.Value;
2410
2412
  }
2411
- } }, Symbol.toStringTag, { value: "Module" })), Lt = { CUBEKPIMEMBER: { p: [{ n: "connection", s: "s" }, { n: "kpiName", s: "s" }, { n: "kpiProperty" }, { n: "caption", s: "s", m: "?" }] }, CUBEMEMBER: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s" }, { n: "caption", s: "s", m: "?" }] }, CUBEMEMBERPROPERTY: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s" }, { n: "kpiProperty" }] }, CUBERANKEDMEMBER: { p: [{ n: "connection", s: "s" }, { n: "setExpression", s: "s" }, { n: "rank" }, { n: "caption", s: "s", m: "?" }] }, CUBESET: { p: [{ n: "connection", s: "s" }, { n: "setExpression", s: "s" }, { n: "caption", s: "s", m: "?" }, { n: "sortOrder", m: "?" }, { n: "sortBy", s: "s", m: "?" }] }, CUBESETCOUNT: { p: [{ n: "set", s: "s" }] }, CUBEVALUE: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s", d: 1, m: "..." }] } }, _t = { DAVERAGE: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DCOUNT: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DCOUNTA: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DGET: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DMAX: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DMIN: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DPRODUCT: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSTDEV: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSTDEVP: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSUM: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DVAR: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DVARP: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] } }, vt = { DATE: { p: [{ n: "year" }, { n: "month" }, { n: "day" }] }, DATEDIF: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "unit", s: "s" }] }, DATESTRING: { p: [{ n: "number" }] }, DATEVALUE: { p: [{ n: "dateText", s: "s" }] }, DAY: { p: [{ n: "serialOrString", s: "*" }] }, DAYS: { p: [{ n: "endDate" }, { n: "startDate" }] }, DAYS360: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "method", s: "b", m: "?" }] }, EDATE: { p: [{ n: "startDate", s: "Date" }, { n: "months" }] }, EOMONTH: { p: [{ n: "startDate", s: "Date" }, { n: "months" }] }, HOUR: { p: [{ n: "serialOrString", s: "*" }] }, ISOWEEKNUM: { p: [{ n: "serialOrString", s: "*" }] }, MINUTE: { p: [{ n: "serialOrString", s: "s" }] }, MONTH: { p: [{ n: "serialOrString", s: "s" }] }, NETWORKDAYS: { p: [{ n: "startDate", s: "Date" }, { n: "endDate", s: "Date" }, { n: "holidays", d: 1, m: "?" }] }, "NETWORKDAYS.INTL": { fn: "NETWORKDAYS_INTL", p: [{ n: "startDate", s: "Date" }, { n: "endDate", s: "Date" }, { n: "weekend", s: "z", m: "?" }, { n: "holidays", d: 1, m: "?" }] }, NOW: {}, SECOND: { p: [{ n: "serialOrString", s: "*" }] }, TIME: { p: [{ n: "hour" }, { n: "minute" }, { n: "second" }] }, TIMEVALUE: { p: [{ n: "timeText", s: "s" }] }, TODAY: {}, WEEKDAY: { p: [{ n: "serialOrString", s: "*" }, { n: "returnType", m: "?" }] }, WEEKNUM: { p: [{ n: "serialOrString", s: "z" }, { n: "returnType", m: "?" }] }, WORKDAY: { p: [{ n: "startDate", s: "Date" }, { n: "days" }, { n: "holidays", d: 1, m: "?" }] }, "WORKDAY.INTL": { fn: "WORKDAY_INTL", p: [{ n: "startDate", s: "Date" }, { n: "days" }, { n: "weekend", s: "z", m: "?" }, { n: "holidays", d: 1, m: "?" }] }, YEAR: { p: [{ n: "serialOrString", s: "*" }] }, YEARFRAC: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "basis", m: "?" }] } }, Vt = { BESSELI: { p: [{ n: "x" }, { n: "n" }] }, BESSELJ: { p: [{ n: "x" }, { n: "n" }] }, BESSELK: { p: [{ n: "x" }, { n: "n" }] }, BESSELY: { p: [{ n: "x" }, { n: "n" }] } }, Pt = { BIN2DEC: { p: [{ n: "number" }] }, BIN2HEX: { p: [{ n: "number" }, { n: "places", m: "?" }] }, BIN2OCT: { p: [{ n: "number" }, { n: "places", m: "?" }] }, BITAND: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, BITLSHIFT: { p: [{ n: "number", s: "*" }, { n: "shiftAmount" }] }, BITOR: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, BITRSHIFT: { p: [{ n: "number", s: "*" }, { n: "shiftAmount" }] }, BITXOR: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, DEC2BIN: { p: [{ n: "number" }, { n: "places", m: "?" }] }, DEC2HEX: { p: [{ n: "number" }, { n: "places", m: "?" }] }, DEC2OCT: { p: [{ n: "number" }, { n: "places", m: "?" }] }, HEX2BIN: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, HEX2DEC: { p: [{ n: "number", s: "s" }] }, HEX2OCT: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, OCT2BIN: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, OCT2DEC: { p: [{ n: "number", s: "s" }] }, OCT2HEX: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] } }, Ft = { CONVERT: { p: [{ n: "number" }, { n: "fromUnit", s: "s" }, { n: "toUnit", s: "s" }] } }, xt = { DELTA: { p: [{ n: "number1" }, { n: "number2", m: "?" }] }, GESTEP: { p: [{ n: "number" }, { n: "step", m: "?" }] } }, Ht = { ERF: { p: [{ n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "ERF.PRECISE": { fn: "ERF_PRECISE", p: [{ n: "x" }] }, ERFC: { p: [{ n: "x" }] } }, Gt = { COMPLEX: { p: [{ n: "realNum" }, { n: "iNum" }, { n: "suffix", s: "s", m: "?" }] }, IMABS: { p: [{ n: "inumber", s: "*" }] }, IMAGINARY: { p: [{ n: "inumber", s: "*" }] }, IMARGUMENT: { p: [{ n: "inumber", s: "*" }] }, IMCONJUGATE: { p: [{ n: "inumber", s: "*" }] }, IMCOS: { p: [{ n: "inumber", s: "*" }] }, IMCOSH: { p: [{ n: "inumber", s: "*" }] }, IMCOT: { p: [{ n: "inumber", s: "*" }] }, IMCSC: { p: [{ n: "inumber", s: "*" }] }, IMCSCH: { p: [{ n: "inumber", s: "*" }] }, IMDIV: { p: [{ n: "inumber1", s: "*" }, { n: "inumber2", s: "*" }] }, IMEXP: { p: [{ n: "inumber", s: "*" }] }, IMLN: { p: [{ n: "inumber", s: "*" }] }, IMLOG10: { p: [{ n: "inumber", s: "*" }] }, IMLOG2: { p: [{ n: "inumber", s: "*" }] }, IMPOWER: { p: [{ n: "inumber", s: "*" }, { n: "number" }] }, IMPRODUCT: { p: [{ n: "inumber", s: "*", d: 1, m: "..." }] }, IMREAL: { p: [{ n: "inumber", s: "*" }] }, IMSEC: { p: [{ n: "inumber", s: "*" }] }, IMSECH: { p: [{ n: "inumber", s: "*" }] }, IMSIN: { p: [{ n: "inumber", s: "*" }] }, IMSINH: { p: [{ n: "inumber", s: "*" }] }, IMSQRT: { p: [{ n: "inumber", s: "*" }] }, IMSUB: { p: [{ n: "inumber1", s: "*" }, { n: "inumber2", s: "*" }] }, IMSUM: { p: [{ n: "inumber", s: "*", d: 1, m: "..." }] }, IMTAN: { p: [{ n: "inumber", s: "*" }] } }, Xt = { ACCRINT: { p: [{ n: "issue" }, { n: "firstInterest" }, { n: "settlement" }, { n: "rate" }, { n: "par" }, { n: "frequency" }, { n: "basis", m: "?" }, { n: "calcMethod", s: "b", m: "?" }] }, ACCRINTM: { p: [{ n: "issue" }, { n: "settlement" }, { n: "rate" }, { n: "par" }, { n: "basis", m: "?" }] }, AMORLINC: { p: [{ n: "cost" }, { n: "datePurchased" }, { n: "firstPeriod" }, { n: "salvarge" }, { n: "period" }, { n: "rate" }, { n: "basis", m: "?" }] }, COUPDAYBS: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPDAYS: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPNCD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPNUM: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPPCD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, CUMIPMT: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "type" }] }, CUMPRINC: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "type" }] }, DB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "period" }, { n: "month", m: "?" }] }, DDB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "period" }, { n: "factor", m: "?" }] }, DISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }, { n: "redemption" }, { n: "basis", m: "?" }] }, DOLLARDE: { p: [{ n: "fractionalDollar" }, { n: "fraction" }] }, DOLLARFR: { p: [{ n: "decimalDollar" }, { n: "fraction" }] }, DURATION: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "coupon" }, { n: "yld" }, { n: "frequency" }, { n: "basis", m: "?" }] }, EFFECT: { p: [{ n: "nominalRate" }, { n: "npery" }] }, FV: { p: [{ n: "rate" }, { n: "nper" }, { n: "pmt" }, { n: "pv", m: "?" }, { n: "type", m: "?", e: ["0", "1"] }] }, FVSCHEDULE: { p: [{ n: "principal" }, { n: "schedule", s: "n", r: "l" }] }, INTRATE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "investment" }, { n: "redemption" }, { n: "basis", m: "?" }] }, IPMT: { p: [{ n: "rate" }, { n: "per" }, { n: "nper" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, IRR: { p: [{ n: "values", s: "n", r: "l" }, { n: "guess", m: "?" }] }, ISPMT: { p: [{ n: "rate" }, { n: "per" }, { n: "nper" }, { n: "pv" }] }, MDURATION: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "coupon" }, { n: "yld" }, { n: "frequency" }, { n: "basis", m: "?" }] }, MIRR: { p: [{ n: "values", d: 1 }, { n: "financeRate" }, { n: "reinvestRate" }] }, NOMINAL: { p: [{ n: "effectiveRate" }, { n: "npery" }] }, NPER: { p: [{ n: "rate" }, { n: "pmt" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, NPV: { p: [{ n: "rate" }, { n: "value", d: 1, m: "..." }] }, ODDFPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "firstCoupon" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDFYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "firstCoupon" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDLPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "lastInterest" }, { n: "rate" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDLYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "lastInterest" }, { n: "rate" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, PDURATION: { p: [{ n: "rate" }, { n: "pv" }, { n: "fv" }] }, PMT: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, PRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "rate" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, PRICEDISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }, { n: "redemption" }, { n: "basis", m: "?" }] }, PRICEMAT: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "rate" }, { n: "yld" }, { n: "basis", m: "?" }] }, PV: { p: [{ n: "rate" }, { n: "nper" }, { n: "pmt" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, RATE: { p: [{ n: "nper" }, { n: "pmt" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }, { n: "guess", m: "?" }] }, RECEIVED: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "investment" }, { n: "discount" }, { n: "basis", m: "?" }] }, RRI: { p: [{ n: "nper" }, { n: "pv" }, { n: "fv" }] }, SLN: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }] }, STOCKHISTORY: { p: [{ n: "stock", s: "s" }, { n: "startDate" }, { n: "endDate" }, { n: "interval", m: "?" }, { n: "headers", m: "?" }, { n: "properties", d: 1, m: "?" }] }, SYD: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "per" }] }, TBILLEQ: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }] }, TBILLPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }] }, TBILLYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }] }, VDB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "factor", m: "?" }, { n: "noSwitch", s: "b", m: "?" }] }, XIRR: { p: [{ n: "values", s: "n", r: "l", d: 1 }, { n: "dates", s: "n", r: "l", d: 1 }, { n: "guess", m: "?" }] }, XNPV: { p: [{ n: "rate" }, { n: "values", d: 1 }, { n: "dates", d: 1 }] }, YIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "rate" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, YIELDDISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, YIELDMAT: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "rate" }, { n: "pr" }, { n: "basis", m: "?" }] } }, Yt = { CELL: { p: [{ n: "infoType", s: "s", e: ["address", "col", "contents", "row", "type"] }, { n: "reference", r: "r" }] }, "ERROR.TYPE": { fn: "ERROR_TYPE", p: [{ n: "errorVal", r: "l" }] }, INFO: { p: [{ n: "typeText", s: "s", e: ["DIRECTORY", "NUMFILE", "ORIGIN", "OSVERSION", "RECALC", "RELEASE", "SYSTEM", "USER"] }] }, ISBLANK: { p: [{ n: "value", r: "l" }] }, ISERR: { p: [{ n: "value", r: "l" }] }, ISERROR: { p: [{ n: "value", r: "l" }] }, ISEVEN: { p: [{ n: "number", s: "n", r: "l" }] }, ISFORMULA: { p: [{ n: "reference", r: "r" }] }, ISLOGICAL: { p: [{ n: "value", r: "l" }] }, ISNA: { p: [{ n: "value", r: "l" }] }, ISNONTEXT: { p: [{ n: "value", r: "l" }] }, ISNUMBER: { p: [{ n: "value", r: "l" }] }, ISODD: { p: [{ n: "number", s: "n", r: "l" }] }, ISOMITTED: { p: [{ n: "argument", s: "z" }] }, ISREF: { p: [{ n: "value", r: "l" }] }, ISTEXT: { p: [{ n: "value", r: "l" }] }, N: { p: [{ n: "value", r: "l" }] }, NA: {}, SHEET: { p: [{ n: "value", s: "s", m: "?" }] }, SHEETS: { p: [{ n: "reference", r: "r", m: "?" }] }, TYPE: { p: [{ n: "value", r: "l" }] } }, kt = { AND: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] }, BYCOL: { p: [{ n: "array", r: "l" }, { n: "fn", s: "z" }] }, BYROW: { p: [{ n: "array", r: "l" }, { n: "fn", s: "z" }] }, FALSE: {}, IF: { p: [{ n: "logicalTest", r: "l" }, { n: "valueIfTrue", r: "l" }, { n: "valueIfFalse", r: "l", m: "?" }] }, IFERROR: { p: [{ n: "value", r: "l" }, { n: "valueIfError", r: "l" }] }, IFNA: { p: [{ n: "value", r: "l" }, { n: "valueIfError", r: "l" }] }, IFS: { p: [{ n: "logicalTest", r: "l" }, { n: "logicalTrue", r: "l" }, { n: "rest", r: "l", d: 1, m: "..." }] }, LAMDA: { p: [{ n: "parameterOrCalculation", r: "l", d: 1, m: "..." }] }, LET: { p: [{ n: "name", s: "s" }, { n: "nameOrValue", r: "l" }, { n: "calculationOrName", r: "l" }, { n: "rest", r: "l", d: 1, m: "..." }] }, MAKEARRAY: { p: [{ n: "rows" }, { n: "columns" }, { n: "fn", r: "l" }] }, MAP: { p: [{ n: "array", r: "l" }, { n: "lamdaOrArray", r: "l", d: 1, m: "..." }] }, NOT: { p: [{ n: "logical", r: "l" }] }, OR: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] }, REDUCE: { p: [{ n: "initialValue", r: "l" }, { n: "array", r: "l" }, { n: "fn", r: "l" }] }, SCAN: { p: [{ n: "initialValue", r: "l" }, { n: "array", r: "l" }, { n: "fn", r: "l" }] }, SWITCH: { p: [{ n: "expression", r: "l" }, { n: "value", r: "l" }, { n: "results", r: "l", d: 1, m: "..." }] }, TRUE: {}, XOR: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] } }, zt = { ADDRESS: { p: [{ n: "rowNum" }, { n: "columnNum" }, { n: "absNum", m: "?" }, { n: "a1", s: "b", m: "?" }, { n: "sheetText", s: "s", m: "?" }] }, AREAS: { p: [{ n: "references", r: "l", d: 1, m: "..." }] }, CHOOSE: { p: [{ n: "indexNum" }, { n: "value1", r: "l" }, { n: "value", r: "l", d: 1, m: "..." }] }, CHOOSECOLS: { p: [{ n: "array", r: "l" }, { n: "colNum1" }, { n: "colNum", d: 1, m: "..." }] }, CHOOSEROWS: { p: [{ n: "array", r: "l" }, { n: "rowNum1" }, { n: "rowNum", d: 1, m: "..." }] }, COLUMN: { p: [{ n: "reference", r: "r", m: "?" }] }, COLUMNS: { p: [{ n: "array", r: "l" }] }, DROP: { p: [{ n: "array", r: "l" }, { n: "row" }, { n: "columns", m: "?" }] }, EXPAND: { p: [{ n: "array", r: "l" }, { n: "row" }, { n: "columns", m: "?" }, { n: "padWidth", s: "*", m: "?" }] }, FIELDVALUE: { p: [{ n: "value", s: "*" }, { n: "fieldName", s: "s" }] }, FILTER: { p: [{ n: "array", r: "l" }, { n: "include", r: "l" }, { n: "ifEmpty", r: "l" }] }, FORMULATEXT: { p: [{ n: "reference", r: "r" }] }, GETPIVOTDATA: { p: [{ n: "dataField", s: "s" }, { n: "pivotTable", s: "s" }, { n: "field1", s: "s" }, { n: "item1", r: "l" }] }, GROUPBY: { p: [{ n: "rowFields", r: "r" }, { n: "values", r: "l" }, { n: "fn", s: "z", d: 1 }, { n: "fieldHeaders", m: "?" }, { n: "totalDepth", m: "?" }, { n: "sortOrder", s: "z", d: 1, m: "?" }, { n: "filterArray", s: "b", d: 1, m: "?" }, { n: "fieldRelationship", m: "?" }] }, HLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "tableArray", r: "l" }, { n: "rowIndexNum" }, { n: "rangeLookup", s: "b", m: "?" }] }, HSTACK: { p: [{ n: "array1", r: "l" }, { n: "array", r: "l", d: 1, m: "..." }] }, HYPERLINK: { p: [{ n: "linkLocation", s: "s" }, { n: "friendlyName", s: "s", m: "?" }] }, IMAGE: { p: [{ n: "source", s: "s" }, { n: "alternateText", s: "s" }, { n: "sizing" }, { n: "height" }, { n: "width" }] }, INDEX: { p: [{ n: "array", r: "l", d: 1 }, { n: "rowNum", m: "?" }, { n: "colNum", m: "?" }, { n: "areaNum", m: "?" }] }, INDIRECT: { p: [{ n: "refText", s: "s" }, { n: "a1", s: "b", m: "?" }] }, LOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupVector", r: "l" }, { n: "resultVector", r: "l" }] }, MATCH: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", d: 2 }, { n: "matchType" }] }, OFFSET: { p: [{ n: "reference", r: "r" }, { n: "rows" }, { n: "cols" }, { n: "height", m: "?" }, { n: "width", m: "?" }] }, PIVOTBY: { p: [{ n: "rowFields", r: "r" }, { n: "colFields", r: "r" }, { n: "values", r: "l", d: 1 }, { n: "fn", s: "z", d: 1 }, { n: "fieldHeaders", m: "?" }, { n: "rowTotalDepth", m: "?" }, { n: "rowSortOrder", s: "z", d: 1, m: "?" }, { n: "colTotalDepth", m: "?" }, { n: "colSortOrder", s: "z", d: 1, m: "?" }, { n: "filterArray", s: "b", d: 1, m: "?" }, { n: "relativeTo", m: "?" }] }, ROW: { p: [{ n: "reference", r: "r", m: "?" }] }, ROWS: { p: [{ n: "array", r: "l" }] }, RTD: { p: [{ n: "progId", s: "s" }, { n: "server", s: "s", m: "?" }, { n: "topic", s: "s", d: 1, m: "..." }] }, SORT: { p: [{ n: "array", r: "l" }, { n: "sortIndex", d: 1, m: "?" }, { n: "sortOrder", d: 1, m: "?" }, { n: "byCol", s: "b", m: "?" }] }, SORTBY: { p: [{ n: "array", r: "l" }, { n: "byArray1", r: "l" }, { n: "sortOrder", d: 1, m: "?" }] }, TAKE: { p: [{ n: "array", r: "l" }, { n: "rows" }, { n: "columns", m: "?" }] }, TOCOL: { p: [{ n: "array", r: "l" }, { n: "ignore", m: "?", e: ["0 - Keep all values", "1 - Ignore Blanks", "2 - Ignore Errors", "3 - Ignore Blanks and Errors"] }, { n: "scanByColumn", s: "b", m: "?" }] }, TOROW: { p: [{ n: "array", r: "l" }, { n: "ignore", m: "?", e: ["0 - Keep all values", "1 - Ignore Blanks", "2 - Ignore Errors", "3 - Ignore Blanks and Errors"] }, { n: "scanByColumn", s: "b", m: "?" }] }, TRANSPOSE: { p: [{ n: "array", r: "l" }] }, TRIMRANGE: { p: [{ n: "range", r: "l" }, { n: "rowTrimMode", m: "?" }, { n: "colTrimMode", m: "?" }] }, UNIQUE: { p: [{ n: "array", r: "l" }, { n: "byCol", s: "b", m: "?" }, { n: "exactlyOnce", s: "b", m: "?" }] }, VLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "tableArray", r: "l" }, { n: "colIndexNum" }, { n: "rangeLookup", s: "b", m: "?" }] }, VSTACK: { p: [{ n: "array1", r: "l" }, { n: "array", r: "l", d: 1, m: "..." }] }, WRAPCOLS: { p: [{ n: "vector", r: "l" }, { n: "wrapCount" }, { n: "padWith", s: "*", m: "?" }] }, WRAPROWS: { p: [{ n: "vector", r: "l" }, { n: "wrapCount" }, { n: "padWith", s: "*", m: "?" }] }, XLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", r: "l" }, { n: "returnArray", r: "l" }, { n: "ifNotFound", s: "*" }, { n: "rangeLookup", s: "b", m: "?" }, { n: "matchMode", s: "b" }, { n: "searchMode", s: "b", m: "?" }] }, XMATCH: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", r: "l" }, { n: "matchMode", s: "b" }, { n: "searchMode", s: "b", m: "?" }] } }, jt = { ABS: { p: [{ n: "number" }] }, AGGREGATE: { p: [{ n: "functionNum" }, { n: "options" }, { n: "array", r: "l" }, { n: "K" }] }, ARABIC: { p: [{ n: "text", s: "s" }] }, BASE: { p: [{ n: "number" }, { n: "radix" }, { n: "minLength", m: "?" }] }, CEILING: { p: [{ n: "number" }, { n: "significance", m: "?" }] }, "CEILING.MATH": { fn: "CEILING_MATH", p: [{ n: "number" }, { n: "significance", m: "?" }, { n: "mode", m: "?" }] }, "CEILING.PRECISE": { fn: "CEILING_PRECISE", p: [{ n: "number" }, { n: "significance", m: "?" }] }, COMBIN: { p: [{ n: "number" }, { n: "numberChosen" }] }, COMBINA: { p: [{ n: "number" }, { n: "numberChosen" }] }, DECIMAL: { p: [{ n: "number", s: "s" }, { n: "radix" }] }, DEGREES: { p: [{ n: "angle" }] }, EVEN: { p: [{ n: "number" }] }, EXP: { p: [{ n: "number" }] }, FACT: { p: [{ n: "number" }] }, FACTDOUBLE: { p: [{ n: "number" }] }, FLOOR: { p: [{ n: "number" }, { n: "significance", m: "?" }] }, "FLOOR.MATH": { fn: "FLOOR_MATH", p: [{ n: "number" }, { n: "significance", m: "?" }, { n: "mode", m: "?" }] }, "FLOOR.PRECISE": { fn: "FLOOR_PRECISE", p: [{ n: "number" }, { n: "significance", m: "?" }] }, GCD: { p: [{ n: "number", d: 1, m: "..." }] }, INT: { p: [{ n: "number" }] }, "ISO.CEILING": { fn: "ISO_CEILING", p: [{ n: "number" }, { n: "significance", m: "?" }] }, LCM: { p: [{ n: "number", d: 1, m: "..." }] }, LN: { p: [{ n: "number" }] }, LOG: { p: [{ n: "number" }, { n: "base", m: "?" }] }, LOG10: { p: [{ n: "number" }] }, MDETERM: { p: [{ n: "array", d: 2 }] }, MINVERSE: { p: [{ n: "array", d: 2 }] }, MMULT: { p: [{ n: "array1", s: "z", d: 2 }, { n: "array2", s: "z", d: 2 }] }, MOD: { p: [{ n: "number" }, { n: "divisor" }] }, MROUND: { p: [{ n: "number" }, { n: "multiple" }] }, MULTINOMIAL: { p: [{ n: "number", d: 1, m: "..." }] }, MUNIT: { p: [{ n: "dimension" }] }, ODD: { p: [{ n: "number" }] }, PI: {}, POWER: { p: [{ n: "number" }, { n: "power" }] }, PRODUCT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, QUOTIENT: { p: [{ n: "numerator" }, { n: "denominator" }] }, RADIANS: { p: [{ n: "angle" }] }, RAND: {}, RANDARRAY: { p: [{ n: "rows", m: "?" }, { n: "columns", m: "?" }, { n: "min", m: "?" }, { n: "max", m: "?" }, { n: "integer", s: "b", m: "?" }] }, RANDBETWEEN: { p: [{ n: "bottom" }, { n: "top" }] }, ROMAN: { p: [{ n: "number" }, { n: "form", m: "?" }] }, ROUND: { p: [{ n: "number" }, { n: "numDigits" }] }, ROUNDDOWN: { p: [{ n: "number" }, { n: "numDigits" }] }, ROUNDUP: { p: [{ n: "number" }, { n: "numDigits" }] }, SEQUENCE: { p: [{ n: "rows" }, { n: "columns", m: "?" }, { n: "start", m: "?" }, { n: "step", m: "?" }] }, SERIESSUM: { p: [{ n: "x" }, { n: "n" }, { n: "m" }, { n: "coefficients", d: 1, m: "..." }] }, SIGN: { p: [{ n: "number" }] }, SQRT: { p: [{ n: "number" }] }, SQRTPI: { p: [{ n: "number" }] }, SUBTOTAL: { p: [{ n: "functionNum" }, { n: "ref", r: "l", d: 1, m: "..." }] }, SUM: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, SUMIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }, { n: "sumRange", r: "r", m: "?" }] }, SUMIFS: { p: [{ n: "sumRange", r: "l" }, { n: "criteriaRange", r: "r" }, { n: "criteria", r: "l" }] }, SUMPRODUCT: { p: [{ n: "array1", s: "z", d: 2 }, { n: "rest", s: "z", d: 3, m: "..." }] }, SUMSQ: { p: [{ n: "number", r: "l", d: 1, m: "..." }] }, SUMX2MY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, SUMX2PY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, SUMXMY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, TRUNC: { p: [{ n: "number" }, { n: "numDigits", m: "?" }] } }, Wt = { ACOS: { p: [{ n: "number" }] }, ACOSH: { p: [{ n: "number" }] }, ACOT: { p: [{ n: "number" }] }, ACOTH: { p: [{ n: "number" }] }, ASIN: { p: [{ n: "number" }] }, ASINH: { p: [{ n: "number" }] }, ATAN: { p: [{ n: "number" }] }, ATAN2: { p: [{ n: "x" }, { n: "y" }] }, ATANH: { p: [{ n: "number" }] }, COS: { p: [{ n: "number" }] }, COSH: { p: [{ n: "number" }] }, COT: { p: [{ n: "number" }] }, COTH: { p: [{ n: "number" }] }, CSC: { p: [{ n: "number" }] }, CSCH: { p: [{ n: "number" }] }, SEC: { p: [{ n: "number" }] }, SECH: { p: [{ n: "number" }] }, SIN: { p: [{ n: "number" }] }, SINH: { p: [{ n: "number" }] }, TAN: { p: [{ n: "number" }] }, TANH: { p: [{ n: "number" }] } }, Kt = { "BETA.DIST": { fn: "BETA_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, BETADIST: { p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, "BETA.INV": { fn: "BETA_INV", p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, BETAINV: { p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, "BINOM.DIST": { fn: "BINOM_DIST", p: [{ n: "numberS" }, { n: "trials" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, BINOMDIST: { p: [{ n: "numberS" }, { n: "trials" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, "BINOM.DIST.RANGE": { fn: "BINOM_DIST_RANGE", p: [{ n: "trials" }, { n: "probabilityS" }, { n: "numberS" }, { n: "numberS2", m: "?" }] }, "BINOM.INV": { fn: "BINOM_INV", p: [{ n: "trials" }, { n: "probabilityS" }, { n: "alpha" }] }, "CHISQ.DIST": { fn: "CHISQ_DIST", p: [{ n: "x" }, { n: "degFreedom" }, { n: "cumulative", s: "b", m: "?" }] }, CHIDIST: { p: [{ n: "x" }, { n: "degFreedom" }] }, "CHISQ.DIST.RT": { fn: "CHISQ_DIST_RT", p: [{ n: "x" }, { n: "degFreedom" }] }, "CHISQ.INV": { fn: "CHISQ_INV", p: [{ n: "probability" }, { n: "degFreedom" }] }, CHIINV: { p: [{ n: "probability" }, { n: "degFreedom" }] }, "CHISQ.INV.RT": { fn: "CHISQ_INV_RT", p: [{ n: "probability" }, { n: "degFreedom" }] }, "CHISQ.TEST": { fn: "CHISQ_TEST", p: [{ n: "actualRange", s: "z", d: 2 }, { n: "expectedRange", s: "z", d: 2 }] }, CHITEST: { p: [{ n: "actualRange", s: "z", d: 2 }, { n: "expectedRange", s: "z", d: 2 }] }, "CONFIDENCE.NORM": { fn: "CONFIDENCE_NORM", p: [{ n: "alpha" }, { n: "standardDev" }, { n: "size" }] }, CONFIDENCE: { p: [{ n: "alpha" }, { n: "std" }, { n: "dev" }, { n: "size" }] }, "CONFIDENCE.T": { fn: "CONFIDENCE_T", p: [{ n: "alpha" }, { n: "standardDev" }, { n: "size" }] }, CORREL: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, "COVARIANCE.P": { fn: "COVARIANCE_P", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, COVARIANCE: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, "COVARIANCE.S": { fn: "COVARIANCE_S", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, CRITBINOM: { p: [{ n: "trails", s: "z", d: 2 }, { n: "probabilityS" }, { n: "alpha" }] }, DEVSQ: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "EXPON.DIST": { fn: "EXPON_DIST", p: [{ n: "x" }, { n: "lambda" }, { n: "cumulative", s: "b" }] }, EXPONDIST: { p: [{ n: "x" }, { n: "lambda" }, { n: "cumulative", s: "b" }] }, "F.DIST": { fn: "F_DIST", p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }, { n: "cumulative", s: "b" }] }, FDIST: { p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.DIST.RT": { fn: "F_DIST_RT", p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.INV": { fn: "F_INV", p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, FINV: { p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.INV.RT": { fn: "F_INV_RT", p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.TEST": { fn: "F_TEST", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, FTEST: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, FISHER: { p: [{ n: "x" }] }, FISHERINV: { p: [{ n: "y" }] }, FORECAST: { p: [{ n: "x" }, { n: "knownYs", s: "z", d: 1, m: "?" }, { n: "knownXs", s: "z", d: 1, m: "?" }] }, "FORECAST.ETS": { fn: "FORECAST_ETS", p: [{ n: "targetDate" }, { n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.CONFINT": { fn: "FORECAST_ETS_CONFINT", p: [{ n: "targetDate" }, { n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "confiedenceLevel", m: "?" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.SEASONALITY": { fn: "FORECAST_ETS_SEASONALITY", p: [{ n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.STAT": { fn: "FORECAST_ETS_STAT", p: [{ n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "statisticType" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.LINEAR": { fn: "FORECAST_LINEAR", p: [{ n: "x" }, { n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }] }, FREQUENCY: { p: [{ n: "dataArray", s: "z", d: 2 }, { n: "binsArray", s: "z", d: 2 }] }, GAMMA: { p: [{ n: "x" }] }, "GAMMA.DIST": { fn: "GAMMA_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b", m: "?" }] }, "GAMMA.INV": { fn: "GAMMA_INV", p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }] }, GAMMALN: { p: [{ n: "x" }] }, "GAMMALN.PRECISE": { fn: "GAMMALN_PRECISE", p: [{ n: "x" }] }, GAUSS: { p: [{ n: "x" }] }, GEOMEAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, GROWTH: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }, { n: "newXs", s: "z", d: 2, m: "?" }, { n: "useConst", s: "b", m: "?" }] }, HARMEAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "HYPGEOM.DIST": { fn: "HYPGEOM_DIST", p: [{ n: "sampleS" }, { n: "numberSample" }, { n: "populationS" }, { n: "numberPop" }, { n: "cumulative", s: "b" }] }, INTERCEPT: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, KURT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, LINEST: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l", m: "?" }, { n: "constant", s: "b", m: "?" }, { n: "stats", s: "b", m: "?" }] }, LOGEST: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l", m: "?" }, { n: "constant", s: "b", m: "?" }, { n: "stats", s: "b", m: "?" }] }, "LOGNORM.DIST": { fn: "LOGNORM_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }, { n: "cumulative", s: "b" }] }, "LOGNORM.INV": { fn: "LOGNORM_INV", p: [{ n: "probability" }, { n: "mean" }, { n: "standardDev" }] }, "MODE.MULT": { fn: "MODE_MULT", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "MODE.SNGL": { fn: "MODE_SNGL", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "NEGBINOM.DIST": { fn: "NEGBINOM_DIST", p: [{ n: "numberF" }, { n: "numberS" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, "NORM.DIST": { fn: "NORM_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }, { n: "cumulative", s: "b" }] }, "NORM.INV": { fn: "NORM_INV", p: [{ n: "probability" }, { n: "mean" }, { n: "standardDev" }] }, "NORM.S.DIST": { fn: "NORM_S_DIST", p: [{ n: "z" }, { n: "cumulative", s: "b" }] }, "NORM.S.INV": { fn: "NORM_S_INV", p: [{ n: "probability" }] }, PEARSON: { p: [{ n: "array1", r: "l" }, { n: "array2", r: "l" }] }, "PERCENTILE.EXC": { fn: "PERCENTILE_EXC", p: [{ n: "array", r: "l" }, { n: "k" }] }, "PERCENTILE.INC": { fn: "PERCENTILE_INC", p: [{ n: "array", r: "l" }, { n: "k" }] }, "PERCENTRANK.EXC": { fn: "PERCENTRANK_EXC", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "significance", m: "?" }] }, "PERCENTRANK.INC": { fn: "PERCENTRANK_INC", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "significance", m: "?" }] }, PHI: { p: [{ n: "x" }] }, "POISSON.DIST": { fn: "POISSON_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "cumulative", s: "b" }] }, PROB: { p: [{ n: "xRange", r: "l" }, { n: "probRange", r: "l" }, { n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "QUARTILE.EXC": { fn: "QUARTILE_EXC", p: [{ n: "array", r: "l" }, { n: "quart" }] }, "QUARTILE.INC": { fn: "QUARTILE_INC", p: [{ n: "array", r: "l" }, { n: "quart" }] }, "RANK.AVG": { fn: "RANK_AVG", p: [{ n: "number" }, { n: "ref", r: "l" }, { n: "order", m: "?" }] }, "RANK.EQ": { fn: "RANK_EQ", p: [{ n: "number" }, { n: "ref", r: "l" }, { n: "order", m: "?" }] }, RSQ: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, SKEW: { p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "SKEW.P": { fn: "SKEW_P", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, SLOPE: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l" }] }, STANDARDIZE: { p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }] }, "STDEV.P": { fn: "STDEV_P", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "STDEV.S": { fn: "STDEV_S", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, STDEVA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, STDEVPA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, STEYX: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, "T.DIST": { fn: "T_DIST", p: [{ n: "x" }, { n: "degFreedom" }, { n: "cumulative", s: "b" }] }, "T.DIST.2T": { fn: "T_DIST_2T", p: [{ n: "x" }, { n: "degFreedom" }] }, "T.DIST.RT": { fn: "T_DIST_RT", p: [{ n: "x" }, { n: "degFreedom" }] }, "T.INV": { fn: "T_INV", p: [{ n: "probability" }, { n: "degFreedom" }] }, "T.INV.2T": { fn: "T_INV_2T", p: [{ n: "probability" }, { n: "degFreedom" }] }, "T.TEST": { fn: "T_TEST", p: [{ n: "array1", r: "l" }, { n: "array2", r: "l" }, { n: "tails" }, { n: "type" }] }, TREND: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }, { n: "newXs", s: "z", d: 1, m: "?" }, { n: "consts", s: "b", m: "?" }] }, TRIMMEAN: { p: [{ n: "array", r: "l" }, { n: "percent", r: "l" }] }, "VAR.P": { fn: "VAR_P", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "VAR.S": { fn: "VAR_S", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, VARA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, VARPA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, "WEIBULL.DIST": { fn: "WEIBULL_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }] }, "Z.TEST": { fn: "Z_TEST", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "sigma", m: "?" }] } }, $t = { AVEDEV: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGE: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGEA: { p: [{ n: "value", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGEIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }, { n: "averageRange", r: "r", m: "?" }] }, AVERAGEIFS: { p: [{ n: "averageRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, COUNT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, COUNTA: { p: [{ n: "value", s: "n", r: "l", d: 1, m: "..." }] }, COUNTBLANK: { p: [{ n: "range", r: "l" }] }, COUNTIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }] }, COUNTIFS: { p: [{ n: "criteriaRange", r: "l" }, { n: "criteria", r: "l" }] }, LARGE: { p: [{ n: "array", s: "n", r: "l" }, { n: "k" }] }, MAX: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MAXA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, MAXIFS: { p: [{ n: "maxRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, MEDIAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MIN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MINA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, MINIFS: { p: [{ n: "maxRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, PERMUT: { p: [{ n: "number" }, { n: "numberChoosen" }] }, PERMUTATIONA: { p: [{ n: "number" }, { n: "numberChoosen" }] }, SMALL: { p: [{ n: "array", s: "n", r: "l" }, { n: "k" }] } }, qt = { DELAY: { p: [{ n: "time" }, { n: "input", s: "*" }, { n: "label", s: "s", m: "?" }] }, WAIT: { p: [{ n: "type", s: "s" }, { n: "input", r: "l", m: "?" }] } }, Qt = { BAHTTEXT: { p: [{ n: "number" }] } }, Zt = { ASC: { p: [{ n: "text", s: "s" }] }, ARRAYTOTEXT: { p: [{ n: "array", r: "l" }, { n: "format", m: "?" }] }, CHAR: { p: [{ n: "number" }] }, CLEAN: { p: [{ n: "text", s: "s" }] }, CODE: { p: [{ n: "text", s: "s" }] }, CONCAT: { p: [{ n: "text", r: "l", d: 1, m: "..." }] }, CONCATENATE: { p: [{ n: "text", r: "l", d: 1, m: "..." }] }, DETECTLANGUAGE: { p: [{ n: "text", s: "s" }] }, DBCS: { p: [{ n: "text", s: "s" }] }, DOLLAR: { p: [{ n: "number" }, { n: "decimals", m: "?" }] }, EXACT: { p: [{ n: "text1", s: "s" }, { n: "text2", s: "s" }] }, FIND: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, FINDB: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, FIXED: { p: [{ n: "number" }, { n: "decimals", m: "?" }, { n: "noCommas", s: "b", m: "?" }] }, LEFT: { p: [{ n: "text", s: "s" }, { n: "numChars", m: "?" }] }, LEFTB: { p: [{ n: "text", s: "s" }, { n: "numBytes", m: "?" }] }, LEN: { p: [{ n: "text", s: "s" }] }, LENB: { p: [{ n: "text", s: "s" }] }, LOWER: { p: [{ n: "text", s: "s" }] }, MID: { p: [{ n: "text", s: "s" }, { n: "startNum" }, { n: "numChars" }] }, MIDB: { p: [{ n: "text", s: "s" }, { n: "startNum" }, { n: "numBytes" }] }, NUMBERVALUE: { p: [{ n: "text", s: "s" }, { n: "decimalSeparator", s: "s", m: "?" }, { n: "groupSeparator", s: "s", m: "?" }] }, PERCENTOF: { p: [{ n: "dataSubset", r: "l" }, { n: "dataAll", r: "l" }] }, PHONETIC: { p: [{ n: "reference", r: "r" }] }, PROPER: { p: [{ n: "text", s: "s" }] }, REGEXEXTRACT: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "returnMode", m: "?" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REGEXREPLACE: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "replacement", s: "s" }, { n: "occurrence", m: "?" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REGEXTEST: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REPLACE: { p: [{ n: "oldText", s: "s" }, { n: "startNum" }, { n: "numChars" }, { n: "newText", s: "s" }] }, REPLACEB: { p: [{ n: "oldText", s: "s" }, { n: "startNum" }, { n: "numBytes" }, { n: "newText", s: "s" }] }, REPT: { p: [{ n: "text", s: "s" }, { n: "numberTimes" }] }, RIGHT: { p: [{ n: "text", s: "s" }, { n: "numChars", m: "?" }] }, RIGHTB: { p: [{ n: "text", s: "s" }, { n: "numBytes", m: "?" }] }, SEARCH: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, SEARCHB: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startBytes", m: "?" }] }, SUBSTITUTE: { p: [{ n: "text", s: "s" }, { n: "oldText", s: "s" }, { n: "newText", s: "s" }, { n: "instanceNum", m: "?" }] }, T: { p: [{ n: "value", s: "*" }] }, TEXT: { p: [{ n: "value", s: "*" }, { n: "formatText", s: "s" }] }, TEXTAFTER: { p: [{ n: "text", s: "s" }, { n: "delimiter", s: "s" }, { n: "instanceNum", m: "?" }, { n: "matchMode", m: "?" }, { n: "matchEnd", m: "?" }, { n: "ifNotFound", s: "s", m: "?" }] }, TEXTJOIN: { p: [{ n: "delimiter", s: "s" }, { n: "ignoreEmpty", s: "b" }, { n: "text", r: "l", d: 1, m: "..." }] }, TEXTSPLIT: { p: [{ n: "text", s: "s" }, { n: "colDelimiter", s: "s", d: 1 }, { n: "rowDelimiter", s: "s", d: 1, m: "?" }, { n: "ignoreEmpty", s: "b", m: "?" }, { n: "matchMode", m: "?" }, { n: "padWith", s: "s", m: "?" }] }, TEXTBEFORE: { p: [{ n: "text", s: "s" }, { n: "delimiter", s: "s" }, { n: "instanceNum", m: "?" }, { n: "matchMode", m: "?" }, { n: "matchEnd", m: "?" }, { n: "ifNotFound", s: "s", m: "?" }] }, TRANSLATE: { p: [{ n: "text", s: "s" }, { n: "sourceLanguage", s: "s" }, { n: "targetLanguage", s: "s" }] }, TRIM: { p: [{ n: "text", s: "s" }] }, UNICHAR: { p: [{ n: "number" }] }, UNICODE: { p: [{ n: "text", s: "s" }] }, UPPER: { p: [{ n: "text", s: "s" }] }, VALUE: { p: [{ n: "text", s: "s" }] }, VALUETOTEXT: { p: [{ n: "value", s: "*" }, { n: "format", m: "?" }] } }, Jt = { FILTERXML: { p: [{ n: "xml", s: "s" }, { n: "xpath", s: "s" }] } }, ne = { ENCODEURL: { p: [{ n: "text", s: "s" }] }, WEBSERVICE: { p: [{ n: "url", s: "s" }] } }, te = () => import("./CxdfUZ_whNEdCrBM.mjs"), ee = () => import("./D36yXHRPCJFPE2Cn.mjs"), re = () => import("./DbXESzawTrm7E2Do.mjs"), ue = () => import("./DLn3G10hRwsZCSWB.mjs"), oe = () => import("./Cy781c813953r7bq.mjs"), ae = () => import("./B6zlCMitM169AEV5.mjs"), ie = () => import("./OBWvICzxYhna2IxF.mjs"), le = () => import("./N5WXqNpZDnhetIYG.mjs"), se = () => import("./CyZcmz9fV3_Zu57s.mjs"), fe = () => import("./BNu3V1ap_WR3jqdX.mjs"), ce = () => import("./JP2SydGPgN2PrEam.mjs"), me = () => import("./BgePMvIc6yA6_ebp.mjs"), pe = () => import("./BvdYpC2TrqFNZ1dz.mjs"), Ne = () => import("./CjPySw20pNmqGeem.mjs"), he = () => import("./BefBv4Sji_c90mMN.mjs"), Ee = () => import("./CHeQiTLK58a6NVsG.mjs"), ge = () => import("./BrAfC_Hz1HZiZjNh.mjs"), Ie = () => import("./CV8kpqwdAKIIEJia.mjs"), Te = () => import("./C0HNcnUg1sYe6vKJ.mjs"), de = () => import("./BhJMGJ-z8AHuc4PL.mjs"), be = () => import("./DIiCZ8EuWYWD1G4X.mjs"), Me = () => import("./CrBwUqwLJqFG3U4m.mjs");
2413
+ } }, Symbol.toStringTag, { value: "Module" })), Lt = { CUBEKPIMEMBER: { p: [{ n: "connection", s: "s" }, { n: "kpiName", s: "s" }, { n: "kpiProperty" }, { n: "caption", s: "s", m: "?" }] }, CUBEMEMBER: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s" }, { n: "caption", s: "s", m: "?" }] }, CUBEMEMBERPROPERTY: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s" }, { n: "kpiProperty" }] }, CUBERANKEDMEMBER: { p: [{ n: "connection", s: "s" }, { n: "setExpression", s: "s" }, { n: "rank" }, { n: "caption", s: "s", m: "?" }] }, CUBESET: { p: [{ n: "connection", s: "s" }, { n: "setExpression", s: "s" }, { n: "caption", s: "s", m: "?" }, { n: "sortOrder", m: "?" }, { n: "sortBy", s: "s", m: "?" }] }, CUBESETCOUNT: { p: [{ n: "set", s: "s" }] }, CUBEVALUE: { p: [{ n: "connection", s: "s" }, { n: "memberExpression", s: "s", d: 1, m: "..." }] } }, _t = { DAVERAGE: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DCOUNT: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DCOUNTA: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DGET: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DMAX: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DMIN: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DPRODUCT: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSTDEV: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSTDEVP: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DSUM: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DVAR: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] }, DVARP: { p: [{ n: "database", r: "l" }, { n: "field", s: "s" }, { n: "criteria", s: "s", r: "l" }] } }, vt = { DATE: { p: [{ n: "year" }, { n: "month" }, { n: "day" }] }, DATEDIF: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "unit", s: "s" }] }, DATESTRING: { p: [{ n: "number" }] }, DATEVALUE: { p: [{ n: "dateText", s: "s" }] }, DAY: { p: [{ n: "serialOrString", s: "*" }] }, DAYS: { p: [{ n: "endDate" }, { n: "startDate" }] }, DAYS360: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "method", s: "b", m: "?" }] }, EDATE: { p: [{ n: "startDate", s: "Date" }, { n: "months" }] }, EOMONTH: { p: [{ n: "startDate", s: "Date" }, { n: "months" }] }, HOUR: { p: [{ n: "serialOrString", s: "*" }] }, ISOWEEKNUM: { p: [{ n: "serialOrString", s: "*" }] }, MINUTE: { p: [{ n: "serialOrString", s: "s" }] }, MONTH: { p: [{ n: "serialOrString", s: "s" }] }, NETWORKDAYS: { p: [{ n: "startDate", s: "Date" }, { n: "endDate", s: "Date" }, { n: "holidays", d: 1, m: "?" }] }, "NETWORKDAYS.INTL": { fn: "NETWORKDAYS_INTL", p: [{ n: "startDate", s: "Date" }, { n: "endDate", s: "Date" }, { n: "weekend", s: "z", m: "?" }, { n: "holidays", d: 1, m: "?" }] }, NOW: {}, SECOND: { p: [{ n: "serialOrString", s: "*" }] }, TIME: { p: [{ n: "hour" }, { n: "minute" }, { n: "second" }] }, TIMEVALUE: { p: [{ n: "timeText", s: "s" }] }, TODAY: {}, WEEKDAY: { p: [{ n: "serialOrString", s: "*" }, { n: "returnType", m: "?" }] }, WEEKNUM: { p: [{ n: "serialOrString", s: "z" }, { n: "returnType", m: "?" }] }, WORKDAY: { p: [{ n: "startDate", s: "Date" }, { n: "days" }, { n: "holidays", d: 1, m: "?" }] }, "WORKDAY.INTL": { fn: "WORKDAY_INTL", p: [{ n: "startDate", s: "Date" }, { n: "days" }, { n: "weekend", s: "z", m: "?" }, { n: "holidays", d: 1, m: "?" }] }, YEAR: { p: [{ n: "serialOrString", s: "*" }] }, YEARFRAC: { p: [{ n: "startDate" }, { n: "endDate" }, { n: "basis", m: "?" }] } }, Vt = { BESSELI: { p: [{ n: "x" }, { n: "n" }] }, BESSELJ: { p: [{ n: "x" }, { n: "n" }] }, BESSELK: { p: [{ n: "x" }, { n: "n" }] }, BESSELY: { p: [{ n: "x" }, { n: "n" }] } }, Pt = { BIN2DEC: { p: [{ n: "number" }] }, BIN2HEX: { p: [{ n: "number" }, { n: "places", m: "?" }] }, BIN2OCT: { p: [{ n: "number" }, { n: "places", m: "?" }] }, BITAND: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, BITLSHIFT: { p: [{ n: "number", s: "*" }, { n: "shiftAmount" }] }, BITOR: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, BITRSHIFT: { p: [{ n: "number", s: "*" }, { n: "shiftAmount" }] }, BITXOR: { p: [{ n: "number1", s: "*" }, { n: "number2", s: "*" }] }, DEC2BIN: { p: [{ n: "number" }, { n: "places", m: "?" }] }, DEC2HEX: { p: [{ n: "number" }, { n: "places", m: "?" }] }, DEC2OCT: { p: [{ n: "number" }, { n: "places", m: "?" }] }, HEX2BIN: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, HEX2DEC: { p: [{ n: "number", s: "s" }] }, HEX2OCT: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, OCT2BIN: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] }, OCT2DEC: { p: [{ n: "number", s: "s" }] }, OCT2HEX: { p: [{ n: "number", s: "s" }, { n: "places", m: "?" }] } }, Ft = { CONVERT: { p: [{ n: "number" }, { n: "fromUnit", s: "s" }, { n: "toUnit", s: "s" }] } }, xt = { DELTA: { p: [{ n: "number1" }, { n: "number2", m: "?" }] }, GESTEP: { p: [{ n: "number" }, { n: "step", m: "?" }] } }, Ht = { ERF: { p: [{ n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "ERF.PRECISE": { fn: "ERF_PRECISE", p: [{ n: "x" }] }, ERFC: { p: [{ n: "x" }] } }, Gt = { COMPLEX: { p: [{ n: "realNum" }, { n: "iNum" }, { n: "suffix", s: "s", m: "?" }] }, IMABS: { p: [{ n: "inumber", s: "*" }] }, IMAGINARY: { p: [{ n: "inumber", s: "*" }] }, IMARGUMENT: { p: [{ n: "inumber", s: "*" }] }, IMCONJUGATE: { p: [{ n: "inumber", s: "*" }] }, IMCOS: { p: [{ n: "inumber", s: "*" }] }, IMCOSH: { p: [{ n: "inumber", s: "*" }] }, IMCOT: { p: [{ n: "inumber", s: "*" }] }, IMCSC: { p: [{ n: "inumber", s: "*" }] }, IMCSCH: { p: [{ n: "inumber", s: "*" }] }, IMDIV: { p: [{ n: "inumber1", s: "*" }, { n: "inumber2", s: "*" }] }, IMEXP: { p: [{ n: "inumber", s: "*" }] }, IMLN: { p: [{ n: "inumber", s: "*" }] }, IMLOG10: { p: [{ n: "inumber", s: "*" }] }, IMLOG2: { p: [{ n: "inumber", s: "*" }] }, IMPOWER: { p: [{ n: "inumber", s: "*" }, { n: "number" }] }, IMPRODUCT: { p: [{ n: "inumber", s: "*", d: 1, m: "..." }] }, IMREAL: { p: [{ n: "inumber", s: "*" }] }, IMSEC: { p: [{ n: "inumber", s: "*" }] }, IMSECH: { p: [{ n: "inumber", s: "*" }] }, IMSIN: { p: [{ n: "inumber", s: "*" }] }, IMSINH: { p: [{ n: "inumber", s: "*" }] }, IMSQRT: { p: [{ n: "inumber", s: "*" }] }, IMSUB: { p: [{ n: "inumber1", s: "*" }, { n: "inumber2", s: "*" }] }, IMSUM: { p: [{ n: "inumber", s: "*", d: 1, m: "..." }] }, IMTAN: { p: [{ n: "inumber", s: "*" }] } }, Xt = { ACCRINT: { p: [{ n: "issue" }, { n: "firstInterest" }, { n: "settlement" }, { n: "rate" }, { n: "par" }, { n: "frequency" }, { n: "basis", m: "?" }, { n: "calcMethod", s: "b", m: "?" }] }, ACCRINTM: { p: [{ n: "issue" }, { n: "settlement" }, { n: "rate" }, { n: "par" }, { n: "basis", m: "?" }] }, AMORLINC: { p: [{ n: "cost" }, { n: "datePurchased" }, { n: "firstPeriod" }, { n: "salvarge" }, { n: "period" }, { n: "rate" }, { n: "basis", m: "?" }] }, COUPDAYBS: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPDAYS: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPNCD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPNUM: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, COUPPCD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "frequency" }, { n: "basis", m: "?" }] }, CUMIPMT: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "type" }] }, CUMPRINC: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "type" }] }, DB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "period" }, { n: "month", m: "?" }] }, DDB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "period" }, { n: "factor", m: "?" }] }, DISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }, { n: "redemption" }, { n: "basis", m: "?" }] }, DOLLARDE: { p: [{ n: "fractionalDollar" }, { n: "fraction" }] }, DOLLARFR: { p: [{ n: "decimalDollar" }, { n: "fraction" }] }, DURATION: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "coupon" }, { n: "yld" }, { n: "frequency" }, { n: "basis", m: "?" }] }, EFFECT: { p: [{ n: "nominalRate" }, { n: "npery" }] }, FV: { p: [{ n: "rate" }, { n: "nper" }, { n: "pmt" }, { n: "pv", m: "?" }, { n: "type", m: "?", e: ["0", "1"] }] }, FVSCHEDULE: { p: [{ n: "principal" }, { n: "schedule", s: "n", r: "l" }] }, INTRATE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "investment" }, { n: "redemption" }, { n: "basis", m: "?" }] }, IPMT: { p: [{ n: "rate" }, { n: "per" }, { n: "nper" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, IRR: { p: [{ n: "values", s: "n", r: "l" }, { n: "guess", m: "?" }] }, ISPMT: { p: [{ n: "rate" }, { n: "per" }, { n: "nper" }, { n: "pv" }] }, MDURATION: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "coupon" }, { n: "yld" }, { n: "frequency" }, { n: "basis", m: "?" }] }, MIRR: { p: [{ n: "values", d: 1 }, { n: "financeRate" }, { n: "reinvestRate" }] }, NOMINAL: { p: [{ n: "effectiveRate" }, { n: "npery" }] }, NPER: { p: [{ n: "rate" }, { n: "pmt" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, NPV: { p: [{ n: "rate" }, { n: "value", d: 1, m: "..." }] }, ODDFPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "firstCoupon" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDFYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "firstCoupon" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDLPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "lastInterest" }, { n: "rate" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, ODDLYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "lastInterest" }, { n: "rate" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, PDURATION: { p: [{ n: "rate" }, { n: "pv" }, { n: "fv" }] }, PMT: { p: [{ n: "rate" }, { n: "nper" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, PRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "rate" }, { n: "yld" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, PRICEDISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }, { n: "redemption" }, { n: "basis", m: "?" }] }, PRICEMAT: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "rate" }, { n: "yld" }, { n: "basis", m: "?" }] }, PV: { p: [{ n: "rate" }, { n: "nper" }, { n: "pmt" }, { n: "fv", m: "?" }, { n: "type", m: "?" }] }, RATE: { p: [{ n: "nper" }, { n: "pmt" }, { n: "pv" }, { n: "fv", m: "?" }, { n: "type", m: "?" }, { n: "guess", m: "?" }] }, RECEIVED: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "investment" }, { n: "discount" }, { n: "basis", m: "?" }] }, RRI: { p: [{ n: "nper" }, { n: "pv" }, { n: "fv" }] }, SLN: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }] }, STOCKHISTORY: { p: [{ n: "stock", s: "s" }, { n: "startDate" }, { n: "endDate" }, { n: "interval", m: "?" }, { n: "headers", m: "?" }, { n: "properties", d: 1, m: "?" }] }, SYD: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "per" }] }, TBILLEQ: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }] }, TBILLPRICE: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "discount" }] }, TBILLYIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }] }, VDB: { p: [{ n: "cost" }, { n: "salvage" }, { n: "life" }, { n: "startPeriod" }, { n: "endPeriod" }, { n: "factor", m: "?" }, { n: "noSwitch", s: "b", m: "?" }] }, XIRR: { p: [{ n: "values", s: "n", r: "l", d: 1 }, { n: "dates", s: "n", r: "l", d: 1 }, { n: "guess", m: "?" }] }, XNPV: { p: [{ n: "rate" }, { n: "values", d: 1 }, { n: "dates", d: 1 }] }, YIELD: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "rate" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, YIELDDISC: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "pr" }, { n: "redemption" }, { n: "frequency" }, { n: "basis", m: "?" }] }, YIELDMAT: { p: [{ n: "settlement" }, { n: "maturity" }, { n: "issue" }, { n: "rate" }, { n: "pr" }, { n: "basis", m: "?" }] } }, Yt = { CELL: { p: [{ n: "infoType", s: "s", e: ["address", "col", "contents", "row", "type"] }, { n: "reference", r: "r" }] }, "ERROR.TYPE": { fn: "ERROR_TYPE", p: [{ n: "errorVal", r: "l" }] }, INFO: { p: [{ n: "typeText", s: "s", e: ["DIRECTORY", "NUMFILE", "ORIGIN", "OSVERSION", "RECALC", "RELEASE", "SYSTEM", "USER"] }] }, ISBLANK: { p: [{ n: "value", r: "l" }] }, ISERR: { p: [{ n: "value", r: "l" }] }, ISERROR: { p: [{ n: "value", r: "l" }] }, ISEVEN: { p: [{ n: "number", s: "n", r: "l" }] }, ISFORMULA: { p: [{ n: "reference", r: "r" }] }, ISLOGICAL: { p: [{ n: "value", r: "l" }] }, ISNA: { p: [{ n: "value", r: "l" }] }, ISNONTEXT: { p: [{ n: "value", r: "l" }] }, ISNUMBER: { p: [{ n: "value", r: "l" }] }, ISODD: { p: [{ n: "number", s: "n", r: "l" }] }, ISOMITTED: { p: [{ n: "argument", s: "z" }] }, ISREF: { p: [{ n: "value", r: "l" }] }, ISTEXT: { p: [{ n: "value", r: "l" }] }, N: { p: [{ n: "value", r: "l" }] }, NA: {}, SHEET: { p: [{ n: "value", s: "s", m: "?" }] }, SHEETS: { p: [{ n: "reference", r: "r", m: "?" }] }, TYPE: { p: [{ n: "value", r: "l" }] } }, kt = { AND: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] }, BYCOL: { p: [{ n: "array", r: "l" }, { n: "fn", s: "z" }] }, BYROW: { p: [{ n: "array", r: "l" }, { n: "fn", s: "z" }] }, FALSE: {}, IF: { p: [{ n: "logicalTest", r: "l" }, { n: "valueIfTrue", r: "l" }, { n: "valueIfFalse", r: "l", m: "?" }] }, IFERROR: { p: [{ n: "value", r: "l" }, { n: "valueIfError", r: "l" }] }, IFNA: { p: [{ n: "value", r: "l" }, { n: "valueIfError", r: "l" }] }, IFS: { p: [{ n: "logicalTest", r: "l" }, { n: "logicalTrue", r: "l" }, { n: "rest", r: "l", d: 1, m: "..." }] }, LAMDA: { p: [{ n: "parameterOrCalculation", r: "l", d: 1, m: "..." }] }, LET: { p: [{ n: "name", s: "s" }, { n: "nameOrValue", r: "l" }, { n: "calculationOrName", r: "l" }, { n: "rest", r: "l", d: 1, m: "..." }] }, MAKEARRAY: { p: [{ n: "rows" }, { n: "columns" }, { n: "fn", r: "l" }] }, MAP: { p: [{ n: "array", r: "l" }, { n: "lamdaOrArray", r: "l", d: 1, m: "..." }] }, NOT: { p: [{ n: "logical", r: "l" }] }, OR: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] }, REDUCE: { p: [{ n: "initialValue", r: "l" }, { n: "array", r: "l" }, { n: "fn", r: "l" }] }, SCAN: { p: [{ n: "initialValue", r: "l" }, { n: "array", r: "l" }, { n: "fn", r: "l" }] }, SWITCH: { p: [{ n: "expression", r: "l" }, { n: "value", r: "l" }, { n: "results", r: "l", d: 1, m: "..." }] }, TRUE: {}, XOR: { p: [{ n: "logical", r: "l", d: 1, m: "..." }] } }, zt = { ADDRESS: { p: [{ n: "rowNum" }, { n: "columnNum" }, { n: "absNum", m: "?" }, { n: "a1", s: "b", m: "?" }, { n: "sheetText", s: "s", m: "?" }] }, AREAS: { p: [{ n: "references", r: "l", d: 1, m: "..." }] }, CHOOSE: { p: [{ n: "indexNum" }, { n: "value1", r: "l" }, { n: "value", r: "l", d: 1, m: "..." }] }, CHOOSECOLS: { p: [{ n: "array", r: "l" }, { n: "colNum1" }, { n: "colNum", d: 1, m: "..." }] }, CHOOSEROWS: { p: [{ n: "array", r: "l" }, { n: "rowNum1" }, { n: "rowNum", d: 1, m: "..." }] }, COLUMN: { p: [{ n: "reference", r: "r", m: "?" }] }, COLUMNS: { p: [{ n: "array", r: "l" }] }, DROP: { p: [{ n: "array", r: "l" }, { n: "row" }, { n: "columns", m: "?" }] }, EXPAND: { p: [{ n: "array", r: "l" }, { n: "row" }, { n: "columns", m: "?" }, { n: "padWidth", s: "*", m: "?" }] }, FIELDVALUE: { p: [{ n: "value", s: "*" }, { n: "fieldName", s: "s" }] }, FILTER: { p: [{ n: "array", r: "l" }, { n: "include", r: "l" }, { n: "ifEmpty", r: "l" }] }, FORMULATEXT: { p: [{ n: "reference", r: "r" }] }, GETPIVOTDATA: { p: [{ n: "dataField", s: "s" }, { n: "pivotTable", s: "s" }, { n: "field1", s: "s" }, { n: "item1", r: "l" }] }, GROUPBY: { p: [{ n: "rowFields", r: "r" }, { n: "values", r: "l" }, { n: "fn", s: "z", d: 1 }, { n: "fieldHeaders", m: "?" }, { n: "totalDepth", m: "?" }, { n: "sortOrder", s: "z", d: 1, m: "?" }, { n: "filterArray", s: "b", d: 1, m: "?" }, { n: "fieldRelationship", m: "?" }] }, HLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "tableArray", r: "l" }, { n: "rowIndexNum" }, { n: "rangeLookup", s: "b", m: "?" }] }, HSTACK: { p: [{ n: "array1", r: "l" }, { n: "array", r: "l", d: 1, m: "..." }] }, HYPERLINK: { p: [{ n: "linkLocation", s: "s" }, { n: "friendlyName", s: "s", m: "?" }] }, IMAGE: { p: [{ n: "source", s: "s" }, { n: "alternateText", s: "s" }, { n: "sizing" }, { n: "height" }, { n: "width" }] }, INDEX: { p: [{ n: "array", r: "l", d: 1 }, { n: "rowNum", m: "?" }, { n: "colNum", m: "?" }, { n: "areaNum", m: "?" }] }, INDIRECT: { p: [{ n: "refText", s: "s" }, { n: "a1", s: "b", m: "?" }] }, LOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupVector", r: "l" }, { n: "resultVector", r: "l" }] }, MATCH: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", d: 2 }, { n: "matchType" }] }, OFFSET: { p: [{ n: "reference", r: "r" }, { n: "rows" }, { n: "cols" }, { n: "height", m: "?" }, { n: "width", m: "?" }] }, PIVOTBY: { p: [{ n: "rowFields", r: "r" }, { n: "colFields", r: "r" }, { n: "values", r: "l", d: 1 }, { n: "fn", s: "z", d: 1 }, { n: "fieldHeaders", m: "?" }, { n: "rowTotalDepth", m: "?" }, { n: "rowSortOrder", s: "z", d: 1, m: "?" }, { n: "colTotalDepth", m: "?" }, { n: "colSortOrder", s: "z", d: 1, m: "?" }, { n: "filterArray", s: "b", d: 1, m: "?" }, { n: "relativeTo", m: "?" }] }, ROW: { p: [{ n: "reference", r: "r", m: "?" }] }, ROWS: { p: [{ n: "array", r: "l" }] }, RTD: { p: [{ n: "progId", s: "s" }, { n: "server", s: "s", m: "?" }, { n: "topic", s: "s", d: 1, m: "..." }] }, SORT: { p: [{ n: "array", r: "l" }, { n: "sortIndex", d: 1, m: "?" }, { n: "sortOrder", d: 1, m: "?" }, { n: "byCol", s: "b", m: "?" }] }, SORTBY: { p: [{ n: "array", r: "l" }, { n: "byArray1", r: "l" }, { n: "sortOrder", d: 1, m: "?" }] }, TAKE: { p: [{ n: "array", r: "l" }, { n: "rows" }, { n: "columns", m: "?" }] }, TOCOL: { p: [{ n: "array", r: "l" }, { n: "ignore", m: "?", e: ["0 - Keep all values", "1 - Ignore Blanks", "2 - Ignore Errors", "3 - Ignore Blanks and Errors"] }, { n: "scanByColumn", s: "b", m: "?" }] }, TOROW: { p: [{ n: "array", r: "l" }, { n: "ignore", m: "?", e: ["0 - Keep all values", "1 - Ignore Blanks", "2 - Ignore Errors", "3 - Ignore Blanks and Errors"] }, { n: "scanByColumn", s: "b", m: "?" }] }, TRANSPOSE: { p: [{ n: "array", r: "l" }] }, TRIMRANGE: { p: [{ n: "range", r: "l" }, { n: "rowTrimMode", m: "?" }, { n: "colTrimMode", m: "?" }] }, UNIQUE: { p: [{ n: "array", r: "l" }, { n: "byCol", s: "b", m: "?" }, { n: "exactlyOnce", s: "b", m: "?" }] }, VLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "tableArray", r: "l" }, { n: "colIndexNum" }, { n: "rangeLookup", s: "b", m: "?" }] }, VSTACK: { p: [{ n: "array1", r: "l" }, { n: "array", r: "l", d: 1, m: "..." }] }, WRAPCOLS: { p: [{ n: "vector", r: "l" }, { n: "wrapCount" }, { n: "padWith", s: "*", m: "?" }] }, WRAPROWS: { p: [{ n: "vector", r: "l" }, { n: "wrapCount" }, { n: "padWith", s: "*", m: "?" }] }, XLOOKUP: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", r: "l" }, { n: "returnArray", r: "l" }, { n: "ifNotFound", s: "*" }, { n: "rangeLookup", s: "b", m: "?" }, { n: "matchMode", s: "b" }, { n: "searchMode", s: "b", m: "?" }] }, XMATCH: { p: [{ n: "lookupValue", s: "*" }, { n: "lookupArray", r: "l" }, { n: "matchMode", s: "b" }, { n: "searchMode", s: "b", m: "?" }] } }, jt = { ABS: { p: [{ n: "number" }] }, AGGREGATE: { p: [{ n: "functionNum" }, { n: "options" }, { n: "array", r: "l" }, { n: "K" }] }, ARABIC: { p: [{ n: "text", s: "s" }] }, BASE: { p: [{ n: "number" }, { n: "radix" }, { n: "minLength", m: "?" }] }, CEILING: { p: [{ n: "number" }, { n: "significance", m: "?" }] }, "CEILING.MATH": { fn: "CEILING_MATH", p: [{ n: "number" }, { n: "significance", m: "?" }, { n: "mode", m: "?" }] }, "CEILING.PRECISE": { fn: "CEILING_PRECISE", p: [{ n: "number" }, { n: "significance", m: "?" }] }, COMBIN: { p: [{ n: "number" }, { n: "numberChosen" }] }, COMBINA: { p: [{ n: "number" }, { n: "numberChosen" }] }, DECIMAL: { p: [{ n: "number", s: "s" }, { n: "radix" }] }, DEGREES: { p: [{ n: "angle" }] }, EVEN: { p: [{ n: "number" }] }, EXP: { p: [{ n: "number" }] }, FACT: { p: [{ n: "number" }] }, FACTDOUBLE: { p: [{ n: "number" }] }, FLOOR: { p: [{ n: "number" }, { n: "significance", m: "?" }] }, "FLOOR.MATH": { fn: "FLOOR_MATH", p: [{ n: "number" }, { n: "significance", m: "?" }, { n: "mode", m: "?" }] }, "FLOOR.PRECISE": { fn: "FLOOR_PRECISE", p: [{ n: "number" }, { n: "significance", m: "?" }] }, GCD: { p: [{ n: "number", d: 1, m: "..." }] }, INT: { p: [{ n: "number" }] }, "ISO.CEILING": { fn: "ISO_CEILING", p: [{ n: "number" }, { n: "significance", m: "?" }] }, LCM: { p: [{ n: "number", d: 1, m: "..." }] }, LN: { p: [{ n: "number" }] }, LOG: { p: [{ n: "number" }, { n: "base", m: "?" }] }, LOG10: { p: [{ n: "number" }] }, MDETERM: { p: [{ n: "array", d: 2 }] }, MINVERSE: { p: [{ n: "array", d: 2 }] }, MMULT: { p: [{ n: "array1", s: "z", d: 2 }, { n: "array2", s: "z", d: 2 }] }, MOD: { p: [{ n: "number" }, { n: "divisor" }] }, MROUND: { p: [{ n: "number" }, { n: "multiple" }] }, MULTINOMIAL: { p: [{ n: "number", d: 1, m: "..." }] }, MUNIT: { p: [{ n: "dimension" }] }, ODD: { p: [{ n: "number" }] }, PI: {}, POWER: { p: [{ n: "number" }, { n: "power" }] }, PRODUCT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, QUOTIENT: { p: [{ n: "numerator" }, { n: "denominator" }] }, RADIANS: { p: [{ n: "angle" }] }, RAND: {}, RANDARRAY: { p: [{ n: "rows", m: "?" }, { n: "columns", m: "?" }, { n: "min", m: "?" }, { n: "max", m: "?" }, { n: "integer", s: "b", m: "?" }] }, RANDBETWEEN: { p: [{ n: "bottom" }, { n: "top" }] }, ROMAN: { p: [{ n: "number" }, { n: "form", m: "?" }] }, ROUND: { p: [{ n: "number" }, { n: "numDigits" }] }, ROUNDDOWN: { p: [{ n: "number" }, { n: "numDigits" }] }, ROUNDUP: { p: [{ n: "number" }, { n: "numDigits" }] }, SEQUENCE: { p: [{ n: "rows" }, { n: "columns", m: "?" }, { n: "start", m: "?" }, { n: "step", m: "?" }] }, SERIESSUM: { p: [{ n: "x" }, { n: "n" }, { n: "m" }, { n: "coefficients", d: 1, m: "..." }] }, SIGN: { p: [{ n: "number" }] }, SQRT: { p: [{ n: "number" }] }, SQRTPI: { p: [{ n: "number" }] }, SUBTOTAL: { p: [{ n: "functionNum" }, { n: "ref", r: "l", d: 1, m: "..." }] }, SUM: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, SUMIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }, { n: "sumRange", r: "r", m: "?" }] }, SUMIFS: { p: [{ n: "sumRange", r: "l" }, { n: "criteriaRange", r: "r" }, { n: "criteria", r: "l" }] }, SUMPRODUCT: { p: [{ n: "array1", s: "z", d: 2 }, { n: "rest", s: "z", d: 3, m: "..." }] }, SUMSQ: { p: [{ n: "number", r: "l", d: 1, m: "..." }] }, SUMX2MY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, SUMX2PY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, SUMXMY2: { p: [{ n: "arrayX", s: "z", d: 2 }, { n: "arrayY", s: "z", d: 2 }] }, TRUNC: { p: [{ n: "number" }, { n: "numDigits", m: "?" }] } }, Wt = { ACOS: { p: [{ n: "number" }] }, ACOSH: { p: [{ n: "number" }] }, ACOT: { p: [{ n: "number" }] }, ACOTH: { p: [{ n: "number" }] }, ASIN: { p: [{ n: "number" }] }, ASINH: { p: [{ n: "number" }] }, ATAN: { p: [{ n: "number" }] }, ATAN2: { p: [{ n: "x" }, { n: "y" }] }, ATANH: { p: [{ n: "number" }] }, COS: { p: [{ n: "number" }] }, COSH: { p: [{ n: "number" }] }, COT: { p: [{ n: "number" }] }, COTH: { p: [{ n: "number" }] }, CSC: { p: [{ n: "number" }] }, CSCH: { p: [{ n: "number" }] }, SEC: { p: [{ n: "number" }] }, SECH: { p: [{ n: "number" }] }, SIN: { p: [{ n: "number" }] }, SINH: { p: [{ n: "number" }] }, TAN: { p: [{ n: "number" }] }, TANH: { p: [{ n: "number" }] } }, Kt = { "BETA.DIST": { fn: "BETA_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, BETADIST: { p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, "BETA.INV": { fn: "BETA_INV", p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, BETAINV: { p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }, { n: "a", m: "?" }, { n: "b", m: "?" }] }, "BINOM.DIST": { fn: "BINOM_DIST", p: [{ n: "numberS" }, { n: "trials" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, BINOMDIST: { p: [{ n: "numberS" }, { n: "trials" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, "BINOM.DIST.RANGE": { fn: "BINOM_DIST_RANGE", p: [{ n: "trials" }, { n: "probabilityS" }, { n: "numberS" }, { n: "numberS2", m: "?" }] }, "BINOM.INV": { fn: "BINOM_INV", p: [{ n: "trials" }, { n: "probabilityS" }, { n: "alpha" }] }, "CHISQ.DIST": { fn: "CHISQ_DIST", p: [{ n: "x" }, { n: "degFreedom" }, { n: "cumulative", s: "b", m: "?" }] }, CHIDIST: { p: [{ n: "x" }, { n: "degFreedom" }] }, "CHISQ.DIST.RT": { fn: "CHISQ_DIST_RT", p: [{ n: "x" }, { n: "degFreedom" }] }, "CHISQ.INV": { fn: "CHISQ_INV", p: [{ n: "probability" }, { n: "degFreedom" }] }, CHIINV: { p: [{ n: "probability" }, { n: "degFreedom" }] }, "CHISQ.INV.RT": { fn: "CHISQ_INV_RT", p: [{ n: "probability" }, { n: "degFreedom" }] }, "CHISQ.TEST": { fn: "CHISQ_TEST", p: [{ n: "actualRange", s: "z", d: 2 }, { n: "expectedRange", s: "z", d: 2 }] }, CHITEST: { p: [{ n: "actualRange", s: "z", d: 2 }, { n: "expectedRange", s: "z", d: 2 }] }, "CONFIDENCE.NORM": { fn: "CONFIDENCE_NORM", p: [{ n: "alpha" }, { n: "standardDev" }, { n: "size" }] }, CONFIDENCE: { p: [{ n: "alpha" }, { n: "std" }, { n: "dev" }, { n: "size" }] }, "CONFIDENCE.T": { fn: "CONFIDENCE_T", p: [{ n: "alpha" }, { n: "standardDev" }, { n: "size" }] }, CORREL: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, "COVARIANCE.P": { fn: "COVARIANCE_P", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, COVARIANCE: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, "COVARIANCE.S": { fn: "COVARIANCE_S", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, CRITBINOM: { p: [{ n: "trails", s: "z", d: 2 }, { n: "probabilityS" }, { n: "alpha" }] }, DEVSQ: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "EXPON.DIST": { fn: "EXPON_DIST", p: [{ n: "x" }, { n: "lambda" }, { n: "cumulative", s: "b" }] }, EXPONDIST: { p: [{ n: "x" }, { n: "lambda" }, { n: "cumulative", s: "b" }] }, "F.DIST": { fn: "F_DIST", p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }, { n: "cumulative", s: "b" }] }, FDIST: { p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.DIST.RT": { fn: "F_DIST_RT", p: [{ n: "x" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.INV": { fn: "F_INV", p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, FINV: { p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.INV.RT": { fn: "F_INV_RT", p: [{ n: "probability" }, { n: "degFreedom1" }, { n: "degFreedom2" }] }, "F.TEST": { fn: "F_TEST", p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, FTEST: { p: [{ n: "array1", s: "z", d: 1 }, { n: "array2", s: "z", d: 1 }] }, FISHER: { p: [{ n: "x" }] }, FISHERINV: { p: [{ n: "y" }] }, FORECAST: { p: [{ n: "x" }, { n: "knownYs", s: "z", d: 1, m: "?" }, { n: "knownXs", s: "z", d: 1, m: "?" }] }, "FORECAST.ETS": { fn: "FORECAST_ETS", p: [{ n: "targetDate" }, { n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.CONFINT": { fn: "FORECAST_ETS_CONFINT", p: [{ n: "targetDate" }, { n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "confiedenceLevel", m: "?" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.SEASONALITY": { fn: "FORECAST_ETS_SEASONALITY", p: [{ n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.ETS.STAT": { fn: "FORECAST_ETS_STAT", p: [{ n: "values", r: "l" }, { n: "timeline", r: "l" }, { n: "statisticType" }, { n: "seasonality", m: "?" }, { n: "dataCompletion", m: "?" }, { n: "aggregation", m: "?" }] }, "FORECAST.LINEAR": { fn: "FORECAST_LINEAR", p: [{ n: "x" }, { n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }] }, FREQUENCY: { p: [{ n: "dataArray", s: "z", d: 2 }, { n: "binsArray", s: "z", d: 2 }] }, GAMMA: { p: [{ n: "x" }] }, "GAMMA.DIST": { fn: "GAMMA_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b", m: "?" }] }, "GAMMA.INV": { fn: "GAMMA_INV", p: [{ n: "probability" }, { n: "alpha" }, { n: "beta" }] }, GAMMALN: { p: [{ n: "x" }] }, "GAMMALN.PRECISE": { fn: "GAMMALN_PRECISE", p: [{ n: "x" }] }, GAUSS: { p: [{ n: "x" }] }, GEOMEAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, GROWTH: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }, { n: "newXs", s: "z", d: 2, m: "?" }, { n: "useConst", s: "b", m: "?" }] }, HARMEAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "HYPGEOM.DIST": { fn: "HYPGEOM_DIST", p: [{ n: "sampleS" }, { n: "numberSample" }, { n: "populationS" }, { n: "numberPop" }, { n: "cumulative", s: "b" }] }, INTERCEPT: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, KURT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, LINEST: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l", m: "?" }, { n: "constant", s: "b", m: "?" }, { n: "stats", s: "b", m: "?" }] }, LOGEST: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l", m: "?" }, { n: "constant", s: "b", m: "?" }, { n: "stats", s: "b", m: "?" }] }, "LOGNORM.DIST": { fn: "LOGNORM_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }, { n: "cumulative", s: "b" }] }, "LOGNORM.INV": { fn: "LOGNORM_INV", p: [{ n: "probability" }, { n: "mean" }, { n: "standardDev" }] }, "MODE.MULT": { fn: "MODE_MULT", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "MODE.SNGL": { fn: "MODE_SNGL", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "NEGBINOM.DIST": { fn: "NEGBINOM_DIST", p: [{ n: "numberF" }, { n: "numberS" }, { n: "probabilityS" }, { n: "cumulative", s: "b" }] }, "NORM.DIST": { fn: "NORM_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }, { n: "cumulative", s: "b" }] }, "NORM.INV": { fn: "NORM_INV", p: [{ n: "probability" }, { n: "mean" }, { n: "standardDev" }] }, "NORM.S.DIST": { fn: "NORM_S_DIST", p: [{ n: "z" }, { n: "cumulative", s: "b" }] }, "NORM.S.INV": { fn: "NORM_S_INV", p: [{ n: "probability" }] }, PEARSON: { p: [{ n: "array1", r: "l" }, { n: "array2", r: "l" }] }, "PERCENTILE.EXC": { fn: "PERCENTILE_EXC", p: [{ n: "array", r: "l" }, { n: "k" }] }, "PERCENTILE.INC": { fn: "PERCENTILE_INC", p: [{ n: "array", r: "l" }, { n: "k" }] }, "PERCENTRANK.EXC": { fn: "PERCENTRANK_EXC", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "significance", m: "?" }] }, "PERCENTRANK.INC": { fn: "PERCENTRANK_INC", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "significance", m: "?" }] }, PHI: { p: [{ n: "x" }] }, "POISSON.DIST": { fn: "POISSON_DIST", p: [{ n: "x" }, { n: "mean" }, { n: "cumulative", s: "b" }] }, PROB: { p: [{ n: "xRange", r: "l" }, { n: "probRange", r: "l" }, { n: "lowerLimit" }, { n: "upperLimit", m: "?" }] }, "QUARTILE.EXC": { fn: "QUARTILE_EXC", p: [{ n: "array", r: "l" }, { n: "quart" }] }, "QUARTILE.INC": { fn: "QUARTILE_INC", p: [{ n: "array", r: "l" }, { n: "quart" }] }, "RANK.AVG": { fn: "RANK_AVG", p: [{ n: "number" }, { n: "ref", r: "l" }, { n: "order", m: "?" }] }, "RANK.EQ": { fn: "RANK_EQ", p: [{ n: "number" }, { n: "ref", r: "l" }, { n: "order", m: "?" }] }, RSQ: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, SKEW: { p: [{ n: "number", r: "l", d: 1, m: "..." }] }, "SKEW.P": { fn: "SKEW_P", p: [{ n: "number", r: "l", d: 1, m: "..." }] }, SLOPE: { p: [{ n: "knownYs", r: "l" }, { n: "knownXs", r: "l" }] }, STANDARDIZE: { p: [{ n: "x" }, { n: "mean" }, { n: "standardDev" }] }, "STDEV.P": { fn: "STDEV_P", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "STDEV.S": { fn: "STDEV_S", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, STDEVA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, STDEVPA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, STEYX: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1 }] }, "T.DIST": { fn: "T_DIST", p: [{ n: "x" }, { n: "degFreedom" }, { n: "cumulative", s: "b" }] }, "T.DIST.2T": { fn: "T_DIST_2T", p: [{ n: "x" }, { n: "degFreedom" }] }, "T.DIST.RT": { fn: "T_DIST_RT", p: [{ n: "x" }, { n: "degFreedom" }] }, "T.INV": { fn: "T_INV", p: [{ n: "probability" }, { n: "degFreedom" }] }, "T.INV.2T": { fn: "T_INV_2T", p: [{ n: "probability" }, { n: "degFreedom" }] }, "T.TEST": { fn: "T_TEST", p: [{ n: "array1", r: "l" }, { n: "array2", r: "l" }, { n: "tails" }, { n: "type" }] }, TREND: { p: [{ n: "knownYs", s: "z", d: 1 }, { n: "knownXs", s: "z", d: 1, m: "?" }, { n: "newXs", s: "z", d: 1, m: "?" }, { n: "consts", s: "b", m: "?" }] }, TRIMMEAN: { p: [{ n: "array", r: "l" }, { n: "percent", r: "l" }] }, "VAR.P": { fn: "VAR_P", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, "VAR.S": { fn: "VAR_S", p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, VARA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, VARPA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, "WEIBULL.DIST": { fn: "WEIBULL_DIST", p: [{ n: "x" }, { n: "alpha" }, { n: "beta" }, { n: "cumulative", s: "b" }] }, "Z.TEST": { fn: "Z_TEST", p: [{ n: "array", r: "l" }, { n: "x" }, { n: "sigma", m: "?" }] } }, $t = { AVEDEV: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGE: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGEA: { p: [{ n: "value", s: "n", r: "l", d: 1, m: "..." }] }, AVERAGEIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }, { n: "averageRange", r: "r", m: "?" }] }, AVERAGEIFS: { p: [{ n: "averageRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, COUNT: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, COUNTA: { p: [{ n: "value", s: "n", r: "l", d: 1, m: "..." }] }, COUNTBLANK: { p: [{ n: "range", r: "l" }] }, COUNTIF: { p: [{ n: "range", r: "l" }, { n: "criteria", r: "l" }] }, COUNTIFS: { p: [{ n: "criteriaRange", r: "l" }, { n: "criteria", r: "l" }] }, LARGE: { p: [{ n: "array", s: "n", r: "l" }, { n: "k" }] }, MAX: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MAXA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, MAXIFS: { p: [{ n: "maxRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, MEDIAN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MIN: { p: [{ n: "number", s: "n", r: "l", d: 1, m: "..." }] }, MINA: { p: [{ n: "value", r: "l", d: 1, m: "..." }] }, MINIFS: { p: [{ n: "maxRange", r: "l" }, { n: "criteriaRange", r: "l" }, { n: "criteria", r: "l", d: 1, m: "..." }] }, PERMUT: { p: [{ n: "number" }, { n: "numberChoosen" }] }, PERMUTATIONA: { p: [{ n: "number" }, { n: "numberChoosen" }] }, SMALL: { p: [{ n: "array", s: "n", r: "l" }, { n: "k" }] } }, qt = { DELAY: { p: [{ n: "time" }, { n: "input", s: "*" }, { n: "label", s: "s", m: "?" }] }, WAIT: { p: [{ n: "type", s: "s" }, { n: "input", r: "l", m: "?" }] } }, Qt = { BAHTTEXT: { p: [{ n: "number" }] } }, Zt = { ASC: { p: [{ n: "text", s: "s" }] }, ARRAYTOTEXT: { p: [{ n: "array", r: "l" }, { n: "format", m: "?" }] }, CHAR: { p: [{ n: "number" }] }, CLEAN: { p: [{ n: "text", s: "s" }] }, CODE: { p: [{ n: "text", s: "s" }] }, CONCAT: { p: [{ n: "text", r: "l", d: 1, m: "..." }] }, CONCATENATE: { p: [{ n: "text", r: "l", d: 1, m: "..." }] }, DETECTLANGUAGE: { p: [{ n: "text", s: "s" }] }, DBCS: { p: [{ n: "text", s: "s" }] }, DOLLAR: { p: [{ n: "number" }, { n: "decimals", m: "?" }] }, EXACT: { p: [{ n: "text1", s: "s" }, { n: "text2", s: "s" }] }, FIND: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, FINDB: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, FIXED: { p: [{ n: "number" }, { n: "decimals", m: "?" }, { n: "noCommas", s: "b", m: "?" }] }, LEFT: { p: [{ n: "text", s: "s" }, { n: "numChars", m: "?" }] }, LEFTB: { p: [{ n: "text", s: "s" }, { n: "numBytes", m: "?" }] }, LEN: { p: [{ n: "text", s: "s" }] }, LENB: { p: [{ n: "text", s: "s" }] }, LOWER: { p: [{ n: "text", s: "s" }] }, MID: { p: [{ n: "text", s: "s" }, { n: "startNum" }, { n: "numChars" }] }, MIDB: { p: [{ n: "text", s: "s" }, { n: "startNum" }, { n: "numBytes" }] }, NUMBERVALUE: { p: [{ n: "text", s: "s" }, { n: "decimalSeparator", s: "s", m: "?" }, { n: "groupSeparator", s: "s", m: "?" }] }, PERCENTOF: { p: [{ n: "dataSubset", r: "l" }, { n: "dataAll", r: "l" }] }, PHONETIC: { p: [{ n: "reference", r: "r" }] }, PROPER: { p: [{ n: "text", s: "s" }] }, REGEXEXTRACT: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "returnMode", m: "?" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REGEXREPLACE: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "replacement", s: "s" }, { n: "occurrence", m: "?" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REGEXTEST: { p: [{ n: "text", s: "s" }, { n: "pattern", s: "s" }, { n: "caseSensitivity", s: "b", m: "?" }] }, REPLACE: { p: [{ n: "oldText", s: "s" }, { n: "startNum" }, { n: "numChars" }, { n: "newText", s: "s" }] }, REPLACEB: { p: [{ n: "oldText", s: "s" }, { n: "startNum" }, { n: "numBytes" }, { n: "newText", s: "s" }] }, REPT: { p: [{ n: "text", s: "s" }, { n: "numberTimes" }] }, RIGHT: { p: [{ n: "text", s: "s" }, { n: "numChars", m: "?" }] }, RIGHTB: { p: [{ n: "text", s: "s" }, { n: "numBytes", m: "?" }] }, SEARCH: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startNum", m: "?" }] }, SEARCHB: { p: [{ n: "findText", s: "s" }, { n: "withinText", s: "s" }, { n: "startBytes", m: "?" }] }, SUBSTITUTE: { p: [{ n: "text", s: "s" }, { n: "oldText", s: "s" }, { n: "newText", s: "s" }, { n: "instanceNum", m: "?" }] }, T: { p: [{ n: "value", s: "*" }] }, TEXT: { p: [{ n: "value", s: "*" }, { n: "formatText", s: "s" }] }, TEXTAFTER: { p: [{ n: "text", s: "s" }, { n: "delimiter", s: "s" }, { n: "instanceNum", m: "?" }, { n: "matchMode", m: "?" }, { n: "matchEnd", m: "?" }, { n: "ifNotFound", s: "s", m: "?" }] }, TEXTJOIN: { p: [{ n: "delimiter", s: "s" }, { n: "ignoreEmpty", s: "b" }, { n: "text", r: "l", d: 1, m: "..." }] }, TEXTSPLIT: { p: [{ n: "text", s: "s" }, { n: "colDelimiter", s: "s", d: 1 }, { n: "rowDelimiter", s: "s", d: 1, m: "?" }, { n: "ignoreEmpty", s: "b", m: "?" }, { n: "matchMode", m: "?" }, { n: "padWith", s: "s", m: "?" }] }, TEXTBEFORE: { p: [{ n: "text", s: "s" }, { n: "delimiter", s: "s" }, { n: "instanceNum", m: "?" }, { n: "matchMode", m: "?" }, { n: "matchEnd", m: "?" }, { n: "ifNotFound", s: "s", m: "?" }] }, TRANSLATE: { p: [{ n: "text", s: "s" }, { n: "sourceLanguage", s: "s" }, { n: "targetLanguage", s: "s" }] }, TRIM: { p: [{ n: "text", s: "s" }] }, UNICHAR: { p: [{ n: "number" }] }, UNICODE: { p: [{ n: "text", s: "s" }] }, UPPER: { p: [{ n: "text", s: "s" }] }, VALUE: { p: [{ n: "text", s: "s" }] }, VALUETOTEXT: { p: [{ n: "value", s: "*" }, { n: "format", m: "?" }] } }, Jt = { FILTERXML: { p: [{ n: "xml", s: "s" }, { n: "xpath", s: "s" }] } }, ne = { ENCODEURL: { p: [{ n: "text", s: "s" }] }, WEBSERVICE: { p: [{ n: "url", s: "s" }] } }, te = () => import("./C86MlawsKJdD9LF8.mjs"), ee = () => import("./BGt455yLuaSCtS3B.mjs"), re = () => import("./DrT-57di5SkkFmk2.mjs"), ue = () => import("./DQpvGf222ccOGfjU.mjs"), oe = () => import("./Dbm37kRSyl_8FJoJ.mjs"), ae = () => import("./C3xhjguoFh_LLdE0.mjs"), ie = () => import("./zGGld_iCASteK8iy.mjs"), le = () => import("./YC7mlG3gvQikwmLc.mjs"), se = () => import("./C3lBcMoGYfLhgMfA.mjs"), fe = () => import("./4kTocRYniLajS_hb.mjs"), ce = () => import("./DP2FYMLsdP_WcDYS.mjs"), me = () => import("./DkpEl_DXRacSkWrt.mjs"), pe = () => import("./CrCDm1JQ6LgVBdtF.mjs"), Ne = () => import("./BmmN529Wnsai7InC.mjs"), he = () => import("./BH6V9bxFT7tKt3JY.mjs"), Ee = () => import("./PynWQEh5r-eYdDWa.mjs"), ge = () => import("./bhTV2Kuwe5GAobt1.mjs"), Ie = () => import("./DmY32GhkYpEm8mSs.mjs"), Te = () => import("./C3ppHQZRcF8ZsuOM.mjs"), de = () => import("./BTi4XED3s0teHiBt.mjs"), be = () => import("./B1NCmSNzMv8wue5X.mjs"), Me = () => import("./graF5_D09QCDSoHN.mjs");
2412
2414
  function Se(n2) {
2413
2415
  return function(n3, t2) {
2414
2416
  const e2 = /* @__PURE__ */ new Map();
2415
2417
  return t2(e2, n3, s, Lt, te, "Cube"), t2(e2, n3, f, _t, ee, "Database"), t2(e2, n3, U, vt, re, "Date & Time"), t2(e2, n3, L, Vt, ue, "Engineering"), t2(e2, n3, G, Pt, oe, "Engineering"), t2(e2, n3, X, Ft, ae, "Engineering"), t2(e2, n3, Y, xt, ie, "Engineering"), t2(e2, n3, k, Ht, le, "Engineering"), t2(e2, n3, un, Gt, se, "Engineering"), t2(e2, n3, hn, Xt, fe, "Financial"), t2(e2, n3, En, Yt, ce, "Information"), t2(e2, n3, Tn, kt, me, "Logical"), t2(e2, n3, Mn, zt, pe, "Lookup & Reference"), t2(e2, n3, Pn, jt, Ne, "Math & Trig"), t2(e2, n3, xn, Wt, he, "Math & Trig"), t2(e2, n3, lt, Kt, Ee, "Statistical"), t2(e2, n3, Yn, $t, ge, "Statistical"), t2(e2, n3, mt, qt, Ie, "Testing"), t2(e2, n3, pt, Qt, Te, "Text"), t2(e2, n3, Ot, Zt, de, "Text"), t2(e2, n3, Bt, Jt, be, "Web"), t2(e2, n3, Ut, ne, Me, "Web"), e2;
2416
2418
  }(n2, Ae);
2417
2419
  }
2418
- const Ae = (n2, t2, r2, a2, i2, l2) => {
2420
+ const Ae = (n2, e2, u2, a2, i2, l2) => {
2419
2421
  const s2 = Object.keys(a2);
2420
2422
  for (const f2 of s2) {
2421
2423
  const s3 = a2[f2], c2 = f2, m2 = [], p2 = s3.p;
2422
2424
  if (p2) for (let n3 = 0; n3 < p2.length; n3++) {
2423
- const t3 = p2[n3];
2424
- let r3 = null;
2425
- t3.s ? r3 = t3.s : t3.r || (r3 = e.Number);
2426
- const o2 = { name: t3.n, scalar: r3, range: t3.r ?? null, arrayDepth: t3.d ?? 0, optional: "?" === t3.m, rest: "..." === t3.m, enums: t3.e ?? u.EmptyArray };
2425
+ const e3 = p2[n3];
2426
+ let u3 = null;
2427
+ e3.s ? u3 = e3.s : e3.r || (u3 = t.Number);
2428
+ const o2 = { name: e3.n, scalar: u3, range: e3.r ?? null, arrayDepth: e3.d ?? 0, optional: "?" === e3.m, rest: "..." === e3.m, enums: e3.e ?? r.EmptyArray };
2427
2429
  delete o2.dim, m2.push(o2);
2428
2430
  }
2429
- const N2 = { name: c2, parameters: m2, returnType: null, context: s3.c ? "calculation" : null, behavior: null }, h2 = r2[s3.fn ?? c2];
2431
+ const N2 = { name: c2, parameters: m2, returnType: null, context: s3.c ? "calculation" : null, behavior: null }, h2 = u2[s3.fn ?? c2];
2430
2432
  let E2;
2431
- const g2 = new o(N2, h2, t2, async (n3) => {
2433
+ const g2 = new o(N2, h2, e2, async (n3) => {
2432
2434
  if (!i2) return null;
2433
- let t3;
2435
+ let t2;
2434
2436
  if (!E2) {
2435
- t3 = (await i2()).default, E2 = t3;
2437
+ t2 = (await i2()).default, E2 = t2;
2436
2438
  }
2437
- const e2 = t3?.[c2];
2438
- if (!e2) return console.warn(`No descriptor found for built-in function: ${c2}`), null;
2439
- const r3 = e2.p;
2440
- let o2 = r3 ? { ...r3 } : u.EmptyObject;
2439
+ const e3 = t2?.[c2];
2440
+ if (!e3) return console.warn(`No descriptor found for built-in function: ${c2}`), null;
2441
+ const u3 = e3.p;
2442
+ let o2 = u3 ? { ...u3 } : r.EmptyObject;
2441
2443
  const a3 = Object.keys(o2);
2442
2444
  if (a3.length > 0) for (let n4 = 0; n4 < a3.length; n4++) {
2443
- const t4 = a3[n4], e3 = r3[t4], u2 = { description: e3.d ?? "", example: e3.e, defaultValue: e3.v };
2444
- o2[t4] = u2;
2445
+ const t3 = a3[n4], e4 = u3[t3], r2 = { description: e4.d ?? "", example: e4.e, defaultValue: e4.v };
2446
+ o2[t3] = r2;
2445
2447
  }
2446
- return { name: c2, summary: e2.s ?? "", category: e2.c ?? l2 ?? null, parameters: o2, hidden: e2.h ?? false, links: e2.l ?? u.EmptyArray };
2448
+ return { name: c2, summary: e3.s ?? "", category: e3.c ?? l2 ?? null, parameters: o2, hidden: e3.h ?? false, links: e3.l ?? r.EmptyArray };
2447
2449
  }, true);
2448
2450
  n2.set(c2, g2);
2449
2451
  }