abl-ui 0.3.18 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/abl-ui.es.js CHANGED
@@ -1361,7 +1361,7 @@ const Ta = (e) => ({
1361
1361
  switch (g) {
1362
1362
  case "bestFit": {
1363
1363
  var P;
1364
- const K = (P = D.map((G) => [G.placement, G.overflows.filter((V) => V > 0).reduce((V, N) => V + N, 0)]).sort((G, V) => G[1] - V[1])[0]) == null ? void 0 : P[0];
1364
+ const K = (P = D.map((G) => [G.placement, G.overflows.filter((V) => V > 0).reduce((V, O) => V + O, 0)]).sort((G, V) => G[1] - V[1])[0]) == null ? void 0 : P[0];
1365
1365
  K && (Y = K);
1366
1366
  break;
1367
1367
  }
@@ -2824,11 +2824,11 @@ const Ul = /* @__PURE__ */ r("div", {
2824
2824
  console.log("e====", W);
2825
2825
  const P = W.target, { top: j, left: ee, right: Y, bottom: K } = P.getBoundingClientRect(), G = document.documentElement.clientWidth, V = document.documentElement.clientHeight;
2826
2826
  d.value = W.clientX, u.value = W.clientY;
2827
- const N = v.value, b = c.value;
2828
- document.onmousemove = (O) => {
2829
- v.value = N + O.clientX - d.value, c.value = b + O.clientY - u.value;
2830
- }, document.onmouseup = (O) => {
2831
- v.value > N + G - Y && (v.value = N + G - Y), v.value < N - ee && (v.value = N - ee), c.value > b + V - K && (c.value = b + V - K), c.value < b - j && (c.value = b - j), document.onmousemove = null;
2827
+ const O = v.value, b = c.value;
2828
+ document.onmousemove = (N) => {
2829
+ v.value = O + N.clientX - d.value, c.value = b + N.clientY - u.value;
2830
+ }, document.onmouseup = (N) => {
2831
+ v.value > O + G - Y && (v.value = O + G - Y), v.value < O - ee && (v.value = O - ee), c.value > b + V - K && (c.value = b + V - K), c.value < b - j && (c.value = b - j), document.onmousemove = null;
2832
2832
  };
2833
2833
  }, D = (W) => {
2834
2834
  const P = W.deltaY * a.zoomRate * 0.1;
@@ -4774,8 +4774,8 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4774
4774
  a.type == "single" ? a == null || a.options.map((V) => {
4775
4775
  V.value == a.modelValue && (V.selected = !0);
4776
4776
  }) : a == null || a.options.map((V) => {
4777
- a.modelValue.map((N) => {
4778
- V.value == N && (V.selected = !0);
4777
+ a.modelValue.map((O) => {
4778
+ V.value == O && (V.selected = !0);
4779
4779
  });
4780
4780
  });
4781
4781
  const o = t, i = ke({
@@ -4784,49 +4784,64 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4784
4784
  trigger: "click",
4785
4785
  transitionName: "abl-select-menu"
4786
4786
  }), s = $(""), d = $(), u = $(null), v = $(""), c = $(), p = $(a.modelValue), g = $(!1), m = T(() => {
4787
- var N;
4788
- return { width: (((N = d.value) == null ? void 0 : N.getBoundingClientRect().width) || 0) + "px" };
4787
+ var O;
4788
+ return { width: (((O = d.value) == null ? void 0 : O.getBoundingClientRect().width) || 0) + "px" };
4789
4789
  }), w = ke({
4790
4790
  list: a == null ? void 0 : a.options
4791
4791
  }), k = $(!1), y = $(
4792
4792
  a.search && v.value === "focus" && k.value
4793
4793
  ), C = $(a.disabled), z = $(a.mode === "tag"), S = $(""), _ = ke(
4794
4794
  (G = a == null ? void 0 : a.options) == null ? void 0 : G.filter((V) => V.selected === !0)
4795
- ), x = () => n.default && n.default() || [], A = () => {
4795
+ ), x = () => {
4796
+ console.log(n == null ? void 0 : n.default);
4797
+ debugger;
4798
+ return (n == null ? void 0 : n.default) && (n == null ? void 0 : n.default()) || [];
4799
+ }, A = () => {
4796
4800
  var V;
4797
- n.default && (w.list = [], (V = n.default()) == null || V.map((N) => {
4798
- var b;
4799
- if (N.props) {
4800
- const { value: O, name: R, img: H, iconColor: te } = N.props;
4801
- w.list.push({
4802
- value: O,
4803
- name: R,
4804
- img: H,
4805
- iconColor: te
4806
- }), p.value === O && _.push({
4807
- value: O,
4808
- name: R,
4809
- img: H,
4810
- iconColor: te
4811
- });
4812
- } else
4813
- ((b = N == null ? void 0 : N.children) == null ? void 0 : b.length) > 0 && N.children.map((O) => {
4814
- const { value: R, name: H, img: te, iconColor: ae } = O.props;
4815
- w.list.push({
4816
- value: R,
4817
- name: H,
4818
- img: te,
4819
- iconColor: ae
4820
- }), p.value === R && (_.splice(0, _.length), _.push({
4821
- value: R,
4822
- name: H,
4823
- img: te,
4824
- iconColor: ae
4825
- }));
4826
- });
4827
- }), l = w.list);
4801
+ try {
4802
+ if (n.default) {
4803
+ w.list = [], (V = n.default()) == null || V.map((O) => {
4804
+ var b;
4805
+ if (O.props) {
4806
+ const { value: N, name: R, img: H, iconColor: te } = O.props;
4807
+ w.list.push({
4808
+ value: N,
4809
+ name: R,
4810
+ img: H,
4811
+ iconColor: te
4812
+ }), p.value === N && _.push({
4813
+ value: N,
4814
+ name: R,
4815
+ img: H,
4816
+ iconColor: te
4817
+ });
4818
+ } else if (((b = O == null ? void 0 : O.children) == null ? void 0 : b.length) > 0) {
4819
+ debugger;
4820
+ O.children.map((N) => {
4821
+ const { value: R, name: H, img: te, iconColor: ae } = N.props;
4822
+ w.list.push({
4823
+ value: R,
4824
+ name: H,
4825
+ img: te,
4826
+ iconColor: ae
4827
+ }), p.value === R && (_.splice(0, _.length), _.push({
4828
+ value: R,
4829
+ name: H,
4830
+ img: te,
4831
+ iconColor: ae
4832
+ }));
4833
+ });
4834
+ }
4835
+ }), console.log(w.list);
4836
+ debugger;
4837
+ l = w.list;
4838
+ }
4839
+ } catch (O) {
4840
+ console.log(O);
4841
+ }
4828
4842
  };
4829
4843
  de(x, (V) => {
4844
+ debugger;
4830
4845
  fe(() => {
4831
4846
  A();
4832
4847
  });
@@ -4839,29 +4854,29 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4839
4854
  if (!y.value)
4840
4855
  S.value = "";
4841
4856
  else {
4842
- const N = l.filter((b) => {
4843
- let O = V.target.value.toLowerCase();
4844
- return b.name.toLowerCase().includes(O);
4857
+ const O = l.filter((b) => {
4858
+ let N = V.target.value.toLowerCase();
4859
+ return b.name.toLowerCase().includes(N);
4845
4860
  });
4846
- w.list = N;
4861
+ w.list = O;
4847
4862
  }
4848
4863
  }, X = (V) => {
4849
4864
  a.disabled || (k.value = !0, V.stopPropagation(), v.value === "focus" ? v.value = "blur" : v.value = "focus", setTimeout(() => {
4850
- const N = document.querySelector("#abl-select .abl-options-item-active");
4851
- N == null || N.scrollIntoView({
4865
+ const O = document.querySelector("#abl-select .abl-options-item-active");
4866
+ O == null || O.scrollIntoView({
4852
4867
  behavior: "auto",
4853
4868
  block: "nearest"
4854
4869
  });
4855
4870
  }, 100));
4856
- }, W = (V, N) => {
4857
- var O;
4871
+ }, W = (V, O) => {
4872
+ var N;
4858
4873
  if (a.disabled)
4859
4874
  return;
4860
4875
  if (V.name == s.value) {
4861
4876
  c.value.close();
4862
4877
  return;
4863
4878
  }
4864
- k.value = !1, N.stopPropagation(), (O = u.value) == null || O.blur();
4879
+ k.value = !1, O.stopPropagation(), (N = u.value) == null || N.blur();
4865
4880
  let b = null;
4866
4881
  if (a.type === "single")
4867
4882
  v.value = "blur", _[0] && _[0].value === V.value ? _.shift() : _[0] = V, b = V.value;
@@ -4881,8 +4896,8 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4881
4896
  }, j = (V) => {
4882
4897
  var b;
4883
4898
  (b = u.value) == null || b.focus();
4884
- const N = _.findIndex((O) => O.value === V.value);
4885
- _.splice(N, 1), o("change", at(_));
4899
+ const O = _.findIndex((N) => N.value === V.value);
4900
+ _.splice(O, 1), o("change", at(_));
4886
4901
  }, ee = () => {
4887
4902
  g.value = !1, v.value = "blur", S.value = "";
4888
4903
  }, Y = () => {
@@ -4899,13 +4914,13 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4899
4914
  ), de(
4900
4915
  _,
4901
4916
  (V) => {
4902
- s.value = V.map((N) => N == null ? void 0 : N.name).join(",");
4917
+ s.value = V.map((O) => O == null ? void 0 : O.name).join(",");
4903
4918
  },
4904
4919
  { immediate: !0, deep: !0 }
4905
4920
  ), me(() => {
4906
4921
  de(v, (V) => {
4907
- var N, b;
4908
- V === "focus" ? (N = u.value) == null || N.focus() : (b = u.value) == null || b.blur(), y.value = a.search && V === "focus" && k;
4922
+ var O, b;
4923
+ V === "focus" ? (O = u.value) == null || O.focus() : (b = u.value) == null || b.blur(), y.value = a.search && V === "focus" && k;
4909
4924
  }), document.body.addEventListener("click", () => {
4910
4925
  v.value = "blur";
4911
4926
  });
@@ -4920,7 +4935,7 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4920
4935
  });
4921
4936
  }, {
4922
4937
  immediate: !0
4923
- }), (V, N) => (f(), h("div", {
4938
+ }), (V, O) => (f(), h("div", {
4924
4939
  ref_key: "selectRef",
4925
4940
  ref: d
4926
4941
  }, [
@@ -4938,7 +4953,7 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4938
4953
  style: E(m.value),
4939
4954
  id: "abl-select"
4940
4955
  }, [
4941
- w.list.length > 0 ? (f(!0), h(U, { key: 0 }, ne(w.list, (b, O) => (f(), h("div", {
4956
+ w.list.length > 0 ? (f(!0), h(U, { key: 0 }, ne(w.list, (b, N) => (f(), h("div", {
4942
4957
  class: L(["abl-select-options-item", _.some((R) => R.value === b.value) ? "abl-options-item-active" : ""]),
4943
4958
  key: b.name + b.value,
4944
4959
  onClick: (R) => W(b, R)
@@ -4981,7 +4996,7 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4981
4996
  J(M(b.name) + " ", 1),
4982
4997
  r("span", {
4983
4998
  class: "abl-select-tag-close",
4984
- onClick: F((O) => j(b), ["stop"])
4999
+ onClick: F((N) => j(b), ["stop"])
4985
5000
  }, "x", 8, Gs)
4986
5001
  ]))), 128))
4987
5002
  ])) : (f(), h("span", Js, M(s.value), 1))
@@ -4989,13 +5004,13 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
4989
5004
  [Q, _.length && !y.value]
4990
5005
  ]),
4991
5006
  q(r("input", {
4992
- onBlur: N[0] || (N[0] = (b) => ee()),
5007
+ onBlur: O[0] || (O[0] = (b) => ee()),
4993
5008
  type: "text",
4994
5009
  class: L(["abl-select-input-focus", y.value ? "abl-select-input-search" : ""]),
4995
5010
  ref_key: "inputFocus",
4996
5011
  ref: u,
4997
- "onUpdate:modelValue": N[1] || (N[1] = (b) => S.value = b),
4998
- onFocus: N[2] || (N[2] = (b) => Y()),
5012
+ "onUpdate:modelValue": O[1] || (O[1] = (b) => S.value = b),
5013
+ onFocus: O[2] || (O[2] = (b) => Y()),
4999
5014
  onInput: D,
5000
5015
  placeholder: s.value
5001
5016
  }, null, 42, Zs), [
@@ -5032,7 +5047,7 @@ const Xs = { class: "abl-select-warpper-content" }, Ys = { class: "abl-select-ha
5032
5047
  }, 16, ["disabled", "zIndex"])
5033
5048
  ], 512));
5034
5049
  }
5035
- }, zt = /* @__PURE__ */ Z(li, [["__scopeId", "data-v-0dd3541a"]]);
5050
+ }, zt = /* @__PURE__ */ Z(li, [["__scopeId", "data-v-783b072c"]]);
5036
5051
  const oi = { class: "abl-header" }, si = { class: "abl-title" }, ii = { class: "abl-extra" }, ri = { key: 0 }, ci = ["colspan"], ui = { key: 1 }, di = {
5037
5052
  __name: "index",
5038
5053
  props: {
@@ -5367,8 +5382,8 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5367
5382
  const s = $(), d = $(), u = xi();
5368
5383
  $(), $(), $([]);
5369
5384
  const v = T(() => {
5370
- const { marks: b, max: O, min: R } = n;
5371
- return Object.keys(b).map(parseFloat).sort((ae, ue) => ae - ue).filter((ae) => ae >= +R && ae <= +O);
5385
+ const { marks: b, max: N, min: R } = n;
5386
+ return Object.keys(b).map(parseFloat).sort((ae, ue) => ae - ue).filter((ae) => ae >= +R && ae <= +N);
5372
5387
  }), c = T(() => Number(n.max) - Number(n.min)), p = T(() => {
5373
5388
  const b = "abl-range";
5374
5389
  return {
@@ -5388,11 +5403,11 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5388
5403
  })), w = T(() => ({
5389
5404
  borderColor: n.buttonColor
5390
5405
  })), k = $(!1), y = (b) => !!n.range && Array.isArray(b), C = () => {
5391
- const { modelValue: b, min: O } = n;
5392
- return y(b) ? `${(b[1] - b[0]) * 100 / c.value}%` : `${(b - Number(O)) * 100 / c.value}%`;
5406
+ const { modelValue: b, min: N } = n;
5407
+ return y(b) ? `${(b[1] - b[0]) * 100 / c.value}%` : `${(b - Number(N)) * 100 / c.value}%`;
5393
5408
  }, z = () => {
5394
- const { modelValue: b, min: O } = n;
5395
- return y(b) ? `${(b[0] - Number(O)) * 100 / c.value}%` : "0%";
5409
+ const { modelValue: b, min: N } = n;
5410
+ return y(b) ? `${(b[0] - Number(N)) * 100 / c.value}%` : "0%";
5396
5411
  }, S = T(() => n.vertical ? {
5397
5412
  height: C(),
5398
5413
  top: z(),
@@ -5404,7 +5419,7 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5404
5419
  background: n.activeColor,
5405
5420
  transition: d.value ? "none" : void 0
5406
5421
  }), _ = (b) => {
5407
- const O = "abl-range-mark", { modelValue: R, max: H, min: te } = n;
5422
+ const N = "abl-range-mark", { modelValue: R, max: H, min: te } = n;
5408
5423
  let ae = Number(te), ue = Number(H);
5409
5424
  if (n.range) {
5410
5425
  const [Ve, Te] = R;
@@ -5413,40 +5428,40 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5413
5428
  ue = R;
5414
5429
  let Ne = b <= +ue && b >= ae;
5415
5430
  return {
5416
- [`${O}-text`]: !0,
5417
- [`${O}-text-active`]: Ne
5431
+ [`${N}-text`]: !0,
5432
+ [`${N}-text-active`]: Ne
5418
5433
  };
5419
5434
  }, x = (b) => {
5420
- const { min: O, vertical: R } = n;
5435
+ const { min: N, vertical: R } = n;
5421
5436
  let H = {
5422
- left: `${(b - Number(O)) / c.value * 100}%`
5437
+ left: `${(b - Number(N)) / c.value * 100}%`
5423
5438
  };
5424
5439
  return R && (H = {
5425
- top: `${(b - Number(O)) / c.value * 100}%`
5440
+ top: `${(b - Number(N)) / c.value * 100}%`
5426
5441
  }), H;
5427
5442
  }, A = (b) => {
5428
- const { modelValue: O, max: R, min: H } = n;
5443
+ const { modelValue: N, max: R, min: H } = n;
5429
5444
  let te = Number(H), ae = Number(R);
5430
5445
  if (n.range) {
5431
- const [Ve, Te] = O;
5446
+ const [Ve, Te] = N;
5432
5447
  te = Ve, ae = Te;
5433
5448
  }
5434
5449
  return {
5435
5450
  background: b <= ae && b >= te ? n.activeColor : n.inactiveColor
5436
5451
  };
5437
5452
  }, D = (b) => {
5438
- const { min: O, max: R, step: H } = n;
5439
- return b = Math.max(+O, Math.min(b, +R)), Math.round(b / +H) * +H;
5440
- }, X = (b, O) => JSON.stringify(b) === JSON.stringify(O), W = (b) => b[0] > b[1] ? b.slice(0).reverse() : b, P = (b, O) => {
5441
- y(b) ? b = W(b).map(D) : b = D(b), X(b, n.modelValue) || a("update:modelValue", b), O && !X(b, o) && a("change", b);
5453
+ const { min: N, max: R, step: H } = n;
5454
+ return b = Math.max(+N, Math.min(b, +R)), Math.round(b / +H) * +H;
5455
+ }, X = (b, N) => JSON.stringify(b) === JSON.stringify(N), W = (b) => b[0] > b[1] ? b.slice(0).reverse() : b, P = (b, N) => {
5456
+ y(b) ? b = W(b).map(D) : b = D(b), X(b, n.modelValue) || a("update:modelValue", b), N && !X(b, o) && a("change", b);
5442
5457
  }, j = (b) => {
5443
5458
  if (n.disabled || d.value === "draging")
5444
5459
  return;
5445
5460
  k.value = !0;
5446
- const { min: O, modelValue: R } = n, H = It(s);
5461
+ const { min: N, modelValue: R } = n, H = It(s);
5447
5462
  let te = b.clientX - H.left, ae = H.width;
5448
5463
  n.vertical && (te = b.clientY - H.top, ae = H.height);
5449
- const ue = Number(O) + te / ae * c.value;
5464
+ const ue = Number(N) + te / ae * c.value;
5450
5465
  if (y(R)) {
5451
5466
  const [Ne, Ve] = R, Te = (Ne + Ve) / 2;
5452
5467
  ue <= Te ? (l.value = 0, P([ue, Ve], !0)) : (l.value = 1, P([Ne, ue], !0));
@@ -5463,17 +5478,17 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5463
5478
  if (n.disabled)
5464
5479
  return;
5465
5480
  d.value === "start" && a("dragStart"), u.move(b), d.value = "draging", b.type.startsWith("touch") && (k.value = !0);
5466
- const O = It(s);
5467
- let R = u.deltaX.value, H = O.width, te = R / H * c.value;
5468
- n.vertical && (R = u.deltaY.value, H = O.height, te = R / H * c.value), y(o) ? i[l.value] = o[l.value] + te : i = o + te, P(i);
5481
+ const N = It(s);
5482
+ let R = u.deltaX.value, H = N.width, te = R / H * c.value;
5483
+ n.vertical && (R = u.deltaY.value, H = N.height, te = R / H * c.value), y(o) ? i[l.value] = o[l.value] + te : i = o + te, P(i);
5469
5484
  }, G = (b) => {
5470
5485
  n.disabled || d.value === "draging" && (P(i, !0), a("dragEnd"), window.removeEventListener("mousemove", K), window.removeEventListener("touchmove", K), window.removeEventListener("mouseup", G), window.removeEventListener("touchend", G), window.removeEventListener("contextmenu", G), b.type.startsWith("touch") && (k.value = !1), setTimeout(() => {
5471
5486
  d.value = "";
5472
5487
  }));
5473
5488
  }, V = (b) => {
5474
5489
  n.disabled || (b.preventDefault(), Y(b), window.addEventListener("mousemove", K), window.addEventListener("touchmove", K), window.addEventListener("mouseup", G), window.addEventListener("touchend", G), window.addEventListener("contextmenu", G));
5475
- }, N = (b) => Array.isArray(n.modelValue) && typeof b == "number" ? n.modelValue[b] : Number(n.modelValue);
5476
- return (b, O) => (f(), h("div", {
5490
+ }, O = (b) => Array.isArray(n.modelValue) && typeof b == "number" ? n.modelValue[b] : Number(n.modelValue);
5491
+ return (b, N) => (f(), h("div", {
5477
5492
  class: L(g.value)
5478
5493
  }, [
5479
5494
  e.hiddenRange ? B("", !0) : (f(), h("div", ki, M(+e.min), 1)),
@@ -5507,7 +5522,7 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5507
5522
  class: L({ "abl-range-button-wrapper-left": R == 0, "abl-range-button-wrapper-right": R == 1 }),
5508
5523
  tabindex: e.disabled ? -1 : 0,
5509
5524
  "aria-valuemin": +e.min,
5510
- "aria-valuenow": N(R),
5525
+ "aria-valuenow": O(R),
5511
5526
  "aria-valuemax": +e.max,
5512
5527
  "aria-orientation": "horizontal",
5513
5528
  onTouchstart: (H) => {
@@ -5525,7 +5540,7 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5525
5540
  r("div", {
5526
5541
  class: L(["abl-handle-tooltip", [{ "display-tooltip": l.value === R && k.value }]])
5527
5542
  }, [
5528
- J(M(N(R)) + " ", 1),
5543
+ J(M(O(R)) + " ", 1),
5529
5544
  Li
5530
5545
  ], 2)
5531
5546
  ], 4))
@@ -5535,13 +5550,13 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5535
5550
  class: "abl-range-button-wrapper",
5536
5551
  tabindex: e.disabled ? -1 : 0,
5537
5552
  "aria-valuemin": +e.min,
5538
- "aria-valuenow": N(),
5553
+ "aria-valuenow": O(),
5539
5554
  "aria-valuemax": +e.max,
5540
5555
  "aria-orientation": "horizontal",
5541
- onTouchstart: O[0] || (O[0] = (R) => {
5556
+ onTouchstart: N[0] || (N[0] = (R) => {
5542
5557
  V(R);
5543
5558
  }),
5544
- onMousedown: O[1] || (O[1] = (R) => {
5559
+ onMousedown: N[1] || (N[1] = (R) => {
5545
5560
  V(R);
5546
5561
  })
5547
5562
  }, [
@@ -5553,7 +5568,7 @@ const sn = (e) => (ge("data-v-349f6091"), e = e(), be(), e), ki = {
5553
5568
  r("div", {
5554
5569
  class: L(["abl-handle-tooltip", [{ "display-tooltip": k.value }]])
5555
5570
  }, [
5556
- J(M(N()) + " ", 1),
5571
+ J(M(O()) + " ", 1),
5557
5572
  Vi
5558
5573
  ], 2)
5559
5574
  ], 4))