@yuneta/gobj-js 7.26.28 → 7.26.29

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.
@@ -170,11 +170,11 @@ var N = (e) => ((e) => e === v.DTP_INTEGER)(e) || j(e) || T(e), $ = Object.freez
170
170
  SDF_SECRET: 2097152
171
171
  });
172
172
  $.SDF_RD, $.SDF_WR, $.SDF_STATS, $.SDF_PERSIST, $.SDF_VOLATIL, $.SDF_RSTATS, $.SDF_PSTATS, $.SDF_WR, $.SDF_PERSIST;
173
- var A = class {
173
+ var R = class {
174
174
  constructor(e, t, n = 0, r = null, o = "", s = null, l = null, i = 0, a = null, u = null, _ = null) {
175
175
  this.type = e, this.name = t, this.alias = s, this.flag = n, this.default_value = r, this.header = l, this.fillspace = i, this.description = o, this.json_fn = a, this.schema = u, this.authpth = _;
176
176
  }
177
- }, R = () => new A(0, null), x = (e, t, n, r, o) => new A(e, t, n, r, o), D = class {
177
+ }, A = () => new R(0, null), x = (e, t, n, r, o) => new R(e, t, n, r, o), D = class {
178
178
  constructor(e, t, n, r, o, s, l, i, a) {
179
179
  this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = s, this.command_table = l, this.s_user_trace_level = i, this.gclass_flag = Number(a) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
180
180
  }
@@ -556,10 +556,10 @@ function Ne(e, t) {
556
556
  function $e(e) {
557
557
  return e >= -0x8000000000000000 && e < 0x8000000000000000;
558
558
  }
559
- function Ae(e) {
559
+ function Re(e) {
560
560
  return Bo(e) ? "an array" : Ko(e) ? "an object" : Yo(e) ? Te : "number" == typeof e ? Number.isInteger(e) && $e(e) ? "an integer" : "a real" : "boolean" == typeof e ? "a boolean" : "null";
561
561
  }
562
- function Re(e, t, n) {
562
+ function Ae(e, t, n) {
563
563
  if (Yo(t) || (t = ""), E(e)) return {
564
564
  value: t,
565
565
  refused: null
@@ -661,7 +661,7 @@ function xe(e, t) {
661
661
  value: t,
662
662
  refused: null
663
663
  };
664
- const r = Re(e, t, !0);
664
+ const r = Ae(e, t, !0);
665
665
  return void 0 === r.value ? {
666
666
  value: t,
667
667
  refused: null
@@ -670,7 +670,7 @@ function xe(e, t) {
670
670
  return E(e) || S(e) || O(e) || N(e) ? n ? {
671
671
  value: void 0,
672
672
  refused: "a text with a NUL in it"
673
- } : Yo(t) && !E(e) ? Re(e, t, !0) : Ne(e, t) ? N(e) ? function(e, t) {
673
+ } : Yo(t) && !E(e) ? Ae(e, t, !0) : Ne(e, t) ? N(e) ? function(e, t) {
674
674
  return "number" != typeof t || Number.isFinite(t) ? T(e) ? {
675
675
  value: "boolean" == typeof t ? t : 0 !== t,
676
676
  refused: null
@@ -701,7 +701,7 @@ function xe(e, t) {
701
701
  refused: Pe
702
702
  } : {
703
703
  value: void 0,
704
- refused: Ae(t)
704
+ refused: Re(t)
705
705
  } : {
706
706
  value: t,
707
707
  refused: null
@@ -972,7 +972,7 @@ function tt(e, t) {
972
972
  return d[e] || (t && sr(`gobj service not found: ${e}`), null);
973
973
  }
974
974
  function nt(e) {
975
- let t = At(e);
975
+ let t = Rt(e);
976
976
  return t = t.toLowerCase(), d[t] && sr(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), d[t] = e, 0;
977
977
  }
978
978
  function rt(e, t) {
@@ -1063,7 +1063,7 @@ function _t(e) {
1063
1063
  n && W(t("💔💔⏩ destroying: %s", Dt(e)));
1064
1064
  let r = kt(e);
1065
1065
  r && r.gclass.gmt.mt_child_removed && (n && W(t("👦👦🔴 child_removed(%s): %s", Dt(r), xt(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & I.gobj_flag_service && function(e) {
1066
- let t = At(e);
1066
+ let t = Rt(e);
1067
1067
  t = t.toLowerCase(), d[t] ? delete d[t] : sr(`"service NOT found in register": ${t}`);
1068
1068
  }(e), e === b && (b = null), Dn(e, e.dl_subscriptions, !0), Dn(e, e.dl_subscribings, !0), r && (ot(r, e), Ct(e) && (Lt(r) !== e || Pt(r) || Ut(r, null))), function(e) {
1069
1069
  let t = e.dl_children.slice();
@@ -1161,7 +1161,8 @@ function yt(e) {
1161
1161
  if (e.disabled) return sr(`${xt(e)}: GObj DISABLED`), -1;
1162
1162
  if (!Et(e)) {
1163
1163
  if (e.gclass.gclass_flag & C.gcflag_required_start_to_play) return sr(`${xt(e)}: Cannot play, start not done`), -1;
1164
- lr(`${xt(e)}: GObj playing without previous start`), ct(e);
1164
+ if (lr(`${xt(e)}: GObj playing without previous start`), ft(e)) return -1;
1165
+ if (!e.running) return -1;
1165
1166
  }
1166
1167
  te(e) && W(t("⏯ ⏯ play: %s", Dt(e))), e.playing = !0;
1167
1168
  let n = 0;
@@ -1206,7 +1207,7 @@ function St() {
1206
1207
  }
1207
1208
  function wt() {
1208
1209
  let e = St();
1209
- return e ? At(e) : "";
1210
+ return e ? Rt(e) : "";
1210
1211
  }
1211
1212
  function Nt() {
1212
1213
  let e = St();
@@ -1216,14 +1217,14 @@ function $t() {
1216
1217
  let e = St();
1217
1218
  return e ? en(e, "yuno_id") : "";
1218
1219
  }
1219
- function At(e) {
1220
+ function Rt(e) {
1220
1221
  return Qo(e) ? e.gobj_name : (sr("gobj bad type"), null);
1221
1222
  }
1222
- function Rt(e) {
1223
+ function At(e) {
1223
1224
  return Qo(e) ? e.gclass.gclass_name : (sr("gobj NULL of bad type"), null);
1224
1225
  }
1225
1226
  function xt(e) {
1226
- return Qo(e) ? e.gclass.gclass_name + "^" + At(e) : (sr("gobj bad type"), null);
1227
+ return Qo(e) ? e.gclass.gclass_name + "^" + Rt(e) : (sr("gobj bad type"), null);
1227
1228
  }
1228
1229
  function Dt(e) {
1229
1230
  if (!Qo(e)) return sr("gobj NULL of bad type"), null;
@@ -1316,11 +1317,11 @@ function Yt(e, t) {
1316
1317
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
1317
1318
  t.__disabled__;
1318
1319
  let s = t.__state__;
1319
- if (n && n !== Rt(e)) return !1;
1320
- if (r && r !== At(e)) return !1;
1320
+ if (n && n !== At(e)) return !1;
1321
+ if (r && r !== Rt(e)) return !1;
1321
1322
  if (o) {
1322
1323
  let t = o.length;
1323
- if (o !== At(e).substring(0, t)) return !1;
1324
+ if (o !== Rt(e).substring(0, t)) return !1;
1324
1325
  }
1325
1326
  if (s && s !== cn(e)) return !1;
1326
1327
  let l = e.jn_attrs;
@@ -1342,12 +1343,12 @@ function qt(e, t) {
1342
1343
  if (!function(e, t) {
1343
1344
  let n = t.split("^"), r = null, o = null;
1344
1345
  if (2 === n.length) {
1345
- if (o = n[0], r = n[1], o !== Rt(e)) return !1;
1346
+ if (o = n[0], r = n[1], o !== At(e)) return !1;
1346
1347
  } else {
1347
1348
  if (1 !== n.length) return !1;
1348
1349
  r = n[0];
1349
1350
  }
1350
- return r === At(e);
1351
+ return r === Rt(e);
1351
1352
  }(e, n[0])) return null;
1352
1353
  if (1 === n.length) return e;
1353
1354
  let r = n[1].split("^"), o = {};
@@ -1489,7 +1490,7 @@ function _n(e, n) {
1489
1490
  let o = re(e, "EV_STATE_CHANGED"), s = !!function(e) {
1490
1491
  return Q(e) & K.TRACE_STATES;
1491
1492
  }(e);
1492
- return (o || s) && (1 === V || W(t("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Rt(e), At(e), cn(e), e.last_state.state_name))), !0;
1493
+ return (o || s) && (1 === V || W(t("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", At(e), Rt(e), cn(e), e.last_state.state_name))), !0;
1493
1494
  }
1494
1495
  function cn(e) {
1495
1496
  return Qo(e) ? e.current_state.state_name : (sr("hgobj NULL"), "");
@@ -1522,7 +1523,7 @@ function mn(e, n, r, o) {
1522
1523
  event: n,
1523
1524
  kw: r,
1524
1525
  src: o
1525
- }), re(e, n) && !oe(o, n) && W(t("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", xt(e), n, pn.length)), bn || (bn = !0, setTimeout(hn, 0)), 0) : (sr(`gobj_post_event(): event NOT DEFINED in gclass ${Rt(e)}, event ${n}`), -1) : (sr(`gobj_post_event(): gobj dst NULL, event ${n}`), -1);
1526
+ }), re(e, n) && !oe(o, n) && W(t("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", xt(e), n, pn.length)), bn || (bn = !0, setTimeout(hn, 0)), 0) : (sr(`gobj_post_event(): event NOT DEFINED in gclass ${At(e)}, event ${n}`), -1) : (sr(`gobj_post_event(): gobj dst NULL, event ${n}`), -1);
1526
1527
  }
1527
1528
  function hn() {
1528
1529
  bn = !1;
@@ -1577,13 +1578,13 @@ function Tn(e, n, r, o) {
1577
1578
  vn(i);
1578
1579
  }
1579
1580
  }
1580
- return l && W(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), At(e), s.state_name, n || "", o && !o.running ? "!!" : "", Rt(o), At(o))), sr(`📛📛 Event NOT DEFINED in state 📛📛: ${xt(e)}, ${s.state_name}, ${n}`), m--, -1;
1581
+ return l && W(t("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", At(e), Rt(e), s.state_name, n || "", o && !o.running ? "!!" : "", At(o), Rt(o))), sr(`📛📛 Event NOT DEFINED in state 📛📛: ${xt(e)}, ${s.state_name}, ${n}`), m--, -1;
1581
1582
  }
1582
1583
  if (l) {
1583
1584
  if (1 === V) W(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", xt(e), s.state_name, o && !o.running ? "!!" : "", xt(o)));
1584
1585
  else {
1585
1586
  let r = "";
1586
- i.action && (r = Zs(i.action)), W(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), At(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Rt(o), At(o)));
1587
+ i.action && (r = el(i.action)), W(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", At(e), Rt(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", At(o), Rt(o)));
1587
1588
  }
1588
1589
  r && ne(e) && Mo(r) && No(r);
1589
1590
  }
@@ -1602,7 +1603,7 @@ function Tn(e, n, r, o) {
1602
1603
  } finally {
1603
1604
  vn(a);
1604
1605
  }
1605
- return l && 1 !== V && !a.destroyed && W(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Rt(e), At(e), e.current_state.state_name, n || "", Jo(u) ? u : 0)), m--, u;
1606
+ return l && 1 !== V && !a.destroyed && W(t("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", At(e), Rt(e), e.current_state.state_name, n || "", Jo(u) ? u : 0)), m--, u;
1606
1607
  }
1607
1608
  var jn = Object.freeze({
1608
1609
  __rename_event_name__: 1,
@@ -1631,7 +1632,7 @@ var Sn = [
1631
1632
  x(v.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1632
1633
  x(v.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1633
1634
  x(v.DTP_STRING, "__service__", 0, "", "subscription service"),
1634
- R()
1635
+ A()
1635
1636
  ];
1636
1637
  function wn(e, t) {
1637
1638
  let n = e ? e.__config__ : null;
@@ -1639,10 +1640,10 @@ function wn(e, t) {
1639
1640
  kw: e,
1640
1641
  renamed_event: ""
1641
1642
  };
1642
- let r = Ro({}, e), o = Ro({}, n);
1643
+ let r = Ao({}, e), o = Ao({}, n);
1643
1644
  r.__config__ = o;
1644
1645
  let s = "", l = o.__rename_event_name__, i = "string" != typeof l || Xo(l) ? null : On(l, 0, !1);
1645
- return i && (s = i.event_name, delete o.__rename_event_name__, t && Vo(r.__global__) > 0 && (r.__global__ = Ro(Ro({}, r.__global__), { __original_event_name__: t }))), delete o.__hard_subscription__, delete o.__own_event__, {
1646
+ return i && (s = i.event_name, delete o.__rename_event_name__, t && Vo(r.__global__) > 0 && (r.__global__ = Ao(Ao({}, r.__global__), { __original_event_name__: t }))), delete o.__hard_subscription__, delete o.__own_event__, {
1646
1647
  kw: r,
1647
1648
  renamed_event: s
1648
1649
  };
@@ -1651,19 +1652,19 @@ function Nn(e, t, n, r, o, s) {
1651
1652
  let l = ds(t, o, "__config__", null), i = ds(t, o, "__global__", null), a = ds(t, o, "__local__", null), u = ps(t, o, "__filter__", null), _ = !0;
1652
1653
  if (t && t !== gs(null, e, "publisher", null) && (_ = !1), s && s !== gs(null, e, "subscriber", null) && (_ = !1), n && n !== fs(null, e, "event", "") && (_ = !1), r && r !== fs(null, e, "renamed_event", "") && (_ = !1), Vo(l) > 0) {
1653
1654
  let t = ds(null, e, "__config__", null);
1654
- Vo(t) > 0 && Ao(t, l) || (_ = !1);
1655
+ Vo(t) > 0 && Ro(t, l) || (_ = !1);
1655
1656
  }
1656
1657
  if (Vo(i) > 0) {
1657
1658
  let t = ds(null, e, "__global__", null);
1658
- Vo(t) > 0 && Ao(t, i) || (_ = !1);
1659
+ Vo(t) > 0 && Ro(t, i) || (_ = !1);
1659
1660
  }
1660
1661
  if (Vo(a) > 0) {
1661
1662
  let t = ds(null, e, "__local__", null);
1662
- Vo(t) > 0 && Ao(t, a) || (_ = !1);
1663
+ Vo(t) > 0 && Ro(t, a) || (_ = !1);
1663
1664
  }
1664
1665
  if (Vo(u) > 0) {
1665
1666
  let t = ps(null, e, "__filter__", null);
1666
- Vo(t) > 0 && Ao(t, u) || (_ = !1);
1667
+ Vo(t) > 0 && Ro(t, u) || (_ = !1);
1667
1668
  }
1668
1669
  return _;
1669
1670
  }
@@ -1675,17 +1676,17 @@ function $n(e, t, n, r, o, s) {
1675
1676
  }
1676
1677
  return l;
1677
1678
  }
1678
- function An(e, t) {
1679
+ function Rn(e, t) {
1679
1680
  return e.indexOf(t);
1680
1681
  }
1681
- function Rn(e, n, r, o) {
1682
+ function An(e, n, r, o) {
1682
1683
  let s = gs(e, n, "publisher", null, Pn.KW_REQUIRED), l = gs(e, n, "subscriber", null, Pn.KW_REQUIRED), i = fs(e, n, "event", "", Pn.KW_REQUIRED);
1683
1684
  if (!!(cs(e, n, "subs_flag", null, Pn.KW_REQUIRED) & jn.__hard_subscription__) && !r) return -1;
1684
1685
  let a = ee(l) || ee(s);
1685
- if (An(s.dl_subscriptions, n) < 0) return a && W(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", xt(s), xt(l))), 1;
1686
+ if (Rn(s.dl_subscriptions, n) < 0) return a && W(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", xt(s), xt(l))), 1;
1686
1687
  a && (W(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", xt(s), xt(l))), ur(n)), s.obflag & P.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
1687
- let u = An(s.dl_subscriptions, n);
1688
- return u >= 0 ? Fo(s.dl_subscriptions, u) : (sr(`${xt(e)}: subscription in publisher not found`), ur(n)), u = An(l.dl_subscribings, n), u >= 0 ? Fo(l.dl_subscribings, u) : (sr(`${xt(e)}: subscription in subscriber not found`), ur(n)), 0;
1688
+ let u = Rn(s.dl_subscriptions, n);
1689
+ return u >= 0 ? Fo(s.dl_subscriptions, u) : (sr(`${xt(e)}: subscription in publisher not found`), ur(n)), u = Rn(l.dl_subscribings, n), u >= 0 ? Fo(l.dl_subscribings, u) : (sr(`${xt(e)}: subscription in subscriber not found`), ur(n)), 0;
1689
1690
  }
1690
1691
  function xn(e, n, r, o) {
1691
1692
  if (null == r && (r = {}), !e) return sr(`publisher NULL: ev ${n}`), 0;
@@ -1742,13 +1743,13 @@ function xn(e, n, r, o) {
1742
1743
  if (!u) return sr(`${xt(e)}: _create_subscription() FAILED`), 0;
1743
1744
  if (Lo(e.dl_subscriptions, u), Lo(o.dl_subscribings, u), (ee(o) || ee(e)) && (W(t("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", n || "", xt(e), xt(o))), r && (ne(o) || ne(e)) && No(r)), e.gclass.gmt.mt_subscription_added) {
1744
1745
  let t = e.gclass.gmt.mt_subscription_added(e, u);
1745
- (t < 0 || !1 === t) && (Rn(e, u, !0, !0), u = 0);
1746
+ (t < 0 || !1 === t) && (An(e, u, !0, !0), u = 0);
1746
1747
  }
1747
1748
  return u;
1748
1749
  }
1749
1750
  function Dn(e, t, n) {
1750
1751
  let r = [...t], o = 0;
1751
- for (let t = 0; t < r.length; t++) Rn(e, r[t], n, !1) > 0 && o++;
1752
+ for (let t = 0; t < r.length; t++) An(e, r[t], n, !1) > 0 && o++;
1752
1753
  return o && lr(`${xt(e)}: Subscription(s) already removed, nothing to remove (count: ${o})`), 0;
1753
1754
  }
1754
1755
  function kn(e, t, n, r) {
@@ -1763,7 +1764,7 @@ function In(e, n, r) {
1763
1764
  let o = fn(e, n, !0);
1764
1765
  if (!(o && o.event_flag & (L.EVF_SYSTEM_EVENT | L.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & C.gcflag_no_check_output_events)) return sr(`event NOT in output event list: ${xt(e)}, ev ${n}`), -1;
1765
1766
  let s = (ee(e) || re(e, n)) && !oe(e, n);
1766
- if (s && (W(1 === V ? t("🔝🔝 %s %s%s %s", n || "", e.running ? "" : "!!", xt(e), e.current_state.state_name) : t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Rt(e), At(e), e.current_state.state_name, "", n || "", "")), ne(e) && Mo(r) && No(r)), e.gclass.gmt.mt_publish_event) {
1767
+ if (s && (W(1 === V ? t("🔝🔝 %s %s%s %s", n || "", e.running ? "" : "!!", xt(e), e.current_state.state_name) : t("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", At(e), Rt(e), e.current_state.state_name, "", n || "", "")), ne(e) && Mo(r) && No(r)), e.gclass.gmt.mt_publish_event) {
1767
1768
  let t = e.gclass.gmt.mt_publish_event(e, n, r);
1768
1769
  if (t <= 0) return t;
1769
1770
  }
@@ -1790,7 +1791,7 @@ function In(e, n, r) {
1790
1791
  let b = fn(c, n, !0);
1791
1792
  if (b && b.event_flag & L.EVF_SYSTEM_EVENT && !gn(c, b.event_name, 0)) continue;
1792
1793
  let m = r;
1793
- (Vo(l) > 0 || Vo(o) > 0) && (m = Ro({}, r)), Vo(l) > 0 && rs(m, l), Vo(o) > 0 && Ro(m, $o(o)), s && (W(1 === V ? t("🔝🔄 %s (%s) %s%s", n || "", d || "", c.running ? "" : "!!", xt(c)) : t("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", c.running ? "" : "!!", xt(c), cn(c), n || "", d || "", e && !e.running ? "!!" : "", xt(e))), ne(e) && Mo(m) && No(m));
1794
+ (Vo(l) > 0 || Vo(o) > 0) && (m = Ao({}, r)), Vo(l) > 0 && rs(m, l), Vo(o) > 0 && Ao(m, $o(o)), s && (W(1 === V ? t("🔝🔄 %s (%s) %s%s", n || "", d || "", c.running ? "" : "!!", xt(c)) : t("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", c.running ? "" : "!!", xt(c), cn(c), n || "", d || "", e && !e.running ? "!!" : "", xt(e))), ne(e) && Mo(m) && No(m));
1794
1795
  let h = Tn(c, d, m, e);
1795
1796
  if (h < 0 && f & jn.__own_event__) {
1796
1797
  i = -1;
@@ -2132,10 +2133,10 @@ function Nr(e) {
2132
2133
  function $r(e) {
2133
2134
  return e >= 65 && e <= 90 || e >= 97 && e <= 122;
2134
2135
  }
2135
- function Ar(e) {
2136
+ function Rr(e) {
2136
2137
  return e >= 65 && e <= 90;
2137
2138
  }
2138
- function Rr(e) {
2139
+ function Ar(e) {
2139
2140
  return Nr(e) || 45 === e || 95 === e;
2140
2141
  }
2141
2142
  function xr(e, t, n) {
@@ -2148,9 +2149,9 @@ function xr(e, t, n) {
2148
2149
  }
2149
2150
  function Dr(e, t) {
2150
2151
  if (e.length - t < 3 || "e" !== e[t] || "y" !== e[t + 1] || "J" !== e[t + 2]) return 0;
2151
- if (t > 0 && (Rr(e.charCodeAt(t - 1)) || "." === e[t - 1])) return 0;
2152
+ if (t > 0 && (Ar(e.charCodeAt(t - 1)) || "." === e[t - 1])) return 0;
2152
2153
  let n = t, r = !1;
2153
- for (; n < e.length && (Rr(e.charCodeAt(n)) || "." === e[n]);) n > t && "." !== e[n] && "." === e[n - 1] && (r = !0), n++;
2154
+ for (; n < e.length && (Ar(e.charCodeAt(n)) || "." === e[n]);) n > t && "." !== e[n] && "." === e[n - 1] && (r = !0), n++;
2154
2155
  if (!r) return 0;
2155
2156
  for (; "." === e[n - 1];) n--;
2156
2157
  return n - t;
@@ -2193,9 +2194,9 @@ function Pr(e, t) {
2193
2194
  const o = t + n;
2194
2195
  for (;;) {
2195
2196
  let t = r, n = !0, s = !0;
2196
- for (; t < o && $r(e.charCodeAt(t));) t > r && (Ar(e.charCodeAt(t)) ? s = !1 : n = !1), t++;
2197
+ for (; t < o && $r(e.charCodeAt(t));) t > r && (Rr(e.charCodeAt(t)) ? s = !1 : n = !1), t++;
2197
2198
  if (t === r) return !1;
2198
- if (!(s || n && Ar(e.charCodeAt(r)))) return !1;
2199
+ if (!(s || n && Rr(e.charCodeAt(r)))) return !1;
2199
2200
  if (t === o) return !0;
2200
2201
  if ("-" !== e[t] && "." !== e[t] && "/" !== e[t] || t + 1 === o) return !1;
2201
2202
  r = t + 1;
@@ -2230,9 +2231,9 @@ function Ur(e, t) {
2230
2231
  const n = e[t];
2231
2232
  if ("e" === n) {
2232
2233
  if (e.length - t < 3 || "y" !== e[t + 1] || "J" !== e[t + 2]) return [0, 0];
2233
- if (t > 0 && (Rr(e.charCodeAt(t - 1)) || "." === e[t - 1])) return [0, 0];
2234
+ if (t > 0 && (Ar(e.charCodeAt(t - 1)) || "." === e[t - 1])) return [0, 0];
2234
2235
  let n = t, r = 0;
2235
- for (; n < e.length && (Rr(e.charCodeAt(n)) || "." === e[n]);) "." === e[n] && r++, n++;
2236
+ for (; n < e.length && (Ar(e.charCodeAt(n)) || "." === e[n]);) "." === e[n] && r++, n++;
2236
2237
  for (; "." === e[n - 1];) n--, r--;
2237
2238
  return 2 === r ? [0, n - t] : [0, 0];
2238
2239
  }
@@ -2614,14 +2615,14 @@ function No(e, t) {
2614
2615
  function $o(e) {
2615
2616
  return structuredClone(e);
2616
2617
  }
2617
- function Ao(e, t) {
2618
+ function Ro(e, t) {
2618
2619
  if (e === t) return !0;
2619
2620
  if (null === e || null === t) return e === t;
2620
2621
  if (typeof e != typeof t) return !1;
2621
2622
  if (Array.isArray(e) !== Array.isArray(t)) return !1;
2622
2623
  if (Array.isArray(e)) {
2623
2624
  if (e.length !== t.length) return !1;
2624
- for (let n = 0; n < e.length; n++) if (!Ao(e[n], t[n])) return !1;
2625
+ for (let n = 0; n < e.length; n++) if (!Ro(e[n], t[n])) return !1;
2625
2626
  return !0;
2626
2627
  }
2627
2628
  if ("object" == typeof e) {
@@ -2629,13 +2630,13 @@ function Ao(e, t) {
2629
2630
  if (n.length !== r.length) return !1;
2630
2631
  for (let o = 0; o < n.length; o++) {
2631
2632
  if (n[o] !== r[o]) return !1;
2632
- if (!Ao(e[n[o]], t[r[o]])) return !1;
2633
+ if (!Ro(e[n[o]], t[r[o]])) return !1;
2633
2634
  }
2634
2635
  return !0;
2635
2636
  }
2636
2637
  return e === t;
2637
2638
  }
2638
- function Ro(e, t) {
2639
+ function Ao(e, t) {
2639
2640
  if (!t) return e;
2640
2641
  for (let n of Object.keys(t)) ls(e, n, t[n]);
2641
2642
  return e;
@@ -2979,7 +2980,7 @@ function vs(e, t, n, r) {
2979
2980
  function Es(e, t, n, r) {
2980
2981
  let o = {};
2981
2982
  if (!Ko(t)) return o;
2982
- if (Ro(o, t), Yo(n) && !Xo(n)) {
2983
+ if (Ao(o, t), Yo(n) && !Xo(n)) {
2983
2984
  let s = n;
2984
2985
  Object.prototype.hasOwnProperty.call(t, s) ? Co(o, s) : r && sr(`${xt(e)}: key not found: ${s}`);
2985
2986
  } else if (Ko(n) && Mo(n) > 0) for (let s of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, s) ? Co(o, s) : r && sr(`${xt(e)}: key not found: ${s}`);
@@ -3077,7 +3078,7 @@ function $s(e, t) {
3077
3078
  } else if (Yo(e) && e === t) return !0;
3078
3079
  return !1;
3079
3080
  }
3080
- function As(e, t, n, r, o) {
3081
+ function Rs(e, t, n, r, o) {
3081
3082
  if (e && !Qo(e) && sr("GObj bad instanceof"), !t) return null;
3082
3083
  o || (o = ys);
3083
3084
  let s = [];
@@ -3099,7 +3100,7 @@ function As(e, t, n, r, o) {
3099
3100
  }
3100
3101
  return s;
3101
3102
  }
3102
- function Rs(e, t) {
3103
+ function As(e, t) {
3103
3104
  if (!e) return -1;
3104
3105
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
3105
3106
  return -1;
@@ -3253,8 +3254,8 @@ function zs() {
3253
3254
  const n = Array.from(t, (e) => e.toString(16).padStart(2, "0")).join("");
3254
3255
  return `${n.slice(0, 8)}-${n.slice(8, 12)}-${n.slice(12, 16)}-${n.slice(16, 20)}-${n.slice(20)}`;
3255
3256
  }
3256
- var Qs = null;
3257
- function Xs() {
3257
+ var Qs = null, Xs = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
3258
+ function Zs() {
3258
3259
  if (Qs) return Qs;
3259
3260
  const e = Ts();
3260
3261
  if (!e) return Qs = zs();
@@ -3264,7 +3265,7 @@ function Xs() {
3264
3265
  } catch (e) {
3265
3266
  return Os("host_uuid", "node_uuid(): localStorage cannot be read (storage blocked?): a uuid of this page only"), Qs = zs();
3266
3267
  }
3267
- if (!t) {
3268
+ if (t && !Xs.test(t) && (lr("node_uuid(): the stored host_uuid is not a uuid: a new one replaces it"), t = null), !t) {
3268
3269
  t = zs();
3269
3270
  try {
3270
3271
  e.setItem("host_uuid", t);
@@ -3274,16 +3275,16 @@ function Xs() {
3274
3275
  }
3275
3276
  return Qs = t;
3276
3277
  }
3277
- function Zs(e) {
3278
+ function el(e) {
3278
3279
  let t = null;
3279
3280
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
3280
3281
  }
3281
- var el = 256, tl = 1e5;
3282
- function nl(e) {
3282
+ var tl = 256, nl = 1e5;
3283
+ function rl(e) {
3283
3284
  const t = String(e).replace(/`/g, "``");
3284
3285
  return "[" === t[0] ? "[" + t : t;
3285
3286
  }
3286
- function rl(e) {
3287
+ function ol(e) {
3287
3288
  if ("string" != typeof e) return null;
3288
3289
  let t = [], n = "";
3289
3290
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -3304,13 +3305,13 @@ function rl(e) {
3304
3305
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
3305
3306
  });
3306
3307
  }
3307
- function ol(e, t) {
3308
+ function sl(e, t) {
3308
3309
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
3309
3310
  }
3310
- function sl(e) {
3311
+ function ll(e) {
3311
3312
  return "persistent-attrs-" + xt(e);
3312
3313
  }
3313
- function ll(e, t) {
3314
+ function il(e, t) {
3314
3315
  if (Yo(t)) {
3315
3316
  if (-1 === t.indexOf("^")) {
3316
3317
  let n, r, o = e.fkey;
@@ -3340,7 +3341,7 @@ function ll(e, t) {
3340
3341
  hook_name: t.hook_name
3341
3342
  } : (sr("bad fkey 3"), sr(e), sr(t), null);
3342
3343
  }
3343
- var il = [
3344
+ var al = [
3344
3345
  "string",
3345
3346
  "integer",
3346
3347
  "object",
@@ -3350,7 +3351,7 @@ var il = [
3350
3351
  "real",
3351
3352
  "boolean",
3352
3353
  "blob"
3353
- ], al = [
3354
+ ], ul = [
3354
3355
  "persistent",
3355
3356
  "required",
3356
3357
  "notnull",
@@ -3362,7 +3363,7 @@ var il = [
3362
3363
  "stats",
3363
3364
  "rstats",
3364
3365
  "pstats"
3365
- ], ul = [
3366
+ ], _l = [
3366
3367
  "hook",
3367
3368
  "fkey",
3368
3369
  "enum",
@@ -3391,7 +3392,7 @@ var il = [
3391
3392
  "coordinates",
3392
3393
  "gbuffer"
3393
3394
  ];
3394
- function _l(e) {
3395
+ function cl(e) {
3395
3396
  let t = {
3396
3397
  name: e.id,
3397
3398
  header: e.header,
@@ -3410,7 +3411,7 @@ function _l(e) {
3410
3411
  if (!e.flag) return t;
3411
3412
  for (let n = 0; n < e.flag.length; n++) {
3412
3413
  let r = e.flag[n];
3413
- if (xs(ul, r)) {
3414
+ if (xs(_l, r)) {
3414
3415
  switch (r) {
3415
3416
  case "enum":
3416
3417
  t.enum_list = e.enum;
@@ -3424,7 +3425,7 @@ function _l(e) {
3424
3425
  case "file": t.is_file = !0;
3425
3426
  }
3426
3427
  t.type = r;
3427
- } else if (xs(al, r)) switch (r) {
3428
+ } else if (xs(ul, r)) switch (r) {
3428
3429
  case "writable":
3429
3430
  t.is_writable = !0;
3430
3431
  break;
@@ -3437,23 +3438,23 @@ function _l(e) {
3437
3438
  }
3438
3439
  return t.is_file && (t.type = "file"), t;
3439
3440
  }
3440
- var cl = [
3441
+ var fl = [
3441
3442
  x(v.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
3442
3443
  x(v.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
3443
3444
  x(v.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
3444
- R()
3445
- ], fl = {
3445
+ A()
3446
+ ], gl = {
3446
3447
  periodic: !1,
3447
3448
  msec: 0,
3448
3449
  timer_id: -1
3449
- }, gl = null;
3450
- function dl(e, t, n, r) {
3450
+ }, dl = null;
3451
+ function pl(e, t, n, r) {
3451
3452
  let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
3452
3453
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
3453
3454
  Tn(e, "EV_TIMEOUT", {}, e);
3454
3455
  }, o.msec) : o.timer_id = -1, In(e, s, {}), o.periodic || -1 !== o.timer_id || Et(e) && bt(e), 0;
3455
3456
  }
3456
- var pl = {
3457
+ var bl = {
3457
3458
  mt_create: function(e) {
3458
3459
  let t = e.priv, n = tn(e, "subscriber");
3459
3460
  n ? xn(e, null, {}, n) : It(e) && (n = kt(e), xn(e, null, {}, n)), t.periodic = Xt(e, "periodic"), t.msec = Zt(e, "msec");
@@ -3477,19 +3478,19 @@ var pl = {
3477
3478
  },
3478
3479
  mt_destroy: function(e) {}
3479
3480
  };
3480
- function bl(e) {
3481
+ function ml(e) {
3481
3482
  return "number" == typeof e && Number.isFinite(e) ? Math.round(e) : e;
3482
3483
  }
3483
- function ml(e, t) {
3484
- return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !1), void an(e, "msec", bl(t))) : (sr("not GObj TYPE"), -1);
3485
- }
3486
3484
  function hl(e, t) {
3487
- return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !0), void an(e, "msec", bl(t))) : (sr("not GObj TYPE"), -1);
3485
+ return e instanceof k ? "C_TIMER" !== At(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !1), void an(e, "msec", ml(t))) : (sr("not GObj TYPE"), -1);
3486
+ }
3487
+ function yl(e, t) {
3488
+ return e instanceof k ? "C_TIMER" !== At(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !0), void an(e, "msec", ml(t))) : (sr("not GObj TYPE"), -1);
3488
3489
  }
3489
- function yl(e) {
3490
- return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : void an(e, "msec", -1) : (sr("not GObj TYPE"), -1);
3490
+ function vl(e) {
3491
+ return e instanceof k ? "C_TIMER" !== At(e) ? (sr("not C_TIMER GObj"), -1) : void an(e, "msec", -1) : (sr("not GObj TYPE"), -1);
3491
3492
  }
3492
- var vl = [
3493
+ var El = [
3493
3494
  x(v.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
3494
3495
  x(v.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
3495
3496
  x(v.DTP_STRING, "__username__", 0, "", "Username"),
@@ -3508,36 +3509,36 @@ var vl = [
3508
3509
  x(v.DTP_POINTER, "trace_ievent_callback", 0, null, "Where the traffic trace goes (C_IEVENT_CLI levels ievents/ievents2); console when null"),
3509
3510
  x(v.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
3510
3511
  x(v.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
3511
- R()
3512
- ], El = { gobj_timer: null }, Tl = null;
3513
- function jl(e, t, n, r) {
3512
+ A()
3513
+ ], Tl = { gobj_timer: null }, jl = null;
3514
+ function Ol(e, t, n, r) {
3514
3515
  let o = zt(e, t);
3515
3516
  return Ko(o) || (o = {}), o[n] = r, nn(e, t, o), st(e, t);
3516
3517
  }
3517
- var Ol = -2147483648, Sl = 2147483647;
3518
- function wl(e) {
3518
+ var Sl = -2147483648, wl = 2147483647;
3519
+ function Nl(e) {
3519
3520
  if (!0 === e || !1 === e) return e;
3520
- if ("number" == typeof e) return !Number.isInteger(e) || e < Ol || e > Sl ? null : 0 !== e;
3521
+ if ("number" == typeof e) return !Number.isInteger(e) || e < Sl || e > wl ? null : 0 !== e;
3521
3522
  if ("string" != typeof e || "" === e) return null;
3522
3523
  let t = e.toLowerCase();
3523
3524
  if ("set" === t) return !0;
3524
3525
  if ("reset" === t) return !1;
3525
3526
  if (/^-?(0|[1-9][0-9]*)$/.test(e)) {
3526
3527
  let t = Number(e);
3527
- return t < Ol || t > Sl ? null : 0 !== t;
3528
+ return t < Sl || t > wl ? null : 0 !== t;
3528
3529
  }
3529
3530
  return "true" === t || "yes" === t || "on" === t || "false" !== t && "no" !== t && "off" !== t && null;
3530
3531
  }
3531
- function Nl() {
3532
+ function $l() {
3532
3533
  return `${Nt()}^${wt()}`;
3533
3534
  }
3534
- function $l(e, t, n, r) {
3535
+ function Rl(e, t, n, r) {
3535
3536
  return In(e, t, n), 0;
3536
3537
  }
3537
3538
  var Al = {
3538
3539
  mt_create: function(e) {
3539
3540
  let t = e.priv;
3540
- un(e, "start_date", qs()), un(e, "node_uuid", Xs()), e.priv.gobj_timer = ut(At(e), "C_TIMER", {}, e), t.periodic_timeout = zt(e, "periodic_timeout"), function(e) {
3541
+ un(e, "start_date", qs()), un(e, "node_uuid", Zs()), e.priv.gobj_timer = ut(Rt(e), "C_TIMER", {}, e), t.periodic_timeout = zt(e, "periodic_timeout"), function(e) {
3541
3542
  let t = zt(e, "trace_levels");
3542
3543
  if (!Ko(t)) return 0;
3543
3544
  let n = t.__global_trace__;
@@ -3550,7 +3551,7 @@ var Al = {
3550
3551
  if (t) if (Bo(r)) {
3551
3552
  de(t, null, !1);
3552
3553
  for (let e of r) de(t, e, !0);
3553
- } else sr(`${At(e)}: trace_levels of ${n} MUST be a list`);
3554
+ } else sr(`${Rt(e)}: trace_levels of ${n} MUST be a list`);
3554
3555
  }
3555
3556
  }(e), function(e) {
3556
3557
  let t = zt(e, "no_trace_levels");
@@ -3565,16 +3566,16 @@ var Al = {
3565
3566
  if (t) if (Bo(r)) {
3566
3567
  pe(t, null, !1);
3567
3568
  for (let e of r) pe(t, e, !0);
3568
- } else sr(`${At(e)}: no_trace_levels of ${n} MUST be a list`);
3569
+ } else sr(`${Rt(e)}: no_trace_levels of ${n} MUST be a list`);
3569
3570
  }
3570
3571
  }(e);
3571
3572
  },
3572
3573
  mt_writing: function(e, t) {},
3573
3574
  mt_start: function(e) {
3574
- return hl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3575
+ return yl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3575
3576
  },
3576
3577
  mt_stop: function(e) {
3577
- return yl(e.priv.gobj_timer), ht(e), 0;
3578
+ return vl(e.priv.gobj_timer), ht(e), 0;
3578
3579
  },
3579
3580
  mt_destroy: function(e) {},
3580
3581
  mt_play: function(e) {
@@ -3591,24 +3592,24 @@ var Al = {
3591
3592
  case "get-global-no-trace": return r(0, 0, null, null, _e());
3592
3593
  case "set-global-trace":
3593
3594
  case "set-global-no-trace": {
3594
- let o = "set-global-no-trace" === t, s = n.level, l = wl(n.set);
3595
- return s ? null === l ? r(0, -1, `${Nl()}: bitmask set or re-set?`, null, null) : (o ? le(s, l) : se(s, l)) < 0 ? r(0, -1, `${Nl()}: global trace level not found: ${s}`, null, null) : o ? (jl(e, "no_trace_levels", "__global_no_trace__", _e()), r(0, 0, null, null, _e())) : (jl(e, "trace_levels", "__global_trace__", ue()), r(0, 0, null, null, ue())) : r(0, -1, `${Nl()}: what level?`, null, null);
3595
+ let o = "set-global-no-trace" === t, s = n.level, l = Nl(n.set);
3596
+ return s ? null === l ? r(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (o ? le(s, l) : se(s, l)) < 0 ? r(0, -1, `${$l()}: global trace level not found: ${s}`, null, null) : o ? (Ol(e, "no_trace_levels", "__global_no_trace__", _e()), r(0, 0, null, null, _e())) : (Ol(e, "trace_levels", "__global_trace__", ue()), r(0, 0, null, null, ue())) : r(0, -1, `${$l()}: what level?`, null, null);
3596
3597
  }
3597
3598
  case "get-gclass-trace":
3598
3599
  case "get-gclass-no-trace":
3599
3600
  case "set-gclass-trace":
3600
3601
  case "set-gclass-no-trace": {
3601
3602
  let o = t.indexOf("no-trace") >= 0, s = n.gclass_name || n.gclass || "", l = Ze(s);
3602
- if (!l) return r(0, -1, `${Nl()}: what gclass is '${s}'?`, null, null);
3603
+ if (!l) return r(0, -1, `${$l()}: what gclass is '${s}'?`, null, null);
3603
3604
  if (0 === t.indexOf("get-")) return r(0, 0, null, null, o ? ge(l) : ce(l));
3604
- let i = n.level, a = wl(n.set);
3605
- return i ? null === a ? r(0, -1, `${Nl()}: bitmask set or re-set?`, null, null) : (o ? pe(l, i, a) : de(l, i, a)) < 0 ? r(0, -1, `${Nl()}: trace level of ${s} not found: ${i}`, null, null) : o ? (jl(e, "no_trace_levels", s, ge(l)), r(0, 0, null, null, ge(l))) : (jl(e, "trace_levels", s, fe(l)), r(0, 0, null, null, ce(l))) : r(0, -1, `${Nl()}: what level?`, null, null);
3605
+ let i = n.level, a = Nl(n.set);
3606
+ return i ? null === a ? r(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (o ? pe(l, i, a) : de(l, i, a)) < 0 ? r(0, -1, `${$l()}: trace level of ${s} not found: ${i}`, null, null) : o ? (Ol(e, "no_trace_levels", s, ge(l)), r(0, 0, null, null, ge(l))) : (Ol(e, "trace_levels", s, fe(l)), r(0, 0, null, null, ce(l))) : r(0, -1, `${$l()}: what level?`, null, null);
3606
3607
  }
3607
- default: return r(0, -1, `${Nl()}: command not available: ${t}`, null, null);
3608
+ default: return r(0, -1, `${$l()}: command not available: ${t}`, null, null);
3608
3609
  }
3609
3610
  }
3610
3611
  };
3611
- var Rl = "ievent_gate_stack", xl = [
3612
+ var xl = "ievent_gate_stack", Dl = [
3612
3613
  x(v.DTP_STRING, "wanted_yuno_role", $.SDF_RD, "", "wanted yuno role"),
3613
3614
  x(v.DTP_STRING, "wanted_yuno_name", $.SDF_RD, "", "wanted yuno name"),
3614
3615
  x(v.DTP_STRING, "wanted_yuno_service", $.SDF_RD, "", "wanted yuno service"),
@@ -3624,16 +3625,16 @@ var Rl = "ievent_gate_stack", xl = [
3624
3625
  x(v.DTP_INTEGER, "timeout_retry_max", $.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
3625
3626
  x(v.DTP_INTEGER, "timeout_idack", $.SDF_RD, "5000", "timeout waiting idAck"),
3626
3627
  x(v.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
3627
- R()
3628
- ], Dl = [
3628
+ A()
3629
+ ], kl = [
3629
3630
  ["ievents", "Trace inter-events with metadata of kw"],
3630
3631
  ["ievents2", "Trace inter-events with full kw"],
3631
3632
  ["identity-card", "Trace identity_card messages"]
3632
3633
  ];
3633
- function kl(e) {
3634
+ function Cl(e) {
3634
3635
  return !!(3 & Q(e));
3635
3636
  }
3636
- var Cl = {
3637
+ var Il = {
3637
3638
  url: null,
3638
3639
  remote_yuno_name: null,
3639
3640
  remote_yuno_role: null,
@@ -3646,8 +3647,8 @@ var Cl = {
3646
3647
  retry_ms_before_session: 0,
3647
3648
  session_since: 0,
3648
3649
  retry_floor_warned: !1
3649
- }, Il = null;
3650
- function Pl(e) {
3650
+ }, Pl = null;
3651
+ function Ll(e) {
3651
3652
  e.priv.websocket && sr("Websocket ALREADY setup");
3652
3653
  const t = en(e, "url");
3653
3654
  ir(`====> Starting WebSocket to '${t}' (${xt(e)})`);
@@ -3662,7 +3663,7 @@ function Pl(e) {
3662
3663
  code: 1006,
3663
3664
  reason: r.message,
3664
3665
  was_clean: !1
3665
- }, e) < 0 && ml(e.priv.gobj_timer, Xl(e)), null;
3666
+ }, e) < 0 && hl(e.priv.gobj_timer, Zl(e)), null;
3666
3667
  }
3667
3668
  return r ? (r.onopen = () => {
3668
3669
  n !== e.priv.ws_seq || Pt(e) || Tn(e, "EV_ON_OPEN", {
@@ -3684,7 +3685,7 @@ function Pl(e) {
3684
3685
  }, e));
3685
3686
  }, r) : (sr(`${xt(e)}: Failed to initialize WebSocket.`), null);
3686
3687
  }
3687
- function Ll(e, t = 1e3, n = "") {
3688
+ function Ul(e, t = 1e3, n = "") {
3688
3689
  let r = e.priv, o = r.websocket;
3689
3690
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
3690
3691
  ir(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -3695,12 +3696,12 @@ function Ll(e, t = 1e3, n = "") {
3695
3696
  }
3696
3697
  } else lr("WebSocket is already closed or in the process of closing.");
3697
3698
  }
3698
- function Ul(e, t) {
3699
+ function Fl(e, t) {
3699
3700
  let n = e.priv;
3700
- "ST_SESSION" === cn(e) && (performance.now() - n.session_since < Ql(e).max && (n.retry_ms = n.retry_ms_before_session), n.retry_ms_before_session = 0), Ll(e, 4002, t);
3701
+ "ST_SESSION" === cn(e) && (performance.now() - n.session_since < Xl(e).max && (n.retry_ms = n.retry_ms_before_session), n.retry_ms_before_session = 0), Ul(e, 4002, t);
3701
3702
  }
3702
- var Fl = 128;
3703
- function Ml(e, t) {
3703
+ var Ml = 128;
3704
+ function Gl(e, t) {
3704
3705
  let n = String(e), r = Eo(n);
3705
3706
  if (null !== r && (n = r), n.length > t) {
3706
3707
  let e = t, r = n.charCodeAt(e);
@@ -3708,7 +3709,7 @@ function Ml(e, t) {
3708
3709
  }
3709
3710
  return n;
3710
3711
  }
3711
- function Gl(e, t, n) {
3712
+ function Vl(e, t, n) {
3712
3713
  let r = qs();
3713
3714
  try {
3714
3715
  ir("\n" + r + " " + t + "\n"), No(n);
@@ -3716,17 +3717,17 @@ function Gl(e, t, n) {
3716
3717
  ir("ERROR in trace_inter_event: " + e);
3717
3718
  }
3718
3719
  }
3719
- var Vl = class {
3720
+ var Wl = class {
3720
3721
  constructor(e, t) {
3721
3722
  this.event = e, this.kw = t || {};
3722
3723
  }
3723
3724
  };
3724
- function Wl(e, t, n, r) {
3725
+ function Kl(e, t, n, r) {
3725
3726
  return function(e, t) {
3726
3727
  let n = e.priv, r = JSON.stringify(t);
3727
- if (kl(e)) {
3728
- let n = en(e, "url"), o = At(St()) + " ==> " + n, s = zt(St(), "trace_ievent_callback");
3729
- s ? s(o, t, 1, r.length) : Gl(0, o, t);
3728
+ if (Cl(e)) {
3729
+ let n = en(e, "url"), o = Rt(St()) + " ==> " + n, s = zt(St(), "trace_ievent_callback");
3730
+ s ? s(o, t, 1, r.length) : Vl(0, o, t);
3730
3731
  }
3731
3732
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return lr(`${xt(e)}: send_iev(): websocket not open, message lost`), -1;
3732
3733
  try {
@@ -3736,10 +3737,10 @@ function Wl(e, t, n, r) {
3736
3737
  }
3737
3738
  return 0;
3738
3739
  }(e, function(e, t) {
3739
- return Xo(e) ? (sr("iev_create() event NULL"), null) : new Vl(e, t);
3740
+ return Xo(e) ? (sr("iev_create() event NULL"), null) : new Wl(e, t);
3740
3741
  }(t, n));
3741
3742
  }
3742
- function Kl(e, t, n) {
3743
+ function Bl(e, t, n) {
3743
3744
  return Xo(n) && (n = en(e, "wanted_yuno_service")), {
3744
3745
  dst_yuno: en(e, "wanted_yuno_name"),
3745
3746
  dst_role: en(e, "wanted_yuno_role"),
@@ -3747,10 +3748,10 @@ function Kl(e, t, n) {
3747
3748
  src_yuno: wt(),
3748
3749
  src_role: Nt(),
3749
3750
  src_service: t,
3750
- host: Xs()
3751
+ host: Zs()
3751
3752
  };
3752
3753
  }
3753
- function Bl(e) {
3754
+ function Yl(e) {
3754
3755
  let t = e.priv, n = Ot(St()), r = en(St(), "yuno_version"), o = en(St(), "yuno_release"), l = en(St(), "yuno_tag"), i = zt(e, "required_services");
3755
3756
  i && i.length || (i = zt(St(), "required_services"));
3756
3757
  let a = {
@@ -3768,32 +3769,32 @@ function Bl(e) {
3768
3769
  username: en(St(), "__username__"),
3769
3770
  launch_id: 0,
3770
3771
  yuno_startdate: en(St(), "start_date"),
3771
- id: Xs(),
3772
+ id: Zs(),
3772
3773
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
3773
3774
  language: "undefined" != typeof window ? window.navigator.language : "",
3774
3775
  required_services: i
3775
3776
  };
3776
- return Cs(e, a, Rl, Kl(e, At(kt(e)), null)), Ps(e, a, "__identity__"), ml(t.gobj_timer, Zt(e, "timeout_idack")), Wl(e, "EV_IDENTITY_CARD", a);
3777
+ return Cs(e, a, xl, Bl(e, Rt(kt(e)), null)), Ps(e, a, "__identity__"), hl(t.gobj_timer, Zt(e, "timeout_idack")), Kl(e, "EV_IDENTITY_CARD", a);
3777
3778
  }
3778
- function Yl(e, t) {
3779
+ function Jl(e, t) {
3779
3780
  if (Xo(t.event)) return -1;
3780
3781
  let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, l = t.__service__, i = t.subscriber;
3781
3782
  o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s);
3782
- return Cs(e, n, Rl, Kl(e, At(i), l)), Ps(e, n, "__subscribing__"), Wl(e, t.event, n);
3783
- }
3784
- function Jl(e, t, n, r) {
3785
- let o = e.priv;
3786
- return Et(e) && (o.websocket = Pl(e)), 0;
3783
+ return Cs(e, n, xl, Bl(e, Rt(i), l)), Ps(e, n, "__subscribing__"), Kl(e, t.event, n);
3787
3784
  }
3788
3785
  function ql(e, t, n, r) {
3789
- return ir("Websocket opened: " + e.priv.url), Bl(e), 0;
3786
+ let o = e.priv;
3787
+ return Et(e) && (o.websocket = Ll(e)), 0;
3790
3788
  }
3791
3789
  function Hl(e, t, n, r) {
3790
+ return ir("Websocket opened: " + e.priv.url), Yl(e), 0;
3791
+ }
3792
+ function zl(e, t, n, r) {
3792
3793
  let o = e.priv, s = n.url;
3793
3794
  if (void 0 !== n.ws_seq && n.ws_seq !== o.ws_seq) return 0;
3794
3795
  Qn();
3795
- const l = Ml(void 0 === n.reason ? "" : n.reason, 256);
3796
- return kl(e) && ar(`${xt(e)}: WebSocket closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, (!n.was_clean || 1e3 !== n.code && 1001 !== n.code) && Et(e) && lr(`${xt(e)}: session closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), In(e, "EV_ON_CLOSE", {
3796
+ const l = Gl(void 0 === n.reason ? "" : n.reason, 256);
3797
+ return Cl(e) && ar(`${xt(e)}: WebSocket closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, (!n.was_clean || 1e3 !== n.code && 1001 !== n.code) && Et(e) && lr(`${xt(e)}: session closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), In(e, "EV_ON_CLOSE", {
3797
3798
  url: s,
3798
3799
  remote_yuno_name: o.remote_yuno_name,
3799
3800
  remote_yuno_role: o.remote_yuno_role,
@@ -3809,33 +3810,33 @@ function Hl(e, t, n, r) {
3809
3810
  code: n.code,
3810
3811
  reason: l,
3811
3812
  was_clean: n.was_clean
3812
- })), Et(e) && ml(o.gobj_timer, Xl(e)), 0;
3813
+ })), Et(e) && hl(o.gobj_timer, Zl(e)), 0;
3813
3814
  }
3814
- var zl = 1e3;
3815
- function Ql(e) {
3815
+ var Ql = 1e3;
3816
+ function Xl(e) {
3816
3817
  let t = e.priv, n = Zt(e, "timeout_retry"), r = Zt(e, "timeout_retry_max");
3817
- return n >= zl || (t.retry_floor_warned || (t.retry_floor_warned = !0, lr(`${xt(e)}: timeout_retry ${n} ms is below ${zl} ms: ${zl} ms is used`)), n = zl), r >= n || (r = n), {
3818
+ return n >= Ql || (t.retry_floor_warned || (t.retry_floor_warned = !0, lr(`${xt(e)}: timeout_retry ${n} ms is below ${Ql} ms: ${Ql} ms is used`)), n = Ql), r >= n || (r = n), {
3818
3819
  base: n,
3819
3820
  max: r
3820
3821
  };
3821
3822
  }
3822
- function Xl(e) {
3823
+ function Zl(e) {
3823
3824
  let t = e.priv;
3824
- const { base: n, max: r } = Ql(e);
3825
+ const { base: n, max: r } = Xl(e);
3825
3826
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3826
3827
  let o = .2 * t.retry_ms, s = t.retry_ms - o + 2 * Math.random() * o;
3827
3828
  return Math.max(1, Math.round(s));
3828
3829
  }
3829
- function Zl(e, t, n, r) {
3830
- return Bl(e), 0;
3831
- }
3832
3830
  function ei(e, t, n, r) {
3831
+ return Yl(e), 0;
3832
+ }
3833
+ function ti(e, t, n, r) {
3833
3834
  let o = e.priv;
3834
- yl(o.gobj_timer);
3835
- let s = Is(e, n, Rl, !0), l = fs(e, s, "src_yuno", ""), i = fs(e, s, "src_role", ""), a = fs(e, s, "src_service", "");
3835
+ vl(o.gobj_timer);
3836
+ let s = Is(e, n, xl, !0), l = fs(e, s, "src_yuno", ""), i = fs(e, s, "src_role", ""), a = fs(e, s, "src_service", "");
3836
3837
  un(e, "remote_yuno_name", l), un(e, "remote_yuno_role", i), un(e, "remote_yuno_service", a);
3837
3838
  let u = cs(e, n, "result", -1, 0), _ = fs(e, n, "comment", "", 0), c = fs(e, n, "username", "", 0), f = ps(e, n, "services_roles", {});
3838
- if (u < 0) Ll(e), In(e, "EV_ON_ID_NAK", {
3839
+ if (u < 0) Ul(e), In(e, "EV_ON_ID_NAK", {
3839
3840
  url: en(e, "url"),
3840
3841
  result: u,
3841
3842
  comment: _,
@@ -3852,11 +3853,11 @@ function ei(e, t, n, r) {
3852
3853
  services_roles: f
3853
3854
  })), o.inside_on_open = !1, function(e) {
3854
3855
  let t = kn(e, null, null, null);
3855
- for (let n = 0; n < t.length; n++) Yl(e, t[n]);
3856
+ for (let n = 0; n < t.length; n++) Jl(e, t[n]);
3856
3857
  }(e);
3857
3858
  return 0;
3858
3859
  }
3859
- function ti(e, t, n, r) {
3860
+ function ni(e, t, n, r) {
3860
3861
  let o = e.priv.url, s = function(e, t) {
3861
3862
  let n;
3862
3863
  try {
@@ -3875,52 +3876,52 @@ function ti(e, t, n, r) {
3875
3876
  kw: o || {}
3876
3877
  } : (lr(`${xt(e)}: parsing inter_event: kw not a json object`), null) : (lr(`${xt(e)}: parsing inter_kw: no kw`), null);
3877
3878
  }(e, n.data);
3878
- if (!s) return lr(`${xt(e)}: frame dropped from ${o}: ${Ml(n.data, 256)}`), -1;
3879
- if (kl(e)) {
3880
- let e = At(St()) + " <== " + o, t = n.data.length, r = zt(St(), "trace_ievent_callback");
3881
- r ? r(e, s, 2, t) : Gl(0, e, s);
3879
+ if (!s) return lr(`${xt(e)}: frame dropped from ${o}: ${Gl(n.data, 256)}`), -1;
3880
+ if (Cl(e)) {
3881
+ let e = Rt(St()) + " <== " + o, t = n.data.length, r = zt(St(), "trace_ievent_callback");
3882
+ r ? r(e, s, 2, t) : Vl(0, e, s);
3882
3883
  }
3883
3884
  let l = s.event, i = s.kw;
3884
3885
  if ("ST_SESSION" !== cn(e)) {
3885
3886
  if ("ev_identity_card_ack" === String(l).toLowerCase()) {
3886
3887
  if (!(Tn(e, "EV_IDENTITY_CARD_ACK", i, e) < 0)) return 0;
3887
- } else lr(`${xt(e)}: event UNKNOWN in not-session state ${Ml(l, Fl)}`);
3888
- return Ul(e, "event out of session"), -1;
3888
+ } else lr(`${xt(e)}: event UNKNOWN in not-session state ${Gl(l, Ml)}`);
3889
+ return Fl(e, "event out of session"), -1;
3889
3890
  }
3890
3891
  s = null;
3891
- let a = Ls(e, i), u = Is(e, i, Rl), _ = fs(e, u, "dst_role", "");
3892
- if (!Xo(_) && _.toLowerCase() !== String(Nt()).toLowerCase()) return lr(`${xt(e)}: It's not my role, dst_role: ${Ml(_, Fl)}, my_role: ${Nt()}, event: ${Ml(l, Fl)}`), Ul(e, "not my role"), -1;
3892
+ let a = Ls(e, i), u = Is(e, i, xl), _ = fs(e, u, "dst_role", "");
3893
+ if (!Xo(_) && _.toLowerCase() !== String(Nt()).toLowerCase()) return lr(`${xt(e)}: It's not my role, dst_role: ${Gl(_, Ml)}, my_role: ${Nt()}, event: ${Gl(l, Ml)}`), Fl(e, "not my role"), -1;
3893
3894
  let c = fs(e, u, "dst_yuno", "");
3894
- if (!Xo(c) && c.toLowerCase() !== String(wt()).toLowerCase()) return lr(`${xt(e)}: It's not my name, dst_yuno: ${Ml(c, Fl)}, my_name: ${wt()}, event: ${Ml(l, Fl)}`), Ul(e, "not my name"), -1;
3895
+ if (!Xo(c) && c.toLowerCase() !== String(wt()).toLowerCase()) return lr(`${xt(e)}: It's not my name, dst_yuno: ${Gl(c, Ml)}, my_name: ${wt()}, event: ${Gl(l, Ml)}`), Fl(e, "not my name"), -1;
3895
3896
  let f = fs(e, u, "dst_service", "");
3896
- if ("__subscribing__" === a) return lr(`${xt(e)}: subscription event ignored, I'm client (service: ${Ml(f, Fl)}, event: ${Ml(l, Fl)})`), -1;
3897
- if ("__unsubscribing__" === a) return lr(`${xt(e)}: unsubscription event ignored, I'm client (service: ${Ml(f, Fl)}, event: ${Ml(l, Fl)})`), -1;
3897
+ if ("__subscribing__" === a) return lr(`${xt(e)}: subscription event ignored, I'm client (service: ${Gl(f, Ml)}, event: ${Gl(l, Ml)})`), -1;
3898
+ if ("__unsubscribing__" === a) return lr(`${xt(e)}: unsubscription event ignored, I'm client (service: ${Gl(f, Ml)}, event: ${Gl(l, Ml)})`), -1;
3898
3899
  const g = On(l, 0, !1);
3899
3900
  if (g && gn(e, g.event_name, 0)) {
3900
3901
  const t = g.event_name;
3901
- return gn(e, t, L.EVF_PUBLIC_EVENT) && "EV_IDENTITY_CARD_ACK" !== t ? (Tn(e, t, i, e), 0) : (lr(`${xt(e)}: event of the transport itself, or out of its place, DROPPED: ev '${Ml(l, Fl)}'`), -1);
3902
+ return gn(e, t, L.EVF_PUBLIC_EVENT) && "EV_IDENTITY_CARD_ACK" !== t ? (Tn(e, t, i, e), 0) : (lr(`${xt(e)}: event of the transport itself, or out of its place, DROPPED: ev '${Gl(l, Ml)}'`), -1);
3902
3903
  }
3903
3904
  if (!Xo(f)) {
3904
3905
  let t = tt(f, !1);
3905
- return t ? gn(t, l, L.EVF_PUBLIC_EVENT) ? (Tn(t, l, i, e), 0) : (lr(`${xt(e)}: Service found but no event or not public, DROPPED: service '${xt(t)}', ev '${Ml(l, Fl)}'`), -1) : (lr(`${xt(e)}: event for a service that is gone, DROPPED: service '${Ml(f, Fl)}', ev '${Ml(l, Fl)}'`), 0);
3906
+ return t ? gn(t, l, L.EVF_PUBLIC_EVENT) ? (Tn(t, l, i, e), 0) : (lr(`${xt(e)}: Service found but no event or not public, DROPPED: service '${xt(t)}', ev '${Gl(l, Ml)}'`), -1) : (lr(`${xt(e)}: event for a service that is gone, DROPPED: service '${Gl(f, Ml)}', ev '${Gl(l, Ml)}'`), 0);
3906
3907
  }
3907
3908
  let d = On(l, L.EVF_PUBLIC_EVENT, !1);
3908
- return d ? (In(e, d.event_name, i), 0) : (lr(`${xt(e)}: event that no gclass declares public, DROPPED: ev '${Ml(l, Fl)}'`), -1);
3909
- }
3910
- function ni(e, t, n, r) {
3911
- const o = n && "string" == typeof n[r] ? n[r] : "", s = n && "string" == typeof n.service ? n.service : "";
3912
- return lr(`${xt(e)}: ${t} not served by this client, DROPPED: ${r.replace(/_/g, "")} '${Ml(o, Fl)}', service '${Ml(s, Fl)}'`), -1;
3909
+ return d ? (In(e, d.event_name, i), 0) : (lr(`${xt(e)}: event that no gclass declares public, DROPPED: ev '${Gl(l, Ml)}'`), -1);
3913
3910
  }
3914
3911
  function ri(e, t, n, r) {
3915
- return ni(e, t, n, "__stats__");
3912
+ const o = n && "string" == typeof n[r] ? n[r] : "", s = n && "string" == typeof n.service ? n.service : "";
3913
+ return lr(`${xt(e)}: ${t} not served by this client, DROPPED: ${r.replace(/_/g, "")} '${Gl(o, Ml)}', service '${Gl(s, Ml)}'`), -1;
3916
3914
  }
3917
3915
  function oi(e, t, n, r) {
3918
- return ni(e, t, n, "__command__");
3916
+ return ri(e, t, n, "__stats__");
3919
3917
  }
3920
- var si = {
3918
+ function si(e, t, n, r) {
3919
+ return ri(e, t, n, "__command__");
3920
+ }
3921
+ var li = {
3921
3922
  mt_create: function(e) {
3922
3923
  let t = e.priv;
3923
- t.gobj_timer = ut(At(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = en(e, "url"), t.remote_yuno_name = en(e, "remote_yuno_name"), t.remote_yuno_role = en(e, "remote_yuno_role"), t.remote_yuno_service = en(e, "remote_yuno_service"), un(e, "wanted_yuno_name", t.remote_yuno_name), un(e, "wanted_yuno_role", t.remote_yuno_role), un(e, "wanted_yuno_service", t.remote_yuno_service);
3924
+ t.gobj_timer = ut(Rt(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = en(e, "url"), t.remote_yuno_name = en(e, "remote_yuno_name"), t.remote_yuno_role = en(e, "remote_yuno_role"), t.remote_yuno_service = en(e, "remote_yuno_service"), un(e, "wanted_yuno_name", t.remote_yuno_name), un(e, "wanted_yuno_role", t.remote_yuno_role), un(e, "wanted_yuno_service", t.remote_yuno_service);
3924
3925
  let n = tn(e, "subscriber");
3925
3926
  n ? xn(e, null, {}, n) : It(e) && (n = kt(e), xn(e, null, {}, n));
3926
3927
  },
@@ -3947,43 +3948,43 @@ var si = {
3947
3948
  code: 1e3,
3948
3949
  reason: "restarted",
3949
3950
  was_clean: !0
3950
- }, e), yl(t.gobj_timer)), t.websocket = Pl(e), 0;
3951
+ }, e), vl(t.gobj_timer)), t.websocket = Ll(e), 0;
3951
3952
  },
3952
3953
  mt_stop: function(e) {
3953
3954
  let t = e.priv;
3954
- return yl(t.gobj_timer), t.websocket && Ll(e), 0;
3955
+ return vl(t.gobj_timer), t.websocket && Ul(e), 0;
3955
3956
  },
3956
3957
  mt_destroy: function(e) {},
3957
3958
  mt_stats: function(e, t, n, r) {
3958
3959
  if ("ST_SESSION" !== cn(e)) return sr("Not in session"), null;
3959
3960
  n || (n = {});
3960
- let o = Kl(e, At(r), fs(e, n, "service", null, 0)), s = ps(e, n, "__md_stats__", null, Pn.KW_EXTRACT);
3961
+ let o = Bl(e, Rt(r), fs(e, n, "service", null, 0)), s = ps(e, n, "__md_stats__", null, Pn.KW_EXTRACT);
3961
3962
  return s || (s = {}), Cs(e, n, "stats_stack", {
3962
3963
  stats: t,
3963
3964
  kw: s
3964
- }), Cs(e, n, Rl, o), n.__stats__ = t, Ps(e, n, "__stats__"), Wl(e, "EV_MT_STATS", n, r), null;
3965
+ }), Cs(e, n, xl, o), n.__stats__ = t, Ps(e, n, "__stats__"), Kl(e, "EV_MT_STATS", n, r), null;
3965
3966
  },
3966
3967
  mt_command_parser: function(e, t, n, r) {
3967
3968
  if ("ST_SESSION" !== cn(e)) return sr("Not in session"), null;
3968
3969
  n || (n = {});
3969
- let o = Kl(e, At(r), fs(e, n, "service", "", 0)), s = ps(e, n, "__md_command__", null, Pn.KW_EXTRACT);
3970
+ let o = Bl(e, Rt(r), fs(e, n, "service", "", 0)), s = ps(e, n, "__md_command__", null, Pn.KW_EXTRACT);
3970
3971
  return s || (s = {}), Cs(e, n, "command_stack", {
3971
3972
  command: t,
3972
3973
  kw: s
3973
- }), Cs(e, n, Rl, o), n.__command__ = t, Ps(e, n, "__command__"), Wl(e, "EV_MT_COMMAND", n, r), null;
3974
+ }), Cs(e, n, xl, o), n.__command__ = t, Ps(e, n, "__command__"), Kl(e, "EV_MT_COMMAND", n, r), null;
3974
3975
  },
3975
3976
  mt_inject_event: function(e, t, n, r) {
3976
3977
  if ("ST_SESSION" !== cn(e)) return window.console.error("Not in session"), -1;
3977
- if (n = Ro({}, Ko(n) ? n : {}), Ko(n.__md_iev__) && (n.__md_iev__ = $o(n.__md_iev__)), Is(e, n, Rl));
3978
+ if (n = Ao({}, Ko(n) ? n : {}), Ko(n.__md_iev__) && (n.__md_iev__ = $o(n.__md_iev__)), Is(e, n, xl));
3978
3979
  else {
3979
- let o = Kl(e, At(r), fs(e, n, "__service__", 0, 0));
3980
- Co(n, "__service__"), Cs(e, n, "__message__", t), Cs(e, n, Rl, o);
3980
+ let o = Bl(e, Rt(r), fs(e, n, "__service__", 0, 0));
3981
+ Co(n, "__service__"), Cs(e, n, "__message__", t), Cs(e, n, xl, o);
3981
3982
  }
3982
- return Ps(e, n, "__message__"), Wl(e, t, n, r);
3983
+ return Ps(e, n, "__message__"), Kl(e, t, n, r);
3983
3984
  },
3984
3985
  mt_subscription_added: function(e, t) {
3985
3986
  let n = e.priv;
3986
- return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Yl(e, t) : 0;
3987
+ return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Jl(e, t) : 0;
3987
3988
  },
3988
3989
  mt_subscription_deleted: function(e, t) {
3989
3990
  let n = e.priv;
@@ -3992,10 +3993,10 @@ var si = {
3992
3993
  if (Xo(t.event)) return 0;
3993
3994
  let r = {}, o = t.__global__, s = t.__config__, l = t.__filter__, i = t.__service__, a = t.subscriber;
3994
3995
  s && (r.__config__ = s), o && (r.__global__ = o), l && (r.__filter__ = l);
3995
- return Cs(e, r, Rl, Kl(e, At(a), i)), Ps(e, r, "__unsubscribing__"), Wl(e, t.event, r, e);
3996
+ return Cs(e, r, xl, Bl(e, Rt(a), i)), Ps(e, r, "__unsubscribing__"), Kl(e, t.event, r, e);
3996
3997
  }
3997
3998
  };
3998
- exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new A(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new A(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new A(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new A(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new A(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new A(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = R, exports.SDataDesc = A, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
3999
+ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new R(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new R(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new R(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new R(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new R(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new R(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = A, exports.SDataDesc = R, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
3999
4000
  enumerable: !0,
4000
4001
  get: function() {
4001
4002
  return p;
@@ -4006,8 +4007,8 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4006
4007
  return t;
4007
4008
  }, exports.build_stats_response = o, exports.clean_name = function(e) {
4008
4009
  return e.replace(/[?# ^:]/g, "_");
4009
- }, exports.clear_timeout = yl, exports.cmp_two_simple_json = ns, exports.command_parameter_from_json = xe, exports.command_parameter_from_text = function(e, t) {
4010
- const n = Re(e, t, !1);
4010
+ }, exports.clear_timeout = vl, exports.cmp_two_simple_json = ns, exports.command_parameter_from_json = xe, exports.command_parameter_from_text = function(e, t) {
4011
+ const n = Ae(e, t, !1);
4011
4012
  return void 0 !== n.value || n.refused || (n.refused = Te), n;
4012
4013
  }, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
4013
4014
  let [r, o, s, l] = t;
@@ -4044,20 +4045,20 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4044
4045
  Io(n, e, s);
4045
4046
  }), n;
4046
4047
  }, exports.current_timestamp = qs, exports.data_type_t = v, exports.db_list_persistent_attrs = function(e, t) {
4047
- let n = Ss(sl(e), null, !1), r = {};
4048
+ let n = Ss(ll(e), null, !1), r = {};
4048
4049
  return n && Ko(n) && (r = vs(e, n, t, !1)), r;
4049
4050
  }, exports.db_load_persistent_attrs = function(e, t) {
4050
- let n = Qt(e, $.SDF_PERSIST), r = Ss(sl(e), null, !1);
4051
+ let n = Qt(e, $.SDF_PERSIST), r = Ss(ll(e), null, !1);
4051
4052
  if (r && Ko(r)) {
4052
4053
  let o = vs(e, r, t, !1);
4053
4054
  o = vs(e, o, n, !1), sn(e, o, $.SDF_PERSIST);
4054
4055
  }
4055
4056
  }, exports.db_remove_persistent_attrs = function(e, t) {
4056
- let n = Es(e, Ss(sl(e), null, !1), t, !1);
4057
- 0 === Mo(n) ? Ns(sl(e)) : ws(sl(e), n);
4057
+ let n = Es(e, Ss(ll(e), null, !1), t, !1);
4058
+ 0 === Mo(n) ? Ns(ll(e)) : ws(ll(e), n);
4058
4059
  }, exports.db_save_persistent_attrs = function(e, t) {
4059
- let n = vs(e, Qt(e, $.SDF_PERSIST), t, !1), r = Ss(sl(e), null, !1);
4060
- return r && Ko(r) && Do(n, r), ws(sl(e), n);
4060
+ let n = vs(e, Qt(e, $.SDF_PERSIST), t, !1), r = Ss(ll(e), null, !1);
4061
+ return r && Ko(r) && Do(n, r), ws(ll(e), n);
4061
4062
  }, exports.debounce = function(e, t = 0, n = !1) {
4062
4063
  let r = null, o = null, s = null;
4063
4064
  const l = (...l) => {
@@ -4077,22 +4078,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4077
4078
  return !1;
4078
4079
  }, exports.duplicate_objects = function(...e) {
4079
4080
  const t = {};
4080
- for (const n of e) Ro(t, structuredClone(n));
4081
+ for (const n of e) Ao(t, structuredClone(n));
4081
4082
  return t;
4082
4083
  }, exports.empty_json = Wo, exports.empty_string = Xo, exports.escapeHtml = Gs, exports.event_flag_t = L, exports.flat2json = function(e) {
4083
4084
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
4084
4085
  let t = null;
4085
4086
  for (const n of Object.keys(e)) {
4086
- const r = rl(n);
4087
+ const r = ol(n);
4087
4088
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
4088
- if (r.length > el) throw new Error(`flat2json: '${n}' deeper than 256`);
4089
+ if (r.length > tl) throw new Error(`flat2json: '${n}' deeper than 256`);
4089
4090
  const o = "number" == typeof r[0];
4090
4091
  if (null === t) t = o ? [] : {};
4091
4092
  else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
4092
4093
  let s = t;
4093
4094
  for (let t = 0; t < r.length; t++) {
4094
4095
  const o = r[t], l = "number" == typeof o, i = t === r.length - 1, a = !i && "number" == typeof r[t + 1];
4095
- if (l && o > tl) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
4096
+ if (l && o > nl) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
4096
4097
  if (l !== Array.isArray(s)) throw new Error(`flat2json: '${n}' uses a ${l ? "array index" : "key"} where the tree already has a ${Array.isArray(s) ? "array" : "object"}`);
4097
4098
  if (i) {
4098
4099
  if (Array.isArray(s)) {
@@ -4132,15 +4133,15 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4132
4133
  removed: {},
4133
4134
  changed: {}
4134
4135
  };
4135
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? ol(n[e], r[e]) || ls(o.changed, e, {
4136
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? sl(n[e], r[e]) || ls(o.changed, e, {
4136
4137
  from: n[e],
4137
4138
  to: r[e]
4138
4139
  }) : ls(o.removed, e, n[e]);
4139
4140
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || ls(o.added, e, r[e]);
4140
4141
  return o;
4141
4142
  }, exports.flat_key_join = function(e) {
4142
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : nl(e)).join("`") : "";
4143
- }, exports.flat_key_split = rl, exports.gclass_add_ev_action = qe, exports.gclass_add_event_type = ze, exports.gclass_add_state = Je, exports.gclass_check_fsm = Xe, exports.gclass_create = We, exports.gclass_event_type = Qe, exports.gclass_find_by_name = Ze, exports.gclass_flag_t = C, exports.gclass_unregister = Ke, exports.getPositionRelativeToBody = function(e) {
4143
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : rl(e)).join("`") : "";
4144
+ }, exports.flat_key_split = ol, exports.gclass_add_ev_action = qe, exports.gclass_add_event_type = ze, exports.gclass_add_state = Je, exports.gclass_check_fsm = Xe, exports.gclass_create = We, exports.gclass_event_type = Qe, exports.gclass_find_by_name = Ze, exports.gclass_flag_t = C, exports.gclass_unregister = Ke, exports.getPositionRelativeToBody = function(e) {
4144
4145
  if (!e) return {
4145
4146
  top: 0,
4146
4147
  left: 0,
@@ -4159,10 +4160,14 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4159
4160
  right: n + i + r,
4160
4161
  bottom: t + l + o
4161
4162
  };
4162
- }, exports.get_function_name = Zs, exports.get_now = function() {
4163
+ }, exports.get_function_name = el, exports.get_now = function() {
4163
4164
  return Math.floor(Date.now() / 1e3);
4164
4165
  }, exports.gobj_bottom_gobj = Lt, exports.gobj_change_parent = function(e, n) {
4165
- return Pt(e) ? (sr("gobj NULL or DESTROYED"), null) : n instanceof k ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (ot(e.parent, e), e.parent = null), rt(n, e), n.gclass.gmt.mt_child_added && (Z(e) && ir(t("👦👦🔵 child_added(%s): %s", Dt(n), xt(e))), n.gclass.gmt.mt_child_added(n, e)), 0) : (sr(`${xt(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
4166
+ if (Pt(e)) return sr("gobj NULL or DESTROYED"), -1;
4167
+ if (!(n instanceof k)) return sr(`${xt(e)}: gobj_change_parent() BAD TYPE of parent`), -1;
4168
+ if (Pt(n)) return sr(`${xt(e)}: gobj_change_parent() parent NULL or DESTROYED`), -1;
4169
+ for (let t = n; t; t = t.parent) if (t === e) return sr(`${xt(e)}: gobj_change_parent() a gobj cannot be its own ancestor: ${xt(n)}`), -1;
4170
+ return e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (ot(e.parent, e), e.parent = null), rt(n, e), n.gclass.gmt.mt_child_added && (Z(e) && ir(t("👦👦🔵 child_added(%s): %s", Dt(n), xt(e))), n.gclass.gmt.mt_child_added(n, e)), 0;
4166
4171
  }, exports.gobj_change_state = _n, exports.gobj_command = function(e, n, o, s) {
4167
4172
  if (Pt(e)) return sr("gobj NULL or DESTROYED"), -1;
4168
4173
  if (function(e) {
@@ -4186,7 +4191,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4186
4191
  if (Xo(t)) return null;
4187
4192
  const n = t.toLowerCase();
4188
4193
  return "__default_service__" === n ? b : "__yuno__" === n || "__root__" === n ? p : qt(p, t);
4189
- }, exports.gobj_find_service = tt, exports.gobj_find_subscribings = Cn, exports.gobj_find_subscriptions = kn, exports.gobj_flag_t = I, exports.gobj_full_name = Dt, exports.gobj_gclass_name = Rt, exports.gobj_get_gclass_trace_level = ce, exports.gobj_get_gclass_trace_level2 = fe, exports.gobj_get_gclass_trace_no_level = ge, exports.gobj_get_global_trace_level = ue, exports.gobj_get_global_trace_no_level = _e, exports.gobj_global_trace_level = function() {
4194
+ }, exports.gobj_find_service = tt, exports.gobj_find_subscribings = Cn, exports.gobj_find_subscriptions = kn, exports.gobj_flag_t = I, exports.gobj_full_name = Dt, exports.gobj_gclass_name = At, exports.gobj_get_gclass_trace_level = ce, exports.gobj_get_gclass_trace_level2 = fe, exports.gobj_get_gclass_trace_no_level = ge, exports.gobj_get_global_trace_level = ue, exports.gobj_get_global_trace_no_level = _e, exports.gobj_global_trace_level = function() {
4190
4195
  return Y;
4191
4196
  }, exports.gobj_global_trace_no_level = function() {
4192
4197
  return J;
@@ -4231,7 +4236,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4231
4236
  Yt(s, t) && n.push(s), e(n, s);
4232
4237
  }
4233
4238
  }(n, e), n;
4234
- }, exports.gobj_match_gobj = Yt, exports.gobj_name = At, exports.gobj_parent = kt, exports.gobj_pause = vt, exports.gobj_play = yt, exports.gobj_post_event = mn, exports.gobj_posted_events_size = function() {
4239
+ }, exports.gobj_match_gobj = Yt, exports.gobj_name = Rt, exports.gobj_parent = kt, exports.gobj_pause = vt, exports.gobj_play = yt, exports.gobj_post_event = mn, exports.gobj_posted_events_size = function() {
4235
4240
  return pn.length;
4236
4241
  }, exports.gobj_publish_event = In, exports.gobj_read_attr = zt, exports.gobj_read_attrs = Qt, exports.gobj_read_bool_attr = Xt, exports.gobj_read_integer_attr = Zt, exports.gobj_read_pointer_attr = tn, exports.gobj_read_str_attr = en, exports.gobj_remove_persistent_attrs = function(e, t) {
4237
4242
  return jt(e) ? a ? a(e, t) : -1 : (sr(`${xt(e)}: Only gobj services can load/save writable-persistent`), -1);
@@ -4302,13 +4307,13 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4302
4307
  else if (!(dn(e, t, L.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & C.gcflag_no_check_output_events)) return sr(`event NOT in output event list: ${xt(e)}, ev ${t}`), 0;
4303
4308
  let s = wn(n, t), l = $n(e.dl_subscriptions, e, t, s.renamed_event, s.kw, r), i = 0, a = 0, u = 0;
4304
4309
  for (let t = 0; t < l.length; t++) {
4305
- let n = l[t], r = Rn(e, n, !1, !1);
4310
+ let n = l[t], r = An(e, n, !1, !1);
4306
4311
  0 === r ? i++ : r < 0 ? a++ : u++;
4307
4312
  }
4308
4313
  return a ? lr(`${xt(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${a})`) : i || u || (lr(`${xt(e)}: No subscription found`), No(n, "No subscription found")), 0;
4309
4314
  }, exports.gobj_unsubscribe_list = Dn, exports.gobj_walk_gobj_children = Mt, exports.gobj_walk_gobj_children_tree = Gt, exports.gobj_write_attr = nn, exports.gobj_write_attrs = sn, exports.gobj_write_bool_attr = ln, exports.gobj_write_integer_attr = an, exports.gobj_write_str_attr = un, exports.gobj_yuno = St, exports.gobj_yuno_id = $t, exports.gobj_yuno_name = wt, exports.gobj_yuno_role = Nt, exports.html_markup = function(e) {
4310
4315
  return "string" != typeof e ? (sr("html_markup: not a string, type " + typeof e), new Vs("")) : new Vs(e);
4311
- }, exports.id_index_in_obj_list = Rs, exports.index_in_list = Hs, exports.is_array = Bo, exports.is_boolean = qo, exports.is_date = function(e) {
4316
+ }, exports.id_index_in_obj_list = As, exports.index_in_list = Hs, exports.is_array = Bo, exports.is_boolean = qo, exports.is_date = function(e) {
4312
4317
  return e instanceof Date && !isNaN(e);
4313
4318
  }, exports.is_function = zo, exports.is_gobj = Qo, exports.is_html_markup = Ws, exports.is_metadata_key = function(e) {
4314
4319
  if (!Yo(e)) return !1;
@@ -4336,7 +4341,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4336
4341
  let s, l = n.split("`"), i = o;
4337
4342
  for (; (s = l.shift()) && !Xo(s) && i;) Ko(i) && (i = ps(null, i, e.hook, null, 0)), i = Fs(i, null, s, !1);
4338
4343
  if (!i || 0 !== l.length) return sr(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
4339
- let a = Bo(i) ? i : ps(null, i, e.hook, null, 0), u = Rs(a, r.id);
4344
+ let a = Bo(i) ? i : ps(null, i, e.hook, null, 0), u = As(a, r.id);
4340
4345
  return u < 0 ? (sr(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (a.splice(u, 1), o);
4341
4346
  }, exports.jdb_get = function(e, t, n, r) {
4342
4347
  let o = ps(null, ps(null, e, "topics", null, 0), t, null, 0);
@@ -4367,15 +4372,15 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4367
4372
  if (!a || 0 !== i.length) return sr(`jdb_update: path not found in topic '${t}': '${n}'`), null;
4368
4373
  if (Bo(a)) l = a;
4369
4374
  else {
4370
- if (a.id === r.id) return Ro(a, r), o;
4375
+ if (a.id === r.id) return Ao(a, r), o;
4371
4376
  if (l = ps(null, a, e.hook, null, 0), null == l) l = [], Io(a, e.hook, l);
4372
4377
  else if (!Bo(l)) return sr(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
4373
4378
  }
4374
4379
  let u = Fs(l, e.hook, r.id, !1);
4375
- return u ? Ro(u, r) : l.push(r), o;
4380
+ return u ? Ao(u, r) : l.push(r), o;
4376
4381
  }, exports.json2flat = function(e) {
4377
4382
  const t = {}, n = (e, r, o) => {
4378
- if (o > el) throw new Error("json2flat: deeper than 256");
4383
+ if (o > tl) throw new Error("json2flat: deeper than 256");
4379
4384
  if (null === e || "object" != typeof e || Array.isArray(e)) {
4380
4385
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
4381
4386
  const s = `[${t}]`;
@@ -4385,7 +4390,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4385
4390
  const t = Object.keys(e);
4386
4391
  if (t.length > 0) {
4387
4392
  for (const s of t) {
4388
- const t = nl(s);
4393
+ const t = rl(s);
4389
4394
  n(e[s], 0 === o ? t : r + "`" + t, o + 1);
4390
4395
  }
4391
4396
  return;
@@ -4396,7 +4401,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4396
4401
  return null == e || n(e, "", 0), t;
4397
4402
  }, exports.json_array_append = Lo, exports.json_array_append_new = Uo, exports.json_array_extend = function(e, t) {
4398
4403
  return t ? (Array.prototype.push.apply(e, t), e) : e;
4399
- }, exports.json_array_remove = Fo, exports.json_array_size = Go, exports.json_deep_copy = $o, exports.json_is_identical = Ao, exports.json_mask_secrets = wo, exports.json_object_del = Co, exports.json_object_get = ko, exports.json_object_set = Io, exports.json_object_set_new = Po, exports.json_object_size = Mo, exports.json_object_update = Ro, exports.json_object_update_existing = xo, exports.json_object_update_missing = Do, exports.json_size = Vo, exports.json_text_of = Le, exports.jwt2json = function(e, t) {
4404
+ }, exports.json_array_remove = Fo, exports.json_array_size = Go, exports.json_deep_copy = $o, exports.json_is_identical = Ro, exports.json_mask_secrets = wo, exports.json_object_del = Co, exports.json_object_get = ko, exports.json_object_set = Io, exports.json_object_set_new = Po, exports.json_object_size = Mo, exports.json_object_update = Ao, exports.json_object_update_existing = xo, exports.json_object_update_missing = Do, exports.json_size = Vo, exports.json_text_of = Le, exports.jwt2json = function(e, t) {
4400
4405
  try {
4401
4406
  let n = Ms(e);
4402
4407
  switch (t) {
@@ -4422,7 +4427,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4422
4427
  return o;
4423
4428
  }, exports.kw_delete = us, exports.kw_find_json_in_list = function(e, t, n, r) {
4424
4429
  if (!n || !Bo(t)) return r && sr("item NULL or kw_list is not a list"), -1;
4425
- for (let e = 0; e < t.length; e++) if (Ao(n, t[e])) return e;
4430
+ for (let e = 0; e < t.length; e++) if (Ro(n, t[e])) return e;
4426
4431
  return r && sr("item not found in this list"), -1;
4427
4432
  }, exports.kw_find_path = as, exports.kw_flag_t = Pn, exports.kw_get_bool = _s, exports.kw_get_dict = ds, exports.kw_get_dict_value = ps, exports.kw_get_int = cs, exports.kw_get_list = function(e, t, n, r, o) {
4428
4433
  e && !Qo(e) && sr("GObj bad instanceof");
@@ -4465,9 +4470,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4465
4470
  r(t, n) && o.push($o(t));
4466
4471
  }
4467
4472
  return o;
4468
- }, exports.kw_set_dict_value = bs, exports.kw_set_local_storage_value = ws, exports.kw_set_subdict_value = ms, exports.kwid_collect = As, exports.kwid_find_one_record = function(e, t, n, r, o) {
4473
+ }, exports.kw_set_dict_value = bs, exports.kw_set_local_storage_value = ws, exports.kw_set_subdict_value = ms, exports.kwid_collect = Rs, exports.kwid_find_one_record = function(e, t, n, r, o) {
4469
4474
  e && !Qo(e) && sr("GObj bad instanceof");
4470
- let s = As(e, t, n, r, o);
4475
+ let s = Rs(e, t, n, r, o);
4471
4476
  return s && 0 !== s.length ? s[0] : null;
4472
4477
  }, exports.kwid_get_ids = function(e, t) {
4473
4478
  if (e && !Qo(e) && sr("GObj bad instanceof"), !t) return [];
@@ -4553,7 +4558,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4553
4558
  }, exports.log_debug = ir, exports.log_error = sr, exports.log_info = function(e, ...t) {
4554
4559
  let n = tr(e, ...t), r = qs();
4555
4560
  Mn && Jn("info", n) && nr(Mn, "%c" + r + " INFO: " + String(n), "color:cyan"), Hn("info", n, r);
4556
- }, exports.log_warning = lr, exports.mask_secrets_inline = Eo, exports.msg_iev_get_msg_type = Ls, exports.msg_iev_get_stack = Is, exports.msg_iev_push_stack = Cs, exports.msg_iev_read_key = Ds, exports.msg_iev_set_msg_type = Ps, exports.msg_iev_write_key = ks, exports.node_uuid = Xs, exports.parseBoolean = Zo, exports.parseSVG = function(e) {
4561
+ }, exports.log_warning = lr, exports.mask_secrets_inline = Eo, exports.msg_iev_get_msg_type = Ls, exports.msg_iev_get_stack = Is, exports.msg_iev_push_stack = Cs, exports.msg_iev_read_key = Ds, exports.msg_iev_set_msg_type = Ps, exports.msg_iev_write_key = ks, exports.node_uuid = Zs, exports.parseBoolean = Zo, exports.parseSVG = function(e) {
4557
4562
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
4558
4563
  }, exports.refresh_language = function(e, t) {
4559
4564
  if (!zo(t)) return void sr("You must supply a translation function");
@@ -4580,22 +4585,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4580
4585
  });
4581
4586
  }, exports.register_c_ievent_cli = function() {
4582
4587
  return function(e) {
4583
- if (Il) return sr(`GClass ALREADY created: ${e}`), -1;
4588
+ if (Pl) return sr(`GClass ALREADY created: ${e}`), -1;
4584
4589
  const t = [
4585
4590
  ["ST_DISCONNECTED", [
4586
4591
  [
4587
4592
  "EV_ON_OPEN",
4588
- ql,
4593
+ Hl,
4589
4594
  "ST_WAIT_IDENTITY_CARD_ACK"
4590
4595
  ],
4591
4596
  [
4592
4597
  "EV_ON_CLOSE",
4593
- Hl,
4598
+ zl,
4594
4599
  null
4595
4600
  ],
4596
4601
  [
4597
4602
  "EV_TIMEOUT",
4598
- Jl,
4603
+ ql,
4599
4604
  null
4600
4605
  ],
4601
4606
  [
@@ -4607,22 +4612,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4607
4612
  ["ST_WAIT_IDENTITY_CARD_ACK", [
4608
4613
  [
4609
4614
  "EV_ON_MESSAGE",
4610
- ti,
4615
+ ni,
4611
4616
  null
4612
4617
  ],
4613
4618
  [
4614
4619
  "EV_IDENTITY_CARD_ACK",
4615
- ei,
4620
+ ti,
4616
4621
  null
4617
4622
  ],
4618
4623
  [
4619
4624
  "EV_ON_CLOSE",
4620
- Hl,
4625
+ zl,
4621
4626
  "ST_DISCONNECTED"
4622
4627
  ],
4623
4628
  [
4624
4629
  "EV_TIMEOUT",
4625
- Zl,
4630
+ ei,
4626
4631
  null
4627
4632
  ],
4628
4633
  [
@@ -4634,22 +4639,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4634
4639
  ["ST_SESSION", [
4635
4640
  [
4636
4641
  "EV_ON_MESSAGE",
4637
- ti,
4642
+ ni,
4638
4643
  null
4639
4644
  ],
4640
4645
  [
4641
4646
  "EV_MT_STATS",
4642
- ri,
4647
+ oi,
4643
4648
  null
4644
4649
  ],
4645
4650
  [
4646
4651
  "EV_MT_COMMAND",
4647
- oi,
4652
+ si,
4648
4653
  null
4649
4654
  ],
4650
4655
  [
4651
4656
  "EV_ON_CLOSE",
4652
- Hl,
4657
+ zl,
4653
4658
  "ST_DISCONNECTED"
4654
4659
  ],
4655
4660
  [
@@ -4660,7 +4665,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4660
4665
  ]],
4661
4666
  [null, null]
4662
4667
  ];
4663
- return (Il = We(e, [
4668
+ return (Pl = We(e, [
4664
4669
  ["EV_ON_MESSAGE", L.EVF_OUTPUT_EVENT],
4665
4670
  ["EV_IDENTITY_CARD_ACK", L.EVF_PUBLIC_EVENT],
4666
4671
  ["EV_ON_ID_NAK", L.EVF_OUTPUT_EVENT],
@@ -4671,31 +4676,31 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4671
4676
  ["EV_ON_OPEN_ERROR", L.EVF_OUTPUT_EVENT | L.EVF_NO_WARN_SUBS],
4672
4677
  ["EV_TIMEOUT", 0],
4673
4678
  [null, 0]
4674
- ], t, si, 0, xl, Cl, 0, 0, Dl, C.gcflag_no_check_output_events)) ? 0 : -1;
4679
+ ], t, li, 0, Dl, Il, 0, 0, kl, C.gcflag_no_check_output_events)) ? 0 : -1;
4675
4680
  }("C_IEVENT_CLI");
4676
4681
  }, exports.register_c_timer = function() {
4677
4682
  return function(e) {
4678
- if (gl) return sr(`GClass ALREADY created: ${e}`), -1;
4683
+ if (dl) return sr(`GClass ALREADY created: ${e}`), -1;
4679
4684
  const t = [["ST_IDLE", [[
4680
4685
  "EV_TIMEOUT",
4681
- dl,
4686
+ pl,
4682
4687
  null
4683
4688
  ]]]];
4684
- return (gl = We(e, [
4689
+ return (dl = We(e, [
4685
4690
  ["EV_TIMEOUT", L.EVF_OUTPUT_EVENT],
4686
4691
  ["EV_TIMEOUT_PERIODIC", L.EVF_OUTPUT_EVENT],
4687
4692
  [0, 0]
4688
- ], t, pl, 0, cl, fl, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
4693
+ ], t, bl, 0, fl, gl, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
4689
4694
  }("C_TIMER");
4690
4695
  }, exports.register_c_yuno = function() {
4691
4696
  return function(e) {
4692
- if (Tl) return sr(`GClass ALREADY created: ${e}`), -1;
4697
+ if (jl) return sr(`GClass ALREADY created: ${e}`), -1;
4693
4698
  const t = [["ST_IDLE", [[
4694
4699
  "EV_TIMEOUT_PERIODIC",
4695
- $l,
4700
+ Rl,
4696
4701
  null
4697
4702
  ]]]];
4698
- return (Tl = We(e, [["EV_TIMEOUT_PERIODIC", L.EVF_OUTPUT_EVENT | L.EVF_NO_WARN_SUBS], [0, 0]], t, Al, 0, vl, El, 0, 0, 0, 0)) ? 0 : -1;
4703
+ return (jl = We(e, [["EV_TIMEOUT_PERIODIC", L.EVF_OUTPUT_EVENT | L.EVF_NO_WARN_SUBS], [0, 0]], t, Al, 0, El, Tl, 0, 0, 0, 0)) ? 0 : -1;
4699
4704
  }("C_YUNO");
4700
4705
  }, exports.safeSrc = function(e) {
4701
4706
  if (!e) return "";
@@ -4725,7 +4730,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4725
4730
  } else Vn = e;
4726
4731
  }, exports.set_remote_log_functions = Qn, exports.set_strings_are_text = function(e) {
4727
4732
  Bs = !!e;
4728
- }, exports.set_timeout = ml, exports.set_timeout_periodic = hl, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = xs, exports.strcasecmp = ts, exports.strcmp = es, exports.strings_are_text = function() {
4733
+ }, exports.set_timeout = hl, exports.set_timeout_periodic = yl, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = xs, exports.strcasecmp = ts, exports.strcmp = es, exports.strings_are_text = function() {
4729
4734
  return Bs;
4730
4735
  }, exports.strncmp = function(e, t, n) {
4731
4736
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
@@ -4756,9 +4761,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4756
4761
  let e = t.split(".");
4757
4762
  for (let t = 0; t < e.length; t++) {
4758
4763
  let r = e[t];
4759
- if (xs(il, r)) n.real_type || (n.real_type = r);
4760
- else if (xs(ul, r)) n.type || (n.type = r);
4761
- else if (xs(al, r)) switch (r) {
4764
+ if (xs(al, r)) n.real_type || (n.real_type = r);
4765
+ else if (xs(_l, r)) n.type || (n.type = r);
4766
+ else if (xs(ul, r)) switch (r) {
4762
4767
  case "writable":
4763
4768
  n.is_writable = !0;
4764
4769
  break;
@@ -4770,7 +4775,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4770
4775
  }
4771
4776
  }
4772
4777
  n.real_type || (n.real_type = "string");
4773
- } else Ko(t) ? (n = _l(t), n.name || (n.name = e), n.header || (n.header = e)) : Bo(t) && (n.real_type = "array", n.enum_list = t);
4778
+ } else Ko(t) ? (n = cl(t), n.name || (n.name = e), n.header || (n.header = e)) : Bo(t) && (n.real_type = "array", n.enum_list = t);
4774
4779
  return n.type || (n.type = n.real_type), n;
4775
4780
  }, exports.timeTracker = function(e = "Time Tracker", t = !1) {
4776
4781
  const n = e, r = performance.now();
@@ -4782,7 +4787,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4782
4787
  total: a
4783
4788
  };
4784
4789
  } };
4785
- }, exports.trace_json = ur, exports.trace_json_masked = No, exports.trace_level_t = K, exports.trace_msg = ar, exports.treedb_decoder_fkey = ll, exports.treedb_decoder_hook = function(e, t) {
4790
+ }, exports.trace_json = ur, exports.trace_json_masked = No, exports.trace_level_t = K, exports.trace_msg = ar, exports.treedb_decoder_fkey = il, exports.treedb_decoder_hook = function(e, t) {
4786
4791
  if (Yo(t)) {
4787
4792
  if (-1 === t.indexOf("^")) {
4788
4793
  let n, r = e.hook;
@@ -4809,9 +4814,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4809
4814
  id: t.id
4810
4815
  } : (sr("bad hook 3"), sr(e), sr(t), null);
4811
4816
  }, exports.treedb_encoder_fkey = function(e, t) {
4812
- let n = ll(e, t);
4817
+ let n = il(e, t);
4813
4818
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
4814
- }, exports.treedb_get_field_desc = _l, exports.treedb_hook_data_size = function(e) {
4819
+ }, exports.treedb_get_field_desc = cl, exports.treedb_hook_data_size = function(e) {
4815
4820
  if (Bo(e) && 1 === Vo(e)) {
4816
4821
  let t = e[0];
4817
4822
  return os(t, "size") ? t.size : 1;