@yuneta/gobj-js 7.13.8 → 7.16.0

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.
@@ -19,16 +19,16 @@ var gobjJs = function(e) {
19
19
  };
20
20
  function n(e) {
21
21
  return function(e, r) {
22
- var o, i, s, l, _, a, u, c, f, g = 1, d = e.length, b = "";
23
- for (i = 0; i < d; i++) if ("string" == typeof e[i]) b += e[i];
24
- else if ("object" == typeof e[i]) {
25
- if ((l = e[i]).keys) for (o = r[g], s = 0; s < l.keys.length; s++) {
26
- if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", l.keys[s], l.keys[s - 1]));
27
- o = o[l.keys[s]];
22
+ var o, l, i, s, _, a, u, c, f, g = 1, d = e.length, b = "";
23
+ for (l = 0; l < d; l++) if ("string" == typeof e[l]) b += e[l];
24
+ else if ("object" == typeof e[l]) {
25
+ if ((s = e[l]).keys) for (o = r[g], i = 0; i < s.keys.length; i++) {
26
+ if (null == o) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[i], s.keys[i - 1]));
27
+ o = o[s.keys[i]];
28
28
  }
29
- else o = l.param_no ? r[l.param_no] : r[g++];
30
- if (t.not_type.test(l.type) && t.not_primitive.test(l.type) && o instanceof Function && (o = o()), t.numeric_arg.test(l.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
31
- switch (t.number.test(l.type) && (c = o >= 0), l.type) {
29
+ else o = s.param_no ? r[s.param_no] : r[g++];
30
+ if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && o instanceof Function && (o = o()), t.numeric_arg.test(s.type) && "number" != typeof o && isNaN(o)) throw new TypeError(n("[sprintf] expecting number but found %T", o));
31
+ switch (t.number.test(s.type) && (c = o >= 0), s.type) {
32
32
  case "b":
33
33
  o = parseInt(o, 10).toString(2);
34
34
  break;
@@ -40,64 +40,64 @@ var gobjJs = function(e) {
40
40
  o = parseInt(o, 10);
41
41
  break;
42
42
  case "j":
43
- o = JSON.stringify(o, null, l.width ? parseInt(l.width) : 0);
43
+ o = JSON.stringify(o, null, s.width ? parseInt(s.width) : 0);
44
44
  break;
45
45
  case "e":
46
- o = l.precision ? parseFloat(o).toExponential(l.precision) : parseFloat(o).toExponential();
46
+ o = s.precision ? parseFloat(o).toExponential(s.precision) : parseFloat(o).toExponential();
47
47
  break;
48
48
  case "f":
49
- o = l.precision ? parseFloat(o).toFixed(l.precision) : parseFloat(o);
49
+ o = s.precision ? parseFloat(o).toFixed(s.precision) : parseFloat(o);
50
50
  break;
51
51
  case "g":
52
- o = l.precision ? String(Number(o.toPrecision(l.precision))) : parseFloat(o);
52
+ o = s.precision ? String(Number(o.toPrecision(s.precision))) : parseFloat(o);
53
53
  break;
54
54
  case "o":
55
55
  o = (parseInt(o, 10) >>> 0).toString(8);
56
56
  break;
57
57
  case "s":
58
- o = String(o), o = l.precision ? o.substring(0, l.precision) : o;
58
+ o = String(o), o = s.precision ? o.substring(0, s.precision) : o;
59
59
  break;
60
60
  case "t":
61
- o = String(!!o), o = l.precision ? o.substring(0, l.precision) : o;
61
+ o = String(!!o), o = s.precision ? o.substring(0, s.precision) : o;
62
62
  break;
63
63
  case "T":
64
- o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = l.precision ? o.substring(0, l.precision) : o;
64
+ o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = s.precision ? o.substring(0, s.precision) : o;
65
65
  break;
66
66
  case "u":
67
67
  o = parseInt(o, 10) >>> 0;
68
68
  break;
69
69
  case "v":
70
- o = o.valueOf(), o = l.precision ? o.substring(0, l.precision) : o;
70
+ o = o.valueOf(), o = s.precision ? o.substring(0, s.precision) : o;
71
71
  break;
72
72
  case "x":
73
73
  o = (parseInt(o, 10) >>> 0).toString(16);
74
74
  break;
75
75
  case "X": o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
76
76
  }
77
- t.json.test(l.type) ? b += o : (!t.number.test(l.type) || c && !l.sign ? f = "" : (f = c ? "+" : "-", o = o.toString().replace(t.sign, "")), a = l.pad_char ? "0" === l.pad_char ? "0" : l.pad_char.charAt(1) : " ", u = l.width - (f + o).length, _ = l.width && u > 0 ? a.repeat(u) : "", b += l.align ? f + o + _ : "0" === a ? f + _ + o : _ + f + o);
77
+ t.json.test(s.type) ? b += o : (!t.number.test(s.type) || c && !s.sign ? f = "" : (f = c ? "+" : "-", o = o.toString().replace(t.sign, "")), a = s.pad_char ? "0" === s.pad_char ? "0" : s.pad_char.charAt(1) : " ", u = s.width - (f + o).length, _ = s.width && u > 0 ? a.repeat(u) : "", b += s.align ? f + o + _ : "0" === a ? f + _ + o : _ + f + o);
78
78
  }
79
79
  return b;
80
80
  }(function(e) {
81
81
  if (r[e]) return r[e];
82
- let n, o = e, i = [], s = 0;
82
+ let n, o = e, l = [], i = 0;
83
83
  for (; o;) {
84
- if (null !== (n = t.text.exec(o))) i.push(n[0]);
85
- else if (null !== (n = t.modulo.exec(o))) i.push("%");
84
+ if (null !== (n = t.text.exec(o))) l.push(n[0]);
85
+ else if (null !== (n = t.modulo.exec(o))) l.push("%");
86
86
  else {
87
87
  if (null === (n = t.placeholder.exec(o))) throw new SyntaxError("[sprintf] unexpected placeholder");
88
88
  if (n[2]) {
89
- s |= 1;
90
- var l = [], _ = n[2], a = [];
89
+ i |= 1;
90
+ var s = [], _ = n[2], a = [];
91
91
  if (null === (a = t.key.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
92
- for (l.push(a[1]); "" !== (_ = _.substring(a[0].length));) if (null !== (a = t.key_access.exec(_))) l.push(a[1]);
92
+ for (s.push(a[1]); "" !== (_ = _.substring(a[0].length));) if (null !== (a = t.key_access.exec(_))) s.push(a[1]);
93
93
  else {
94
94
  if (null === (a = t.index_access.exec(_))) throw new SyntaxError("[sprintf] failed to parse named argument key");
95
- l.push(a[1]);
95
+ s.push(a[1]);
96
96
  }
97
- n[2] = l;
98
- } else s |= 2;
99
- if (3 === s) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
100
- i.push({
97
+ n[2] = s;
98
+ } else i |= 2;
99
+ if (3 === i) throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
100
+ l.push({
101
101
  placeholder: n[0],
102
102
  param_no: n[1],
103
103
  keys: n[2],
@@ -111,7 +111,7 @@ var gobjJs = function(e) {
111
111
  }
112
112
  o = o.substring(n[0].length);
113
113
  }
114
- return r[e] = i;
114
+ return r[e] = l;
115
115
  }(e), arguments);
116
116
  }
117
117
  var r = Object.create(null);
@@ -123,7 +123,7 @@ var gobjJs = function(e) {
123
123
  data: o || []
124
124
  };
125
125
  }
126
- function i(e, t, n, r, o) {
126
+ function l(e, t, n, r, o) {
127
127
  return {
128
128
  result: t,
129
129
  comment: n || {},
@@ -131,7 +131,7 @@ var gobjJs = function(e) {
131
131
  data: o || []
132
132
  };
133
133
  }
134
- var s = "7.0.0a", l = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
134
+ var i = "7.0.0a", s = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, E = 0, T = Object.freeze({
135
135
  DTP_STRING: 1,
136
136
  DTP_BOOLEAN: 2,
137
137
  DTP_INTEGER: 3,
@@ -167,12 +167,12 @@ var gobjJs = function(e) {
167
167
  });
168
168
  h.SDF_RD, h.SDF_WR, h.SDF_STATS, h.SDF_PERSIST, h.SDF_VOLATIL, h.SDF_RSTATS, h.SDF_PSTATS, h.SDF_WR, h.SDF_PERSIST;
169
169
  var y = class {
170
- constructor(e, t, n = 0, r = null, o = "", i = null, s = null, l = 0, _ = null, a = null, u = null) {
171
- this.type = e, this.name = t, this.alias = i, this.flag = n, this.default_value = r, this.header = s, this.fillspace = l, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
170
+ constructor(e, t, n = 0, r = null, o = "", l = null, i = null, s = 0, _ = null, a = null, u = null) {
171
+ this.type = e, this.name = t, this.alias = l, this.flag = n, this.default_value = r, this.header = i, this.fillspace = s, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
172
172
  }
173
- }, v = () => new y(0, null), j = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
174
- constructor(e, t, n, r, o, i, s, l, _) {
175
- 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 = i, this.command_table = s, this.s_user_trace_level = l, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
173
+ }, j = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), S = class {
174
+ constructor(e, t, n, r, o, l, i, s, _) {
175
+ 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 = l, this.command_table = i, this.s_user_trace_level = s, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
176
176
  }
177
177
  }, O = class {
178
178
  constructor(e, t, n, r, o) {
@@ -184,7 +184,7 @@ var gobjJs = function(e) {
184
184
  gcflag_ignore_unknown_attrs: 4,
185
185
  gcflag_required_start_to_play: 8,
186
186
  gcflag_singleton: 16
187
- }), R = Object.freeze({
187
+ }), w = Object.freeze({
188
188
  gobj_flag_yuno: 1,
189
189
  gobj_flag_default_service: 2,
190
190
  gobj_flag_service: 4,
@@ -192,7 +192,7 @@ var gobjJs = function(e) {
192
192
  gobj_flag_pure_child: 16,
193
193
  gobj_flag_autostart: 32,
194
194
  gobj_flag_autoplay: 64
195
- }), w = Object.freeze({
195
+ }), R = Object.freeze({
196
196
  obflag_destroying: 1,
197
197
  obflag_destroyed: 2,
198
198
  obflag_created: 4
@@ -341,10 +341,10 @@ var gobjJs = function(e) {
341
341
  if (!p || !p.jn_attrs) return 0;
342
342
  let e = 0;
343
343
  if (ot(p, "tracing")) {
344
- const t = Number(it(p, "tracing")) || 0;
344
+ const t = Number(lt(p, "tracing")) || 0;
345
345
  t >= 1 && (e |= P.TRACE_MACHINE), t >= 2 && (e |= P.TRACE_EV_KW);
346
346
  }
347
- return ot(p, "trace_timer") && it(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && it(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && it(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
347
+ return ot(p, "trace_timer") && lt(p, "trace_timer") && (e |= P.TRACE_TIMER), ot(p, "trace_creation") && lt(p, "trace_creation") && (e |= P.TRACE_CREATE_DELETE), ot(p, "trace_start_stop") && lt(p, "trace_start_stop") && (e |= P.TRACE_START_STOP), e;
348
348
  }
349
349
  function Y(e) {
350
350
  return (W(e) | x()) & P.TRACE_CREATE_DELETE;
@@ -467,7 +467,7 @@ var gobjJs = function(e) {
467
467
  break;
468
468
  case T.DTP_POINTER: o = r;
469
469
  }
470
- return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
470
+ return void 0 === o && Ht(`${Ve(e)}: attr undefined: ${n.name}`), t[n.name] = o, pn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = o), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
471
471
  }
472
472
  function X(e) {
473
473
  return e.jn_attrs;
@@ -484,11 +484,11 @@ var gobjJs = function(e) {
484
484
  }
485
485
  return n && Ht(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
486
486
  }
487
- function te(e, t, n, r, o, i, s, l, _, a, u) {
487
+ function te(e, t, n, r, o, l, i, s, _, a, u) {
488
488
  if (Sn(e)) return Ht("gclass_name EMPTY"), null;
489
489
  if (e.includes("`") || e.includes("^") || e.includes(".")) return Ht(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
490
490
  if (ce(e)) return Ht(`GClass ALREADY exists: ${e}`), null;
491
- let c = new S(e, r, o, i, s, l, _, a, u);
491
+ let c = new S(e, r, o, l, i, s, _, a, u);
492
492
  (function(e, t) {
493
493
  e && e instanceof S ? t ? d[t] ? Ht(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : Ht("gclass_name undefined") : Ht("gclass undefined");
494
494
  })(c, e);
@@ -496,11 +496,11 @@ var gobjJs = function(e) {
496
496
  for (let e = 0; e < f; e++) {
497
497
  let t = n[e][0], r = n[e][1];
498
498
  if (Sn(t)) continue;
499
- if (ie(c, t) < 0) return ne(c), null;
499
+ if (le(c, t) < 0) return ne(c), null;
500
500
  const o = r.length;
501
501
  for (let e = 0; e < o; e++) {
502
- let n = r[e][0], o = r[e][1], i = r[e][2];
503
- Sn(n) || se(c, t, n, o, i);
502
+ let n = r[e][0], o = r[e][1], l = r[e][2];
503
+ Sn(n) || ie(c, t, n, o, l);
504
504
  }
505
505
  }
506
506
  for (let e = 0; e < t.length; e++) {
@@ -542,20 +542,20 @@ var gobjJs = function(e) {
542
542
  }
543
543
  return null;
544
544
  }
545
- function ie(e, t) {
545
+ function le(e, t) {
546
546
  return e instanceof S ? re(e, t) ? (Ht(`state already exists: ${t}`), -1) : (e.dl_states.push(new I(t)), 0) : (Ht("Cannot add state, typeof not GClass"), -1);
547
547
  }
548
- function se(e, t, n, r, o) {
548
+ function ie(e, t, n, r, o) {
549
549
  if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), -1;
550
550
  if (Sn(t)) return Ht("state_name EMPTY"), -1;
551
- let i = re(e, t);
552
- return i ? oe(i, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (i.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
551
+ let l = re(e, t);
552
+ return l ? oe(l, n) ? (Ht(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (l.dl_actions.push(new k(n, r, o)), 0) : (Ht(`state not found: ${t}`), -1);
553
553
  }
554
- function le(e, t, n) {
554
+ function se(e, t, n) {
555
555
  Sn(t) || e.push(new $(t, n));
556
556
  }
557
557
  function _e(e, t, n) {
558
- return e instanceof S ? le(e.dl_events, t, n) : (Ht("Cannot add state, typeof not GClass"), -1);
558
+ return e instanceof S ? se(e.dl_events, t, n) : (Ht("Cannot add state, typeof not GClass"), -1);
559
559
  }
560
560
  function ae(e, t) {
561
561
  if (!(e instanceof S)) return Ht("Cannot add state, typeof not GClass"), 0;
@@ -598,7 +598,7 @@ var gobjJs = function(e) {
598
598
  return n || (t && Ht(`gclass not found: ${e}`), null);
599
599
  }
600
600
  function fe() {
601
- return !m || m.obflag & w.obflag_destroyed ? null : m;
601
+ return !m || m.obflag & R.obflag_destroyed ? null : m;
602
602
  }
603
603
  function ge(e, t) {
604
604
  e = e.toLowerCase();
@@ -622,48 +622,48 @@ var gobjJs = function(e) {
622
622
  let r = t;
623
623
  (function(e, t, n, r, o) {
624
624
  if (!e || !t) return Ht("hsdata or kw NULL"), -1;
625
- let i = 0;
626
- for (const [s, l] of Object.entries(t)) {
627
- const t = ee(o.gclass, s, !1);
628
- t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${s}`), i += Q(o, e, t, l)) : r && (r(o, s), i--);
625
+ let l = 0;
626
+ for (const [i, s] of Object.entries(t)) {
627
+ const t = ee(o.gclass, i, !1);
628
+ t ? (-1 === n || t.flag & n) && (t.flag & h.SDF_DEPRECATED && zt(`${Ve(o)}: Deprecated attribute used in gobj creation: ${i}`), l += Q(o, e, t, s)) : r && (r(o, i), l--);
629
629
  }
630
- return i;
630
+ return l;
631
631
  })(X(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : me, e) < 0 && (Ht(`${Ve(e)} json2data() FAILED`), Zt(r));
632
632
  }
633
- function Te(e, t, r, o, i) {
634
- if (i & R.gobj_flag_yuno) {
633
+ function Te(e, t, r, o, l) {
634
+ if (l & w.gobj_flag_yuno) {
635
635
  if (p) return Ht("__yuno__ already created"), null;
636
- i |= R.gobj_flag_service;
636
+ l |= w.gobj_flag_service;
637
637
  } else {
638
638
  if (!o) return Ht("gobj NEEDS a parent!"), null;
639
639
  if (!("string" == typeof o || o instanceof O)) return Ht(`BAD TYPE of parent: ${o}`), null;
640
640
  if (En(o) && !(o = ge(o))) return zt(`parent service not found: ${o}`), null;
641
641
  }
642
- if (i & R.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
643
- if (i & R.gobj_flag_default_service) {
642
+ if (l & w.gobj_flag_service && ge(e, !1)) return Ht(`service ALREADY registered: ${t}^${e}`), null;
643
+ if (l & w.gobj_flag_default_service) {
644
644
  if (m) return Ht(`default service ALREADY registered: ${t}^${e}`), null;
645
- i |= R.gobj_flag_service;
645
+ l |= w.gobj_flag_service;
646
646
  }
647
647
  if (Sn(t)) return Ht("gclass_name must be a string"), null;
648
- let s = ce(t, !1);
649
- if (!s) return Ht(`GClass not registered: ${t}^${e}`), null;
648
+ let i = ce(t, !1);
649
+ if (!i) return Ht(`GClass not registered: ${t}^${e}`), null;
650
650
  if (!En(e)) return Ht(`gobj_name must be a string: ${t}`), null;
651
651
  if (!Sn(e)) {
652
652
  if (e.includes("`")) return Ht(`gobj_name cannot contain char ': ${t}^${e}`), null;
653
653
  if (e.includes("^")) return Ht(`gobj_name cannot contain char ^: ${t}^${e}`), null;
654
654
  }
655
- let _ = new O(e, s, r, o, i);
656
- _.jn_attrs = H(_, s.attrs_table);
655
+ let _ = new O(e, i, r, o, l);
656
+ _.jn_attrs = H(_, i.attrs_table);
657
657
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
658
658
  let a = Y(_);
659
- return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & R.gobj_flag_service && de(_), _.gobj_flag & R.gobj_flag_yuno && (p = _), _.gobj_flag & R.gobj_flag_default_service && (m = _), _.gobj_flag & R.gobj_flag_yuno || be(o, _), _.obflag |= w.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & R.gobj_flag_service && l && l(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
659
+ return a && L(n("💙💙⏩ creating: %s^%s", i.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && de(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || be(o, _), _.obflag |= R.obflag_created, _.gclass.instances++, Ee(_, r), _.gobj_flag & w.gobj_flag_service && s && s(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), o && o.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", Me(o), Ve(_))), o.gclass.gmt.mt_child_added(o, _)), a && L(n("💙💙⏪ created: %s", Me(_))), _;
660
660
  }
661
661
  function he(e, t, n, r) {
662
- return Te(e, t, n, r, R.gobj_flag_pure_child);
662
+ return Te(e, t, n, r, w.gobj_flag_pure_child);
663
663
  }
664
664
  function ye(e) {
665
665
  if (Ye(e)) return void Ht("gobj NULL or DESTROYED");
666
- e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= w.obflag_destroying, function(e) {
666
+ e.__refs__ > 0 && Ht(`${Ve(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (Ht(`Destroying a PLAYING gobj: ${Me(e)}`), De(e)), e.running && (Ht(`Destroying a RUNNING gobj: ${Me(e)}`), Oe(e)), e.obflag |= R.obflag_destroying, function(e) {
667
667
  if (0 === ht.length) return;
668
668
  for (let t of ht) t.src === e && (t.src = null);
669
669
  ht = ht.filter((t) => t.dst !== e);
@@ -671,7 +671,7 @@ var gobjJs = function(e) {
671
671
  let t = Y(e);
672
672
  t && L(n("💔💔⏩ destroying: %s", Me(e)));
673
673
  let r = We(e);
674
- r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & R.gobj_flag_service && function(e) {
674
+ r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", Me(r), Ve(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
675
675
  let t = Fe(e);
676
676
  t = t.toLowerCase(), b[t] ? delete b[t] : Ht(`"service NOT found in register": ${t}`);
677
677
  }(e), kt(e, e.dl_subscriptions, !0), kt(e, e.dl_subscribings, !0), r && (pe(r, e), Ke(e) && (Be(r) !== e || Ye(r) || Je(r, null))), function(e) {
@@ -680,9 +680,9 @@ var gobjJs = function(e) {
680
680
  let n = t[e];
681
681
  Ye(n) || ye(n);
682
682
  }
683
- }(e), e.obflag & w.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= w.obflag_destroyed, e.obflag & w.obflag_created && e.gclass.instances--;
683
+ }(e), e.obflag & R.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", Me(e))), e.obflag |= R.obflag_destroyed, e.obflag & R.obflag_created && e.gclass.instances--;
684
684
  }
685
- function ve(e) {
685
+ function je(e) {
686
686
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
687
687
  if (e.running) return Ht(`${Ve(e)}: GObj ALREADY RUNNING`), -1;
688
688
  if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
@@ -690,11 +690,11 @@ var gobjJs = function(e) {
690
690
  let t = 0;
691
691
  return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
692
692
  }
693
- function je(e, t, n) {
694
- return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || ve(e), 0;
693
+ function ve(e, t, n) {
694
+ return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) || Ae(e) || ke(e) || je(e), 0;
695
695
  }
696
696
  function Se(e, t, n) {
697
- return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || ve(e), 0);
697
+ return e.gclass.gclass_flag & N.gcflag_manual_start || ke(e) ? 1 : (Ae(e) || je(e), 0);
698
698
  }
699
699
  function Oe(e) {
700
700
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
@@ -706,16 +706,16 @@ var gobjJs = function(e) {
706
706
  function Ne(e, t, n) {
707
707
  return Ae(e) && Oe(e), 0;
708
708
  }
709
- function Re(e) {
709
+ function we(e) {
710
710
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, Ne, 0, 0);
711
711
  }
712
- function we(e) {
712
+ function Re(e) {
713
713
  if (Ye(e)) return Ht(`gobj NULL or DESTROYED: ${Ve(e)}`), -1;
714
714
  if (e.playing) return Ht(`${Ve(e)}: GObj ALREADY PLAYING`), -1;
715
715
  if (e.disabled) return Ht(`${Ve(e)}: GObj DISABLED`), -1;
716
716
  if (!Ae(e)) {
717
717
  if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return Ht(`${Ve(e)}: Cannot play, start not done`), -1;
718
- zt(`${Ve(e)}: GObj playing without previous start`), ve(e);
718
+ zt(`${Ve(e)}: GObj playing without previous start`), je(e);
719
719
  }
720
720
  B(e) && L(n("⏯ ⏯ play: %s", Me(e))), e.playing = !0;
721
721
  let t = 0;
@@ -731,13 +731,13 @@ var gobjJs = function(e) {
731
731
  return !!Ye(e) || e.disabled;
732
732
  }
733
733
  function Ie(e) {
734
- return !!(e && e.gobj_flag & R.gobj_flag_service);
734
+ return !!(e && e.gobj_flag & w.gobj_flag_service);
735
735
  }
736
736
  function $e(e) {
737
737
  return !Ye(e) && e.playing;
738
738
  }
739
739
  function Ce() {
740
- return !p || p.obflag & w.obflag_destroyed ? null : p;
740
+ return !p || p.obflag & R.obflag_destroyed ? null : p;
741
741
  }
742
742
  function Le() {
743
743
  let e = Ce();
@@ -752,41 +752,41 @@ var gobjJs = function(e) {
752
752
  return e ? at(e, "yuno_id") : "";
753
753
  }
754
754
  function Fe(e) {
755
- return jn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
755
+ return vn(e) ? e.gobj_name : (Ht("gobj bad type"), null);
756
756
  }
757
757
  function Ge(e) {
758
- return jn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
758
+ return vn(e) ? e.gclass.gclass_name : (Ht("gobj NULL of bad type"), null);
759
759
  }
760
760
  function Ve(e) {
761
- return jn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
761
+ return vn(e) ? e.gclass.gclass_name + "^" + Fe(e) : (Ht("gobj bad type"), null);
762
762
  }
763
763
  function Me(e) {
764
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
764
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
765
765
  let t = Ve(e), n = We(e);
766
766
  for (; n;) t = Ve(n) + "`" + t, n = We(n);
767
767
  return t;
768
768
  }
769
769
  function We(e) {
770
- return jn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
770
+ return vn(e) ? e.parent : (Ht("gobj NULL of bad type"), null);
771
771
  }
772
772
  function Ke(e) {
773
- return jn(e) ? !!(e.gobj_flag & R.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
773
+ return vn(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (Ht("gobj NULL of bad type"), null);
774
774
  }
775
775
  function xe(e) {
776
- return jn(e) ? !!(e.gobj_flag & R.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
776
+ return vn(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (Ht("gobj NULL of bad type"), null);
777
777
  }
778
778
  function Ye(e) {
779
- return !jn(e) || !!(e.obflag & (w.obflag_destroyed | w.obflag_destroying));
779
+ return !vn(e) || !!(e.obflag & (R.obflag_destroyed | R.obflag_destroying));
780
780
  }
781
781
  function Be(e) {
782
- return jn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
782
+ return vn(e) ? e.bottom_gobj : (Ht("gobj NULL of bad type"), null);
783
783
  }
784
784
  function Je(e, t) {
785
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
785
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
786
786
  e.bottom_gobj && zt(`${Ve(e)}: bottom_gobj already set`), e.bottom_gobj = t;
787
787
  }
788
788
  function qe(e, t, n) {
789
- return jn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
789
+ return vn(e) ? t ? ee(e.gclass, t, n) : e.gclass.attrs_table : (Ht("gobj NULL of bad type"), null);
790
790
  }
791
791
  function He(e, t, n, r, o) {
792
792
  return Ye(e) ? (Ht("gobj NULL, destroying, or bad type"), 0) : Xe(e.dl_children, t, n, r, o);
@@ -798,54 +798,54 @@ var gobjJs = function(e) {
798
798
  return "number" == typeof e && isFinite(e) ? e : (null == e || Ht(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
799
799
  }
800
800
  function Xe(e, t, n, r, o) {
801
- let i, s = [...e];
802
- if (t & A.WALK_LAST2FIRST) for (let e = s.length; e > 0; e--) {
803
- i = s[e - 1];
804
- let t = Qe(n(i, r, o));
801
+ let l, i = [...e];
802
+ if (t & A.WALK_LAST2FIRST) for (let e = i.length; e > 0; e--) {
803
+ l = i[e - 1];
804
+ let t = Qe(n(l, r, o));
805
805
  if (t < 0) return t;
806
806
  }
807
- else for (let e = 0; e < s.length; e++) {
808
- i = s[e];
809
- let t = Qe(n(i, r, o));
807
+ else for (let e = 0; e < i.length; e++) {
808
+ l = i[e];
809
+ let t = Qe(n(l, r, o));
810
810
  if (t < 0) return t;
811
811
  }
812
812
  return 0;
813
813
  }
814
814
  function Ze(e, t, n, r, o) {
815
- let i, s = Xe(e, t, n, r, o);
816
- if (s < 0) return s;
815
+ let l, i = Xe(e, t, n, r, o);
816
+ if (i < 0) return i;
817
817
  if (t & A.WALK_LAST2FIRST) {
818
- for (let l = e.length; l > 0; l--) if (i = e[l - 1], s = Ze([...i.dl_children], t, n, r, o), s < 0) return s;
819
- } else for (let l = 0; l < e.length; l++) if (i = e[l], s = Ze([...i.dl_children], t, n, r, o), s < 0) return s;
820
- return s;
818
+ for (let s = e.length; s > 0; s--) if (l = e[s - 1], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
819
+ } else for (let s = 0; s < e.length; s++) if (l = e[s], i = Ze([...l.dl_children], t, n, r, o), i < 0) return i;
820
+ return i;
821
821
  }
822
822
  function et(e, t, n, r, o) {
823
823
  if (t & A.WALK_BYLEVEL) return Ze(e, t, n, r, o);
824
- let i, s;
825
- if (t & A.WALK_BOTTOM2TOP) for (let l = e.length; l > 0; l--) {
826
- if (s = e[l - 1], i = et([...s.dl_children], t, n, r, o), i < 0) return i;
827
- if (i = Qe(n(s, r, o)), i < 0) return i;
824
+ let l, i;
825
+ if (t & A.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
826
+ if (i = e[s - 1], l = et([...i.dl_children], t, n, r, o), l < 0) return l;
827
+ if (l = Qe(n(i, r, o)), l < 0) return l;
828
828
  }
829
- else for (let l = 0; l < e.length; l++) {
830
- if (s = e[l], i = Qe(n(s, r, o)), i < 0) return i;
831
- if (0 === i && (i = et([...s.dl_children], t, n, r, o), i < 0)) return i;
829
+ else for (let s = 0; s < e.length; s++) {
830
+ if (i = e[s], l = Qe(n(i, r, o)), l < 0) return l;
831
+ if (0 === l && (l = et([...i.dl_children], t, n, r, o), l < 0)) return l;
832
832
  }
833
833
  return 0;
834
834
  }
835
835
  function tt(e, t) {
836
- if (!jn(e)) return Ht("gobj NULL of bad type"), !1;
836
+ if (!vn(e)) return Ht("gobj NULL of bad type"), !1;
837
837
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
838
838
  t.__disabled__;
839
- let i = t.__state__;
839
+ let l = t.__state__;
840
840
  if (n && n !== Ge(e)) return !1;
841
841
  if (r && r !== Fe(e)) return !1;
842
842
  if (o) {
843
843
  let t = o.length;
844
844
  if (o !== Fe(e).substring(0, t)) return !1;
845
845
  }
846
- if (i && i !== pt(e)) return !1;
847
- let s = e.jn_attrs;
848
- for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && s[n] !== t[n]) return !1;
846
+ if (l && l !== pt(e)) return !1;
847
+ let i = e.jn_attrs;
848
+ for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ot(e, n) && i[n] !== t[n]) return !1;
849
849
  return !0;
850
850
  }
851
851
  function nt(e, t) {
@@ -873,13 +873,13 @@ var gobjJs = function(e) {
873
873
  if (1 === n.length) return e;
874
874
  let r = n[1].split("^"), o = {};
875
875
  1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
876
- let i = nt(e, o);
877
- return i ? (n.splice(0, 1), n = n.join("`"), rt(i, n)) : null;
876
+ let l = nt(e, o);
877
+ return l ? (n.splice(0, 1), n = n.join("`"), rt(l, n)) : null;
878
878
  }
879
879
  function ot(e, t) {
880
880
  return !Sn(t) && !!ee(e.gclass, t, !1);
881
881
  }
882
- function it(e, t, n) {
882
+ function lt(e, t, n) {
883
883
  let r = e.jn_attrs;
884
884
  if (t in r && r.hasOwnProperty(t)) {
885
885
  let n = r[t];
@@ -887,60 +887,60 @@ var gobjJs = function(e) {
887
887
  }
888
888
  return Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
889
889
  }
890
- function st(e, t, n) {
890
+ function it(e, t, n) {
891
891
  let r = {}, o = e.gclass.attrs_table;
892
892
  for (let n = 0; n < o.length; n++) {
893
- const i = o[n];
894
- if (i.name && (-1 === t || i.flag & t)) {
893
+ const l = o[n];
894
+ if (l.name && (-1 === t || l.flag & t)) {
895
895
  let t;
896
- !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? t = sn(e.jn_attrs, i.name) : (t = e.gclass.gmt.mt_reading(e, i.name), void 0 === t && (t = sn(e.jn_attrs, i.name))), _n(r, i.name, t);
896
+ !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? t = ln(e.jn_attrs, l.name) : (t = e.gclass.gmt.mt_reading(e, l.name), void 0 === t && (t = ln(e.jn_attrs, l.name))), _n(r, l.name, t);
897
897
  }
898
898
  }
899
899
  return r;
900
900
  }
901
- function lt(e, t) {
901
+ function st(e, t) {
902
902
  if (t) {
903
- if (0 === Rn(t, "__disabled__")) return ke(e);
904
- if (0 === Rn(t, "__running__")) return Ae(e);
905
- if (0 === Rn(t, "__playing__")) return $e(e);
906
- if (0 === Rn(t, "__service__")) return Ie(e);
903
+ if (0 === wn(t, "__disabled__")) return ke(e);
904
+ if (0 === wn(t, "__running__")) return Ae(e);
905
+ if (0 === wn(t, "__playing__")) return $e(e);
906
+ if (0 === wn(t, "__service__")) return Ie(e);
907
907
  }
908
908
  let n = Z(e, t, !1);
909
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
909
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
910
910
  }
911
911
  function _t(e, t) {
912
- t && Rn(t, "__trace_level__");
912
+ t && wn(t, "__trace_level__");
913
913
  let n = Z(e, t, !1);
914
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
914
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
915
915
  }
916
916
  function at(e, t) {
917
- if (t && 0 === Rn(t, "__state__")) return pt(e);
917
+ if (t && 0 === wn(t, "__state__")) return pt(e);
918
918
  let n = Z(e, t, !1);
919
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
919
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
920
920
  }
921
921
  function ut(e, t) {
922
922
  let n = Z(e, t, !1);
923
- return n ? !e.gclass.gmt.mt_reading || e.obflag & w.obflag_destroyed ? sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
923
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? ln(n, t) : e.gclass.gmt.mt_reading(e, t) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
924
924
  }
925
925
  function ct(e, t, n, r) {
926
- let o = X(e), i = 0;
927
- for (const [r, s] of Object.entries(t)) {
926
+ let o = X(e), l = 0;
927
+ for (const [r, i] of Object.entries(t)) {
928
928
  let t = qe(e, r, !0);
929
- t && (-1 === n || t.flag & n) && (i += Q(e, o, t, s));
929
+ t && (-1 === n || t.flag & n) && (l += Q(e, o, t, i));
930
930
  }
931
- return i;
931
+ return l;
932
932
  }
933
933
  function ft(e, t, n) {
934
934
  let r = Z(e, t, !1);
935
- return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
935
+ return r ? (r[t] = On(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
936
936
  }
937
937
  function gt(e, t, n) {
938
938
  let r = Z(e, t, !1);
939
- return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
939
+ return r ? (r[t] = parseInt(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
940
940
  }
941
941
  function dt(e, t, n) {
942
942
  let r = Z(e, t, !1);
943
- return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
943
+ return r ? (r[t] = String(n), pn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (Ht(`${Ve(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
944
944
  }
945
945
  function bt(e, t) {
946
946
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
@@ -948,16 +948,16 @@ var gobjJs = function(e) {
948
948
  let r = re(e.gclass, t);
949
949
  if (!r) return Ht(`${Ve(e)}: state unknown, state ${t}`), !1;
950
950
  e.last_state = e.current_state, e.current_state = r;
951
- let o = J(e, "EV_STATE_CHANGED"), i = !!function(e) {
951
+ let o = J(e, "EV_STATE_CHANGED"), l = !!function(e) {
952
952
  return W(e) & P.TRACE_STATES;
953
953
  }(e);
954
- return (o || i) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name))), !0;
954
+ return (o || l) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ge(e), Fe(e), pt(e), e.last_state.state_name))), !0;
955
955
  }
956
956
  function pt(e) {
957
- return jn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
957
+ return vn(e) ? e.current_state.state_name : (Ht("hgobj NULL"), "");
958
958
  }
959
959
  function mt(e, t, n) {
960
- if (!jn(e)) return Ht("gobj NULL of bad type"), null;
960
+ if (!vn(e)) return Ht("gobj NULL of bad type"), null;
961
961
  let r = ae(e.gclass, t);
962
962
  if (r) return r;
963
963
  if (n) {
@@ -978,67 +978,67 @@ var gobjJs = function(e) {
978
978
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
979
979
  }
980
980
  var ht = [], yt = !1;
981
- function vt() {
981
+ function jt() {
982
982
  yt = !1;
983
983
  let e = ht;
984
984
  ht = [];
985
985
  let t = 0;
986
- for (let n of e) n.dst.obflag & (w.obflag_destroyed | w.obflag_destroying) || (jt(n.dst, n.event, n.kw, n.src), t++);
987
- return ht.length > 0 && !yt && (yt = !0, setTimeout(vt, 0)), t;
986
+ for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (vt(n.dst, n.event, n.kw, n.src), t++);
987
+ return ht.length > 0 && !yt && (yt = !0, setTimeout(jt, 0)), t;
988
988
  }
989
- function jt(e, t, r, o) {
989
+ function vt(e, t, r, o) {
990
990
  if (!(e && e instanceof O)) return Ht("gobj dst NULL"), -1;
991
- if (e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
992
- let i = e.current_state;
993
- if (!i) return Ht(`${Ve(e)}: current_state NULL`), -1;
994
- let s = J(e, t) && !q(o, t);
991
+ if (e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj dst DESTROYED"), -1;
992
+ let l = e.current_state;
993
+ if (!l) return Ht(`${Ve(e)}: current_state NULL`), -1;
994
+ let i = J(e, t) && !q(o, t);
995
995
  E++;
996
- let l = oe(i, t);
997
- if (!l) return e.gclass.gmt.mt_inject_event ? (E--, s && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), i.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && s > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (s && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${i.state_name}, ${t}`), E--, -1);
998
- if (s) {
999
- if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), i.state_name, o && !o.running ? "!!" : "", Ve(o)));
996
+ let s = oe(l, t);
997
+ if (!s) return e.gclass.gmt.mt_inject_event ? (E--, i && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), l.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", Ve(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ve(o))), r && i > 1 && gn(r) && Zt(r)), e.gclass.gmt.mt_inject_event(e, t, r, o)) : (i && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), l.state_name, t || "", o && !o.running ? "!!" : "", Ge(o), Fe(o))), Ht(`📛📛 Event NOT DEFINED in state 📛📛: ${Ve(e)}, ${l.state_name}, ${t}`), E--, -1);
998
+ if (i) {
999
+ if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", Ve(e), l.state_name, o && !o.running ? "!!" : "", Ve(o)));
1000
1000
  else {
1001
1001
  let r = "";
1002
- l.action && (r = fr(l.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), i.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
1002
+ s.action && (r = fr(s.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ge(e), Fe(e), l.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Ge(o), Fe(o)));
1003
1003
  }
1004
1004
  r && (W(e) | x()) & P.TRACE_EV_KW && gn(r) && Zt(r);
1005
1005
  }
1006
- l.next_state && bt(e, l.next_state);
1006
+ s.next_state && bt(e, s.next_state);
1007
1007
  let _ = -1;
1008
1008
  try {
1009
- l.action && (_ = l.action(e, t, r, o));
1009
+ s.action && (_ = s.action(e, t, r, o));
1010
1010
  } finally {}
1011
- return !s || 1 === C || e.obflag & w.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
1011
+ return !i || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, t || "", Tn(_) ? _ : 0)), E--, _;
1012
1012
  }
1013
1013
  var St = Object.freeze({
1014
1014
  __hard_subscription__: 1,
1015
1015
  __own_event__: 2
1016
1016
  }), Ot = [
1017
- j(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1018
- j(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1019
- j(T.DTP_STRING, "event", 0, "", "event name subscribed"),
1020
- j(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
1021
- j(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
1022
- j(T.DTP_JSON, "__config__", 0, null, "subscription config"),
1023
- j(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
1024
- j(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1025
- j(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1026
- j(T.DTP_STRING, "__service__", 0, "", "subscription service"),
1027
- v()
1017
+ v(T.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1018
+ v(T.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1019
+ v(T.DTP_STRING, "event", 0, "", "event name subscribed"),
1020
+ v(T.DTP_STRING, "renamed_event", 0, "", "rename event name"),
1021
+ v(T.DTP_INTEGER, "subs_flag", 0, 0, "subscription flag"),
1022
+ v(T.DTP_JSON, "__config__", 0, null, "subscription config"),
1023
+ v(T.DTP_JSON, "__global__", 0, null, "global kw, merge in publishing"),
1024
+ v(T.DTP_JSON, "__local__", 0, null, "local kw, remove in publishing"),
1025
+ v(T.DTP_JSON, "__filter__", 0, null, "filter kw, filter in publishing"),
1026
+ v(T.DTP_STRING, "__service__", 0, "", "subscription service"),
1027
+ j()
1028
1028
  ];
1029
1029
  function Nt(e, t, n, r, o) {
1030
- let i = Un(t, r, "__config__", null), s = Un(t, r, "__global__", null), l = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
1031
- if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(i) > 0) {
1030
+ let l = Un(t, r, "__config__", null), i = Un(t, r, "__global__", null), s = Un(t, r, "__local__", null), _ = Fn(t, r, "__filter__", null), a = !0;
1031
+ if (t && t !== Pn(null, e, "publisher", null) && (a = !1), o && o !== Pn(null, e, "subscriber", null) && (a = !1), n && n !== Ln(null, e, "event", "") && (a = !1), bn(l) > 0) {
1032
1032
  let t = Un(null, e, "__config__", null);
1033
- bn(t) > 0 && tn(t, i) || (a = !1);
1033
+ bn(t) > 0 && tn(t, l) || (a = !1);
1034
1034
  }
1035
- if (bn(s) > 0) {
1035
+ if (bn(i) > 0) {
1036
1036
  let t = Un(null, e, "__global__", null);
1037
- bn(t) > 0 && tn(t, s) || (a = !1);
1037
+ bn(t) > 0 && tn(t, i) || (a = !1);
1038
1038
  }
1039
- if (bn(l) > 0) {
1039
+ if (bn(s) > 0) {
1040
1040
  let t = Un(null, e, "__local__", null);
1041
- bn(t) > 0 && tn(t, l) || (a = !1);
1041
+ bn(t) > 0 && tn(t, s) || (a = !1);
1042
1042
  }
1043
1043
  if (bn(_) > 0) {
1044
1044
  let t = Fn(null, e, "__filter__", null);
@@ -1046,29 +1046,29 @@ var gobjJs = function(e) {
1046
1046
  }
1047
1047
  return a;
1048
1048
  }
1049
- function Rt(e, t, n, r, o) {
1050
- let i = [];
1051
- for (let s = 0; s < e.length; s++) {
1052
- let l = e[s];
1053
- Nt(l, t, n, r, o) && un(i, l);
1049
+ function wt(e, t, n, r, o) {
1050
+ let l = [];
1051
+ for (let i = 0; i < e.length; i++) {
1052
+ let s = e[i];
1053
+ Nt(s, t, n, r, o) && un(l, s);
1054
1054
  }
1055
- return i;
1055
+ return l;
1056
1056
  }
1057
- function wt(e, t, n, r, o) {
1058
- for (let i = 0; i < e.length; i++) if (Nt(e[i], t, n, r, o)) return i;
1057
+ function Rt(e, t, n, r, o) {
1058
+ for (let l = 0; l < e.length; l++) if (Nt(e[l], t, n, r, o)) return l;
1059
1059
  return -1;
1060
1060
  }
1061
1061
  function Dt(e, t, r, o) {
1062
- let i = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), s = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), l = Ln(e, t, "event", "", Lt.KW_REQUIRED);
1062
+ let l = Pn(e, t, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, t, "subscriber", null, Lt.KW_REQUIRED), s = Ln(e, t, "event", "", Lt.KW_REQUIRED);
1063
1063
  if (!!(Cn(e, t, "subs_flag", null, Lt.KW_REQUIRED) & St.__hard_subscription__) && !r) return -1;
1064
- p && lt(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", l || "", Ve(i), Ve(s))), Zt(t)), i.obflag & w.obflag_destroyed || o || i.gclass.gmt.mt_subscription_deleted && i.gclass.gmt.mt_subscription_deleted(i, t);
1065
- let _ = wt(i.dl_subscriptions, i, l, t, s);
1066
- return _ >= 0 ? fn(i.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = wt(s.dl_subscribings, i, l, t, s), _ >= 0 ? fn(s.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
1064
+ p && st(p, "trace_subscriptions") && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", Ve(l), Ve(i))), Zt(t)), l.obflag & R.obflag_destroyed || o || l.gclass.gmt.mt_subscription_deleted && l.gclass.gmt.mt_subscription_deleted(l, t);
1065
+ let _ = Rt(l.dl_subscriptions, l, s, t, i);
1066
+ return _ >= 0 ? fn(l.dl_subscriptions, _) : (Ht(`${Ve(e)}: subscription in publisher not found`), Zt(t)), _ = Rt(i.dl_subscribings, l, s, t, i), _ >= 0 ? fn(i.dl_subscribings, _) : (Ht(`${Ve(e)}: subscription in subscriber not found`), Zt(t)), 0;
1067
1067
  }
1068
1068
  function At(e, t, r, o) {
1069
1069
  if (null == r && (r = {}), !e) return Ht(`publisher NULL: ev ${t}`), 0;
1070
1070
  if (!o) return Ht(`subscriber NULL: ev ${t}`), 0;
1071
- const i = /* @__PURE__ */ new Set([
1071
+ const l = /* @__PURE__ */ new Set([
1072
1072
  "__config__",
1073
1073
  "__global__",
1074
1074
  "__local__",
@@ -1076,38 +1076,38 @@ var gobjJs = function(e) {
1076
1076
  "__service__"
1077
1077
  ]);
1078
1078
  if (Object.keys(r).forEach((n) => {
1079
- i.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1079
+ l.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1080
1080
  }), Sn(t)) t = "";
1081
1081
  else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ${t}`), 0;
1082
- let s = Rt(e.dl_subscriptions, e, t, r, o);
1083
- dn(s) > 0 && (Ht(`${Ve(e)}: ${dn(s)} subscription(s) REPEATED, will be deleted and override`), Zt(s, "subscription REPEATED"), kt(e, s, !1));
1084
- let l = function(e, t, n, r) {
1082
+ let i = wt(e.dl_subscriptions, e, t, r, o);
1083
+ dn(i) > 0 && (Ht(`${Ve(e)}: ${dn(i)} subscription(s) REPEATED, will be deleted and override`), Zt(i, "subscription REPEATED"), kt(e, i, !1));
1084
+ let s = function(e, t, n, r) {
1085
1085
  let o = H(e, Ot);
1086
1086
  an(o, "event", t), an(o, "subscriber", r), an(o, "publisher", e);
1087
- let i = 0;
1087
+ let l = 0;
1088
1088
  if (n) {
1089
- let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), s = Un(e, n, "__local__", null), l = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
1089
+ let t = Un(e, n, "__config__", null), r = Un(e, n, "__global__", null), i = Un(e, n, "__local__", null), s = Fn(e, n, "__filter__", null), _ = Ln(e, n, "__service__", "");
1090
1090
  if (bn(r) > 0 && an(o, "__global__", en(r)), bn(t) > 0) {
1091
1091
  let n = en(t);
1092
1092
  if (an(o, "__config__", n), An(n, "__hard_subscription__")) {
1093
1093
  let t = $n(e, n, "__hard_subscription__", !1);
1094
- ln(n, "__hard_subscription__"), t && (i |= St.__hard_subscription__);
1094
+ sn(n, "__hard_subscription__"), t && (l |= St.__hard_subscription__);
1095
1095
  }
1096
1096
  if (An(n, "__own_event__")) {
1097
1097
  let t = $n(e, n, "__own_event__", !1);
1098
- ln(n, "__own_event__"), t && (i |= St.__own_event__);
1098
+ sn(n, "__own_event__"), t && (l |= St.__own_event__);
1099
1099
  }
1100
1100
  }
1101
- bn(s) > 0 && an(o, "__local__", en(s)), bn(l) > 0 && an(o, "__filter__", en(l)), Sn(_) || an(o, "__service__", _);
1101
+ bn(i) > 0 && an(o, "__local__", en(i)), bn(s) > 0 && an(o, "__filter__", en(s)), Sn(_) || an(o, "__service__", _);
1102
1102
  }
1103
- return an(o, "subs_flag", i), o;
1103
+ return an(o, "subs_flag", l), o;
1104
1104
  }(e, t, r, o);
1105
- if (!l) return Ht(`${Ve(e)}: _create_subscription() FAILED`), 0;
1106
- if (un(e.dl_subscriptions, l), un(o.dl_subscribings, l), p && lt(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ve(e), Ve(o))), r && Zt(r)), e.gclass.gmt.mt_subscription_added) {
1107
- let t = e.gclass.gmt.mt_subscription_added(e, l);
1108
- (t < 0 || !1 === t) && (Dt(e, l, !0, !0), l = 0);
1105
+ if (!s) return Ht(`${Ve(e)}: _create_subscription() FAILED`), 0;
1106
+ if (un(e.dl_subscriptions, s), un(o.dl_subscribings, s), p && st(p, "trace_subscriptions") && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", Ve(e), Ve(o))), r && Zt(r)), e.gclass.gmt.mt_subscription_added) {
1107
+ let t = e.gclass.gmt.mt_subscription_added(e, s);
1108
+ (t < 0 || !1 === t) && (Dt(e, s, !0, !0), s = 0);
1109
1109
  }
1110
- return l;
1110
+ return s;
1111
1111
  }
1112
1112
  function kt(e, t, n) {
1113
1113
  let r = [...t];
@@ -1115,24 +1115,24 @@ var gobjJs = function(e) {
1115
1115
  return 0;
1116
1116
  }
1117
1117
  function It(e, t, n, r) {
1118
- return null == n && (n = {}), Rt(e.dl_subscriptions, e, t, n, r);
1118
+ return null == n && (n = {}), wt(e.dl_subscriptions, e, t, n, r);
1119
1119
  }
1120
1120
  function $t(e, t, n, r) {
1121
- return Rt(e.dl_subscribings, r, t, n, e);
1121
+ return wt(e.dl_subscribings, r, t, n, e);
1122
1122
  }
1123
1123
  function Ct(e, t, r) {
1124
- if (pn(r) || (r = {}), !e || e.obflag & (w.obflag_destroyed | w.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
1124
+ if (pn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return Ht("gobj NULL or DESTROYED"), -1;
1125
1125
  if (Sn(t)) return Ht(`${Ve(e)}: event EMPTY`), -1;
1126
1126
  let o = mt(e, t, !0);
1127
1127
  if (!(o && o.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), -1;
1128
- let i = p && lt(p, "trace_subscriptions");
1129
- if (i && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), gn(r) && Zt(r)), e.gclass.gmt.mt_publish_event) {
1128
+ let l = p && st(p, "trace_subscriptions");
1129
+ if (l && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", Ve(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ge(e), Fe(e), e.current_state.state_name, "", t || "", "")), gn(r) && Zt(r)), e.gclass.gmt.mt_publish_event) {
1130
1130
  let n = e.gclass.gmt.mt_publish_event(e, t, r);
1131
1131
  if (n <= 0) return n;
1132
1132
  }
1133
- let s = [...e.dl_subscriptions], l = 0, _ = 0;
1134
- for (let o = 0; o < s.length; o++) {
1135
- let a = s[o];
1133
+ let i = [...e.dl_subscriptions], s = 0, _ = 0;
1134
+ for (let o = 0; o < i.length; o++) {
1135
+ let a = i[o];
1136
1136
  if (e.gclass.gmt.mt_publication_pre_filter) {
1137
1137
  let n = e.gclass.gmt.mt_publication_pre_filter(e, a, t, r);
1138
1138
  if (n < 0) break;
@@ -1141,23 +1141,23 @@ var gobjJs = function(e) {
1141
1141
  let u = Pn(e, a, "subscriber", null, Lt.KW_REQUIRED);
1142
1142
  if (!u || Ye(u)) continue;
1143
1143
  let c = Cn(e, a, "subs_flag", 0, Lt.KW_REQUIRED), f = Ln(e, a, "event", "", Lt.KW_REQUIRED);
1144
- if (Sn(f) || 0 === Rn(f, t)) {
1144
+ if (Sn(f) || 0 === wn(f, t)) {
1145
1145
  Un(e, a, "__config__", null, 0);
1146
- let o = Un(e, a, "__global__", null, 0), s = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
1147
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, i && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
1146
+ let o = Un(e, a, "__global__", null, 0), i = Un(e, a, "__local__", null, 0), f = Fn(e, a, "__filter__", null, 0), g = r, d = 1;
1147
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, g, u) : bn(f) > 0 && (d = Wn(g, f) ? 1 : 0, l && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", Ve(u), Ve(e))), Zt(f))), d < 0) break;
1148
1148
  if (!d) continue;
1149
1149
  let b = mt(u, t, !0);
1150
1150
  if (b && b.event_flag & D.EVF_SYSTEM_EVENT && !Et(u, b.event_name, 0)) continue;
1151
- s && Dn(g, s), o && nn(g, o), i && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", Ve(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), gn(g) && Zt(g));
1152
- let p = jt(u, t, g, e);
1151
+ i && Dn(g, i), o && nn(g, o), l && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", Ve(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", Ve(u), pt(u), t || "", e && !e.running ? "!!" : "", Ve(e))), gn(g) && Zt(g));
1152
+ let p = vt(u, t, g, e);
1153
1153
  if (p < 0 && c & St.__own_event__) {
1154
- l = -1;
1154
+ s = -1;
1155
1155
  break;
1156
1156
  }
1157
- if (_ += p, l++, Ye(e)) break;
1157
+ if (_ += p, s++, Ye(e)) break;
1158
1158
  }
1159
1159
  }
1160
- return l || o && o.event_flag & D.EVF_NO_WARN_SUBS || zt(`${Ve(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
1160
+ return s || o && o.event_flag & D.EVF_NO_WARN_SUBS || zt(`${Ve(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
1161
1161
  }
1162
1162
  var Lt = Object.freeze({
1163
1163
  KW_REQUIRED: 1,
@@ -1285,10 +1285,10 @@ var gobjJs = function(e) {
1285
1285
  for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1286
1286
  return e;
1287
1287
  }
1288
- function sn(e, t) {
1288
+ function ln(e, t) {
1289
1289
  if (e && e.hasOwnProperty(t)) return e[t];
1290
1290
  }
1291
- function ln(e, t) {
1291
+ function sn(e, t) {
1292
1292
  e && e.hasOwnProperty(t) && delete e[t];
1293
1293
  }
1294
1294
  function _n(e, t, n) {
@@ -1333,10 +1333,10 @@ var gobjJs = function(e) {
1333
1333
  function yn(e) {
1334
1334
  return null == e;
1335
1335
  }
1336
- function vn(e) {
1336
+ function jn(e) {
1337
1337
  return "function" == typeof e;
1338
1338
  }
1339
- function jn(e) {
1339
+ function vn(e) {
1340
1340
  return e instanceof O;
1341
1341
  }
1342
1342
  function Sn(e) {
@@ -1348,11 +1348,11 @@ var gobjJs = function(e) {
1348
1348
  function Nn(e, t) {
1349
1349
  return e === t ? 0 : e > t ? 1 : -1;
1350
1350
  }
1351
- function Rn(e, t) {
1351
+ function wn(e, t) {
1352
1352
  let n = e.toLowerCase(), r = t.toLowerCase();
1353
1353
  return n === r ? 0 : n > r ? 1 : -1;
1354
1354
  }
1355
- function wn(e, t) {
1355
+ function Rn(e, t) {
1356
1356
  if (pn(e) || pn(t) || mn(e) || mn(t)) return 0;
1357
1357
  if (Tn(e) || Tn(t)) {
1358
1358
  let n = Number(e), r = Number(t);
@@ -1373,161 +1373,161 @@ var gobjJs = function(e) {
1373
1373
  return !(!(t in e) || !e.hasOwnProperty(t));
1374
1374
  }
1375
1375
  function kn(e, t, n, r) {
1376
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
1376
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t) && !mn(t)) return Ht(`${Ve(e)}: kw must be list or dict`), 0;
1377
1377
  if (!En(n)) return Ht(`${Ve(e)}: path must be a string: ${String(n)}`), 0;
1378
1378
  let o = n.split("`");
1379
1379
  if (o.length <= 1) return t[n];
1380
- let i = o.length;
1381
- for (let s = 0; s < i; s++) if (void 0 === (t = t[o[s]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
1380
+ let l = o.length;
1381
+ for (let i = 0; i < l; i++) if (void 0 === (t = t[o[i]])) return void (r && Ht(`${Ve(e)}: path not found: ${String(n)}`));
1382
1382
  return t;
1383
1383
  }
1384
1384
  function In(e, t, n) {
1385
- e && !jn(e) && Ht("GObj bad instanceof");
1385
+ e && !vn(e) && Ht("GObj bad instanceof");
1386
1386
  let [r, o] = function(e, t) {
1387
1387
  let n = e.lastIndexOf(t);
1388
1388
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1389
1389
  }(n, "`");
1390
- return Sn(o) ? ln(t, n) : ln(kn(e, t, r, !0), o), 0;
1390
+ return Sn(o) ? sn(t, n) : sn(kn(e, t, r, !0), o), 0;
1391
1391
  }
1392
1392
  function $n(e, t, n, r, o) {
1393
- e && !jn(e) && Ht("GObj bad instanceof");
1394
- let i = kn(e, t, n, !1);
1395
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1396
- if (void 0 === i) {
1397
- if (l) {
1393
+ e && !vn(e) && Ht("GObj bad instanceof");
1394
+ let l = kn(e, t, n, !1);
1395
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1396
+ if (void 0 === l) {
1397
+ if (s) {
1398
1398
  let o = Boolean(r);
1399
1399
  return Gn(e, t, n, o), o;
1400
1400
  }
1401
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
1401
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Boolean(r);
1402
1402
  }
1403
- return _ && In(e, t, n), Boolean(i);
1403
+ return _ && In(e, t, n), Boolean(l);
1404
1404
  }
1405
1405
  function Cn(e, t, n, r, o) {
1406
- e && !jn(e) && Ht("GObj bad instanceof");
1407
- let i = kn(e, t, n, !1);
1408
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1409
- if (void 0 === i) {
1410
- if (l) {
1406
+ e && !vn(e) && Ht("GObj bad instanceof");
1407
+ let l = kn(e, t, n, !1);
1408
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1409
+ if (void 0 === l) {
1410
+ if (s) {
1411
1411
  let o = parseInt(r);
1412
1412
  return Gn(e, t, n, o), o;
1413
1413
  }
1414
- return s && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
1414
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), parseInt(r);
1415
1415
  }
1416
- return _ && In(e, t, n), Tn(i) ? parseInt(i) : (s && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
1416
+ return _ && In(e, t, n), Tn(l) ? parseInt(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), parseInt(r));
1417
1417
  }
1418
1418
  function Ln(e, t, n, r, o) {
1419
- e && !jn(e) && Ht("GObj bad instanceof");
1420
- let i = kn(e, t, n, !1);
1421
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1422
- if (void 0 === i) {
1423
- if (l) {
1419
+ e && !vn(e) && Ht("GObj bad instanceof");
1420
+ let l = kn(e, t, n, !1);
1421
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1422
+ if (void 0 === l) {
1423
+ if (s) {
1424
1424
  let o = String(r);
1425
1425
  return Gn(e, t, n, o), o;
1426
1426
  }
1427
- return s && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
1427
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), String(r);
1428
1428
  }
1429
- return _ && In(e, t, n), En(i) ? String(i) : (s && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
1429
+ return _ && In(e, t, n), En(l) ? String(l) : (i && (Ht(`${Ve(e)}: path value MUST BE a string: ${n}`), Xt(t)), String(r));
1430
1430
  }
1431
1431
  function Pn(e, t, n, r, o) {
1432
- e && !jn(e) && Ht("GObj bad instanceof");
1433
- let i = kn(e, t, n, !1);
1434
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1435
- if (void 0 === i) {
1436
- if (l) {
1432
+ e && !vn(e) && Ht("GObj bad instanceof");
1433
+ let l = kn(e, t, n, !1);
1434
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1435
+ if (void 0 === l) {
1436
+ if (s) {
1437
1437
  let o = r;
1438
1438
  return Gn(e, t, n, o), o;
1439
1439
  }
1440
- return s && (Ht(`path not found: '${n}'`), Zt(t)), r;
1440
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
1441
1441
  }
1442
- return _ && In(e, t, n), i;
1442
+ return _ && In(e, t, n), l;
1443
1443
  }
1444
1444
  function Un(e, t, n, r, o) {
1445
- e && !jn(e) && Ht("GObj bad instanceof");
1446
- let i = kn(e, t, n, !1);
1447
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1448
- if (void 0 === i) {
1449
- if (l) {
1445
+ e && !vn(e) && Ht("GObj bad instanceof");
1446
+ let l = kn(e, t, n, !1);
1447
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1448
+ if (void 0 === l) {
1449
+ if (s) {
1450
1450
  let o = Object(r);
1451
1451
  return Gn(e, t, n, o), o;
1452
1452
  }
1453
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
1453
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Object(r);
1454
1454
  }
1455
- return _ && In(e, t, n), pn(i) ? Object(i) : (s && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
1455
+ return _ && In(e, t, n), pn(l) ? Object(l) : (i && (Ht(`path value MUST BE a dict: ${n}`), Xt(t)), Object(r));
1456
1456
  }
1457
1457
  function Fn(e, t, n, r, o) {
1458
- e && !jn(e) && Ht("GObj bad instanceof");
1459
- let i = kn(e, t, n, !1);
1460
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1461
- if (void 0 === i) {
1462
- if (l) {
1458
+ e && !vn(e) && Ht("GObj bad instanceof");
1459
+ let l = kn(e, t, n, !1);
1460
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
1461
+ if (void 0 === l) {
1462
+ if (s) {
1463
1463
  let o = r;
1464
1464
  return Gn(e, t, n, o), o;
1465
1465
  }
1466
- return s && (Ht(`path not found: '${n}'`), Zt(t)), r;
1466
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), r;
1467
1467
  }
1468
- return _ && In(e, t, n), i;
1468
+ return _ && In(e, t, n), l;
1469
1469
  }
1470
1470
  function Gn(e, t, n, r) {
1471
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1471
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1472
1472
  let o = n.split("`");
1473
1473
  if (o.length <= 1) return t[n] = r, 0;
1474
- let i = o.length;
1475
- for (let e = 0; e < i; e++) {
1474
+ let l = o.length;
1475
+ for (let e = 0; e < l; e++) {
1476
1476
  let n = o[e];
1477
- e === i - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1477
+ e === l - 1 ? t[n] = r : (void 0 === t[n] && (t[n] = {}), t = t[n]);
1478
1478
  }
1479
1479
  return 0;
1480
1480
  }
1481
1481
  function Vn(e, t, n, r, o) {
1482
- if (e && !jn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1483
- let i = Un(e, t, n, {}, !0);
1484
- return pn(i) ? (i[r] = o, 0) : (Ht("subdict is not an object"), -1);
1482
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !pn(t)) return Ht("kw is not an object"), -1;
1483
+ let l = Un(e, t, n, {}, !0);
1484
+ return pn(l) ? (l[r] = o, 0) : (Ht("subdict is not an object"), -1);
1485
1485
  }
1486
1486
  function Mn(e, t, r) {
1487
- let o = "", i = !1;
1487
+ let o = "", l = !1;
1488
1488
  if (mn(t)) {
1489
- i = !1;
1490
- for (let s = 0; s < t.length; s++) {
1491
- let l = t[s];
1492
- if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, s), i = Mn(e, l, o), i) break;
1489
+ l = !1;
1490
+ for (let i = 0; i < t.length; i++) {
1491
+ let s = t[i];
1492
+ if (o = Sn(r) ? n("%s", r) : n("%s`%d", r, i), l = Mn(e, s, o), l) break;
1493
1493
  }
1494
1494
  } else if (pn(t)) {
1495
- i = !0;
1496
- let s = Object.keys(t);
1497
- for (let l = 0; l < s.length; l++) {
1498
- let _ = s[l], a = t[_];
1495
+ l = !0;
1496
+ let i = Object.keys(t);
1497
+ for (let s = 0; s < i.length; s++) {
1498
+ let _ = i[s], a = t[_];
1499
1499
  if (o = Sn(r) ? n("%s", _) : n("%s`%s", r, _), mn(a) || pn(a)) {
1500
- if (i = Mn(e, a, o), !i) break;
1500
+ if (l = Mn(e, a, o), !l) break;
1501
1501
  continue;
1502
1502
  }
1503
1503
  let u = Fn(0, e, o, 0, 0);
1504
- if (u || (u = sn(e, o)), !u) {
1505
- i = !1;
1504
+ if (u || (u = ln(e, o)), !u) {
1505
+ l = !1;
1506
1506
  break;
1507
1507
  }
1508
- if (0 !== wn(u, a)) {
1509
- i = !1;
1508
+ if (0 !== Rn(u, a)) {
1509
+ l = !1;
1510
1510
  break;
1511
1511
  }
1512
1512
  }
1513
1513
  }
1514
- return i;
1514
+ return l;
1515
1515
  }
1516
1516
  function Wn(e, t) {
1517
1517
  return 0 === bn(t) || Mn(e, t, "");
1518
1518
  }
1519
1519
  function Kn(e, t, n, r) {
1520
- e && !jn(e) && Ht("GObj bad instanceof");
1520
+ e && !vn(e) && Ht("GObj bad instanceof");
1521
1521
  let o = {};
1522
1522
  if (En(n) && !Sn(n)) {
1523
- let i = n;
1524
- t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1525
- } else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1523
+ let l = n;
1524
+ t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1525
+ } else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? o[l] = t[l] : r && Ht(`${Ve(e)}: key not found: ${l}`);
1526
1526
  else {
1527
1527
  if (!(mn(n) && dn(n) > 0)) return t;
1528
- for (let i = 0; i < n.length; i++) {
1529
- let s = n[i];
1530
- t.hasOwnProperty(s) ? o[s] = t[s] : r && Ht(`${Ve(e)}: key not found: ${s}`);
1528
+ for (let l = 0; l < n.length; l++) {
1529
+ let i = n[l];
1530
+ t.hasOwnProperty(i) ? o[i] = t[i] : r && Ht(`${Ve(e)}: key not found: ${i}`);
1531
1531
  }
1532
1532
  }
1533
1533
  return o;
@@ -1535,14 +1535,14 @@ var gobjJs = function(e) {
1535
1535
  function xn(e, t, n, r) {
1536
1536
  let o = {};
1537
1537
  if (nn(o, t), En(n) && !Sn(n)) {
1538
- let i = n;
1539
- Fn(e, t, i, 0, 0) ? ln(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1540
- } else if (pn(n) && gn(n) > 0) for (let i of Object.keys(n)) t.hasOwnProperty(i) ? ln(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1538
+ let l = n;
1539
+ Fn(e, t, l, 0, 0) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1540
+ } else if (pn(n) && gn(n) > 0) for (let l of Object.keys(n)) t.hasOwnProperty(l) ? sn(o, l) : r && Ht(`${Ve(e)}: key not found: ${l}`);
1541
1541
  else {
1542
1542
  if (!(mn(n) && dn(n) > 0)) return {};
1543
- for (let i = 0; i < n.length; i++) {
1544
- let s = n[i];
1545
- t.hasOwnProperty(s) ? ln(o, s) : r && Ht(`${Ve(e)}: key not found: ${s}`);
1543
+ for (let l = 0; l < n.length; l++) {
1544
+ let i = n[l];
1545
+ t.hasOwnProperty(i) ? sn(o, i) : r && Ht(`${Ve(e)}: key not found: ${i}`);
1546
1546
  }
1547
1547
  }
1548
1548
  return o;
@@ -1584,26 +1584,26 @@ var gobjJs = function(e) {
1584
1584
  return !1;
1585
1585
  }
1586
1586
  function Hn(e, t, n, r, o) {
1587
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
1587
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
1588
1588
  o || (o = Wn);
1589
- let i = [];
1590
- if (mn(t)) for (let s = 0; s < t.length; s++) {
1591
- let l, _ = t[s];
1592
- if (pn(_)) l = Ln(e, _, "id", "", 0);
1589
+ let l = [];
1590
+ if (mn(t)) for (let i = 0; i < t.length; i++) {
1591
+ let s, _ = t[i];
1592
+ if (pn(_)) s = Ln(e, _, "id", "", 0);
1593
1593
  else {
1594
1594
  if (!En(_)) continue;
1595
- l = _;
1595
+ s = _;
1596
1596
  }
1597
- qn(n, l) && o(_, r) && i.push(_);
1597
+ qn(n, s) && o(_, r) && l.push(_);
1598
1598
  }
1599
1599
  else {
1600
1600
  if (!pn(t)) return Ht("kw_collect() BAD kw parameter"), null;
1601
1601
  for (let e of Object.keys(t)) {
1602
- let s = t[e];
1603
- qn(n, e) && o(s, r) && i.push(s);
1602
+ let i = t[e];
1603
+ qn(n, e) && o(i, r) && l.push(i);
1604
1604
  }
1605
1605
  }
1606
- return i;
1606
+ return l;
1607
1607
  }
1608
1608
  function zn(e, t) {
1609
1609
  if (!e) return -1;
@@ -1635,7 +1635,7 @@ var gobjJs = function(e) {
1635
1635
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1636
1636
  }
1637
1637
  function er(e, t, n, r) {
1638
- if (!jn(e)) return Ht("gobj is not a GObj"), null;
1638
+ if (!vn(e)) return Ht("gobj is not a GObj"), null;
1639
1639
  if (!t) return;
1640
1640
  let o = Xn(t, n);
1641
1641
  o || (o = [], Zn(t, n, o));
@@ -1646,7 +1646,7 @@ var gobjJs = function(e) {
1646
1646
  }
1647
1647
  }
1648
1648
  function tr(e, t, n, r) {
1649
- if (!jn(e)) return Ht("gobj is not a GObj"), null;
1649
+ if (!vn(e)) return Ht("gobj is not a GObj"), null;
1650
1650
  if (!pn(t)) return Ht("kw is not a dict"), null;
1651
1651
  let o = Xn(t, n);
1652
1652
  return o ? 0 === o.length ? (r && Ht(`stack empty: ${n}`), null) : o[0] : (r && Ht(`stack NOT FOUND: ${n}`), null);
@@ -1670,23 +1670,23 @@ var gobjJs = function(e) {
1670
1670
  ]), pn(e[r]) && or(e[r], t, n), n = n.slice(0, -o.length);
1671
1671
  }
1672
1672
  }
1673
- function ir(e, t, n, r) {
1673
+ function lr(e, t, n, r) {
1674
1674
  if (!e) return null;
1675
- let o, i = e.length;
1676
- for (o = 0; o < i; o++) {
1677
- let i = e[o];
1678
- if (i) {
1679
- let e = i.id;
1680
- if (e && e === n) return i;
1681
- if (r && An(i, t)) {
1682
- let e = ir(i[t], t, n, r);
1675
+ let o, l = e.length;
1676
+ for (o = 0; o < l; o++) {
1677
+ let l = e[o];
1678
+ if (l) {
1679
+ let e = l.id;
1680
+ if (e && e === n) return l;
1681
+ if (r && An(l, t)) {
1682
+ let e = lr(l[t], t, n, r);
1683
1683
  if (e) return e;
1684
1684
  }
1685
1685
  }
1686
1686
  }
1687
1687
  return null;
1688
1688
  }
1689
- function sr(e) {
1689
+ function ir(e) {
1690
1690
  function t(e) {
1691
1691
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
1692
1692
  switch (t.length % 4) {
@@ -1717,7 +1717,7 @@ var gobjJs = function(e) {
1717
1717
  signature: t(n[2])
1718
1718
  };
1719
1719
  }
1720
- function lr(e) {
1720
+ function sr(e) {
1721
1721
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
1722
1722
  }
1723
1723
  function _r(e) {
@@ -1741,10 +1741,39 @@ var gobjJs = function(e) {
1741
1741
  let t = null;
1742
1742
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
1743
1743
  }
1744
- function gr(e) {
1744
+ var gr = 256, dr = 1e5;
1745
+ function br(e) {
1746
+ const t = String(e).replace(/`/g, "``");
1747
+ return "[" === t[0] ? "[" + t : t;
1748
+ }
1749
+ function pr(e) {
1750
+ if ("string" != typeof e) return null;
1751
+ let t = [], n = "";
1752
+ for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
1753
+ else {
1754
+ if ("`" === e[r + 1]) {
1755
+ n += "`", r++;
1756
+ continue;
1757
+ }
1758
+ t.push(n), n = "";
1759
+ }
1760
+ return t.push(n), t.map((e) => {
1761
+ const t = function(e) {
1762
+ if ("string" != typeof e || e.length < 3 || "[" !== e[0]) return null;
1763
+ if ("]" !== e[e.length - 1]) return null;
1764
+ const t = e.slice(1, -1);
1765
+ return /^[0-9]+$/.test(t) ? t.length > 1 && "0" === t[0] ? null : parseInt(t, 10) : null;
1766
+ }(e);
1767
+ return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
1768
+ });
1769
+ }
1770
+ function mr(e, t) {
1771
+ return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
1772
+ }
1773
+ function Er(e) {
1745
1774
  return "persistent-attrs-" + Ve(e);
1746
1775
  }
1747
- function dr(e, t) {
1776
+ function Tr(e, t) {
1748
1777
  if (En(t)) {
1749
1778
  if (-1 === t.indexOf("^")) {
1750
1779
  let n, r, o = e.fkey;
@@ -1774,7 +1803,7 @@ var gobjJs = function(e) {
1774
1803
  hook_name: t.hook_name
1775
1804
  } : (Ht("bad fkey 3"), Ht(e), Ht(t), null);
1776
1805
  }
1777
- var br = [
1806
+ var hr = [
1778
1807
  "string",
1779
1808
  "integer",
1780
1809
  "object",
@@ -1784,7 +1813,7 @@ var gobjJs = function(e) {
1784
1813
  "real",
1785
1814
  "boolean",
1786
1815
  "blob"
1787
- ], pr = [
1816
+ ], yr = [
1788
1817
  "persistent",
1789
1818
  "required",
1790
1819
  "notnull",
@@ -1796,7 +1825,7 @@ var gobjJs = function(e) {
1796
1825
  "stats",
1797
1826
  "rstats",
1798
1827
  "pstats"
1799
- ], mr = [
1828
+ ], jr = [
1800
1829
  "hook",
1801
1830
  "fkey",
1802
1831
  "enum",
@@ -1823,7 +1852,7 @@ var gobjJs = function(e) {
1823
1852
  "coordinates",
1824
1853
  "gbuffer"
1825
1854
  ];
1826
- function Er(e) {
1855
+ function vr(e) {
1827
1856
  let t = {
1828
1857
  name: e.id,
1829
1858
  header: e.header,
@@ -1841,7 +1870,7 @@ var gobjJs = function(e) {
1841
1870
  if (!e.flag) return t;
1842
1871
  for (let n = 0; n < e.flag.length; n++) {
1843
1872
  let r = e.flag[n];
1844
- if (Qn(mr, r)) {
1873
+ if (Qn(jr, r)) {
1845
1874
  switch (r) {
1846
1875
  case "enum":
1847
1876
  t.enum_list = e.enum;
@@ -1852,7 +1881,7 @@ var gobjJs = function(e) {
1852
1881
  case "table": t.enum_list = e.table;
1853
1882
  }
1854
1883
  t.type = r;
1855
- } else if (Qn(pr, r)) switch (r) {
1884
+ } else if (Qn(yr, r)) switch (r) {
1856
1885
  case "writable":
1857
1886
  t.is_writable = !0;
1858
1887
  break;
@@ -1865,37 +1894,37 @@ var gobjJs = function(e) {
1865
1894
  }
1866
1895
  return t;
1867
1896
  }
1868
- var Tr = [
1869
- j(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1870
- j(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1871
- j(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1872
- v()
1873
- ], hr = {
1897
+ var Sr = [
1898
+ v(T.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
1899
+ v(T.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
1900
+ v(T.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
1901
+ j()
1902
+ ], Or = {
1874
1903
  periodic: !1,
1875
1904
  msec: 0,
1876
1905
  timer_id: -1
1877
- }, yr = null;
1878
- function vr(e, t, n, r) {
1879
- let o = e.priv, i = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1906
+ }, Nr = null;
1907
+ function wr(e, t, n, r) {
1908
+ let o = e.priv, l = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
1880
1909
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
1881
- jt(e, "EV_TIMEOUT", {}, e);
1882
- }, o.msec) : o.timer_id = -1, xe(e) ? jt(We(e), i, {}, e) : Ct(e, i, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
1910
+ vt(e, "EV_TIMEOUT", {}, e);
1911
+ }, o.msec) : o.timer_id = -1, xe(e) ? vt(We(e), l, {}, e) : Ct(e, l, {}), o.periodic || -1 !== o.timer_id || Ae(e) && Oe(e), 0;
1883
1912
  }
1884
- var jr = {
1913
+ var Rr = {
1885
1914
  mt_create: function(e) {
1886
1915
  let t = e.priv;
1887
1916
  const n = ut(e, "subscriber");
1888
- n && At(e, null, {}, n), t.periodic = lt(e, "periodic"), t.msec = _t(e, "msec");
1917
+ n && At(e, null, {}, n), t.periodic = st(e, "periodic"), t.msec = _t(e, "msec");
1889
1918
  },
1890
1919
  mt_writing: function(e, t) {
1891
1920
  let n = e.priv;
1892
1921
  switch (t) {
1893
1922
  case "periodic":
1894
- n.periodic = lt(e, "periodic");
1923
+ n.periodic = st(e, "periodic");
1895
1924
  break;
1896
1925
  case "msec": n.msec = _t(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
1897
- jt(e, "EV_TIMEOUT", {}, e);
1898
- }, n.msec)), n.msec > 0 ? Ae(e) || ve(e) : Ae(e) && Oe(e);
1926
+ vt(e, "EV_TIMEOUT", {}, e);
1927
+ }, n.msec)), n.msec > 0 ? Ae(e) || je(e) : Ae(e) && Oe(e);
1899
1928
  }
1900
1929
  },
1901
1930
  mt_start: function(e) {
@@ -1906,84 +1935,84 @@ var gobjJs = function(e) {
1906
1935
  },
1907
1936
  mt_destroy: function(e) {}
1908
1937
  };
1909
- function Sr(e, t) {
1938
+ function Dr(e, t) {
1910
1939
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !1), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
1911
1940
  }
1912
- function Or(e, t) {
1941
+ function Ar(e, t) {
1913
1942
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : (ft(e, "periodic", !0), void gt(e, "msec", t)) : (Ht("not GObj TYPE"), -1);
1914
1943
  }
1915
- function Nr(e) {
1944
+ function kr(e) {
1916
1945
  return e instanceof O ? "C_TIMER" !== Ge(e) ? (Ht("not C_TIMER GObj"), -1) : void gt(e, "msec", -1) : (Ht("not GObj TYPE"), -1);
1917
1946
  }
1918
- var Rr = [
1919
- j(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1920
- j(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1921
- j(T.DTP_STRING, "__username__", 0, "", "Username"),
1922
- j(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
1923
- j(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
1924
- j(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
1925
- j(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
1926
- j(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
1927
- j(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
1928
- j(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
1929
- j(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
1930
- j(T.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
1931
- j(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
1932
- j(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
1933
- j(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
1934
- j(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
1935
- j(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
1936
- j(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
1937
- j(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
1938
- j(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
1939
- j(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
1940
- j(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
1941
- j(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1942
- j(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1943
- v()
1944
- ], wr = { gobj_timer: null }, Dr = null;
1945
- function Ar(e, t, n, r) {
1947
+ var Ir = [
1948
+ v(T.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
1949
+ v(T.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
1950
+ v(T.DTP_STRING, "__username__", 0, "", "Username"),
1951
+ v(T.DTP_STRING, "start_date", 0, "", "Yuno starting date"),
1952
+ v(T.DTP_STRING, "node_uuid", 0, "", "uuid of node"),
1953
+ v(T.DTP_STRING, "yuno_role", 0, "", "Yuno role"),
1954
+ v(T.DTP_STRING, "yuno_id", 0, "", "Yuno Id. Set by agent"),
1955
+ v(T.DTP_STRING, "yuno_name", 0, "", "Yuno name. Set by agent"),
1956
+ v(T.DTP_STRING, "yuno_tag", 0, "", "Tags of yuno. Set by agent"),
1957
+ v(T.DTP_STRING, "yuno_release", 0, "", "Yuno Release. Set by agent"),
1958
+ v(T.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
1959
+ v(T.DTP_STRING, "yuneta_version", 0, i, "Yuneta version"),
1960
+ v(T.DTP_LIST, "required_services", 0, "[]", "Required services"),
1961
+ v(T.DTP_INTEGER, "tracing", 0, 0, "Tracing level"),
1962
+ v(T.DTP_BOOLEAN, "trace_timer", 0, 0, "Trace timers"),
1963
+ v(T.DTP_BOOLEAN, "trace_inter_event", 0, 0, "Trace traffic"),
1964
+ v(T.DTP_POINTER, "trace_ievent_callback", 0, null, "Trace traffic callback"),
1965
+ v(T.DTP_BOOLEAN, "trace_creation", 0, 0, "Trace creation"),
1966
+ v(T.DTP_BOOLEAN, "trace_start_stop", 0, 0, "Trace start/stop"),
1967
+ v(T.DTP_BOOLEAN, "trace_subscriptions", 0, 0, "Trace subscription"),
1968
+ v(T.DTP_BOOLEAN, "trace_i18n", 0, 0, "Trace i18n"),
1969
+ v(T.DTP_BOOLEAN, "no_poll", 0, 0, "no poll"),
1970
+ v(T.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
1971
+ v(T.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
1972
+ j()
1973
+ ], $r = { gobj_timer: null }, Cr = null;
1974
+ function Lr(e, t, n, r) {
1946
1975
  return Ct(e, t, n), 0;
1947
1976
  }
1948
- var kr = {
1977
+ var Pr = {
1949
1978
  mt_create: function(e) {
1950
1979
  let t = e.priv;
1951
- dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = it(e, "periodic_timeout");
1980
+ dt(e, "start_date", ar()), dt(e, "node_uuid", cr()), e.priv.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.periodic_timeout = lt(e, "periodic_timeout");
1952
1981
  },
1953
1982
  mt_writing: function(e, t) {},
1954
1983
  mt_start: function(e) {
1955
- return Or(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1984
+ return Ar(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
1956
1985
  },
1957
1986
  mt_stop: function(e) {
1958
- return Nr(e.priv.gobj_timer), Re(e), 0;
1987
+ return kr(e.priv.gobj_timer), we(e), 0;
1959
1988
  },
1960
1989
  mt_destroy: function(e) {},
1961
1990
  mt_play: function(e) {
1962
1991
  let t = fe();
1963
- return Ae(t) || ve(t), $e(t) || we(t), 0;
1992
+ return Ae(t) || je(t), $e(t) || Re(t), 0;
1964
1993
  },
1965
1994
  mt_pause: function(e) {
1966
1995
  return De(fe()), 0;
1967
1996
  }
1968
1997
  };
1969
- var Ir = "ievent_gate_stack", $r = [
1970
- j(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
1971
- j(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
1972
- j(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
1973
- j(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
1974
- j(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
1975
- j(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
1976
- j(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
1977
- j(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
1978
- j(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
1979
- j(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
1980
- j(T.DTP_LIST, "required_services", h.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
1981
- j(T.DTP_INTEGER, "timeout_retry", h.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
1982
- j(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
1983
- j(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
1984
- j(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
1985
- v()
1986
- ], Cr = {
1998
+ var Ur = "ievent_gate_stack", Fr = [
1999
+ v(T.DTP_STRING, "wanted_yuno_role", h.SDF_RD, "", "wanted yuno role"),
2000
+ v(T.DTP_STRING, "wanted_yuno_name", h.SDF_RD, "", "wanted yuno name"),
2001
+ v(T.DTP_STRING, "wanted_yuno_service", h.SDF_RD, "", "wanted yuno service"),
2002
+ v(T.DTP_STRING, "remote_yuno_role", h.SDF_RD, "", "confirmed remote yuno role"),
2003
+ v(T.DTP_STRING, "remote_yuno_name", h.SDF_RD, "", "confirmed remote yuno name"),
2004
+ v(T.DTP_STRING, "remote_yuno_service", h.SDF_RD, "", "confirmed remote yuno service"),
2005
+ v(T.DTP_STRING, "url", h.SDF_RD, "", "Url to connect"),
2006
+ v(T.DTP_STRING, "jwt", h.SDF_PERSIST, "", "JWT"),
2007
+ v(T.DTP_STRING, "cert_pem", h.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2008
+ v(T.DTP_JSON, "extra_info", h.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2009
+ v(T.DTP_LIST, "required_services", h.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
2010
+ v(T.DTP_INTEGER, "timeout_retry", h.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
2011
+ v(T.DTP_INTEGER, "timeout_retry_max", h.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2012
+ v(T.DTP_INTEGER, "timeout_idack", h.SDF_RD, "5000", "timeout waiting idAck"),
2013
+ v(T.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2014
+ j()
2015
+ ], Gr = {
1987
2016
  url: null,
1988
2017
  remote_yuno_name: null,
1989
2018
  remote_yuno_role: null,
@@ -1993,8 +2022,8 @@ var gobjJs = function(e) {
1993
2022
  websocket: null,
1994
2023
  inside_on_open: !1,
1995
2024
  retry_ms: 0
1996
- }, Lr = null;
1997
- function Pr(e) {
2025
+ }, Vr = null;
2026
+ function Mr(e) {
1998
2027
  e.priv.websocket && Ht("Websocket ALREADY setup");
1999
2028
  const t = at(e, "url");
2000
2029
  let n;
@@ -2005,20 +2034,20 @@ var gobjJs = function(e) {
2005
2034
  return Ht(`${Ve(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2006
2035
  }
2007
2036
  return n ? (n.onopen = () => {
2008
- jt(e, "EV_ON_OPEN", { url: t }, e);
2037
+ vt(e, "EV_ON_OPEN", { url: t }, e);
2009
2038
  }, n.onmessage = (n) => {
2010
- jt(e, "EV_ON_MESSAGE", {
2039
+ vt(e, "EV_ON_MESSAGE", {
2011
2040
  url: t,
2012
2041
  data: n.data
2013
2042
  }, e);
2014
2043
  }, n.onclose = (n) => {
2015
- Ye(e) || (lt(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : jt(e, "EV_ON_CLOSE", {
2044
+ Ye(e) || (st(Ce(), "browser_beforeunload") ? zt("Close websocket by unload page") : vt(e, "EV_ON_CLOSE", {
2016
2045
  url: t,
2017
2046
  e: n
2018
2047
  }, e));
2019
2048
  }, n) : (Ht(`${Ve(e)}: Failed to initialize WebSocket.`), null);
2020
2049
  }
2021
- function Ur(e, t = 1e3, n = "") {
2050
+ function Wr(e, t = 1e3, n = "") {
2022
2051
  let r = e.priv, o = r.websocket;
2023
2052
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2024
2053
  Qt(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2029,7 +2058,7 @@ var gobjJs = function(e) {
2029
2058
  }
2030
2059
  } else zt("WebSocket is already closed or in the process of closing.");
2031
2060
  }
2032
- function Fr(e, t, n) {
2061
+ function Kr(e, t, n) {
2033
2062
  let r = ar();
2034
2063
  try {
2035
2064
  Qt("\n" + r + " " + t + "\n"), Zt(n);
@@ -2037,17 +2066,17 @@ var gobjJs = function(e) {
2037
2066
  Qt("ERROR in trace_inter_event: " + e);
2038
2067
  }
2039
2068
  }
2040
- var Gr = class {
2069
+ var xr = class {
2041
2070
  constructor(e, t) {
2042
2071
  this.event = e, this.kw = t || {};
2043
2072
  }
2044
2073
  };
2045
- function Vr(e, t, n, r) {
2074
+ function Yr(e, t, n, r) {
2046
2075
  return function(e, t) {
2047
2076
  let n = e.priv, r = JSON.stringify(t);
2048
- if (lt(Ce(), "trace_inter_event")) {
2049
- let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, i = it(Ce(), "trace_ievent_callback");
2050
- i ? i(o, t, 1, r.length) : Fr(0, o, t);
2077
+ if (st(Ce(), "trace_inter_event")) {
2078
+ let n = at(e, "url"), o = Fe(Ce()) + " ==> " + n, l = lt(Ce(), "trace_ievent_callback");
2079
+ l ? l(o, t, 1, r.length) : Kr(0, o, t);
2051
2080
  }
2052
2081
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return zt(`${Ve(e)}: send_iev(): websocket not open, message lost`), -1;
2053
2082
  try {
@@ -2057,10 +2086,10 @@ var gobjJs = function(e) {
2057
2086
  }
2058
2087
  return 0;
2059
2088
  }(e, function(e, t) {
2060
- return Sn(e) ? (Ht("iev_create() event NULL"), null) : new Gr(e, t);
2089
+ return Sn(e) ? (Ht("iev_create() event NULL"), null) : new xr(e, t);
2061
2090
  }(t, n));
2062
2091
  }
2063
- function Mr(e, t, n) {
2092
+ function Br(e, t, n) {
2064
2093
  return Sn(n) && (n = at(e, "wanted_yuno_service")), {
2065
2094
  dst_yuno: at(e, "wanted_yuno_name"),
2066
2095
  dst_role: at(e, "wanted_yuno_role"),
@@ -2071,17 +2100,17 @@ var gobjJs = function(e) {
2071
2100
  host: cr()
2072
2101
  };
2073
2102
  }
2074
- function Wr(e) {
2075
- let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), i = at(Ce(), "yuno_tag"), l = it(e, "required_services");
2076
- l && l.length || (l = it(Ce(), "required_services"));
2103
+ function Jr(e) {
2104
+ let t = e.priv, n = $e(Ce()), r = at(Ce(), "yuno_version"), o = at(Ce(), "yuno_release"), l = at(Ce(), "yuno_tag"), s = lt(e, "required_services");
2105
+ s && s.length || (s = lt(Ce(), "required_services"));
2077
2106
  let _ = {
2078
2107
  yuno_role: Pe(),
2079
2108
  yuno_id: Ue(),
2080
2109
  yuno_name: Le(),
2081
- yuno_tag: i,
2110
+ yuno_tag: l,
2082
2111
  yuno_version: r,
2083
2112
  yuno_release: o,
2084
- yuneta_version: s,
2113
+ yuneta_version: i,
2085
2114
  playing: n,
2086
2115
  pid: 0,
2087
2116
  watcher_pid: 0,
@@ -2092,88 +2121,88 @@ var gobjJs = function(e) {
2092
2121
  id: cr(),
2093
2122
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2094
2123
  language: "undefined" != typeof window ? window.navigator.language : "",
2095
- required_services: l
2124
+ required_services: s
2096
2125
  };
2097
- return er(e, _, Ir, Mr(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Sr(t.gobj_timer, _t(e, "timeout_idack")), Vr(e, "EV_IDENTITY_CARD", _);
2126
+ return er(e, _, Ur, Br(e, Fe(We(e)), null)), nr(e, _, "__identity__"), Dr(t.gobj_timer, _t(e, "timeout_idack")), Yr(e, "EV_IDENTITY_CARD", _);
2098
2127
  }
2099
- function Kr(e, t) {
2128
+ function qr(e, t) {
2100
2129
  if (Sn(t.event)) return -1;
2101
- let n = {}, r = t.__global__, o = t.__config__, i = t.__filter__, s = t.__service__, l = t.subscriber;
2102
- o && (n.__config__ = o), r && (n.__global__ = r), i && (n.__filter__ = i);
2103
- return er(e, n, Ir, Mr(e, Fe(l), s)), nr(e, n, "__subscribing__"), Vr(e, t.event, n);
2130
+ let n = {}, r = t.__global__, o = t.__config__, l = t.__filter__, i = t.__service__, s = t.subscriber;
2131
+ o && (n.__config__ = o), r && (n.__global__ = r), l && (n.__filter__ = l);
2132
+ return er(e, n, Ur, Br(e, Fe(s), i)), nr(e, n, "__subscribing__"), Yr(e, t.event, n);
2104
2133
  }
2105
- function xr(e, t, n, r) {
2134
+ function Hr(e, t, n, r) {
2106
2135
  let o = e.priv;
2107
- return Ae(e) && (o.websocket = Pr(e)), 0;
2136
+ return Ae(e) && (o.websocket = Mr(e)), 0;
2108
2137
  }
2109
- function Yr(e, t, n, r) {
2110
- return Qt("Websocket opened: " + e.priv.url), Wr(e), 0;
2138
+ function zr(e, t, n, r) {
2139
+ return Qt("Websocket opened: " + e.priv.url), Jr(e), 0;
2111
2140
  }
2112
- function Br(e, t, n, r) {
2113
- let o = e.priv, i = n.e, s = n.url;
2114
- return Jt(), zt(`${Ve(e)}: WebSocket closed ${s} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), 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, Ct(e, "EV_ON_CLOSE", {
2115
- url: s,
2141
+ function Qr(e, t, n, r) {
2142
+ let o = e.priv, l = n.e, i = n.url;
2143
+ return Jt(), zt(`${Ve(e)}: WebSocket closed ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), 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, Ct(e, "EV_ON_CLOSE", {
2144
+ url: i,
2116
2145
  remote_yuno_name: o.remote_yuno_name,
2117
2146
  remote_yuno_role: o.remote_yuno_role,
2118
2147
  remote_yuno_service: o.remote_yuno_service
2119
- })) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${s} (Code: ${i.code}, Reason: "${i.reason}", Clean: ${i.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
2120
- url: s,
2148
+ })) : (zt(`${Ve(e)}: EV_ON_OPEN_ERROR cannot open ${i} (Code: ${l.code}, Reason: "${l.reason}", Clean: ${l.wasClean})`), Ct(e, "EV_ON_OPEN_ERROR", {
2149
+ url: i,
2121
2150
  remote_yuno_name: o.remote_yuno_name,
2122
2151
  remote_yuno_role: o.remote_yuno_role,
2123
2152
  remote_yuno_service: o.remote_yuno_service,
2124
- code: i.code,
2125
- reason: i.reason,
2126
- was_clean: i.wasClean
2127
- })), Ae(e) && Sr(o.gobj_timer, function(e) {
2153
+ code: l.code,
2154
+ reason: l.reason,
2155
+ was_clean: l.wasClean
2156
+ })), Ae(e) && Dr(o.gobj_timer, function(e) {
2128
2157
  let t = e.priv, n = _t(e, "timeout_retry"), r = _t(e, "timeout_retry_max");
2129
2158
  r < n && (r = n);
2130
2159
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2131
- let o = .2 * t.retry_ms, i = t.retry_ms - o + 2 * Math.random() * o;
2132
- return Math.max(1, Math.round(i));
2160
+ let o = .2 * t.retry_ms, l = t.retry_ms - o + 2 * Math.random() * o;
2161
+ return Math.max(1, Math.round(l));
2133
2162
  }(e)), 0;
2134
2163
  }
2135
- function Jr(e, t, n, r) {
2136
- return Wr(e), 0;
2164
+ function Xr(e, t, n, r) {
2165
+ return Jr(e), 0;
2137
2166
  }
2138
- function qr(e, t, n, r) {
2167
+ function Zr(e, t, n, r) {
2139
2168
  let o = e.priv;
2140
- Nr(o.gobj_timer);
2141
- let i = tr(e, n, Ir, !0), s = Ln(e, i, "src_yuno", ""), l = Ln(e, i, "src_role", ""), _ = Ln(e, i, "src_service", "");
2142
- dt(e, "remote_yuno_name", s), dt(e, "remote_yuno_role", l), dt(e, "remote_yuno_service", _);
2169
+ kr(o.gobj_timer);
2170
+ let l = tr(e, n, Ur, !0), i = Ln(e, l, "src_yuno", ""), s = Ln(e, l, "src_role", ""), _ = Ln(e, l, "src_service", "");
2171
+ dt(e, "remote_yuno_name", i), dt(e, "remote_yuno_role", s), dt(e, "remote_yuno_service", _);
2143
2172
  let a = Cn(e, n, "result", -1, 0), u = Ln(e, n, "comment", "", 0), c = Ln(e, n, "username", "", 0), f = Fn(e, n, "services_roles", {});
2144
2173
  if (a < 0) {
2145
- Ur(e);
2174
+ Wr(e);
2146
2175
  let t = {
2147
2176
  url: at(e, "url"),
2148
2177
  result: a,
2149
2178
  comment: u,
2150
2179
  username: c,
2151
- remote_yuno_name: s,
2152
- remote_yuno_role: l,
2180
+ remote_yuno_name: i,
2181
+ remote_yuno_role: s,
2153
2182
  remote_yuno_service: _
2154
2183
  };
2155
- xe(e) ? jt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
2184
+ xe(e) ? vt(We(e), "EV_ON_ID_NAK", t, e) : Ct(e, "EV_ON_ID_NAK", t);
2156
2185
  } else {
2157
2186
  if (bt(e, "ST_SESSION"), o.inside_on_open = !0, o.retry_ms = 0, !o.inform_on_close) {
2158
2187
  o.inform_on_close = !0;
2159
2188
  let t = {
2160
2189
  username: c,
2161
- remote_yuno_name: s,
2162
- remote_yuno_role: l,
2190
+ remote_yuno_name: i,
2191
+ remote_yuno_role: s,
2163
2192
  remote_yuno_service: _,
2164
2193
  services_roles: f
2165
2194
  };
2166
- xe(e) ? jt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
2195
+ xe(e) ? vt(We(e), "EV_ON_OPEN", t, e) : Ct(e, "EV_ON_OPEN", t);
2167
2196
  }
2168
2197
  o.inside_on_open = !1, function(e) {
2169
2198
  let t = It(e, null, null, null);
2170
- for (let n = 0; n < t.length; n++) Kr(e, t[n]);
2199
+ for (let n = 0; n < t.length; n++) qr(e, t[n]);
2171
2200
  }(e);
2172
2201
  }
2173
2202
  return 0;
2174
2203
  }
2175
- function Hr(e, t, n, r) {
2176
- let o = e.priv.url, i = function(e, t) {
2204
+ function eo(e, t, n, r) {
2205
+ let o = e.priv.url, l = function(e, t) {
2177
2206
  let n;
2178
2207
  try {
2179
2208
  n = JSON.parse(t);
@@ -2190,38 +2219,38 @@ var gobjJs = function(e) {
2190
2219
  kw: o || {}
2191
2220
  } : (Ht("parsing inter_event: kw not a json object"), null) : (Ht("parsing inter_kw: no kw"), null);
2192
2221
  }(0, n.data);
2193
- if (lt(Ce(), "trace_inter_event")) {
2194
- let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = it(Ce(), "trace_ievent_callback");
2195
- r ? r(e, i, 2, t) : Fr(0, e, i);
2222
+ if (st(Ce(), "trace_inter_event")) {
2223
+ let e = Fe(Ce()) + " <== " + o, t = n.data.length, r = lt(Ce(), "trace_ievent_callback");
2224
+ r ? r(e, l, 2, t) : Kr(0, e, l);
2196
2225
  }
2197
- let s = i.event, l = i.kw;
2226
+ let i = l.event, s = l.kw;
2198
2227
  if ("ST_SESSION" !== pt(e)) {
2199
- if (Et(e, s, D.EVF_PUBLIC_EVENT)) {
2200
- if (!(jt(e, s, l, e) < 0)) return 0;
2201
- } else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${s}`);
2202
- return Ur(e), -1;
2228
+ if (Et(e, i, D.EVF_PUBLIC_EVENT)) {
2229
+ if (!(vt(e, i, s, e) < 0)) return 0;
2230
+ } else Ht(`${Ve(e)}: event UNKNOWN in not-session state ${i}`);
2231
+ return Wr(e), -1;
2203
2232
  }
2204
- i = null;
2205
- let _ = rr(e, l), a = tr(e, l, Ir), u = Ln(e, a, "dst_role", "");
2233
+ l = null;
2234
+ let _ = rr(e, s), a = tr(e, s, Ur), u = Ln(e, a, "dst_role", "");
2206
2235
  if (u.toLowerCase() !== Pe().toLowerCase()) return Ht(`"It's not my role, dst_role: ${u}, my_role: ${Pe()}`), 0;
2207
2236
  let c = Ln(e, a, "dst_service", "");
2208
2237
  if ("__subscribing__" === _) return -1;
2209
2238
  if ("__unsubscribing__" === _) return -1;
2210
- if (Et(e, s, D.EVF_PUBLIC_EVENT)) return jt(e, s, l, e), 0;
2239
+ if (Et(e, i, D.EVF_PUBLIC_EVENT)) return vt(e, i, s, e), 0;
2211
2240
  let f = ge(c, !0);
2212
2241
  if (f) {
2213
- if (!Et(f, s, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${s}'`), -1;
2214
- jt(f, s, l, e);
2215
- } else xe(e) ? jt(We(e), s, l, e) : Ct(e, s, l);
2242
+ if (!Et(f, i, D.EVF_PUBLIC_EVENT)) return Ht(`${Ve(e)}: Service found but no event or not public, service '${Ve(f)}', ev '${i}'`), -1;
2243
+ vt(f, i, s, e);
2244
+ } else xe(e) ? vt(We(e), i, s, e) : Ct(e, i, s);
2216
2245
  return 0;
2217
2246
  }
2218
- function zr(e, t, n, r) {
2247
+ function to(e, t, n, r) {
2219
2248
  return 0;
2220
2249
  }
2221
- function Qr(e, t, n, r) {
2250
+ function no(e, t, n, r) {
2222
2251
  return 0;
2223
2252
  }
2224
- var Xr = {
2253
+ var ro = {
2225
2254
  mt_create: function(e) {
2226
2255
  let t = e.priv;
2227
2256
  t.gobj_timer = he(Fe(e), "C_TIMER", {}, e), t.url = at(e, "url"), t.remote_yuno_name = at(e, "remote_yuno_name"), t.remote_yuno_role = at(e, "remote_yuno_role"), t.remote_yuno_service = at(e, "remote_yuno_service"), dt(e, "wanted_yuno_name", t.remote_yuno_name), dt(e, "wanted_yuno_role", t.remote_yuno_role), dt(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2245,55 +2274,55 @@ var gobjJs = function(e) {
2245
2274
  },
2246
2275
  mt_start: function(e) {
2247
2276
  let t = e.priv;
2248
- return t.retry_ms = 0, t.websocket = Pr(e), 0;
2277
+ return t.retry_ms = 0, t.websocket = Mr(e), 0;
2249
2278
  },
2250
2279
  mt_stop: function(e) {
2251
2280
  let t = e.priv;
2252
- return Nr(t.gobj_timer), t.websocket && Ur(e), 0;
2281
+ return kr(t.gobj_timer), t.websocket && Wr(e), 0;
2253
2282
  },
2254
2283
  mt_destroy: function(e) {},
2255
2284
  mt_stats: function(e, t, n, r) {
2256
2285
  if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
2257
2286
  n || (n = {});
2258
- let o = Mr(e, Fe(r), Ln(e, n, "service", null, 0)), i = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
2259
- return i || (i = {}), er(e, n, "stats_stack", {
2287
+ let o = Br(e, Fe(r), Ln(e, n, "service", null, 0)), l = Fn(e, n, "__md_stats__", null, Lt.KW_EXTRACT);
2288
+ return l || (l = {}), er(e, n, "stats_stack", {
2260
2289
  stats: t,
2261
- kw: i
2262
- }), er(e, n, Ir, o), n.__stats__ = t, nr(e, n, "__stats__"), Vr(e, "EV_MT_STATS", n, r), null;
2290
+ kw: l
2291
+ }), er(e, n, Ur, o), n.__stats__ = t, nr(e, n, "__stats__"), Yr(e, "EV_MT_STATS", n, r), null;
2263
2292
  },
2264
2293
  mt_command_parser: function(e, t, n, r) {
2265
2294
  if ("ST_SESSION" !== pt(e)) return Ht("Not in session"), null;
2266
2295
  n || (n = {});
2267
- let o = Mr(e, Fe(r), Ln(e, n, "service", "", 0)), i = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
2268
- return i || (i = {}), er(e, n, "command_stack", {
2296
+ let o = Br(e, Fe(r), Ln(e, n, "service", "", 0)), l = Fn(e, n, "__md_command__", null, Lt.KW_EXTRACT);
2297
+ return l || (l = {}), er(e, n, "command_stack", {
2269
2298
  command: t,
2270
- kw: i
2271
- }), er(e, n, Ir, o), n.__command__ = t, nr(e, n, "__command__"), Vr(e, "EV_MT_COMMAND", n, r), null;
2299
+ kw: l
2300
+ }), er(e, n, Ur, o), n.__command__ = t, nr(e, n, "__command__"), Yr(e, "EV_MT_COMMAND", n, r), null;
2272
2301
  },
2273
2302
  mt_inject_event: function(e, t, n, r) {
2274
2303
  if ("ST_SESSION" !== pt(e)) return window.console.error("Not in session"), -1;
2275
- if (n || (n = {}), tr(e, n, Ir));
2304
+ if (n || (n = {}), tr(e, n, Ur));
2276
2305
  else {
2277
- let o = Mr(e, Fe(r), Ln(e, n, "__service__", 0, 0));
2278
- ln(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ir, o);
2306
+ let o = Br(e, Fe(r), Ln(e, n, "__service__", 0, 0));
2307
+ sn(n, "__service__"), er(e, n, "__message__", t), er(e, n, Ur, o);
2279
2308
  }
2280
- return nr(e, n, "__message__"), Vr(e, t, n, r);
2309
+ return nr(e, n, "__message__"), Yr(e, t, n, r);
2281
2310
  },
2282
2311
  mt_subscription_added: function(e, t) {
2283
2312
  let n = e.priv;
2284
- return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : Kr(e, t) : 0;
2313
+ return "ST_SESSION" === pt(e) && n.websocket ? n.inside_on_open ? 0 : qr(e, t) : 0;
2285
2314
  },
2286
2315
  mt_subscription_deleted: function(e, t) {
2287
2316
  let n = e.priv;
2288
2317
  if ("ST_SESSION" !== pt(e) || !n.websocket) return 0;
2289
2318
  if (n.inside_on_open) return 0;
2290
2319
  if (Sn(t.event)) return 0;
2291
- let r = {}, o = t.__global__, i = t.__config__, s = t.__filter__, l = t.__service__, _ = t.subscriber;
2292
- i && (r.__config__ = i), o && (r.__global__ = o), s && (r.__filter__ = s);
2293
- return er(e, r, Ir, Mr(e, Fe(_), l)), nr(e, r, "__unsubscribing__"), Vr(e, t.event, r, e);
2320
+ let r = {}, o = t.__global__, l = t.__config__, i = t.__filter__, s = t.__service__, _ = t.subscriber;
2321
+ l && (r.__config__ = l), o && (r.__global__ = o), i && (r.__filter__ = i);
2322
+ return er(e, r, Ur, Br(e, Fe(_), s)), nr(e, r, "__unsubscribing__"), Yr(e, t.event, r, e);
2294
2323
  }
2295
2324
  };
2296
- return e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, o, i) => new y(e, t, n, null, i, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, i) => new y(e, t, 0, null, i, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, i, s) => new y(e, t, n, null, s, r, null, 0, i, o, null), e.SDATADF = (e, t, n, r, o, i) => new y(e, t, n, null, i, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
2325
+ return e.GObj = O, e.SDATA = v, e.SDATAAUTHZ = (e, t, n, r, o, l) => new y(e, t, n, null, l, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, l) => new y(e, t, 0, null, l, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, l, i) => new y(e, t, n, null, i, r, null, 0, l, o, null), e.SDATADF = (e, t, n, r, o, l) => new y(e, t, n, null, l, null, r, o), e.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = j, e.SDataDesc = y, e.YUNETA_VERSION = i, Object.defineProperty(e, "__yuno__", {
2297
2326
  enumerable: !0,
2298
2327
  get: function() {
2299
2328
  return p;
@@ -2302,26 +2331,26 @@ var gobjJs = function(e) {
2302
2331
  let t = "", n = 0;
2303
2332
  for (let r of e) null != r && "" !== r && (r = String(r), r = 0 === n ? r.replace(/\/+$/, "") : r.replace(/^\/+/, "").replace(/\/+$/, ""), "" !== r && (n > 0 && (t += "/"), t += r, n++));
2304
2333
  return t;
2305
- }, e.build_stats_response = i, e.clean_name = function(e) {
2334
+ }, e.build_stats_response = l, e.clean_name = function(e) {
2306
2335
  return e.replace(/[?# ^:]/g, "_");
2307
- }, e.clear_timeout = Nr, e.cmp_two_simple_json = wn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2308
- let [r, o, i, s] = t;
2336
+ }, e.clear_timeout = kr, e.cmp_two_simple_json = Rn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2337
+ let [r, o, l, i] = t;
2309
2338
  if (!r) return void Ht("Tag must be a valid HTML element.");
2310
- let l = document.createElement(r), _ = "";
2339
+ let s = document.createElement(r), _ = "";
2311
2340
  if (o && "object" == typeof o) for (let e of Object.keys(o)) if ("style" === e && "object" == typeof o[e]) {
2312
2341
  let t = "";
2313
2342
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
2314
- l.style.cssText = t;
2315
- } else "style" === e ? l.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], l.setAttribute("data-i18n", _)) : l.setAttribute(e, o[e]);
2316
- if (En(i)) if (i = i.trim(), i.length > 0 && "<" === i[0]) l.appendChild(_r(i));
2317
- else if (n && _) l.textContent = n(_) || i;
2318
- else l.textContent = i;
2319
- else if (mn(i)) {
2320
- if (i.length > 0) if (En(i[0])) l.appendChild(e(i, n));
2321
- else for (let t of i) Array.isArray(t) && t.length > 0 ? l.appendChild(e(t, n)) : t instanceof HTMLElement && l.appendChild(t);
2322
- } else i instanceof HTMLElement || i instanceof Text || i instanceof SVGElement ? l.appendChild(i) : null != i && (Ht("content ignored"), Zt(i));
2323
- if (s && "object" == typeof s) for (const e of Object.keys(s)) l.addEventListener(e, s[e]);
2324
- return l;
2343
+ s.style.cssText = t;
2344
+ } else "style" === e ? s.style.cssText = o[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== o[e] && void 0 !== o[e] && (_ = o[e], s.setAttribute("data-i18n", _)) : s.setAttribute(e, o[e]);
2345
+ if (En(l)) if (l = l.trim(), l.length > 0 && "<" === l[0]) s.appendChild(_r(l));
2346
+ else if (n && _) s.textContent = n(_) || l;
2347
+ else s.textContent = l;
2348
+ else if (mn(l)) {
2349
+ if (l.length > 0) if (En(l[0])) s.appendChild(e(l, n));
2350
+ else for (let t of l) Array.isArray(t) && t.length > 0 ? s.appendChild(e(t, n)) : t instanceof HTMLElement && s.appendChild(t);
2351
+ } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (Ht("content ignored"), Zt(l));
2352
+ if (i && "object" == typeof i) for (const e of Object.keys(i)) s.addEventListener(e, i[e]);
2353
+ return s;
2325
2354
  }, e.createOneHtml = _r, e.create_json_record = function(e, t) {
2326
2355
  let n = en(e);
2327
2356
  return rn(n, t), n;
@@ -2330,38 +2359,38 @@ var gobjJs = function(e) {
2330
2359
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2331
2360
  let o;
2332
2361
  pn(r) && (o = r.default);
2333
- let i = Fn(null, t, e, o);
2334
- n[e] = i;
2362
+ let l = Fn(null, t, e, o);
2363
+ n[e] = l;
2335
2364
  }), n;
2336
2365
  }, e.current_timestamp = ar, e.data_type_t = T, e.db_list_persistent_attrs = function(e, t) {
2337
- let n = Yn(gr(e), null, !1), r = {};
2366
+ let n = Yn(Er(e), null, !1), r = {};
2338
2367
  return n && pn(n) && (r = Kn(e, n, t, !1)), r;
2339
2368
  }, e.db_load_persistent_attrs = function(e, t) {
2340
- let n = st(e, h.SDF_PERSIST), r = Yn(gr(e), null, !1);
2369
+ let n = it(e, h.SDF_PERSIST), r = Yn(Er(e), null, !1);
2341
2370
  if (r && pn(r)) {
2342
2371
  let o = Kn(e, r, t, !1);
2343
2372
  o = Kn(e, o, n, !1), ct(e, o, h.SDF_PERSIST);
2344
2373
  }
2345
2374
  }, e.db_remove_persistent_attrs = function(e, t) {
2346
- let n = xn(e, Yn(gr(e), null, !1), t, !1);
2347
- 0 === gn(n) ? Jn(gr(e)) : Bn(gr(e), n);
2375
+ let n = xn(e, Yn(Er(e), null, !1), t, !1);
2376
+ 0 === gn(n) ? Jn(Er(e)) : Bn(Er(e), n);
2348
2377
  }, e.db_save_persistent_attrs = function(e, t) {
2349
- let n = Kn(e, st(e, h.SDF_PERSIST), t, !1), r = Yn(gr(e), null, !1);
2350
- return r && pn(r) && on(n, r), Bn(gr(e), n);
2378
+ let n = Kn(e, it(e, h.SDF_PERSIST), t, !1), r = Yn(Er(e), null, !1);
2379
+ return r && pn(r) && on(n, r), Bn(Er(e), n);
2351
2380
  }, e.debounce = function(e, t = 0, n = !1) {
2352
- let r = null, o = null, i = null;
2353
- const s = (...s) => {
2354
- i = this, o = s;
2355
- const l = n && !r;
2381
+ let r = null, o = null, l = null;
2382
+ const i = (...i) => {
2383
+ l = this, o = i;
2384
+ const s = n && !r;
2356
2385
  clearTimeout(r), r = setTimeout(() => {
2357
- r = null, n || e.apply(i, o);
2358
- }, t), l && e.apply(i, o);
2386
+ r = null, n || e.apply(l, o);
2387
+ }, t), s && e.apply(l, o);
2359
2388
  };
2360
- return s.flush = () => {
2361
- r && (clearTimeout(r), r = null, e.apply(i, o));
2362
- }, s.cancel = () => {
2363
- clearTimeout(r), r = null, o = null, i = null;
2364
- }, s;
2389
+ return i.flush = () => {
2390
+ r && (clearTimeout(r), r = null, e.apply(l, o));
2391
+ }, i.cancel = () => {
2392
+ clearTimeout(r), r = null, o = null, l = null;
2393
+ }, i;
2365
2394
  }, e.delete_from_list = function(e, t) {
2366
2395
  for (let n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), !0;
2367
2396
  return !1;
@@ -2372,7 +2401,68 @@ var gobjJs = function(e) {
2372
2401
  Object.assign(t, e);
2373
2402
  }
2374
2403
  return t;
2375
- }, e.empty_string = Sn, e.escapeHtml = lr, e.event_flag_t = D, e.gclass_add_ev_action = se, e.gclass_add_event_type = _e, e.gclass_add_state = ie, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
2404
+ }, e.empty_string = Sn, e.escapeHtml = sr, e.event_flag_t = D, e.flat2json = function(e) {
2405
+ if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2406
+ let t = null;
2407
+ for (const n of Object.keys(e)) {
2408
+ const r = pr(n);
2409
+ if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2410
+ if (r.length > gr) throw new Error(`flat2json: '${n}' deeper than 256`);
2411
+ const o = "number" == typeof r[0];
2412
+ if (null === t) t = o ? [] : {};
2413
+ else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2414
+ let l = t;
2415
+ for (let t = 0; t < r.length; t++) {
2416
+ const o = r[t], i = "number" == typeof o, s = t === r.length - 1, _ = !s && "number" == typeof r[t + 1];
2417
+ if (i && o > dr) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
2418
+ if (i !== Array.isArray(l)) throw new Error(`flat2json: '${n}' uses a ${i ? "array index" : "key"} where the tree already has a ${Array.isArray(l) ? "array" : "object"}`);
2419
+ if (s) {
2420
+ if (Array.isArray(l)) {
2421
+ for (; l.length <= o;) l.push(null);
2422
+ l[o] = e[n];
2423
+ } else {
2424
+ if (Object.prototype.hasOwnProperty.call(l, o)) throw new Error(`flat2json: '${n}' is written twice, or once as a value and once as a container`);
2425
+ l[o] = e[n];
2426
+ }
2427
+ break;
2428
+ }
2429
+ let a;
2430
+ if (Array.isArray(l)) {
2431
+ for (; l.length <= o;) l.push(null);
2432
+ a = l[o], null == a && (a = _ ? [] : {}, l[o] = a);
2433
+ } else a = l[o], void 0 === a && (a = _ ? [] : {}, l[o] = a);
2434
+ if (null === a || "object" != typeof a) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
2435
+ if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
2436
+ l = a;
2437
+ }
2438
+ }
2439
+ return null === t ? {} : t;
2440
+ }, e.flat_apply = function(e, t) {
2441
+ if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
2442
+ if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
2443
+ for (const n of Object.keys(t.removed || {})) delete e[n];
2444
+ for (const n of Object.keys(t.added || {})) e[n] = t.added[n];
2445
+ for (const n of Object.keys(t.changed || {})) {
2446
+ const r = t.changed[n];
2447
+ if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
2448
+ e[n] = r.to;
2449
+ }
2450
+ return e;
2451
+ }, e.flat_diff = function(e, t) {
2452
+ const n = e && "object" == typeof e ? e : {}, r = t && "object" == typeof t ? t : {}, o = {
2453
+ added: {},
2454
+ removed: {},
2455
+ changed: {}
2456
+ };
2457
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? mr(n[e], r[e]) || (o.changed[e] = {
2458
+ from: n[e],
2459
+ to: r[e]
2460
+ }) : o.removed[e] = n[e];
2461
+ for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (o.added[e] = r[e]);
2462
+ return o;
2463
+ }, e.flat_key_join = function(e) {
2464
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : br(e)).join("`") : "";
2465
+ }, e.flat_key_split = pr, e.gclass_add_ev_action = ie, e.gclass_add_event_type = _e, e.gclass_add_state = le, e.gclass_check_fsm = ue, e.gclass_create = te, e.gclass_event_type = ae, e.gclass_find_by_name = ce, e.gclass_flag_t = N, e.gclass_unregister = ne, e.getPositionRelativeToBody = function(e) {
2376
2466
  if (!e) return {
2377
2467
  top: 0,
2378
2468
  left: 0,
@@ -2384,49 +2474,49 @@ var gobjJs = function(e) {
2384
2474
  left: 0,
2385
2475
  width: 0,
2386
2476
  height: 0
2387
- }, i = "undefined" != typeof window, s = i && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, l = i && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2477
+ }, l = "undefined" != typeof window, i = l && (window.scrollY || document.documentElement?.scrollTop || document.body?.scrollTop) || 0, s = l && (window.scrollX || document.documentElement?.scrollLeft || document.body?.scrollLeft) || 0;
2388
2478
  return {
2389
- top: t + s,
2390
- left: n + l,
2391
- right: n + l + r,
2392
- bottom: t + s + o
2479
+ top: t + i,
2480
+ left: n + s,
2481
+ right: n + s + r,
2482
+ bottom: t + i + o
2393
2483
  };
2394
2484
  }, e.get_function_name = fr, e.get_now = function() {
2395
2485
  return Math.floor(Date.now() / 1e3);
2396
2486
  }, e.gobj_bottom_gobj = Be, e.gobj_change_parent = function(e, t) {
2397
2487
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (pe(e.parent, e), e.parent = null), be(t, e), t.mt_child_added && (Y(e) && Qt(n("👦👦🔵 child_added(%s): %s", Me(t), Ve(e))), t.mt_child_added(t, e)), 0) : (Ht(`${Ve(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2398
- }, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, i) {
2488
+ }, e.gobj_change_state = bt, e.gobj_command = function(e, t, r, l) {
2399
2489
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
2400
- let s = p && _t(p, "tracing");
2401
- return s && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(i))), s > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, i) : e.gclass.command_table ? c ? c(e, t, r, i) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
2490
+ let i = p && _t(p, "tracing");
2491
+ return i && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ae(e) ? "" : "!!", Ve(e), t, Ve(l))), i > 1 && Zt(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, l) : e.gclass.command_table ? c ? c(e, t, r, l) : o(0, -1, n("%s: global command parser not available", Ve(e)), 0, 0) : o(0, -1, n("%s: command table not available", Ve(e)), 0, 0);
2402
2492
  }, e.gobj_create = function(e, t, n, r) {
2403
2493
  return Te(e, t, n, r, 0);
2404
2494
  }, e.gobj_create2 = Te, e.gobj_create_default_service = function(e, t, n, r) {
2405
- return Te(e, t, n, r, R.gobj_flag_default_service | R.gobj_flag_autostart);
2495
+ return Te(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
2406
2496
  }, e.gobj_create_pure_child = he, e.gobj_create_service = function(e, t, n, r) {
2407
- return Te(e, t, n, r, R.gobj_flag_service);
2497
+ return Te(e, t, n, r, w.gobj_flag_service);
2408
2498
  }, e.gobj_create_volatil = function(e, t, n, r) {
2409
- return Te(e, t, n, r, R.gobj_flag_volatil);
2499
+ return Te(e, t, n, r, w.gobj_flag_volatil);
2410
2500
  }, e.gobj_create_yuno = function(e, t, n) {
2411
- return Te(e, t, n, null, R.gobj_flag_yuno);
2412
- }, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = vt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
2501
+ return Te(e, t, n, null, w.gobj_flag_yuno);
2502
+ }, e.gobj_current_state = pt, e.gobj_default_service = fe, e.gobj_deliver_posted_events = jt, e.gobj_destroy = ye, e.gobj_find_child = nt, e.gobj_find_gobj = function(e, t) {
2413
2503
  if (Sn(t)) return null;
2414
2504
  const n = t.toLowerCase();
2415
2505
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : rt(p, t);
2416
- }, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = R, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
2506
+ }, e.gobj_find_service = ge, e.gobj_find_subscribings = $t, e.gobj_find_subscriptions = It, e.gobj_flag_t = w, e.gobj_full_name = Me, e.gobj_gclass_name = Ge, e.gobj_global_trace_level = function() {
2417
2507
  return F;
2418
2508
  }, e.gobj_has_attr = ot, e.gobj_has_event = Et, e.gobj_has_output_event = Tt, e.gobj_hsdata = X, e.gobj_is_destroying = Ye, e.gobj_is_playing = $e, e.gobj_is_pure_child = xe, e.gobj_is_running = Ae, e.gobj_is_service = Ie, e.gobj_is_volatil = Ke, e.gobj_list_persistent_attrs = function(e, t) {
2419
2509
  return u ? u(e, t) : null;
2420
2510
  }, e.gobj_list_subscriptions = function(e) {
2421
2511
  let t = It(e, null, null, null);
2422
2512
  for (let n = 0; n < t.length; n++) {
2423
- let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2424
- an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
2513
+ let r = t[n], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2514
+ an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
2425
2515
  }
2426
2516
  let n = $t(e, 0, null, 0);
2427
2517
  for (let t = 0; t < n.length; t++) {
2428
- let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), i = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2429
- an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(i));
2518
+ let r = n[t], o = Pn(e, r, "publisher", null, Lt.KW_REQUIRED), l = Pn(e, r, "subscriber", null, Lt.KW_REQUIRED);
2519
+ an(r, "s_event", Ln(e, r, "event", "", Lt.KW_REQUIRED)), an(r, "s_publisher", Ve(o)), an(r, "s_subscriber", Ve(l));
2430
2520
  }
2431
2521
  return {
2432
2522
  subscriptions: t,
@@ -2435,7 +2525,7 @@ var gobjJs = function(e) {
2435
2525
  total_subscribings: dn(n)
2436
2526
  };
2437
2527
  }, e.gobj_load_persistent_attrs = function(e, t) {
2438
- return Ie(e) ? l ? l(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2528
+ return Ie(e) ? s ? s(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2439
2529
  }, e.gobj_match_children = function(e, t) {
2440
2530
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), null;
2441
2531
  t = t || {};
@@ -2452,20 +2542,20 @@ var gobjJs = function(e) {
2452
2542
  return function e(n, r) {
2453
2543
  let o = r.dl_children;
2454
2544
  for (let r = 0; r < o.length; r++) {
2455
- let i = o[r];
2456
- tt(i, t) && n.push(i), e(n, i);
2545
+ let l = o[r];
2546
+ tt(l, t) && n.push(l), e(n, l);
2457
2547
  }
2458
2548
  }(n, e), n;
2459
- }, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = we, e.gobj_post_event = function(e, t, r, o) {
2460
- return e && e instanceof O ? e.obflag & (w.obflag_destroyed | w.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
2549
+ }, e.gobj_match_gobj = tt, e.gobj_name = Fe, e.gobj_parent = We, e.gobj_pause = De, e.gobj_play = Re, e.gobj_post_event = function(e, t, r, o) {
2550
+ return e && e instanceof O ? e.obflag & (R.obflag_destroyed | R.obflag_destroying) ? (Ht(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Sn(t) ? (Ht("gobj_post_event(): event EMPTY"), -1) : Et(e, t, 0) ? ht.length >= 1e4 ? (Ht(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${ht.length}`), -1) : (ht.push({
2461
2551
  dst: e,
2462
2552
  event: t,
2463
2553
  kw: r,
2464
2554
  src: o
2465
- }), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(vt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2555
+ }), J(e, t) && !q(o, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", Ve(e), t, ht.length)), yt || (yt = !0, setTimeout(jt, 0)), 0) : (Ht(`gobj_post_event(): event NOT DEFINED in gclass ${Ge(e)}, event ${t}`), -1) : (Ht(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2466
2556
  }, e.gobj_posted_events_size = function() {
2467
2557
  return ht.length;
2468
- }, e.gobj_publish_event = Ct, e.gobj_read_attr = it, e.gobj_read_attrs = st, e.gobj_read_bool_attr = lt, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
2558
+ }, e.gobj_publish_event = Ct, e.gobj_read_attr = lt, e.gobj_read_attrs = it, e.gobj_read_bool_attr = st, e.gobj_read_integer_attr = _t, e.gobj_read_pointer_attr = ut, e.gobj_read_str_attr = at, e.gobj_remove_persistent_attrs = function(e, t) {
2469
2559
  return Ie(e) ? a ? a(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2470
2560
  }, e.gobj_repr_global_trace_levels = function() {
2471
2561
  return U.map(([e, t, n]) => ({
@@ -2479,17 +2569,17 @@ var gobjJs = function(e) {
2479
2569
  if (Ye(e)) return Ht("gobj NULL or DESTROYED"), -1;
2480
2570
  let r = e.gclass.attrs_table;
2481
2571
  for (let o = 0; o < r.length; o++) {
2482
- const i = r[o];
2483
- if (i.name && !(n && i.flag & n) && (-1 === t || i.flag & t)) {
2484
- const t = z(e, e.jn_attrs, i);
2485
- pn(e.priv) && e.priv.hasOwnProperty(i.name) && (e.priv[i.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, i.name);
2572
+ const l = r[o];
2573
+ if (l.name && !(n && l.flag & n) && (-1 === t || l.flag & t)) {
2574
+ const t = z(e, e.jn_attrs, l);
2575
+ pn(e.priv) && e.priv.hasOwnProperty(l.name) && (e.priv[l.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l.name);
2486
2576
  }
2487
2577
  }
2488
2578
  return 0;
2489
2579
  }(e, h.SDF_VOLATIL, 0);
2490
2580
  }, e.gobj_save_persistent_attrs = function(e, t) {
2491
2581
  return Ie(e) ? _ ? _(e, t) : -1 : (Ht(`${Ve(e)}: Only gobj services can load/save writable-persistent`), -1);
2492
- }, e.gobj_search_path = rt, e.gobj_send_event = jt, e.gobj_services = function() {
2582
+ }, e.gobj_search_path = rt, e.gobj_send_event = vt, e.gobj_services = function() {
2493
2583
  let e = [];
2494
2584
  for (const t of Object.keys(b)) cn(e, t);
2495
2585
  return e;
@@ -2521,21 +2611,21 @@ var gobjJs = function(e) {
2521
2611
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
2522
2612
  }, e.gobj_set_trace_machine_format = function(e) {
2523
2613
  C = 1 === Number(e) ? 1 : 0;
2524
- }, e.gobj_short_name = Ve, e.gobj_start = ve, e.gobj_start_children = function(e) {
2525
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, je, 0, 0);
2614
+ }, e.gobj_short_name = Ve, e.gobj_start = je, e.gobj_start_children = function(e) {
2615
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : He(e, A.WALK_FIRST2LAST, ve, 0, 0);
2526
2616
  }, e.gobj_start_tree = function(e) {
2527
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || ve(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
2528
- }, e.gobj_start_up = function(e, t, n, r, o, i, s) {
2529
- l = t, _ = n, a = r, u = o, c = i, f = s;
2617
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", Me(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || je(e), ze(e, A.WALK_TOP2BOTTOM, Se, 0, 0)));
2618
+ }, e.gobj_start_up = function(e, t, n, r, o, l, i) {
2619
+ s = t, _ = n, a = r, u = o, c = l, f = i;
2530
2620
  const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
2531
2621
  for (let e = 0; e < d.length; e++) {
2532
2622
  let t = d[e][0], n = d[e][1];
2533
- le(g, t, n);
2623
+ se(g, t, n);
2534
2624
  }
2535
2625
  return 0;
2536
2626
  }, e.gobj_stats = function(e, t, r, o) {
2537
- return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : i(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
2538
- }, e.gobj_stop = Oe, e.gobj_stop_children = Re, e.gobj_stop_tree = function(e) {
2627
+ return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, o) : f ? f(e, t, r, o) : l(0, -1, n("%s, stats parser not available", Ve(e)), 0, 0);
2628
+ }, e.gobj_stop = Oe, e.gobj_stop_children = we, e.gobj_stop_tree = function(e) {
2539
2629
  return Ye(e) ? (Ht("gobj NULL or DESTROYED"), -1) : (B(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", Me(e))), Ae(e) && Oe(e), ze(e, A.WALK_TOP2BOTTOM, Ne, 0, 0));
2540
2630
  }, e.gobj_subscribe_event = At, e.gobj_trace_level = W, e.gobj_trace_machine_format = function() {
2541
2631
  return C;
@@ -2553,35 +2643,35 @@ var gobjJs = function(e) {
2553
2643
  o.has(n) || Ht(`${Ve(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2554
2644
  }), Sn(t)) t = "";
2555
2645
  else if (!(Tt(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return Ht(`event NOT in output event list: ${Ve(e)}, ev ${t}`), 0;
2556
- let i = Rt(e.dl_subscriptions, e, t, n, r), s = 0;
2557
- for (let t = 0; t < i.length; t++) {
2558
- let n = i[t];
2559
- Dt(e, n, !1, !1), s++;
2646
+ let l = wt(e.dl_subscriptions, e, t, n, r), i = 0;
2647
+ for (let t = 0; t < l.length; t++) {
2648
+ let n = l[t];
2649
+ Dt(e, n, !1, !1), i++;
2560
2650
  }
2561
- return s || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
2651
+ return i || (zt(`${Ve(e)}: No subscription found`), Zt(n, "No subscription found")), 0;
2562
2652
  }, e.gobj_unsubscribe_list = kt, e.gobj_walk_gobj_children = He, e.gobj_walk_gobj_children_tree = ze, e.gobj_write_attr = function(e, t, r, o) {
2563
2653
  if (!En(t)) return Ht(n("gobj_write_attr(%s): path must be a string", Ve(e))), -1;
2564
- let i, s = e.jn_attrs, l = t.split("`");
2565
- if (l.length <= 1) {
2654
+ let l, i = e.jn_attrs, s = t.split("`");
2655
+ if (s.length <= 1) {
2566
2656
  let o = t;
2567
- return o in s && s.hasOwnProperty(o) ? (s[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
2657
+ return o in i && i.hasOwnProperty(o) ? (i[o] = r, pn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0) : (Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), o)), -1);
2568
2658
  }
2569
- let _ = l.length;
2659
+ let _ = s.length;
2570
2660
  for (let t = 0; t < _; t++) {
2571
- i = l[t];
2572
- let n = nt(e, { __gobj_name__: i });
2661
+ l = s[t];
2662
+ let n = nt(e, { __gobj_name__: l });
2573
2663
  if (n && t < _ - 1) {
2574
2664
  e = n;
2575
2665
  continue;
2576
2666
  }
2577
2667
  let o = e.jn_attrs;
2578
- if (i in o && o.hasOwnProperty(i)) return o[i] = r, pn(e.priv) && e.priv.hasOwnProperty(i) && (e.priv[i] = r), e.obflag & w.obflag_created && !(e.obflag & w.obflag_destroyed) && e.mt_writing && e.mt_writing(e, i), 0;
2668
+ if (l in o && o.hasOwnProperty(l)) return o[l] = r, pn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.mt_writing && e.mt_writing(e, l), 0;
2579
2669
  break;
2580
2670
  }
2581
- return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), i)), -1;
2671
+ return Ht(n("gobj_write_attr(%s): attr not found '%s'", Ve(e), l)), -1;
2582
2672
  }, e.gobj_write_attrs = ct, e.gobj_write_bool_attr = ft, e.gobj_write_integer_attr = gt, e.gobj_write_str_attr = dt, e.gobj_yuno = Ce, e.gobj_yuno_id = Ue, e.gobj_yuno_name = Le, e.gobj_yuno_role = Pe, e.id_index_in_obj_list = zn, e.index_in_list = ur, e.is_array = mn, e.is_boolean = hn, e.is_date = function(e) {
2583
2673
  return e instanceof Date && !isNaN(e);
2584
- }, e.is_function = vn, e.is_gobj = jn, e.is_metadata_key = function(e) {
2674
+ }, e.is_function = jn, e.is_gobj = vn, e.is_metadata_key = function(e) {
2585
2675
  if (!En(e)) return !1;
2586
2676
  let t;
2587
2677
  for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -2600,19 +2690,19 @@ var gobjJs = function(e) {
2600
2690
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2601
2691
  if (!o) return Ht("jdb_delete: topic not found: " + t), null;
2602
2692
  if (Sn(r.id)) return Ht("jdb_delete: record without id: " + r), Xt(r), null;
2603
- let i, s = n.split("`"), l = o;
2604
- for (; (i = s.shift()) && !Sn(i) && l;) pn(l) && (l = Fn(null, l, e.hook, null, 0)), l = ir(l, null, i, !1);
2605
- if (0 === s.length && l) if (mn(l)) {
2606
- let e = zn(l, r.id);
2607
- e >= 0 && l.splice(e, 1);
2693
+ let l, i = n.split("`"), s = o;
2694
+ for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, null, 0)), s = lr(s, null, l, !1);
2695
+ if (0 === i.length && s) if (mn(s)) {
2696
+ let e = zn(s, r.id);
2697
+ e >= 0 && s.splice(e, 1);
2608
2698
  } else {
2609
- let t = Fn(null, l, e.hook, null, 0), n = zn(t, r.id);
2699
+ let t = Fn(null, s, e.hook, null, 0), n = zn(t, r.id);
2610
2700
  n >= 0 && t.splice(n, 1);
2611
2701
  }
2612
2702
  return o;
2613
2703
  }, e.jdb_get = function(e, t, n, r) {
2614
2704
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2615
- return o ? (void 0 === r && (r = !0), ir(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
2705
+ return o ? (void 0 === r && (r = !0), lr(o, e.hook, n, r)) : (Ht("jdb_get: topic not found: " + t), null);
2616
2706
  }, e.jdb_get_by_idx = function(e, t, n) {
2617
2707
  let r = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2618
2708
  return r ? n < r.length ? r[n] : {} : (Ht("jdb_get_by_idx: topic not found: " + t), null);
@@ -2624,28 +2714,49 @@ var gobjJs = function(e) {
2624
2714
  n && (e = en(e));
2625
2715
  let r = Fn(null, e, "type", [], 1);
2626
2716
  Ln(null, e, "hook", "data", 1);
2627
- let o = Fn(null, e, "schema", {}, 1), i = Fn(null, e, "topics", {}, 1);
2717
+ let o = Fn(null, e, "schema", {}, 1), l = Fn(null, e, "topics", {}, 1);
2628
2718
  return or(o, function(e, t, n, o) {
2629
- "__" !== t.substring(0, 2) && Fn(null, i, o, en(r), 1);
2719
+ "__" !== t.substring(0, 2) && Fn(null, l, o, en(r), 1);
2630
2720
  }, t), e;
2631
2721
  }, e.jdb_update = function(e, t, n, r) {
2632
2722
  let o = Fn(null, Fn(null, e, "topics", null, 0), t, null, 0);
2633
2723
  if (!o) return Ht("jdb_update: topic not found: " + t), null;
2634
2724
  if (Sn(r.id)) return Ht("jdb_update: record without id: " + r), Xt(r), null;
2635
- let i, s = n.split("`"), l = o;
2636
- for (; (i = s.shift()) && !Sn(i) && l;) pn(l) && (l = Fn(null, l, e.hook, [], 1)), l = ir(l, null, i, !1);
2637
- if (0 === s.length && l) if (mn(l)) l.push(r);
2638
- else if (l.id === r.id) Object.assign(l, r);
2725
+ let l, i = n.split("`"), s = o;
2726
+ for (; (l = i.shift()) && !Sn(l) && s;) pn(s) && (s = Fn(null, s, e.hook, [], 1)), s = lr(s, null, l, !1);
2727
+ if (0 === i.length && s) if (mn(s)) s.push(r);
2728
+ else if (s.id === r.id) Object.assign(s, r);
2639
2729
  else {
2640
- let t = Fn(null, l, e.hook, [], 1), n = ir(t, e.hook, r.id, !1);
2730
+ let t = Fn(null, s, e.hook, [], 1), n = lr(t, e.hook, r.id, !1);
2641
2731
  n ? Object.assign(n, r) : t.push(r);
2642
2732
  }
2643
2733
  return o;
2734
+ }, e.json2flat = function(e) {
2735
+ const t = {}, n = (e, r, o) => {
2736
+ if (o > gr) throw new Error("json2flat: deeper than 256");
2737
+ if (null === e || "object" != typeof e || Array.isArray(e)) {
2738
+ if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2739
+ const l = `[${t}]`;
2740
+ n(e, 0 === o ? l : r + "`" + l, o + 1);
2741
+ });
2742
+ } else {
2743
+ const t = Object.keys(e);
2744
+ if (t.length > 0) {
2745
+ for (const l of t) {
2746
+ const t = br(l);
2747
+ n(e[l], 0 === o ? t : r + "`" + t, o + 1);
2748
+ }
2749
+ return;
2750
+ }
2751
+ }
2752
+ 0 !== o && (t[r] = e);
2753
+ };
2754
+ return null == e || n(e, "", 0), t;
2644
2755
  }, e.json_array_append = un, e.json_array_append_new = cn, e.json_array_extend = function(e, t) {
2645
2756
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2646
- }, e.json_array_remove = fn, e.json_array_size = dn, e.json_deep_copy = en, e.json_is_identical = tn, e.json_object_del = ln, e.json_object_get = sn, e.json_object_set = _n, e.json_object_set_new = an, e.json_object_size = gn, e.json_object_update = nn, e.json_object_update_existing = rn, e.json_object_update_missing = on, e.json_size = bn, e.jwt2json = function(e, t) {
2757
+ }, e.json_array_remove = fn, e.json_array_size = dn, e.json_deep_copy = en, e.json_is_identical = tn, e.json_object_del = sn, e.json_object_get = ln, e.json_object_set = _n, e.json_object_set_new = an, e.json_object_size = gn, e.json_object_update = nn, e.json_object_update_existing = rn, e.json_object_update_missing = on, e.json_size = bn, e.jwt2json = function(e, t) {
2647
2758
  try {
2648
- let n = sr(e);
2759
+ let n = ir(e);
2649
2760
  switch (t) {
2650
2761
  case "header": return JSON.parse(n.header);
2651
2762
  case "signature": return JSON.parse(n.signature);
@@ -2654,13 +2765,13 @@ var gobjJs = function(e) {
2654
2765
  } catch (e) {
2655
2766
  return null;
2656
2767
  }
2657
- }, e.jwtDecode = sr, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
2658
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
2768
+ }, e.jwtDecode = ir, e.kw_clone_by_keys = Kn, e.kw_clone_by_not_keys = xn, e.kw_collect = function(e, t, n, r) {
2769
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
2659
2770
  r || (r = Wn);
2660
2771
  let o = [];
2661
2772
  if (mn(t)) for (let e = 0; e < t.length; e++) {
2662
- let i = t[e];
2663
- r(i, n) && o.push(i);
2773
+ let l = t[e];
2774
+ r(l, n) && o.push(l);
2664
2775
  }
2665
2776
  else {
2666
2777
  if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
@@ -2672,36 +2783,36 @@ var gobjJs = function(e) {
2672
2783
  for (let e = 0; e < t.length; e++) if (tn(n, t[e])) return e;
2673
2784
  return r && Ht("item not found in this list"), -1;
2674
2785
  }, e.kw_find_path = kn, e.kw_flag_t = Lt, e.kw_get_bool = $n, e.kw_get_dict = Un, e.kw_get_dict_value = Fn, e.kw_get_int = Cn, e.kw_get_list = function(e, t, n, r, o) {
2675
- e && !jn(e) && Ht("GObj bad instanceof");
2676
- let i = kn(e, t, n, !1);
2677
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2678
- if (void 0 === i) {
2679
- if (l) {
2786
+ e && !vn(e) && Ht("GObj bad instanceof");
2787
+ let l = kn(e, t, n, !1);
2788
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2789
+ if (void 0 === l) {
2790
+ if (s) {
2680
2791
  let o = Array(r);
2681
2792
  return Gn(e, t, n, o), o;
2682
2793
  }
2683
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
2794
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Array(r);
2684
2795
  }
2685
- return _ && In(e, t, n), mn(i) ? Array(i) : (s && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
2796
+ return _ && In(e, t, n), mn(l) ? Array(l) : (i && (Ht(`path value MUST BE an array: ${n}`), Xt(t)), Array(r));
2686
2797
  }, e.kw_get_local_storage_value = Yn, e.kw_get_pointer = Pn, e.kw_get_real = function(e, t, n, r, o) {
2687
- e && !jn(e) && Ht("GObj bad instanceof");
2688
- let i = kn(e, t, n, !1);
2689
- const s = o && o & Lt.KW_REQUIRED, l = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2690
- if (void 0 === i) {
2691
- if (l) {
2798
+ e && !vn(e) && Ht("GObj bad instanceof");
2799
+ let l = kn(e, t, n, !1);
2800
+ const i = o && o & Lt.KW_REQUIRED, s = o && o & Lt.KW_CREATE, _ = o && o & Lt.KW_EXTRACT;
2801
+ if (void 0 === l) {
2802
+ if (s) {
2692
2803
  let o = Number(r);
2693
2804
  return Gn(e, t, n, o), o;
2694
2805
  }
2695
- return s && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
2806
+ return i && (Ht(`path not found: '${n}'`), Zt(t)), Number(r);
2696
2807
  }
2697
- return _ && In(e, t, n), Tn(i) ? Number(i) : (s && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
2808
+ return _ && In(e, t, n), Tn(l) ? Number(l) : (i && (Ht(`path value MUST BE a number: ${n}`), Xt(t)), Number(r));
2698
2809
  }, e.kw_get_str = Ln, e.kw_has_key = An, e.kw_match_simple = Wn, e.kw_pop = Dn, e.kw_remove_local_storage_value = Jn, e.kw_select = function(e, t, n, r) {
2699
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return null;
2810
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return null;
2700
2811
  r || (r = Wn);
2701
2812
  let o = [];
2702
2813
  if (mn(t)) for (let e = 0; e < t.length; e++) {
2703
- let i = t[e];
2704
- r(i, n) && o.push(en(i));
2814
+ let l = t[e];
2815
+ r(l, n) && o.push(en(l));
2705
2816
  }
2706
2817
  else {
2707
2818
  if (!pn(t)) return Ht("kw_select() BAD kw parameter"), null;
@@ -2709,11 +2820,11 @@ var gobjJs = function(e) {
2709
2820
  }
2710
2821
  return o;
2711
2822
  }, e.kw_set_dict_value = Gn, e.kw_set_local_storage_value = Bn, e.kw_set_subdict_value = Vn, e.kwid_collect = Hn, e.kwid_find_one_record = function(e, t, n, r, o) {
2712
- e && !jn(e) && Ht("GObj bad instanceof");
2713
- let i = Hn(e, t, n, r, o);
2714
- return i.length > 0 ? i[0] : null;
2823
+ e && !vn(e) && Ht("GObj bad instanceof");
2824
+ let l = Hn(e, t, n, r, o);
2825
+ return l.length > 0 ? l[0] : null;
2715
2826
  }, e.kwid_get_ids = function(e, t) {
2716
- if (e && !jn(e) && Ht("GObj bad instanceof"), !t) return [];
2827
+ if (e && !vn(e) && Ht("GObj bad instanceof"), !t) return [];
2717
2828
  let n = [];
2718
2829
  if (En(t)) n.push(t);
2719
2830
  else if (pn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
@@ -2726,12 +2837,12 @@ var gobjJs = function(e) {
2726
2837
  });
2727
2838
  return n;
2728
2839
  }, e.kwid_match_id = qn, e.kwid_new_dict = function(e, t, n) {
2729
- e && !jn(e) && Ht("GObj bad instanceof");
2840
+ e && !vn(e) && Ht("GObj bad instanceof");
2730
2841
  let r = {};
2731
2842
  if (Sn(n) || (t = kn(e, t, n)), pn(t)) r = t;
2732
2843
  else if (mn(t)) for (let n = 0; n < t.length; n++) {
2733
- let o = t[n], i = Ln(e, o, "id", "", 0);
2734
- Sn(i) || (r[i] = o);
2844
+ let o = t[n], l = Ln(e, o, "id", "", 0);
2845
+ Sn(l) || (r[l] = o);
2735
2846
  }
2736
2847
  else Ht(`${Ve(e)} kwid_new_dict: data type unknown`);
2737
2848
  return r;
@@ -2739,28 +2850,28 @@ var gobjJs = function(e) {
2739
2850
  t = t || "id", n = n || "value";
2740
2851
  let r = [];
2741
2852
  if (mn(e)) for (let o = 0; o < e.length; o++) {
2742
- let i = e[o];
2743
- if (En(i)) r.push({
2853
+ let l = e[o];
2854
+ if (En(l)) r.push({
2744
2855
  id: e[o],
2745
2856
  value: e[o]
2746
2857
  });
2747
- else if (pn(i)) {
2858
+ else if (pn(l)) {
2748
2859
  let e = {};
2749
- if (An(i, t)) {
2750
- if (!An(i, n)) {
2751
- if (!(bn(i) > 0)) {
2860
+ if (An(l, t)) {
2861
+ if (!An(l, n)) {
2862
+ if (!(bn(l) > 0)) {
2752
2863
  Ht("list2options(): object without field value: " + n);
2753
2864
  continue;
2754
2865
  }
2755
- n = Object.keys(i)[0];
2866
+ n = Object.keys(l)[0];
2756
2867
  }
2757
- e.id = i[t], e.value = i[n];
2868
+ e.id = l[t], e.value = l[n];
2758
2869
  } else {
2759
- if (!(bn(i) > 0)) {
2870
+ if (!(bn(l) > 0)) {
2760
2871
  Ht("list2options(): object without field id: " + t);
2761
2872
  continue;
2762
2873
  }
2763
- t = Object.keys(i)[0], e.id = t, e.value = i[t];
2874
+ t = Object.keys(l)[0], e.id = t, e.value = l[t];
2764
2875
  }
2765
2876
  r.push(e);
2766
2877
  } else Ht("list2options(): case1 not implemented");
@@ -2788,7 +2899,7 @@ var gobjJs = function(e) {
2788
2899
  }, e.log_warning = zt, e.msg_iev_get_msg_type = rr, e.msg_iev_get_stack = tr, e.msg_iev_push_stack = er, e.msg_iev_read_key = Xn, e.msg_iev_set_msg_type = nr, e.msg_iev_write_key = Zn, e.node_uuid = cr, e.parseBoolean = On, e.parseSVG = function(e) {
2789
2900
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
2790
2901
  }, e.refresh_language = function(e, t) {
2791
- vn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2902
+ jn(t) ? (e || (e = document), e.querySelectorAll("[data-i18n]").forEach(function(e) {
2792
2903
  let n = e.getAttribute("data-i18n");
2793
2904
  for (let r of e.childNodes) if (r.nodeType === Node.TEXT_NODE) {
2794
2905
  n || (n = r.nodeValue), r.nodeValue = t(n);
@@ -2806,22 +2917,22 @@ var gobjJs = function(e) {
2806
2917
  })) : Ht("You must supply a translation function");
2807
2918
  }, e.register_c_ievent_cli = function() {
2808
2919
  return function(e) {
2809
- if (Lr) return Ht(`GClass ALREADY created: ${e}`), -1;
2920
+ if (Vr) return Ht(`GClass ALREADY created: ${e}`), -1;
2810
2921
  const t = [
2811
2922
  ["ST_DISCONNECTED", [
2812
2923
  [
2813
2924
  "EV_ON_OPEN",
2814
- Yr,
2925
+ zr,
2815
2926
  "ST_WAIT_IDENTITY_CARD_ACK"
2816
2927
  ],
2817
2928
  [
2818
2929
  "EV_ON_CLOSE",
2819
- Br,
2930
+ Qr,
2820
2931
  null
2821
2932
  ],
2822
2933
  [
2823
2934
  "EV_TIMEOUT",
2824
- xr,
2935
+ Hr,
2825
2936
  null
2826
2937
  ],
2827
2938
  [
@@ -2833,22 +2944,22 @@ var gobjJs = function(e) {
2833
2944
  ["ST_WAIT_IDENTITY_CARD_ACK", [
2834
2945
  [
2835
2946
  "EV_ON_MESSAGE",
2836
- Hr,
2947
+ eo,
2837
2948
  null
2838
2949
  ],
2839
2950
  [
2840
2951
  "EV_IDENTITY_CARD_ACK",
2841
- qr,
2952
+ Zr,
2842
2953
  null
2843
2954
  ],
2844
2955
  [
2845
2956
  "EV_ON_CLOSE",
2846
- Br,
2957
+ Qr,
2847
2958
  "ST_DISCONNECTED"
2848
2959
  ],
2849
2960
  [
2850
2961
  "EV_TIMEOUT",
2851
- Jr,
2962
+ Xr,
2852
2963
  null
2853
2964
  ],
2854
2965
  [
@@ -2860,22 +2971,22 @@ var gobjJs = function(e) {
2860
2971
  ["ST_SESSION", [
2861
2972
  [
2862
2973
  "EV_ON_MESSAGE",
2863
- Hr,
2974
+ eo,
2864
2975
  null
2865
2976
  ],
2866
2977
  [
2867
2978
  "EV_MT_STATS",
2868
- zr,
2979
+ to,
2869
2980
  null
2870
2981
  ],
2871
2982
  [
2872
2983
  "EV_MT_COMMAND",
2873
- Qr,
2984
+ no,
2874
2985
  null
2875
2986
  ],
2876
2987
  [
2877
2988
  "EV_ON_CLOSE",
2878
- Br,
2989
+ Qr,
2879
2990
  "ST_DISCONNECTED"
2880
2991
  ],
2881
2992
  [
@@ -2886,7 +2997,7 @@ var gobjJs = function(e) {
2886
2997
  ]],
2887
2998
  [null, null]
2888
2999
  ];
2889
- return (Lr = te(e, [
3000
+ return (Vr = te(e, [
2890
3001
  ["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
2891
3002
  ["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
2892
3003
  ["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
@@ -2897,36 +3008,36 @@ var gobjJs = function(e) {
2897
3008
  ["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
2898
3009
  ["EV_TIMEOUT", 0],
2899
3010
  [null, 0]
2900
- ], t, Xr, 0, $r, Cr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
3011
+ ], t, ro, 0, Fr, Gr, 0, 0, 0, N.gcflag_no_check_output_events)) ? 0 : -1;
2901
3012
  }("C_IEVENT_CLI");
2902
3013
  }, e.register_c_timer = function() {
2903
3014
  return function(e) {
2904
- if (yr) return Ht(`GClass ALREADY created: ${e}`), -1;
3015
+ if (Nr) return Ht(`GClass ALREADY created: ${e}`), -1;
2905
3016
  const t = [["ST_IDLE", [[
2906
3017
  "EV_TIMEOUT",
2907
- vr,
3018
+ wr,
2908
3019
  null
2909
3020
  ]]]];
2910
- return (yr = te(e, [
3021
+ return (Nr = te(e, [
2911
3022
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
2912
3023
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
2913
3024
  [0, 0]
2914
- ], t, jr, 0, Tr, hr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
3025
+ ], t, Rr, 0, Sr, Or, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
2915
3026
  }("C_TIMER");
2916
3027
  }, e.register_c_yuno = function() {
2917
3028
  return function(e) {
2918
- if (Dr) return Ht(`GClass ALREADY created: ${e}`), -1;
3029
+ if (Cr) return Ht(`GClass ALREADY created: ${e}`), -1;
2919
3030
  const t = [["ST_IDLE", [[
2920
3031
  "EV_TIMEOUT_PERIODIC",
2921
- Ar,
3032
+ Lr,
2922
3033
  null
2923
3034
  ]]]];
2924
- return (Dr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, kr, 0, Rr, wr, 0, 0, 0, 0)) ? 0 : -1;
3035
+ return (Cr = te(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, Pr, 0, Ir, $r, 0, 0, 0, 0)) ? 0 : -1;
2925
3036
  }("C_YUNO");
2926
3037
  }, e.safeSrc = function(e) {
2927
3038
  if (!e) return "";
2928
3039
  const t = String(e).trim();
2929
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : lr(t);
3040
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : sr(t);
2930
3041
  }, e.sdata_flag_t = h, e.send_http_json_post = function(e, t, n) {
2931
3042
  let r = new XMLHttpRequest();
2932
3043
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -2938,7 +3049,7 @@ var gobjJs = function(e) {
2938
3049
  Kt = "function" == typeof e ? e : null;
2939
3050
  }, e.set_log_callback = function(e) {
2940
3051
  Mt = "function" == typeof e ? e : null;
2941
- }, e.set_remote_log_functions = Jt, e.set_timeout = Sr, e.set_timeout_periodic = Or, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = Rn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
3052
+ }, e.set_remote_log_functions = Jt, e.set_timeout = Dr, e.set_timeout_periodic = Ar, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Qn, e.strcasecmp = wn, e.strcmp = Nn, e.strncmp = function(e, t, n) {
2942
3053
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
2943
3054
  return r === o ? 0 : r > o ? 1 : -1;
2944
3055
  }, e.strs_in_list = function(e, t, n) {
@@ -2967,9 +3078,9 @@ var gobjJs = function(e) {
2967
3078
  let e = t.split(".");
2968
3079
  for (let t = 0; t < e.length; t++) {
2969
3080
  let r = e[t];
2970
- if (Qn(br, r)) n.real_type || (n.real_type = r);
2971
- else if (Qn(mr, r)) n.type || (n.type = r);
2972
- else if (Qn(pr, r)) switch (r) {
3081
+ if (Qn(hr, r)) n.real_type || (n.real_type = r);
3082
+ else if (Qn(jr, r)) n.type || (n.type = r);
3083
+ else if (Qn(yr, r)) switch (r) {
2973
3084
  case "writable":
2974
3085
  n.is_writable = !0;
2975
3086
  break;
@@ -2981,19 +3092,19 @@ var gobjJs = function(e) {
2981
3092
  }
2982
3093
  }
2983
3094
  n.real_type || (n.real_type = "string");
2984
- } else pn(t) ? (n = Er(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
3095
+ } else pn(t) ? (n = vr(t), n.name || (n.name = e), n.header || (n.header = e)) : mn(t) && (n.real_type = "array", n.enum_list = t);
2985
3096
  return n.type || (n.type = n.real_type), n;
2986
3097
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
2987
3098
  const n = e, r = performance.now();
2988
3099
  let o = r;
2989
- return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", i = "") => {
2990
- const s = performance.now(), l = (s - o) / 1e3, _ = (s - r) / 1e3;
2991
- return t && zt(`--\x3e ${n} ${e} - partial: ${l} sec, total: ${_} sec, ${i}`), o = s, {
2992
- partial: l,
3100
+ return t && zt(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", l = "") => {
3101
+ const i = performance.now(), s = (i - o) / 1e3, _ = (i - r) / 1e3;
3102
+ return t && zt(`--\x3e ${n} ${e} - partial: ${s} sec, total: ${_} sec, ${l}`), o = i, {
3103
+ partial: s,
2993
3104
  total: _
2994
3105
  };
2995
3106
  } };
2996
- }, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = dr, e.treedb_decoder_hook = function(e, t) {
3107
+ }, e.trace_json = Zt, e.trace_level_t = P, e.trace_msg = Xt, e.treedb_decoder_fkey = Tr, e.treedb_decoder_hook = function(e, t) {
2997
3108
  if (En(t)) {
2998
3109
  if (-1 === t.indexOf("^")) {
2999
3110
  let n, r = e.hook;
@@ -3020,9 +3131,9 @@ var gobjJs = function(e) {
3020
3131
  id: t.id
3021
3132
  } : (Ht("bad hook 3"), Ht(e), Ht(t), null);
3022
3133
  }, e.treedb_encoder_fkey = function(e, t) {
3023
- let n = dr(e, t);
3134
+ let n = Tr(e, t);
3024
3135
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3025
- }, e.treedb_get_field_desc = Er, e.treedb_hook_data_size = function(e) {
3136
+ }, e.treedb_get_field_desc = vr, e.treedb_hook_data_size = function(e) {
3026
3137
  if (mn(e) && 1 === bn(e)) {
3027
3138
  let t = e[0];
3028
3139
  return An(t, "size") ? t.size : 1;