@yuneta/gobj-js 7.26.26 → 7.26.28

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.
@@ -227,7 +227,7 @@ var gobjJs = function(e) {
227
227
  };
228
228
  var x = 1;
229
229
  function K(e) {
230
- Ko(e) && (e = JSON.stringify(e)), ar(" ".repeat(Math.max(1, 2 * h)) + String(e));
230
+ Bo(e) && (e = JSON.stringify(e)), ar(" ".repeat(Math.max(1, 2 * h)) + String(e));
231
231
  }
232
232
  var B = Object.freeze({
233
233
  TRACE_MACHINE: 65536,
@@ -321,7 +321,7 @@ var gobjJs = function(e) {
321
321
  B.TRACE_COMMANDS,
322
322
  "Trace commands"
323
323
  ]
324
- ], J = 0, H = 0, q = 0;
324
+ ], J = 0, q = 0, H = 0;
325
325
  function z(e, t) {
326
326
  let n = [];
327
327
  for (const [t, r] of Y) e & r && n.push(t);
@@ -329,7 +329,7 @@ var gobjJs = function(e) {
329
329
  return n;
330
330
  }
331
331
  function Q(e, t, n) {
332
- if (Xo(e)) return void 0 === n ? 268369920 : 65535;
332
+ if (Zo(e)) return void 0 === n ? 268369920 : 65535;
333
333
  if (/^[0-9]+$/.test(String(e))) {
334
334
  const t = Number(e);
335
335
  if (t) return t;
@@ -343,12 +343,12 @@ var gobjJs = function(e) {
343
343
  }(String(e), n) || (ir(`${t}: trace level NOT FOUND: ${e}`), 0);
344
344
  }
345
345
  function X(e) {
346
- if (q) return 4294967295;
346
+ if (H) return 4294967295;
347
347
  let t = J;
348
348
  return e && (t |= e.trace_level || 0, e.gclass && (t |= e.gclass.trace_level || 0)), t;
349
349
  }
350
350
  function Z(e) {
351
- let t = H;
351
+ let t = q;
352
352
  return e && (t |= e.no_trace_level || 0, e.gclass && (t |= e.gclass.no_trace_level || 0)), t;
353
353
  }
354
354
  function ee(e) {
@@ -364,13 +364,13 @@ var gobjJs = function(e) {
364
364
  return X(e) & B.TRACE_EV_KW;
365
365
  }
366
366
  function oe(e, t) {
367
- if (q > 1) return !0;
367
+ if (H > 1) return !0;
368
368
  if (!e) return !1;
369
369
  const n = X(e);
370
370
  return !!(n & B.TRACE_MACHINE || n & B.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & B.TRACE_TIMER && "EV_TIMEOUT" === t);
371
371
  }
372
372
  function le(e, t) {
373
- if (q > 1) return !1;
373
+ if (H > 1) return !1;
374
374
  if (!e) return !0;
375
375
  const n = Z(e);
376
376
  return !!(n & B.TRACE_MACHINE || n & B.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & B.TRACE_TIMER && "EV_TIMEOUT" === t);
@@ -381,47 +381,47 @@ var gobjJs = function(e) {
381
381
  }
382
382
  function se(e, t) {
383
383
  const n = Q(e, "gobj_set_global_no_trace");
384
- return n ? (t ? H |= n : H &= ~n, 0) : -1;
384
+ return n ? (t ? q |= n : q &= ~n, 0) : -1;
385
385
  }
386
386
  function ae(e, t) {
387
387
  return J = t ? (J | e) >>> 0 : (J & ~e) >>> 0, 0;
388
388
  }
389
389
  function ue(e, t) {
390
- return H = t ? (H | e) >>> 0 : (H & ~e) >>> 0, 0;
390
+ return q = t ? (q | e) >>> 0 : (q & ~e) >>> 0, 0;
391
391
  }
392
392
  function _e() {
393
393
  return z(J, null);
394
394
  }
395
395
  function ce() {
396
- return z(H, null);
396
+ return z(q, null);
397
397
  }
398
398
  function fe(e) {
399
- const t = Yo(e) ? et(e) : e;
399
+ const t = Jo(e) ? et(e) : e;
400
400
  return t ? z(t.trace_level | J, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
401
401
  }
402
402
  function ge(e) {
403
- const t = Yo(e) ? et(e) : e;
403
+ const t = Jo(e) ? et(e) : e;
404
404
  return t ? z(t.trace_level, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
405
405
  }
406
406
  function de(e) {
407
- const t = Yo(e) ? et(e) : e;
407
+ const t = Jo(e) ? et(e) : e;
408
408
  return t ? z(t.no_trace_level, t.s_user_trace_level) : (ir(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
409
409
  }
410
410
  function be(e, t, n) {
411
- const r = Yo(e) ? et(e) : e;
411
+ const r = Jo(e) ? et(e) : e;
412
412
  if (!r) return ir(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
413
413
  const o = null === t ? 4294967295 : Q(t, "gobj_set_gclass_trace", r.s_user_trace_level || null);
414
414
  return o ? (n ? r.trace_level |= o : r.trace_level &= ~o, 0) : -1;
415
415
  }
416
416
  function pe(e, t, n) {
417
- const r = Yo(e) ? et(e) : e;
417
+ const r = Jo(e) ? et(e) : e;
418
418
  if (!r) return ir(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
419
419
  const o = null === t ? 4294967295 : Q(t, "gobj_set_gclass_no_trace", r.s_user_trace_level || null);
420
420
  return o ? (n ? r.no_trace_level |= o : r.no_trace_level &= ~o, 0) : -1;
421
421
  }
422
422
  function me(e, t) {
423
423
  let n = {};
424
- if (!Bo(t)) return ir("sdata_desc MUST be an array"), _r(t), n;
424
+ if (!Yo(t)) return ir("sdata_desc MUST be an array"), _r(t), n;
425
425
  for (let r = 0; r < t.length; r++) {
426
426
  const o = t[r];
427
427
  o.name && he(e, n, o);
@@ -435,7 +435,7 @@ var gobjJs = function(e) {
435
435
  r = String(o);
436
436
  break;
437
437
  case E.DTP_BOOLEAN:
438
- r = Zo(o);
438
+ r = el(o);
439
439
  break;
440
440
  case E.DTP_INTEGER:
441
441
  r = parseInt(o), isNaN(r) && ir(`${kt(e)}: attr NaN: ${n.name}`);
@@ -444,26 +444,26 @@ var gobjJs = function(e) {
444
444
  r = Number(o), isNaN(r) && ir(`${kt(e)}: attr NaN: ${n.name}`);
445
445
  break;
446
446
  case E.DTP_LIST:
447
- if (Yo(o)) try {
447
+ if (Jo(o)) try {
448
448
  r = JSON.parse(o);
449
449
  } catch (e) {
450
450
  ir(`JSON parse error: ${e.message}`);
451
451
  }
452
452
  else r = o;
453
- Bo(r) || (r = []);
453
+ Yo(r) || (r = []);
454
454
  break;
455
455
  case E.DTP_DICT:
456
- if (Yo(o)) try {
456
+ if (Jo(o)) try {
457
457
  r = JSON.parse(o);
458
458
  } catch (e) {
459
459
  ir(`JSON parse error: ${e.message}`);
460
460
  }
461
461
  else r = o;
462
- Ko(r) || (r = {});
462
+ Bo(r) || (r = {});
463
463
  break;
464
464
  case E.DTP_JSON:
465
465
  if ("" === o || void 0 === o) r = null;
466
- else if (Yo(o)) try {
466
+ else if (Jo(o)) try {
467
467
  r = JSON.parse(o);
468
468
  } catch (e) {
469
469
  ir(`JSON parse error: ${e.message}`);
@@ -552,16 +552,16 @@ var gobjJs = function(e) {
552
552
  }(e)) return t;
553
553
  }
554
554
  function $e(e, t) {
555
- return T(e) ? Yo(t) : w(e) ? Ko(t) : S(e) ? Bo(t) : !$(e) || "number" == typeof t || "boolean" == typeof t;
555
+ return T(e) ? Jo(t) : w(e) ? Bo(t) : S(e) ? Yo(t) : !$(e) || "number" == typeof t || "boolean" == typeof t;
556
556
  }
557
557
  function Ae(e) {
558
558
  return e >= -0x8000000000000000 && e < 0x8000000000000000;
559
559
  }
560
560
  function Re(e) {
561
- return Bo(e) ? "an array" : Ko(e) ? "an object" : Yo(e) ? je : "number" == typeof e ? Number.isInteger(e) && Ae(e) ? "an integer" : "a real" : "boolean" == typeof e ? "a boolean" : "null";
561
+ return Yo(e) ? "an array" : Bo(e) ? "an object" : Jo(e) ? je : "number" == typeof e ? Number.isInteger(e) && Ae(e) ? "an integer" : "a real" : "boolean" == typeof e ? "a boolean" : "null";
562
562
  }
563
563
  function De(e, t, n) {
564
- if (Yo(t) || (t = ""), T(e)) return {
564
+ if (Jo(t) || (t = ""), T(e)) return {
565
565
  value: t,
566
566
  refused: null
567
567
  };
@@ -656,9 +656,9 @@ var gobjJs = function(e) {
656
656
  value: void 0,
657
657
  refused: null
658
658
  };
659
- const n = Yo(t) && t.indexOf("\0") >= 0;
659
+ const n = Jo(t) && t.indexOf("\0") >= 0;
660
660
  if (N(e)) {
661
- if (!Yo(t) || n) return {
661
+ if (!Jo(t) || n) return {
662
662
  value: t,
663
663
  refused: null
664
664
  };
@@ -671,7 +671,7 @@ var gobjJs = function(e) {
671
671
  return T(e) || w(e) || S(e) || $(e) ? n ? {
672
672
  value: void 0,
673
673
  refused: "a text with a NUL in it"
674
- } : Yo(t) && !T(e) ? De(e, t, !0) : $e(e, t) ? $(e) ? function(e, t) {
674
+ } : Jo(t) && !T(e) ? De(e, t, !0) : $e(e, t) ? $(e) ? function(e, t) {
675
675
  return "number" != typeof t || Number.isFinite(t) ? j(e) ? {
676
676
  value: "boolean" == typeof t ? t : 0 !== t,
677
677
  refused: null
@@ -775,7 +775,7 @@ var gobjJs = function(e) {
775
775
  function Fe(e) {
776
776
  if (Le(e)) try {
777
777
  const t = JSON.stringify(e);
778
- return Yo(t) ? t : void 0;
778
+ return Jo(t) ? t : void 0;
779
779
  } catch (e) {
780
780
  return;
781
781
  }
@@ -792,7 +792,7 @@ var gobjJs = function(e) {
792
792
  let l;
793
793
  if (t.flag & A.SDF_SECRET) l = "********";
794
794
  else {
795
- l = Yo(n) ? n : Fe(void 0 === n ? null : n), void 0 === l && (l = `<${Ue}>`);
795
+ l = Jo(n) ? n : Fe(void 0 === n ? null : n), void 0 === l && (l = `<${Ue}>`);
796
796
  const e = To(l);
797
797
  if (null !== e && (l = e), l.length > 64) {
798
798
  let e = 64;
@@ -807,7 +807,7 @@ var gobjJs = function(e) {
807
807
  switch (n.type) {
808
808
  case E.DTP_STRING:
809
809
  if (null == r) o = "";
810
- else if (Yo(r)) o = String(r);
810
+ else if (Jo(r)) o = String(r);
811
811
  else if (o = Fe(r), void 0 === o) return Me(e, n, r, Ue), -1;
812
812
  break;
813
813
  case E.DTP_BOOLEAN:
@@ -823,7 +823,7 @@ var gobjJs = function(e) {
823
823
  }
824
824
  break;
825
825
  case E.DTP_JSON:
826
- if (o = r, Yo(r)) {
826
+ if (o = r, Jo(r)) {
827
827
  const e = r.trim();
828
828
  if (e.startsWith("{") || e.startsWith("[")) try {
829
829
  o = JSON.parse(e);
@@ -834,7 +834,7 @@ var gobjJs = function(e) {
834
834
  break;
835
835
  case E.DTP_POINTER: o = r;
836
836
  }
837
- return void 0 === o && ir(`${kt(e)}: attr undefined: ${n.name}`), t[n.name] = o, Ko(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, n.name) && (e.priv[n.name] = o), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
837
+ return void 0 === o && ir(`${kt(e)}: attr undefined: ${n.name}`), t[n.name] = o, Bo(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, n.name) && (e.priv[n.name] = o), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
838
838
  }
839
839
  function Ve(e) {
840
840
  return e.jn_attrs;
@@ -852,7 +852,7 @@ var gobjJs = function(e) {
852
852
  return n && ir(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
853
853
  }
854
854
  function Ke(e, t, n, r, o, l, i, s, a, u, _) {
855
- if (Xo(e)) return ir("gclass_name EMPTY"), null;
855
+ if (Zo(e)) return ir("gclass_name EMPTY"), null;
856
856
  if (e.includes("`") || e.includes("^") || e.includes(".")) return ir(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
857
857
  if (et(e)) return ir(`GClass ALREADY exists: ${e}`), null;
858
858
  let c = new C(e, r, o, l, i, s, a, u, _);
@@ -862,17 +862,17 @@ var gobjJs = function(e) {
862
862
  const f = n.length;
863
863
  for (let e = 0; e < f; e++) {
864
864
  let t = n[e][0], r = n[e][1];
865
- if (Xo(t)) continue;
866
- if (He(c, t) < 0) return Be(c), null;
865
+ if (Zo(t)) continue;
866
+ if (qe(c, t) < 0) return Be(c), null;
867
867
  const o = r.length;
868
868
  for (let e = 0; e < o; e++) {
869
869
  let n = r[e][0], o = r[e][1], l = r[e][2];
870
- Xo(n) || qe(c, t, n, o, l);
870
+ Zo(n) || He(c, t, n, o, l);
871
871
  }
872
872
  }
873
873
  for (let e = 0; e < t.length; e++) {
874
874
  let n = t[e][0], r = t[e][1];
875
- if (!Xo(n)) {
875
+ if (!Zo(n)) {
876
876
  if (Xe(c, n)) return ir(`SMachine: event repeated in input_events: ${n}`), Be(c), null;
877
877
  Qe(c, n, r);
878
878
  }
@@ -885,7 +885,7 @@ var gobjJs = function(e) {
885
885
  }
886
886
  function Be(e) {
887
887
  let t;
888
- if (Yo(e)) t = e;
888
+ if (Jo(e)) t = e;
889
889
  else {
890
890
  if (!(e instanceof C)) return ir("Cannot unregister gclass, type unknown"), -1;
891
891
  t = e.gclass_name;
@@ -909,17 +909,17 @@ var gobjJs = function(e) {
909
909
  }
910
910
  return null;
911
911
  }
912
- function He(e, t) {
912
+ function qe(e, t) {
913
913
  return e instanceof C ? Ye(e, t) ? (ir(`state already exists: ${t}`), -1) : (e.dl_states.push(new V(t)), 0) : (ir("Cannot add state, typeof not GClass"), -1);
914
914
  }
915
- function qe(e, t, n, r, o) {
915
+ function He(e, t, n, r, o) {
916
916
  if (!(e instanceof C)) return ir("Cannot add state, typeof not GClass"), -1;
917
- if (Xo(t)) return ir("state_name EMPTY"), -1;
917
+ if (Zo(t)) return ir("state_name EMPTY"), -1;
918
918
  let l = Ye(e, t);
919
919
  return l ? Je(l, n) ? (ir(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (l.dl_actions.push(new G(n, r, o)), 0) : (ir(`state not found: ${t}`), -1);
920
920
  }
921
921
  function ze(e, t, n) {
922
- Xo(t) || e.push(new W(t, n));
922
+ Zo(t) || e.push(new W(t, n));
923
923
  }
924
924
  function Qe(e, t, n) {
925
925
  return e instanceof C ? ze(e.dl_events, t, n) : (ir("Cannot add state, typeof not GClass"), -1);
@@ -939,18 +939,18 @@ var gobjJs = function(e) {
939
939
  Wo(e.dl_states) || (ir(`GClass without states: ${e.gclass_name}`), t += -1);
940
940
  for (let n = 0; n < e.dl_states.length; n++) {
941
941
  let r = e.dl_states[n];
942
- if (!Xo(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
942
+ if (!Zo(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
943
943
  let o = r.dl_actions[n];
944
- Xo(o.event_name) || (Xe(e, o.event_name) || (ir(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (Ye(e, o.next_state) || (ir(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
944
+ Zo(o.event_name) || (Xe(e, o.event_name) || (ir(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${o.event_name}`), t += -1), o.next_state && (Ye(e, o.next_state) || (ir(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${o.next_state}`), t += -1)));
945
945
  }
946
946
  }
947
947
  for (let n = 0; n < e.dl_events.length; n++) {
948
948
  let r = e.dl_events[n];
949
- if (!Xo(r.event_name) && (Jo(r.event_flag) || (ir(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & F.EVF_OUTPUT_EVENT))) {
949
+ if (!Zo(r.event_name) && (qo(r.event_flag) || (ir(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & F.EVF_OUTPUT_EVENT))) {
950
950
  let n = !1;
951
951
  for (let t = 0; t < e.dl_states.length; t++) {
952
952
  let o = e.dl_states[t];
953
- Xo(o.state_name) || Je(o, r.event_name) && (n = !0);
953
+ Zo(o.state_name) || Je(o, r.event_name) && (n = !0);
954
954
  }
955
955
  n || (ir(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
956
956
  }
@@ -968,7 +968,7 @@ var gobjJs = function(e) {
968
968
  return !m || m.obflag & U.obflag_destroyed ? null : m;
969
969
  }
970
970
  function nt(e, t) {
971
- if (!Yo(e)) return ir(`gobj_find_service(): service name must be a string: ${e}`), null;
971
+ if (!Jo(e)) return ir(`gobj_find_service(): service name must be a string: ${e}`), null;
972
972
  e = e.toLowerCase();
973
973
  return b[e] || (t && ir(`gobj service not found: ${e}`), null);
974
974
  }
@@ -980,7 +980,7 @@ var gobjJs = function(e) {
980
980
  t.parent && ir(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
981
981
  }
982
982
  function lt(e, t) {
983
- let n = Hl(e.dl_children, t);
983
+ let n = zl(e.dl_children, t);
984
984
  n >= 0 && (Go(e.dl_children, n), t.parent = null);
985
985
  }
986
986
  function it(e, t) {
@@ -1008,7 +1008,7 @@ var gobjJs = function(e) {
1008
1008
  } else {
1009
1009
  if (!o) return ir("gobj NEEDS a parent!"), null;
1010
1010
  if (!("string" == typeof o || o instanceof I)) return ir(`BAD TYPE of parent: ${o}`), null;
1011
- if (Yo(o)) {
1011
+ if (Jo(o)) {
1012
1012
  const e = o;
1013
1013
  if (!(o = nt(e))) return sr(`parent service not found: ${e}`), null;
1014
1014
  }
@@ -1018,11 +1018,11 @@ var gobjJs = function(e) {
1018
1018
  if (m) return ir(`default service ALREADY registered: ${t}^${e}`), null;
1019
1019
  l |= L.gobj_flag_service;
1020
1020
  }
1021
- if (Xo(t)) return ir("gclass_name must be a string"), null;
1021
+ if (Zo(t)) return ir("gclass_name must be a string"), null;
1022
1022
  let i = et(t, !1);
1023
1023
  if (!i) return ir(`GClass not registered: ${t}^${e}`), null;
1024
- if (!Yo(e)) return ir(`gobj_name must be a string: ${t}`), null;
1025
- if (!Xo(e)) {
1024
+ if (!Jo(e)) return ir(`gobj_name must be a string: ${t}`), null;
1025
+ if (!Zo(e)) {
1026
1026
  if (e.includes("`")) return ir(`gobj_name cannot contain char ': ${t}^${e}`), null;
1027
1027
  if (e.includes("^")) return ir(`gobj_name cannot contain char ^: ${t}^${e}`), null;
1028
1028
  }
@@ -1078,17 +1078,38 @@ var gobjJs = function(e) {
1078
1078
  if (Ut(e)) return ir("gobj NULL or DESTROYED"), -1;
1079
1079
  if (e.running) return ir(`${kt(e)}: GObj ALREADY RUNNING`), -1;
1080
1080
  if (e.disabled) return ir(`${kt(e)}: GObj DISABLED`), -1;
1081
+ const t = function(e) {
1082
+ const t = Ve(e), n = [];
1083
+ if (!Yo(e.gclass.attrs_table)) return null;
1084
+ for (const r of e.gclass.attrs_table) {
1085
+ if (!(r.name && r.flag & A.SDF_REQUIRED)) continue;
1086
+ const e = t[r.name];
1087
+ switch (r.type) {
1088
+ case E.DTP_STRING:
1089
+ Jo(e) && !Zo(e) || n.push(r.name);
1090
+ break;
1091
+ case E.DTP_LIST:
1092
+ case E.DTP_DICT:
1093
+ case E.DTP_JSON:
1094
+ Ko(e) && n.push(r.name);
1095
+ break;
1096
+ case E.DTP_POINTER: e || n.push(r.name);
1097
+ }
1098
+ }
1099
+ return n.length ? n : null;
1100
+ }(e);
1101
+ if (t) return ir(`${kt(e)}: Cannot start without all required attributes: ` + JSON.stringify(t)), -1;
1081
1102
  ne(e) && K(n("⏺ ⏺ start: %s", Ct(e))), e.running = !0;
1082
- let t = 0;
1103
+ let r = 0;
1083
1104
  if (e.gclass.gmt.mt_start) {
1084
- const n = vn(e, "mt_start", y.FRAME_METHOD);
1105
+ const t = vn(e, "mt_start", y.FRAME_METHOD);
1085
1106
  try {
1086
- t = e.gclass.gmt.mt_start(e);
1107
+ r = e.gclass.gmt.mt_start(e);
1087
1108
  } finally {
1088
- En(n);
1109
+ En(t);
1089
1110
  }
1090
1111
  }
1091
- return t;
1112
+ return r;
1092
1113
  }
1093
1114
  function gt(e) {
1094
1115
  const t = vn(e, "gobj_start", y.FRAME_WATCH);
@@ -1197,88 +1218,102 @@ var gobjJs = function(e) {
1197
1218
  return e ? tn(e, "yuno_id") : "";
1198
1219
  }
1199
1220
  function Rt(e) {
1200
- return Qo(e) ? e.gobj_name : (ir("gobj bad type"), null);
1221
+ return Xo(e) ? e.gobj_name : (ir("gobj bad type"), null);
1201
1222
  }
1202
1223
  function Dt(e) {
1203
- return Qo(e) ? e.gclass.gclass_name : (ir("gobj NULL of bad type"), null);
1224
+ return Xo(e) ? e.gclass.gclass_name : (ir("gobj NULL of bad type"), null);
1204
1225
  }
1205
1226
  function kt(e) {
1206
- return Qo(e) ? e.gclass.gclass_name + "^" + Rt(e) : (ir("gobj bad type"), null);
1227
+ return Xo(e) ? e.gclass.gclass_name + "^" + Rt(e) : (ir("gobj bad type"), null);
1207
1228
  }
1208
1229
  function Ct(e) {
1209
- if (!Qo(e)) return ir("gobj NULL of bad type"), null;
1230
+ if (!Xo(e)) return ir("gobj NULL of bad type"), null;
1210
1231
  let t = kt(e), n = It(e);
1211
1232
  for (; n;) t = kt(n) + "`" + t, n = It(n);
1212
1233
  return t;
1213
1234
  }
1214
1235
  function It(e) {
1215
- return Qo(e) ? e.parent : (ir("gobj NULL of bad type"), null);
1236
+ return Xo(e) ? e.parent : (ir("gobj NULL of bad type"), null);
1216
1237
  }
1217
1238
  function Pt(e) {
1218
- return Qo(e) ? !!(e.gobj_flag & L.gobj_flag_volatil) : (ir("gobj NULL of bad type"), null);
1239
+ return Xo(e) ? !!(e.gobj_flag & L.gobj_flag_volatil) : (ir("gobj NULL of bad type"), null);
1219
1240
  }
1220
1241
  function Lt(e) {
1221
- return Qo(e) ? !!(e.gobj_flag & L.gobj_flag_pure_child) : (ir("gobj NULL of bad type"), null);
1242
+ return Xo(e) ? !!(e.gobj_flag & L.gobj_flag_pure_child) : (ir("gobj NULL of bad type"), null);
1222
1243
  }
1223
1244
  function Ut(e) {
1224
- return !Qo(e) || !!(e.obflag & (U.obflag_destroyed | U.obflag_destroying));
1245
+ return !Xo(e) || !!(e.obflag & (U.obflag_destroyed | U.obflag_destroying));
1225
1246
  }
1226
1247
  function Ft(e) {
1227
- return Qo(e) ? e.bottom_gobj : (ir("gobj NULL of bad type"), null);
1248
+ return Xo(e) ? e.bottom_gobj : (ir("gobj NULL of bad type"), null);
1228
1249
  }
1229
1250
  function Mt(e, t) {
1230
- if (!Qo(e)) return ir("gobj NULL of bad type"), null;
1251
+ if (!Xo(e)) return ir("gobj NULL of bad type"), null;
1231
1252
  e.bottom_gobj && t && sr(`${kt(e)}: bottom_gobj already set`), e.bottom_gobj = t;
1232
1253
  }
1233
1254
  function Gt(e, t, n) {
1234
- return Qo(e) ? t ? xe(e.gclass, t, n) : e.gclass.attrs_table : (ir("gobj NULL of bad type"), null);
1255
+ return Xo(e) ? t ? xe(e.gclass, t, n) : e.gclass.attrs_table : (ir("gobj NULL of bad type"), null);
1235
1256
  }
1236
1257
  function Vt(e, t, n, r, o) {
1237
- return Ut(e) ? (ir("gobj NULL, destroying, or bad type"), 0) : Kt(e.dl_children, t, n, r, o);
1258
+ return Ut(e) ? (ir("gobj NULL, destroying, or bad type"), 0) : function(e, t, n, r, o, l) {
1259
+ let i, s = [...e.dl_children];
1260
+ if (n & M.WALK_LAST2FIRST) for (let n = s.length; n > 0; n--) {
1261
+ if (i = s[n - 1], Kt(i, e, t)) continue;
1262
+ t.add(i);
1263
+ let a = xt(r(i, o, l));
1264
+ if (a < 0) return a;
1265
+ }
1266
+ else for (let n = 0; n < s.length; n++) {
1267
+ if (i = s[n], Kt(i, e, t)) continue;
1268
+ t.add(i);
1269
+ let a = xt(r(i, o, l));
1270
+ if (a < 0) return a;
1271
+ }
1272
+ return 0;
1273
+ }(e, /* @__PURE__ */ new Set(), t, n, r, o);
1238
1274
  }
1239
1275
  function Wt(e, t, n, r, o) {
1240
- return Ut(e) ? (ir("gobj NULL, destroying, or bad type"), 0) : Yt(e.dl_children, t, n, r, o);
1276
+ return Ut(e) ? (ir("gobj NULL, destroying, or bad type"), 0) : Yt(e, /* @__PURE__ */ new Set(), t, n, r, o);
1241
1277
  }
1242
1278
  function xt(e) {
1243
1279
  return "number" == typeof e && isFinite(e) ? e : (null == e || ir(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
1244
1280
  }
1245
- function Kt(e, t, n, r, o) {
1246
- let l, i = [...e];
1247
- if (t & M.WALK_LAST2FIRST) for (let e = i.length; e > 0; e--) {
1248
- l = i[e - 1];
1249
- let t = xt(n(l, r, o));
1250
- if (t < 0) return t;
1281
+ function Kt(e, t, n) {
1282
+ return Ut(e) || e.parent !== t || n.has(e);
1283
+ }
1284
+ function Bt(e, t, n, r, o, l) {
1285
+ let i = [...e.dl_children];
1286
+ n & M.WALK_LAST2FIRST && i.reverse();
1287
+ let s = [];
1288
+ for (const n of i) {
1289
+ if (Kt(n, e, t)) continue;
1290
+ t.add(n), s.push(n);
1291
+ let i = xt(r(n, o, l));
1292
+ if (i < 0) return i;
1251
1293
  }
1252
- else for (let e = 0; e < i.length; e++) {
1253
- l = i[e];
1254
- let t = xt(n(l, r, o));
1255
- if (t < 0) return t;
1294
+ for (const e of s) {
1295
+ if (Ut(e)) continue;
1296
+ let i = Bt(e, t, n, r, o, l);
1297
+ if (i < 0) return i;
1256
1298
  }
1257
1299
  return 0;
1258
1300
  }
1259
- function Bt(e, t, n, r, o) {
1260
- let l, i = Kt(e, t, n, r, o);
1261
- if (i < 0) return i;
1262
- if (t & M.WALK_LAST2FIRST) {
1263
- for (let s = e.length; s > 0; s--) if (l = e[s - 1], i = Bt([...l.dl_children], t, n, r, o), i < 0) return i;
1264
- } else for (let s = 0; s < e.length; s++) if (l = e[s], i = Bt([...l.dl_children], t, n, r, o), i < 0) return i;
1265
- return i;
1266
- }
1267
- function Yt(e, t, n, r, o) {
1268
- if (t & M.WALK_BYLEVEL) return Bt(e, t, n, r, o);
1269
- let l, i;
1270
- if (t & M.WALK_BOTTOM2TOP) for (let s = e.length; s > 0; s--) {
1271
- if (i = e[s - 1], l = Yt([...i.dl_children], t, n, r, o), l < 0) return l;
1272
- if (l = xt(n(i, r, o)), l < 0) return l;
1273
- }
1274
- else for (let s = 0; s < e.length; s++) {
1275
- if (i = e[s], l = xt(n(i, r, o)), l < 0) return l;
1276
- if (0 === l && (l = Yt([...i.dl_children], t, n, r, o), l < 0)) return l;
1301
+ function Yt(e, t, n, r, o, l) {
1302
+ if (n & M.WALK_BYLEVEL) return Bt(e, t, n, r, o, l);
1303
+ let i, s, a = [...e.dl_children];
1304
+ if (n & M.WALK_BOTTOM2TOP) {
1305
+ for (let u = a.length; u > 0; u--) if (s = a[u - 1], !Kt(s, e, t)) {
1306
+ if (i = Yt(s, t, n, r, o, l), i < 0) return i;
1307
+ if (!Ut(s) && (t.add(s), i = xt(r(s, o, l)), i < 0)) return i;
1308
+ }
1309
+ } else for (let u = 0; u < a.length; u++) if (s = a[u], !Kt(s, e, t)) {
1310
+ if (t.add(s), i = xt(r(s, o, l)), i < 0) return i;
1311
+ if (0 === i && !Ut(s) && (i = Yt(s, t, n, r, o, l), i < 0)) return i;
1277
1312
  }
1278
1313
  return 0;
1279
1314
  }
1280
1315
  function Jt(e, t) {
1281
- if (!Qo(e)) return ir("gobj NULL of bad type"), !1;
1316
+ if (!Xo(e)) return ir("gobj NULL of bad type"), !1;
1282
1317
  let n = t.__gclass_name__, r = t.__gobj_name__, o = t.__prefix_gobj_name__;
1283
1318
  t.__disabled__;
1284
1319
  let l = t.__state__;
@@ -1293,7 +1328,7 @@ var gobjJs = function(e) {
1293
1328
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && zt(e, n) && i[n] !== t[n]) return !1;
1294
1329
  return !0;
1295
1330
  }
1296
- function Ht(e, t) {
1331
+ function qt(e, t) {
1297
1332
  if (Ut(e)) return ir("gobj NULL or DESTROYED"), null;
1298
1333
  const n = e.dl_children;
1299
1334
  for (let e = 0; e < n.length; e++) {
@@ -1302,7 +1337,7 @@ var gobjJs = function(e) {
1302
1337
  }
1303
1338
  return null;
1304
1339
  }
1305
- function qt(e, t) {
1340
+ function Ht(e, t) {
1306
1341
  if (!t) return null;
1307
1342
  let n = t.split("`");
1308
1343
  if (!function(e, t) {
@@ -1318,11 +1353,11 @@ var gobjJs = function(e) {
1318
1353
  if (1 === n.length) return e;
1319
1354
  let r = n[1].split("^"), o = {};
1320
1355
  1 === r.length ? o.__gobj_name__ = r : (o.__gclass_name__ = r[0], o.__gobj_name__ = r[1]);
1321
- let l = Ht(e, o);
1322
- return l ? (n.splice(0, 1), n = n.join("`"), qt(l, n)) : null;
1356
+ let l = qt(e, o);
1357
+ return l ? (n.splice(0, 1), n = n.join("`"), Ht(l, n)) : null;
1323
1358
  }
1324
1359
  function zt(e, t) {
1325
- return !Xo(t) && !!xe(e.gclass, t, !1);
1360
+ return !Zo(t) && !!xe(e.gclass, t, !1);
1326
1361
  }
1327
1362
  function Qt(e, t, n) {
1328
1363
  let r = e.jn_attrs;
@@ -1345,21 +1380,21 @@ var gobjJs = function(e) {
1345
1380
  }
1346
1381
  function Zt(e, t) {
1347
1382
  if (t) {
1348
- if (0 === tl(t, "__disabled__")) return jt(e);
1349
- if (0 === tl(t, "__running__")) return Tt(e);
1350
- if (0 === tl(t, "__playing__")) return St(e);
1351
- if (0 === tl(t, "__service__")) return Ot(e);
1383
+ if (0 === nl(t, "__disabled__")) return jt(e);
1384
+ if (0 === nl(t, "__running__")) return Tt(e);
1385
+ if (0 === nl(t, "__playing__")) return St(e);
1386
+ if (0 === nl(t, "__service__")) return Ot(e);
1352
1387
  }
1353
1388
  let n = We(e, t, !1);
1354
1389
  return n ? !e.gclass.gmt.mt_reading || e.obflag & U.obflag_destroyed ? Io(n, t) : e.gclass.gmt.mt_reading(e, t) : (ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
1355
1390
  }
1356
1391
  function en(e, t) {
1357
- t && tl(t, "__trace_level__");
1392
+ t && nl(t, "__trace_level__");
1358
1393
  let n = We(e, t, !1);
1359
1394
  return n ? !e.gclass.gmt.mt_reading || e.obflag & U.obflag_destroyed ? Io(n, t) : e.gclass.gmt.mt_reading(e, t) : (ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
1360
1395
  }
1361
1396
  function tn(e, t) {
1362
- if (t && 0 === tl(t, "__state__")) return fn(e);
1397
+ if (t && 0 === nl(t, "__state__")) return fn(e);
1363
1398
  let n = We(e, t, !1);
1364
1399
  return n ? !e.gclass.gmt.mt_reading || e.obflag & U.obflag_destroyed ? Io(n, t) : e.gclass.gmt.mt_reading(e, t) : (ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
1365
1400
  }
@@ -1368,7 +1403,7 @@ var gobjJs = function(e) {
1368
1403
  return n ? !e.gclass.gmt.mt_reading || e.obflag & U.obflag_destroyed ? Io(n, t) : e.gclass.gmt.mt_reading(e, t) : (ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
1369
1404
  }
1370
1405
  function rn(e, t, r, o) {
1371
- if (!Yo(t)) return ir(n("gobj_write_attr(%s): path must be a string", kt(e))), -1;
1406
+ if (!Jo(t)) return ir(n("gobj_write_attr(%s): path must be a string", kt(e))), -1;
1372
1407
  let l, i = e.jn_attrs, s = t.split("`");
1373
1408
  if (s.length <= 1) {
1374
1409
  let o = t;
@@ -1377,7 +1412,7 @@ var gobjJs = function(e) {
1377
1412
  let a = s.length;
1378
1413
  for (let t = 0; t < a; t++) {
1379
1414
  l = s[t];
1380
- let n = Ht(e, { __gobj_name__: l });
1415
+ let n = qt(e, { __gobj_name__: l });
1381
1416
  if (n && t < a - 1) {
1382
1417
  e = n;
1383
1418
  continue;
@@ -1396,7 +1431,7 @@ var gobjJs = function(e) {
1396
1431
  let o;
1397
1432
  if (T(n)) {
1398
1433
  if (null == r) return { value: "" };
1399
- if (Yo(r)) return { value: r };
1434
+ if (Jo(r)) return { value: r };
1400
1435
  o = {
1401
1436
  value: Fe(r),
1402
1437
  refused: Ue
@@ -1426,7 +1461,7 @@ var gobjJs = function(e) {
1426
1461
  let r = We(e, t, !1);
1427
1462
  if (r) {
1428
1463
  const o = ln(e, t, E.DTP_BOOLEAN, n);
1429
- return o.refused ? -1 : (r[t] = o.value, Ko(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0);
1464
+ return o.refused ? -1 : (r[t] = o.value, Bo(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0);
1430
1465
  }
1431
1466
  return ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1;
1432
1467
  }
@@ -1434,7 +1469,7 @@ var gobjJs = function(e) {
1434
1469
  let r = We(e, t, !1);
1435
1470
  if (r) {
1436
1471
  const o = ln(e, t, E.DTP_INTEGER, n);
1437
- return o.refused ? -1 : (r[t] = o.value, Ko(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0);
1472
+ return o.refused ? -1 : (r[t] = o.value, Bo(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0);
1438
1473
  }
1439
1474
  return ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1;
1440
1475
  }
@@ -1442,7 +1477,7 @@ var gobjJs = function(e) {
1442
1477
  let r = We(e, t, !1);
1443
1478
  if (r) {
1444
1479
  const o = ln(e, t, E.DTP_STRING, n);
1445
- return o.refused ? -1 : (r[t] = o.value, Ko(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0);
1480
+ return o.refused ? -1 : (r[t] = o.value, Bo(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, t) && (e.priv[t] = r[t]), e.obflag & U.obflag_created && !(e.obflag & U.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0);
1446
1481
  }
1447
1482
  return ir(`${kt(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1;
1448
1483
  }
@@ -1458,10 +1493,10 @@ var gobjJs = function(e) {
1458
1493
  return (o || l) && (1 === x || K(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Dt(e), Rt(e), fn(e), e.last_state.state_name))), !0;
1459
1494
  }
1460
1495
  function fn(e) {
1461
- return Qo(e) ? e.current_state.state_name : (ir("hgobj NULL"), "");
1496
+ return Xo(e) ? e.current_state.state_name : (ir("hgobj NULL"), "");
1462
1497
  }
1463
1498
  function gn(e, t, n) {
1464
- if (!Qo(e)) return ir("gobj NULL of bad type"), null;
1499
+ if (!Xo(e)) return ir("gobj NULL of bad type"), null;
1465
1500
  let r = Xe(e.gclass, t);
1466
1501
  if (r) return r;
1467
1502
  if (n) {
@@ -1483,7 +1518,7 @@ var gobjJs = function(e) {
1483
1518
  }
1484
1519
  var pn = [], mn = !1;
1485
1520
  function hn(e, t, r, o) {
1486
- return e && e instanceof I ? e.obflag & (U.obflag_destroyed | U.obflag_destroying) ? (ir(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Xo(t) ? (ir("gobj_post_event(): event EMPTY"), -1) : dn(e, t, 0) ? pn.length >= 1e4 ? (ir(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${pn.length}`), -1) : (pn.push({
1521
+ return e && e instanceof I ? e.obflag & (U.obflag_destroyed | U.obflag_destroying) ? (ir(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Zo(t) ? (ir("gobj_post_event(): event EMPTY"), -1) : dn(e, t, 0) ? pn.length >= 1e4 ? (ir(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${pn.length}`), -1) : (pn.push({
1487
1522
  dst: e,
1488
1523
  event: t,
1489
1524
  kw: r,
@@ -1549,7 +1584,7 @@ var gobjJs = function(e) {
1549
1584
  if (1 === x) K(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", kt(e), l.state_name, o && !o.running ? "!!" : "", kt(o)));
1550
1585
  else {
1551
1586
  let r = "";
1552
- s.action && (r = zl(s.action)), K(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Dt(e), Rt(e), l.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Dt(o), Rt(o)));
1587
+ s.action && (r = ei(s.action)), K(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Dt(e), Rt(e), l.state_name, "", t || "", "", r, o && !o.running ? "!!" : "", Dt(o), Rt(o)));
1553
1588
  }
1554
1589
  r && re(e) && Vo(r) && $o(r);
1555
1590
  }
@@ -1568,7 +1603,7 @@ var gobjJs = function(e) {
1568
1603
  } finally {
1569
1604
  En(a);
1570
1605
  }
1571
- return i && 1 !== x && !a.destroyed && K(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Dt(e), Rt(e), e.current_state.state_name, t || "", Jo(u) ? u : 0)), h--, u;
1606
+ return i && 1 !== x && !a.destroyed && K(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Dt(e), Rt(e), e.current_state.state_name, t || "", qo(u) ? u : 0)), h--, u;
1572
1607
  }
1573
1608
  var On = Object.freeze({
1574
1609
  __rename_event_name__: 1,
@@ -1601,34 +1636,34 @@ var gobjJs = function(e) {
1601
1636
  ];
1602
1637
  function Nn(e, t) {
1603
1638
  let n = e ? e.__config__ : null;
1604
- if (!Ko(n) || !ol(n, "__hard_subscription__") && !ol(n, "__own_event__") && !ol(n, "__rename_event_name__")) return {
1639
+ if (!Bo(n) || !ll(n, "__hard_subscription__") && !ll(n, "__own_event__") && !ll(n, "__rename_event_name__")) return {
1605
1640
  kw: e,
1606
1641
  renamed_event: ""
1607
1642
  };
1608
1643
  let r = Do({}, e), o = Do({}, n);
1609
1644
  r.__config__ = o;
1610
- let l = "", i = o.__rename_event_name__, s = "string" != typeof i || Xo(i) ? null : Sn(i, 0, !1);
1645
+ let l = "", i = o.__rename_event_name__, s = "string" != typeof i || Zo(i) ? null : Sn(i, 0, !1);
1611
1646
  return s && (l = s.event_name, delete o.__rename_event_name__, t && xo(r.__global__) > 0 && (r.__global__ = Do(Do({}, r.__global__), { __original_event_name__: t }))), delete o.__hard_subscription__, delete o.__own_event__, {
1612
1647
  kw: r,
1613
1648
  renamed_event: l
1614
1649
  };
1615
1650
  }
1616
1651
  function $n(e, t, n, r, o, l) {
1617
- let i = dl(t, o, "__config__", null), s = dl(t, o, "__global__", null), a = dl(t, o, "__local__", null), u = bl(t, o, "__filter__", null), _ = !0;
1618
- if (t && t !== gl(null, e, "publisher", null) && (_ = !1), l && l !== gl(null, e, "subscriber", null) && (_ = !1), n && n !== fl(null, e, "event", "") && (_ = !1), r && r !== fl(null, e, "renamed_event", "") && (_ = !1), xo(i) > 0) {
1619
- let t = dl(null, e, "__config__", null);
1652
+ let i = bl(t, o, "__config__", null), s = bl(t, o, "__global__", null), a = bl(t, o, "__local__", null), u = pl(t, o, "__filter__", null), _ = !0;
1653
+ if (t && t !== dl(null, e, "publisher", null) && (_ = !1), l && l !== dl(null, e, "subscriber", null) && (_ = !1), n && n !== gl(null, e, "event", "") && (_ = !1), r && r !== gl(null, e, "renamed_event", "") && (_ = !1), xo(i) > 0) {
1654
+ let t = bl(null, e, "__config__", null);
1620
1655
  xo(t) > 0 && Ro(t, i) || (_ = !1);
1621
1656
  }
1622
1657
  if (xo(s) > 0) {
1623
- let t = dl(null, e, "__global__", null);
1658
+ let t = bl(null, e, "__global__", null);
1624
1659
  xo(t) > 0 && Ro(t, s) || (_ = !1);
1625
1660
  }
1626
1661
  if (xo(a) > 0) {
1627
- let t = dl(null, e, "__local__", null);
1662
+ let t = bl(null, e, "__local__", null);
1628
1663
  xo(t) > 0 && Ro(t, a) || (_ = !1);
1629
1664
  }
1630
1665
  if (xo(u) > 0) {
1631
- let t = bl(null, e, "__filter__", null);
1666
+ let t = pl(null, e, "__filter__", null);
1632
1667
  xo(t) > 0 && Ro(t, u) || (_ = !1);
1633
1668
  }
1634
1669
  return _;
@@ -1645,8 +1680,8 @@ var gobjJs = function(e) {
1645
1680
  return e.indexOf(t);
1646
1681
  }
1647
1682
  function Dn(e, t, r, o) {
1648
- let l = gl(e, t, "publisher", null, Un.KW_REQUIRED), i = gl(e, t, "subscriber", null, Un.KW_REQUIRED), s = fl(e, t, "event", "", Un.KW_REQUIRED);
1649
- if (!!(cl(e, t, "subs_flag", null, Un.KW_REQUIRED) & On.__hard_subscription__) && !r) return -1;
1683
+ let l = dl(e, t, "publisher", null, Un.KW_REQUIRED), i = dl(e, t, "subscriber", null, Un.KW_REQUIRED), s = gl(e, t, "event", "", Un.KW_REQUIRED);
1684
+ if (!!(fl(e, t, "subs_flag", null, Un.KW_REQUIRED) & On.__hard_subscription__) && !r) return -1;
1650
1685
  let a = te(i) || te(l);
1651
1686
  if (Rn(l.dl_subscriptions, t) < 0) return a && K(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", s || "", kt(l), kt(i))), 1;
1652
1687
  a && (K(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", s || "", kt(l), kt(i))), _r(t)), l.obflag & U.obflag_destroyed || o || l.gclass.gmt.mt_subscription_deleted && l.gclass.gmt.mt_subscription_deleted(l, t);
@@ -1665,10 +1700,10 @@ var gobjJs = function(e) {
1665
1700
  ]);
1666
1701
  if (Object.keys(r).forEach((n) => {
1667
1702
  l.has(n) || ir(`${kt(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1668
- }), Xo(t)) t = "";
1703
+ }), Zo(t)) t = "";
1669
1704
  else if (!(bn(e, t, F.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & P.gcflag_no_check_output_events)) return ir(`event NOT in output event list: ${kt(e)}, ${t}`), 0;
1670
1705
  let i = Nn(r, t), s = An(e.dl_subscriptions, e, t, i.renamed_event, i.kw, o), a = null;
1671
- for (let t = 0; t < s.length; t++) if (cl(e, s[t], "subs_flag", 0, Un.KW_REQUIRED) & On.__hard_subscription__) {
1706
+ for (let t = 0; t < s.length; t++) if (fl(e, s[t], "subs_flag", 0, Un.KW_REQUIRED) & On.__hard_subscription__) {
1672
1707
  a = s[t];
1673
1708
  break;
1674
1709
  }
@@ -1679,29 +1714,29 @@ var gobjJs = function(e) {
1679
1714
  Uo(o, "event", t), Uo(o, "subscriber", r), Uo(o, "publisher", e);
1680
1715
  let l = 0;
1681
1716
  if (n) {
1682
- let r = dl(e, n, "__config__", null), i = dl(e, n, "__global__", null), s = dl(e, n, "__local__", null), a = bl(e, n, "__filter__", null), u = fl(e, n, "__service__", "");
1717
+ let r = bl(e, n, "__config__", null), i = bl(e, n, "__global__", null), s = bl(e, n, "__local__", null), a = pl(e, n, "__filter__", null), u = gl(e, n, "__service__", "");
1683
1718
  if (xo(i) > 0 && Uo(o, "__global__", Ao(i)), xo(r) > 0) {
1684
1719
  let n = Ao(r);
1685
1720
  Uo(o, "__config__", n);
1686
- let i = fl(e, n, "__rename_event_name__", "");
1687
- if (!Xo(i)) {
1721
+ let i = gl(e, n, "__rename_event_name__", "");
1722
+ if (!Zo(i)) {
1688
1723
  let r = Sn(i, 0, !1);
1689
1724
  if (r) {
1690
1725
  Uo(o, "renamed_event", r.event_name), delete n.__rename_event_name__, l |= On.__rename_event_name__;
1691
- let i = dl(e, o, "__global__", null);
1692
- Ko(i) || (i = {}, Uo(o, "__global__", i)), i.__original_event_name__ = t;
1726
+ let i = bl(e, o, "__global__", null);
1727
+ Bo(i) || (i = {}, Uo(o, "__global__", i)), i.__original_event_name__ = t;
1693
1728
  } else ir(`${kt(e)}: EVENT NOT FOUND (__rename_event_name__: ${i})`);
1694
1729
  }
1695
- if (ol(n, "__hard_subscription__")) {
1696
- let t = _l(e, n, "__hard_subscription__", !1);
1730
+ if (ll(n, "__hard_subscription__")) {
1731
+ let t = cl(e, n, "__hard_subscription__", !1);
1697
1732
  Po(n, "__hard_subscription__"), t && (l |= On.__hard_subscription__);
1698
1733
  }
1699
- if (ol(n, "__own_event__")) {
1700
- let t = _l(e, n, "__own_event__", !1);
1734
+ if (ll(n, "__own_event__")) {
1735
+ let t = cl(e, n, "__own_event__", !1);
1701
1736
  Po(n, "__own_event__"), t && (l |= On.__own_event__);
1702
1737
  }
1703
1738
  }
1704
- xo(s) > 0 && Uo(o, "__local__", Ao(s)), xo(a) > 0 && Uo(o, "__filter__", Ao(a)), Xo(u) || Uo(o, "__service__", u);
1739
+ xo(s) > 0 && Uo(o, "__local__", Ao(s)), xo(a) > 0 && Uo(o, "__filter__", Ao(a)), Zo(u) || Uo(o, "__service__", u);
1705
1740
  }
1706
1741
  return Uo(o, "subs_flag", l), o;
1707
1742
  }(e, t, r, o);
@@ -1724,8 +1759,8 @@ var gobjJs = function(e) {
1724
1759
  return An(e.dl_subscribings, r, t, null, n, e);
1725
1760
  }
1726
1761
  function Ln(e, t, r) {
1727
- if (Ko(r) || (r = {}), !e || e.obflag & (U.obflag_destroyed | U.obflag_destroying)) return ir("gobj NULL or DESTROYED"), -1;
1728
- if (Xo(t)) return ir(`${kt(e)}: event EMPTY`), -1;
1762
+ if (Bo(r) || (r = {}), !e || e.obflag & (U.obflag_destroyed | U.obflag_destroying)) return ir("gobj NULL or DESTROYED"), -1;
1763
+ if (Zo(t)) return ir(`${kt(e)}: event EMPTY`), -1;
1729
1764
  let o = gn(e, t, !0);
1730
1765
  if (!(o && o.event_flag & (F.EVF_SYSTEM_EVENT | F.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & P.gcflag_no_check_output_events)) return ir(`event NOT in output event list: ${kt(e)}, ev ${t}`), -1;
1731
1766
  let l = (te(e) || oe(e, t)) && !le(e, t);
@@ -1743,20 +1778,20 @@ var gobjJs = function(e) {
1743
1778
  if (n < 0) break;
1744
1779
  if (!n) continue;
1745
1780
  }
1746
- let c = gl(e, _, "subscriber", null, Un.KW_REQUIRED);
1781
+ let c = dl(e, _, "subscriber", null, Un.KW_REQUIRED);
1747
1782
  if (!c || Ut(c)) continue;
1748
- let f = cl(e, _, "subs_flag", 0, Un.KW_REQUIRED), g = fl(e, _, "event", "", Un.KW_REQUIRED);
1749
- if (Xo(g) || 0 === tl(g, t)) {
1750
- dl(e, _, "__config__", null, 0);
1751
- let o = dl(e, _, "__global__", null, 0), i = dl(e, _, "__local__", null, 0), g = bl(e, _, "__filter__", null, 0), d = _.renamed_event;
1752
- Xo(d) && (d = t);
1783
+ let f = fl(e, _, "subs_flag", 0, Un.KW_REQUIRED), g = gl(e, _, "event", "", Un.KW_REQUIRED);
1784
+ if (Zo(g) || 0 === nl(g, t)) {
1785
+ bl(e, _, "__config__", null, 0);
1786
+ let o = bl(e, _, "__global__", null, 0), i = bl(e, _, "__local__", null, 0), g = pl(e, _, "__filter__", null, 0), d = _.renamed_event;
1787
+ Zo(d) && (d = t);
1753
1788
  let b = 1;
1754
- if (e.gclass.gmt.mt_publication_filter ? b = e.gclass.gmt.mt_publication_filter(e, t, r, c) : xo(g) > 0 && (b = yl(r, g) ? 1 : 0, l && (K(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", b ? "👍" : "👎", t || "", kt(c), kt(e))), _r(g))), b < 0) break;
1789
+ if (e.gclass.gmt.mt_publication_filter ? b = e.gclass.gmt.mt_publication_filter(e, t, r, c) : xo(g) > 0 && (b = vl(r, g) ? 1 : 0, l && (K(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", b ? "👍" : "👎", t || "", kt(c), kt(e))), _r(g))), b < 0) break;
1755
1790
  if (!b) continue;
1756
1791
  let p = gn(c, t, !0);
1757
1792
  if (p && p.event_flag & F.EVF_SYSTEM_EVENT && !dn(c, p.event_name, 0)) continue;
1758
1793
  let m = r;
1759
- (xo(i) > 0 || xo(o) > 0) && (m = Do({}, r)), xo(i) > 0 && rl(m, i), xo(o) > 0 && Do(m, Ao(o)), l && (K(1 === x ? n("🔝🔄 %s (%s) %s%s", t || "", d || "", c.running ? "" : "!!", kt(c)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", c.running ? "" : "!!", kt(c), fn(c), t || "", d || "", e && !e.running ? "!!" : "", kt(e))), re(e) && Vo(m) && $o(m));
1794
+ (xo(i) > 0 || xo(o) > 0) && (m = Do({}, r)), xo(i) > 0 && ol(m, i), xo(o) > 0 && Do(m, Ao(o)), l && (K(1 === x ? n("🔝🔄 %s (%s) %s%s", t || "", d || "", c.running ? "" : "!!", kt(c)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", c.running ? "" : "!!", kt(c), fn(c), t || "", d || "", e && !e.running ? "!!" : "", kt(e))), re(e) && Vo(m) && $o(m));
1760
1795
  let h = jn(c, d, m, e);
1761
1796
  if (h < 0 && f & On.__own_event__) {
1762
1797
  s = -1;
@@ -1793,7 +1828,7 @@ var gobjJs = function(e) {
1793
1828
  var Fn = "undefined" != typeof window ? window.console : console, Mn = Fn.error, Gn = Fn.warn, Vn = Fn.info, Wn = Fn.debug, xn = null, Kn = 600, Bn = [];
1794
1829
  var Yn = !0;
1795
1830
  var Jn = null;
1796
- function Hn(e, t) {
1831
+ function qn(e, t) {
1797
1832
  if (!Yn) return !1;
1798
1833
  if (!Jn) return !0;
1799
1834
  try {
@@ -1802,9 +1837,9 @@ var gobjJs = function(e) {
1802
1837
  return !0;
1803
1838
  }
1804
1839
  }
1805
- var qn = !1;
1840
+ var Hn = !1;
1806
1841
  function zn(e, t, n) {
1807
- qn || (function(e, t, n) {
1842
+ Hn || (function(e, t, n) {
1808
1843
  let r = t;
1809
1844
  "json" === e && (r = Zn(t)), Bn.push([
1810
1845
  e,
@@ -1814,12 +1849,12 @@ var gobjJs = function(e) {
1814
1849
  }(e, t, n), Qn(e, t, n));
1815
1850
  }
1816
1851
  function Qn(e, t, n) {
1817
- if (xn && !qn) {
1818
- qn = !0;
1852
+ if (xn && !Hn) {
1853
+ Hn = !0;
1819
1854
  try {
1820
1855
  xn(e, t, n);
1821
1856
  } catch (e) {} finally {
1822
- qn = !1;
1857
+ Hn = !1;
1823
1858
  }
1824
1859
  }
1825
1860
  }
@@ -1897,23 +1932,23 @@ var gobjJs = function(e) {
1897
1932
  }
1898
1933
  }
1899
1934
  function ir(e, ...t) {
1900
- let n = nr(e, ...t), r = Jl();
1901
- Mn && (Mn === Fn.error ? Hn("error", n) && rr(Mn, "%c" + r + " ERROR: " + String(n), "color:red") : (Hn("error", n) && Fn.error("%c" + r + " ERROR: " + String(n), "color:red"), lr(Mn, `${r} ERROR: ${String(n)}`))), zn("error", n, r);
1935
+ let n = nr(e, ...t), r = Hl();
1936
+ Mn && (Mn === Fn.error ? qn("error", n) && rr(Mn, "%c" + r + " ERROR: " + String(n), "color:red") : (qn("error", n) && Fn.error("%c" + r + " ERROR: " + String(n), "color:red"), lr(Mn, `${r} ERROR: ${String(n)}`))), zn("error", n, r);
1902
1937
  }
1903
1938
  function sr(e, ...t) {
1904
- let n = nr(e, ...t), r = Jl();
1905
- Gn && (Gn === Fn.warn ? Hn("warning", n) && rr(Gn, "%c" + r + " WARNING: " + String(n), "color:yellow") : (Hn("warning", n) && Fn.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), lr(Gn, `${r} WARNING: ${String(n)}`))), zn("warning", n, r);
1939
+ let n = nr(e, ...t), r = Hl();
1940
+ Gn && (Gn === Fn.warn ? qn("warning", n) && rr(Gn, "%c" + r + " WARNING: " + String(n), "color:yellow") : (qn("warning", n) && Fn.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), lr(Gn, `${r} WARNING: ${String(n)}`))), zn("warning", n, r);
1906
1941
  }
1907
1942
  function ar(e, ...t) {
1908
- let n = nr(e, ...t), r = Jl();
1909
- Wn && Hn("debug", n) && rr(Wn, "%c" + r + " DEBUG: " + String(n), "color:silver"), zn("debug", n, r);
1943
+ let n = nr(e, ...t), r = Hl();
1944
+ Wn && qn("debug", n) && rr(Wn, "%c" + r + " DEBUG: " + String(n), "color:silver"), zn("debug", n, r);
1910
1945
  }
1911
1946
  function ur(e, ...t) {
1912
- let n = nr(e, ...t), r = Jl();
1913
- Wn && Hn("msg", n) && rr(Wn, "%c" + r + " MSG: " + String(n), "color:cyan"), zn("msg", n, r);
1947
+ let n = nr(e, ...t), r = Hl();
1948
+ Wn && qn("msg", n) && rr(Wn, "%c" + r + " MSG: " + String(n), "color:cyan"), zn("msg", n, r);
1914
1949
  }
1915
1950
  function _r(e, t) {
1916
- Hn("json", t) && (t && rr(Fn.warn, "=====> " + er(t)), rr(Fn.dir, e)), zn("json", e, Jl());
1951
+ qn("json", t) && (t && rr(Fn.warn, "=====> " + er(t)), rr(Fn.dir, e)), zn("json", e, Hl());
1917
1952
  }
1918
1953
  function cr(e) {
1919
1954
  const t = new Array(128).fill(null);
@@ -2257,9 +2292,9 @@ var gobjJs = function(e) {
2257
2292
  function Br(e, t, n) {
2258
2293
  for (let r = t; r < n; r++) e[r] = 1;
2259
2294
  }
2260
- var Yr = 0, Jr = 1, Hr = 2;
2261
- function qr(e, t, n, r, o) {
2262
- const l = n === Hr ? Tr : Er;
2295
+ var Yr = 0, Jr = 1, qr = 2;
2296
+ function Hr(e, t, n, r, o) {
2297
+ const l = n === qr ? Tr : Er;
2263
2298
  let i = !1;
2264
2299
  const s = (t) => t >= e.length || " " === e[t] || " " === e[t] || "\0" === e[t];
2265
2300
  let a = "", u = 0, _ = 0;
@@ -2473,7 +2508,7 @@ var gobjJs = function(e) {
2473
2508
  const s = i.join(""), a = new Uint8Array(s.length);
2474
2509
  (function(e, t) {
2475
2510
  const n = po(e, Er), r = new Uint8Array(e.length);
2476
- qr(e, n, Yr, t, r), _o(e, t, r), fo(e, t), go(e, t), bo(e, t);
2511
+ Hr(e, n, Yr, t, r), _o(e, t, r), fo(e, t), go(e, t), bo(e, t);
2477
2512
  })(s, a), vo(s, a, n + 1);
2478
2513
  let u = 0;
2479
2514
  for (let n = 0; n < s.length; n++) {
@@ -2483,13 +2518,13 @@ var gobjJs = function(e) {
2483
2518
  }
2484
2519
  function Eo(e, t) {
2485
2520
  const n = po(e, Er), r = po(e, Tr), o = new Uint8Array(e.length);
2486
- (qr(e, n, Yr, t, o) || n !== r) && qr(e, r, Hr, t, null), function(e) {
2521
+ (Hr(e, n, Yr, t, o) || n !== r) && Hr(e, r, qr, t, null), function(e) {
2487
2522
  for (let t = 0; t < e.length; t++) {
2488
2523
  const n = e.charCodeAt(t);
2489
2524
  if ((101 === n || 98 === n || 66 === n) && Mr(e, t)[1]) return !0;
2490
2525
  }
2491
2526
  return !1;
2492
- }(e) && qr(e, n, Jr, t, null), _o(e, t, o), fo(e, t), go(e, t), bo(e, t), vo(e, t, 0);
2527
+ }(e) && Hr(e, n, Jr, t, null), _o(e, t, o), fo(e, t), go(e, t), bo(e, t), vo(e, t, 0);
2493
2528
  }
2494
2529
  function To(e) {
2495
2530
  if ("string" != typeof e) return null;
@@ -2561,7 +2596,7 @@ var gobjJs = function(e) {
2561
2596
  }
2562
2597
  r.left -= 1 + a.length;
2563
2598
  let u, _ = e[a];
2564
- u = (jr(a, 0, a.length, Er) || o && "value" === a) && null != _ && "" !== _ ? "********" : wo(_, t, n + 1, r), u !== _ && (i = !0), il(l, a, u);
2599
+ u = (jr(a, 0, a.length, Er) || o && "value" === a) && null != _ && "" !== _ ? "********" : wo(_, t, n + 1, r), u !== _ && (i = !0), sl(l, a, u);
2565
2600
  }
2566
2601
  s && (l["<more>"] = Kr);
2567
2602
  }
@@ -2603,17 +2638,17 @@ var gobjJs = function(e) {
2603
2638
  }
2604
2639
  function Do(e, t) {
2605
2640
  if (!t) return e;
2606
- for (let n of Object.keys(t)) il(e, n, t[n]);
2641
+ for (let n of Object.keys(t)) sl(e, n, t[n]);
2607
2642
  return e;
2608
2643
  }
2609
2644
  function ko(e, t) {
2610
2645
  if (!t) return e;
2611
- for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && Object.prototype.hasOwnProperty.call(e, n) && il(e, n, t[n]);
2646
+ for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && Object.prototype.hasOwnProperty.call(e, n) && sl(e, n, t[n]);
2612
2647
  return e;
2613
2648
  }
2614
2649
  function Co(e, t) {
2615
2650
  if (!t) return e;
2616
- for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && !Object.prototype.hasOwnProperty.call(e, n) && il(e, n, t[n]);
2651
+ for (let n in t) Object.prototype.hasOwnProperty.call(t, n) && !Object.prototype.hasOwnProperty.call(e, n) && sl(e, n, t[n]);
2617
2652
  return e;
2618
2653
  }
2619
2654
  function Io(e, t) {
@@ -2623,10 +2658,10 @@ var gobjJs = function(e) {
2623
2658
  e && Object.prototype.hasOwnProperty.call(e, t) && delete e[t];
2624
2659
  }
2625
2660
  function Lo(e, t, n) {
2626
- il(e, t, n);
2661
+ sl(e, t, n);
2627
2662
  }
2628
2663
  function Uo(e, t, n) {
2629
- il(e, t, n);
2664
+ sl(e, t, n);
2630
2665
  }
2631
2666
  function Fo(e, t) {
2632
2667
  e.push(t);
@@ -2638,54 +2673,57 @@ var gobjJs = function(e) {
2638
2673
  e.splice(t, 1);
2639
2674
  }
2640
2675
  function Vo(e) {
2641
- return Ko(e) ? Object.keys(e).length : 0;
2676
+ return Bo(e) ? Object.keys(e).length : 0;
2642
2677
  }
2643
2678
  function Wo(e) {
2644
- return Bo(e) ? e.length : 0;
2679
+ return Yo(e) ? e.length : 0;
2645
2680
  }
2646
2681
  function xo(e) {
2647
- return Ko(e) ? Object.keys(e).length : Bo(e) ? e.length : Yo(e) && e.length > 0 ? 1 : 0;
2682
+ return Bo(e) ? Object.keys(e).length : Yo(e) ? e.length : Jo(e) && e.length > 0 ? 1 : 0;
2648
2683
  }
2649
2684
  function Ko(e) {
2650
- return null !== e && "object" == typeof e && !Array.isArray(e);
2685
+ return 0 === xo(e);
2651
2686
  }
2652
2687
  function Bo(e) {
2653
- return Array.isArray(e);
2688
+ return null !== e && "object" == typeof e && !Array.isArray(e);
2654
2689
  }
2655
2690
  function Yo(e) {
2656
- return "string" == typeof e;
2691
+ return Array.isArray(e);
2657
2692
  }
2658
2693
  function Jo(e) {
2694
+ return "string" == typeof e;
2695
+ }
2696
+ function qo(e) {
2659
2697
  return "number" == typeof e && Number.isFinite(e);
2660
2698
  }
2661
2699
  function Ho(e) {
2662
2700
  return "boolean" == typeof e;
2663
2701
  }
2664
- function qo(e) {
2665
- return null == e;
2666
- }
2667
2702
  function zo(e) {
2668
- return "function" == typeof e;
2703
+ return null == e;
2669
2704
  }
2670
2705
  function Qo(e) {
2671
- return e instanceof I;
2706
+ return "function" == typeof e;
2672
2707
  }
2673
2708
  function Xo(e) {
2674
- return !Yo(e) || 0 === e.length;
2709
+ return e instanceof I;
2675
2710
  }
2676
2711
  function Zo(e) {
2677
- return Jo(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
2712
+ return !Jo(e) || 0 === e.length;
2678
2713
  }
2679
- function el(e, t) {
2680
- return e === t ? 0 : e > t ? 1 : -1;
2714
+ function el(e) {
2715
+ return qo(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
2681
2716
  }
2682
2717
  function tl(e, t) {
2718
+ return e === t ? 0 : e > t ? 1 : -1;
2719
+ }
2720
+ function nl(e, t) {
2683
2721
  let n = e.toLowerCase(), r = t.toLowerCase();
2684
2722
  return n === r ? 0 : n > r ? 1 : -1;
2685
2723
  }
2686
- function nl(e, t) {
2687
- if (Ko(e) || Ko(t) || Bo(e) || Bo(t)) return 0;
2688
- if (Jo(e) || Jo(t)) {
2724
+ function rl(e, t) {
2725
+ if (Bo(e) || Bo(t) || Yo(e) || Yo(t)) return 0;
2726
+ if (qo(e) || qo(t)) {
2689
2727
  let n = Number(e), r = Number(t);
2690
2728
  return Number.isNaN(n) && (n = 0), Number.isNaN(r) && (r = 0), n > r ? 1 : n < r ? -1 : 0;
2691
2729
  }
@@ -2693,20 +2731,20 @@ var gobjJs = function(e) {
2693
2731
  let n = Number(e), r = Number(t);
2694
2732
  return n > r ? 1 : n < r ? -1 : 0;
2695
2733
  }
2696
- return el(String(e), String(t));
2734
+ return tl(String(e), String(t));
2697
2735
  }
2698
- function rl(e, t) {
2699
- if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) rl(e, n);
2736
+ function ol(e, t) {
2737
+ if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) ol(e, n);
2700
2738
  else "string" == typeof t && delete e[t];
2701
2739
  else for (const n of Object.keys(t)) delete e[n];
2702
2740
  }
2703
- function ol(e, t) {
2741
+ function ll(e, t) {
2704
2742
  return !(!(t in e) || !Object.prototype.hasOwnProperty.call(e, t));
2705
2743
  }
2706
- function ll(e, t) {
2744
+ function il(e, t) {
2707
2745
  return !Object.prototype.hasOwnProperty.call(e, t);
2708
2746
  }
2709
- function il(e, t, n) {
2747
+ function sl(e, t, n) {
2710
2748
  "__proto__" === t ? Object.defineProperty(e, t, {
2711
2749
  value: n,
2712
2750
  writable: !0,
@@ -2714,81 +2752,81 @@ var gobjJs = function(e) {
2714
2752
  configurable: !0
2715
2753
  }) : e[t] = n;
2716
2754
  }
2717
- function sl(e, t) {
2755
+ function al(e, t) {
2718
2756
  if (!/^[0-9]+$/.test(t)) return -1;
2719
2757
  const n = Number(t);
2720
2758
  return n >= e.length ? -1 : n;
2721
2759
  }
2722
- function al(e, t, n, r) {
2723
- e && !Qo(e) && ir("GObj bad instanceof");
2760
+ function ul(e, t, n, r) {
2761
+ e && !Xo(e) && ir("GObj bad instanceof");
2724
2762
  const o = e ? `${kt(e)}: ` : "";
2725
- if (!Ko(t) && !Bo(t)) return void ir(`${o}kw must be list or dict: '${String(n)}'`);
2726
- if (!Yo(n)) return void ir(`${o}path must be a string: ${String(n)}`);
2763
+ if (!Bo(t) && !Yo(t)) return void ir(`${o}kw must be list or dict: '${String(n)}'`);
2764
+ if (!Jo(n)) return void ir(`${o}path must be a string: ${String(n)}`);
2727
2765
  let l = n.split("`"), i = l.length;
2728
2766
  for (let e = 0; e < i; e++) {
2729
- if (Bo(t)) {
2730
- const i = sl(t, l[e]);
2767
+ if (Yo(t)) {
2768
+ const i = al(t, l[e]);
2731
2769
  if (i < 0) return void (r && ir(`${o}path not found: '${n}'`));
2732
2770
  l[e] = String(i);
2733
2771
  }
2734
- if (ll(t, l[e])) return void (r && ir(`${o}path not found: '${n}'`));
2772
+ if (il(t, l[e])) return void (r && ir(`${o}path not found: '${n}'`));
2735
2773
  if (e === i - 1) break;
2736
2774
  if (null == (t = t[l[e]])) return void (r && ir(`${o}path not found: '${n}'`));
2737
- if (!Ko(t) && !Bo(t)) return void ir(`${o}kw must be list or dict: '${n}'`);
2775
+ if (!Bo(t) && !Yo(t)) return void ir(`${o}kw must be list or dict: '${n}'`);
2738
2776
  }
2739
2777
  let s = t[l[i - 1]];
2740
2778
  return void 0 === s && r && ir(`${o}path not found: '${n}'`), s;
2741
2779
  }
2742
- function ul(e, t, n) {
2743
- e && !Qo(e) && ir("GObj bad instanceof");
2780
+ function _l(e, t, n) {
2781
+ e && !Xo(e) && ir("GObj bad instanceof");
2744
2782
  const r = e ? kt(e) + ": " : "";
2745
- if (!Yo(n)) return ir(`${r}kw_delete(): path must be a string: ${String(n)}`), -1;
2783
+ if (!Jo(n)) return ir(`${r}kw_delete(): path must be a string: ${String(n)}`), -1;
2746
2784
  let [o, l] = function(e, t) {
2747
2785
  let n = e.lastIndexOf(t);
2748
2786
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
2749
2787
  }(n, "`"), i = t;
2750
- if (Xo(l)) l = n;
2751
- else if (i = al(e, t, o, !0), void 0 === i) return -1;
2752
- return Bo(i) ? (ir(`${r}kw_delete(): cannot delete an item of a list: '${n}'`), -1) : Ko(i) && Object.prototype.hasOwnProperty.call(i, l) ? (delete i[l], 0) : (ir(`${r}kw_delete(): path not found: '${n}'`), -1);
2788
+ if (Zo(l)) l = n;
2789
+ else if (i = ul(e, t, o, !0), void 0 === i) return -1;
2790
+ return Yo(i) ? (ir(`${r}kw_delete(): cannot delete an item of a list: '${n}'`), -1) : Bo(i) && Object.prototype.hasOwnProperty.call(i, l) ? (delete i[l], 0) : (ir(`${r}kw_delete(): path not found: '${n}'`), -1);
2753
2791
  }
2754
- function _l(e, t, n, r, o) {
2755
- e && !Qo(e) && ir("GObj bad instanceof");
2756
- let l = al(e, t, n, !1);
2792
+ function cl(e, t, n, r, o) {
2793
+ e && !Xo(e) && ir("GObj bad instanceof");
2794
+ let l = ul(e, t, n, !1);
2757
2795
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT, u = o && o & Un.KW_WILD_NUMBER;
2758
2796
  if (void 0 === l) {
2759
2797
  if (s && t) {
2760
2798
  let o = Boolean(r);
2761
- return pl(e, t, n, o), o;
2799
+ return ml(e, t, n, o), o;
2762
2800
  }
2763
2801
  return i && (ir(`path not found: '${n}'`), $o(t)), Boolean(r);
2764
2802
  }
2765
2803
  let _;
2766
2804
  if (Ho(l)) _ = l;
2767
- else if (u && Jo(l)) _ = 0 !== l;
2768
- else if (u && Yo(l)) _ = "true" === l.toLowerCase() || "false" !== l.toLowerCase() && 0 !== (parseInt(l, 10) || 0);
2805
+ else if (u && qo(l)) _ = 0 !== l;
2806
+ else if (u && Jo(l)) _ = "true" === l.toLowerCase() || "false" !== l.toLowerCase() && 0 !== (parseInt(l, 10) || 0);
2769
2807
  else {
2770
2808
  if (!u || null !== l) return u ? (ir(`${e ? kt(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), $o(t), !1) : (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), $o(t), Boolean(r));
2771
2809
  _ = !1;
2772
2810
  }
2773
- return a && ul(e, t, n), _;
2811
+ return a && _l(e, t, n), _;
2774
2812
  }
2775
- function cl(e, t, n, r, o) {
2776
- e && !Qo(e) && ir("GObj bad instanceof");
2777
- let l = al(e, t, n, !1);
2813
+ function fl(e, t, n, r, o) {
2814
+ e && !Xo(e) && ir("GObj bad instanceof");
2815
+ let l = ul(e, t, n, !1);
2778
2816
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT, u = o && o & Un.KW_WILD_NUMBER;
2779
2817
  if (void 0 === l) {
2780
2818
  if (s && t) {
2781
2819
  let o = parseInt(r);
2782
- return pl(e, t, n, o), o;
2820
+ return ml(e, t, n, o), o;
2783
2821
  }
2784
2822
  return i && (ir(`path not found: '${n}'`), $o(t)), parseInt(r);
2785
2823
  }
2786
2824
  let _;
2787
- if (Jo(l)) _ = Math.trunc(l);
2825
+ if (qo(l)) _ = Math.trunc(l);
2788
2826
  else {
2789
2827
  if (!u) return ir(`${e ? kt(e) + ": " : ""}path MUST BE a json integer: '${n}'`), $o(t), parseInt(r);
2790
2828
  if (Ho(l)) _ = l ? 1 : 0;
2791
- else if (Yo(l)) _ = function(e) {
2829
+ else if (Jo(l)) _ = function(e) {
2792
2830
  const t = /^\s*([+-]?)(0[xX][0-9a-fA-F]+|0[0-7]*|[1-9][0-9]*)/.exec(e);
2793
2831
  if (!t) return 0;
2794
2832
  let n, r = t[2];
@@ -2799,120 +2837,120 @@ var gobjJs = function(e) {
2799
2837
  _ = 0;
2800
2838
  }
2801
2839
  }
2802
- return a && ul(e, t, n), _;
2840
+ return a && _l(e, t, n), _;
2803
2841
  }
2804
- function fl(e, t, n, r, o) {
2805
- e && !Qo(e) && ir("GObj bad instanceof");
2806
- let l = al(e, t, n, !1);
2842
+ function gl(e, t, n, r, o) {
2843
+ e && !Xo(e) && ir("GObj bad instanceof");
2844
+ let l = ul(e, t, n, !1);
2807
2845
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT;
2808
- return void 0 === l ? s && t ? (pl(e, t, n, Yo(r) ? r : null), r) : (i && !function(e, t) {
2809
- let n = Yo(t) ? t.split("`") : [], r = e;
2846
+ return void 0 === l ? s && t ? (ml(e, t, n, Jo(r) ? r : null), r) : (i && !function(e, t) {
2847
+ let n = Jo(t) ? t.split("`") : [], r = e;
2810
2848
  for (let e = 0; e < n.length - 1; e++) {
2811
- if (!Ko(r) && !Bo(r)) return !1;
2849
+ if (!Bo(r) && !Yo(r)) return !1;
2812
2850
  r = r[n[e]];
2813
2851
  }
2814
- return !(!Ko(r) && !Bo(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
2815
- }(t, n) && (ir(`path not found: '${n}'`), $o(t)), r) : Yo(l) ? (a && ul(e, t, n), l) : (null !== l && (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json str: '${n}'`), $o(t)), r);
2852
+ return !(!Bo(r) && !Yo(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
2853
+ }(t, n) && (ir(`path not found: '${n}'`), $o(t)), r) : Jo(l) ? (a && _l(e, t, n), l) : (null !== l && (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json str: '${n}'`), $o(t)), r);
2816
2854
  }
2817
- function gl(e, t, n, r, o) {
2818
- e && !Qo(e) && ir("GObj bad instanceof");
2819
- let l = al(e, t, n, !1);
2855
+ function dl(e, t, n, r, o) {
2856
+ e && !Xo(e) && ir("GObj bad instanceof");
2857
+ let l = ul(e, t, n, !1);
2820
2858
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT;
2821
2859
  if (void 0 === l) {
2822
2860
  if (s) {
2823
2861
  let o = r;
2824
- return pl(e, t, n, o), o;
2862
+ return ml(e, t, n, o), o;
2825
2863
  }
2826
2864
  return i && (ir(`path not found: '${n}'`), $o(t)), r;
2827
2865
  }
2828
- return a && ul(e, t, n), l;
2866
+ return a && _l(e, t, n), l;
2829
2867
  }
2830
- function dl(e, t, n, r, o) {
2831
- e && !Qo(e) && ir("GObj bad instanceof");
2832
- let l = al(e, t, n, !1);
2868
+ function bl(e, t, n, r, o) {
2869
+ e && !Xo(e) && ir("GObj bad instanceof");
2870
+ let l = ul(e, t, n, !1);
2833
2871
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT;
2834
- return void 0 === l ? s && Ko(r) && t ? (pl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), $o(t)), r) : Ko(l) ? (a && ul(e, t, n), l) : s && null === l && Ko(r) ? (pl(e, t, n, r), r) : s && null === l ? (i && (ir(`path not found: '${n}'`), $o(t)), r) : ((i || s) && (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json dict: '${n}'` + (s ? ", cannot create" : "")), $o(t)), r);
2872
+ return void 0 === l ? s && Bo(r) && t ? (ml(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), $o(t)), r) : Bo(l) ? (a && _l(e, t, n), l) : s && null === l && Bo(r) ? (ml(e, t, n, r), r) : s && null === l ? (i && (ir(`path not found: '${n}'`), $o(t)), r) : ((i || s) && (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json dict: '${n}'` + (s ? ", cannot create" : "")), $o(t)), r);
2835
2873
  }
2836
- function bl(e, t, n, r, o) {
2837
- e && !Qo(e) && ir("GObj bad instanceof");
2838
- let l = al(e, t, n, !1);
2874
+ function pl(e, t, n, r, o) {
2875
+ e && !Xo(e) && ir("GObj bad instanceof");
2876
+ let l = ul(e, t, n, !1);
2839
2877
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT;
2840
2878
  if (void 0 === l) {
2841
2879
  if (s) {
2842
2880
  let o = r;
2843
- return pl(e, t, n, o), o;
2881
+ return ml(e, t, n, o), o;
2844
2882
  }
2845
2883
  return i && (ir(`path not found: '${n}'`), $o(t)), r;
2846
2884
  }
2847
- return a && ul(e, t, n), l;
2885
+ return a && _l(e, t, n), l;
2848
2886
  }
2849
- function pl(e, t, n, r) {
2850
- if (e && !Qo(e) && ir("GObj bad instanceof"), !Ko(t)) return ir("kw is not an object"), -1;
2851
- if (!Yo(n)) return ir(`${e ? kt(e) + ": " : ""}kw_set_dict_value(): path must be a string: ${String(n)}`), -1;
2887
+ function ml(e, t, n, r) {
2888
+ if (e && !Xo(e) && ir("GObj bad instanceof"), !Bo(t)) return ir("kw is not an object"), -1;
2889
+ if (!Jo(n)) return ir(`${e ? kt(e) + ": " : ""}kw_set_dict_value(): path must be a string: ${String(n)}`), -1;
2852
2890
  if ("" === n) return ir((e ? kt(e) + ": " : "") + "kw_set_dict_value(): path empty"), -1;
2853
2891
  if (n.split("`").includes("")) return ir(`${e ? kt(e) + ": " : ""}kw_set_dict_value(): empty segment in path: '${n}'`), -1;
2854
2892
  let o = n.split("`"), l = o.length;
2855
2893
  for (let i = 0; i < l; i++) {
2856
2894
  let s = o[i];
2857
- if (Bo(t)) {
2858
- const r = sl(t, s);
2895
+ if (Yo(t)) {
2896
+ const r = al(t, s);
2859
2897
  if (r < 0) return ir(`${e ? kt(e) + ": " : ""}kw_set_dict_value(): segment '${s}' is not an index of its list: '${n}'`), -1;
2860
2898
  s = String(r);
2861
2899
  }
2862
- if (i === l - 1) il(t, s, r);
2900
+ if (i === l - 1) sl(t, s, r);
2863
2901
  else {
2864
- let r = ll(t, s) ? void 0 : t[s];
2865
- if (void 0 === r) il(t, s, {});
2866
- else if (!Ko(r) && !Bo(r)) return ir(`${e ? kt(e) + ": " : ""}kw_set_dict_value(): segment '${s}' is not a dict or a list: '${n}'`), -1;
2902
+ let r = il(t, s) ? void 0 : t[s];
2903
+ if (void 0 === r) sl(t, s, {});
2904
+ else if (!Bo(r) && !Yo(r)) return ir(`${e ? kt(e) + ": " : ""}kw_set_dict_value(): segment '${s}' is not a dict or a list: '${n}'`), -1;
2867
2905
  t = t[s];
2868
2906
  }
2869
2907
  }
2870
2908
  return 0;
2871
2909
  }
2872
- function ml(e, t, n, r, o) {
2873
- if (e && !Qo(e) && ir("GObj bad instanceof"), !Ko(t)) return ir("kw is not an object"), -1;
2874
- let l = al(e, t, n, !1);
2910
+ function hl(e, t, n, r, o) {
2911
+ if (e && !Xo(e) && ir("GObj bad instanceof"), !Bo(t)) return ir("kw is not an object"), -1;
2912
+ let l = ul(e, t, n, !1);
2875
2913
  if (void 0 === l) {
2876
- if (!Yo(n) || function(e, t) {
2914
+ if (!Jo(n) || function(e, t) {
2877
2915
  let n = t.split("`"), r = e;
2878
2916
  for (let e = 0; e < n.length - 1; e++) {
2879
- if (Bo(r)) {
2880
- const t = sl(r, n[e]);
2917
+ if (Yo(r)) {
2918
+ const t = al(r, n[e]);
2881
2919
  if (t < 0) return !1;
2882
2920
  r = r[t];
2883
2921
  } else r = Object.prototype.hasOwnProperty.call(r, n[e]) ? r[n[e]] : void 0;
2884
2922
  if (null == r) return !1;
2885
- if (!Ko(r) && !Bo(r)) return !0;
2923
+ if (!Bo(r) && !Yo(r)) return !0;
2886
2924
  }
2887
2925
  return !1;
2888
2926
  }(t, n)) return -1;
2889
- if (l = {}, pl(e, t, n, l) < 0) return -1;
2927
+ if (l = {}, ml(e, t, n, l) < 0) return -1;
2890
2928
  }
2891
- return Ko(l) ? (il(l, r, o), 0) : (ir(`subdict is not an object: '${n}'`), -1);
2929
+ return Bo(l) ? (sl(l, r, o), 0) : (ir(`subdict is not an object: '${n}'`), -1);
2892
2930
  }
2893
- function hl(e, t, r) {
2931
+ function yl(e, t, r) {
2894
2932
  let o = "", l = !1;
2895
- if (Bo(t)) {
2933
+ if (Yo(t)) {
2896
2934
  l = !1;
2897
2935
  for (let i = 0; i < t.length; i++) {
2898
2936
  let s = t[i];
2899
- if (o = Xo(r) ? n("%s", r) : n("%s`%d", r, i), l = hl(e, s, o), l) break;
2937
+ if (o = Zo(r) ? n("%s", r) : n("%s`%d", r, i), l = yl(e, s, o), l) break;
2900
2938
  }
2901
- } else if (Ko(t)) {
2939
+ } else if (Bo(t)) {
2902
2940
  l = !0;
2903
2941
  let i = Object.keys(t);
2904
2942
  for (let s = 0; s < i.length; s++) {
2905
2943
  let a = i[s], u = t[a];
2906
- if (o = Xo(r) ? n("%s", a) : n("%s`%s", r, a), Bo(u) || Ko(u)) {
2907
- if (l = hl(e, u, o), !l) break;
2944
+ if (o = Zo(r) ? n("%s", a) : n("%s`%s", r, a), Yo(u) || Bo(u)) {
2945
+ if (l = yl(e, u, o), !l) break;
2908
2946
  continue;
2909
2947
  }
2910
- let _ = bl(0, e, o, void 0, 0);
2948
+ let _ = pl(0, e, o, void 0, 0);
2911
2949
  if (void 0 === _ && (_ = Io(e, o)), void 0 === _) {
2912
2950
  l = !1;
2913
2951
  break;
2914
2952
  }
2915
- if (0 !== nl(_, u)) {
2953
+ if (0 !== rl(_, u)) {
2916
2954
  l = !1;
2917
2955
  break;
2918
2956
  }
@@ -2920,34 +2958,34 @@ var gobjJs = function(e) {
2920
2958
  }
2921
2959
  return l;
2922
2960
  }
2923
- function yl(e, t) {
2924
- return 0 === xo(t) || hl(e, t, "");
2961
+ function vl(e, t) {
2962
+ return 0 === xo(t) || yl(e, t, "");
2925
2963
  }
2926
- function vl(e, t, n, r) {
2927
- e && !Qo(e) && ir("GObj bad instanceof");
2964
+ function El(e, t, n, r) {
2965
+ e && !Xo(e) && ir("GObj bad instanceof");
2928
2966
  let o = {};
2929
- if (Yo(n) && !Xo(n)) {
2967
+ if (Jo(n) && !Zo(n)) {
2930
2968
  let l = n;
2931
- Object.prototype.hasOwnProperty.call(t, l) ? il(o, l, t[l]) : r && ir(`${kt(e)}: key not found: ${l}`);
2932
- } else if (Ko(n) && Vo(n) > 0) for (let l of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, l) ? il(o, l, t[l]) : r && ir(`${kt(e)}: key not found: ${l}`);
2969
+ Object.prototype.hasOwnProperty.call(t, l) ? sl(o, l, t[l]) : r && ir(`${kt(e)}: key not found: ${l}`);
2970
+ } else if (Bo(n) && Vo(n) > 0) for (let l of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, l) ? sl(o, l, t[l]) : r && ir(`${kt(e)}: key not found: ${l}`);
2933
2971
  else {
2934
- if (!(Bo(n) && Wo(n) > 0)) return t;
2972
+ if (!(Yo(n) && Wo(n) > 0)) return t;
2935
2973
  for (let l = 0; l < n.length; l++) {
2936
2974
  let i = n[l];
2937
- Object.prototype.hasOwnProperty.call(t, i) ? il(o, i, t[i]) : r && ir(`${kt(e)}: key not found: ${i}`);
2975
+ Object.prototype.hasOwnProperty.call(t, i) ? sl(o, i, t[i]) : r && ir(`${kt(e)}: key not found: ${i}`);
2938
2976
  }
2939
2977
  }
2940
2978
  return o;
2941
2979
  }
2942
- function El(e, t, n, r) {
2980
+ function Tl(e, t, n, r) {
2943
2981
  let o = {};
2944
- if (!Ko(t)) return o;
2945
- if (Do(o, t), Yo(n) && !Xo(n)) {
2982
+ if (!Bo(t)) return o;
2983
+ if (Do(o, t), Jo(n) && !Zo(n)) {
2946
2984
  let l = n;
2947
2985
  Object.prototype.hasOwnProperty.call(t, l) ? Po(o, l) : r && ir(`${kt(e)}: key not found: ${l}`);
2948
- } else if (Ko(n) && Vo(n) > 0) for (let l of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, l) ? Po(o, l) : r && ir(`${kt(e)}: key not found: ${l}`);
2986
+ } else if (Bo(n) && Vo(n) > 0) for (let l of Object.keys(n)) Object.prototype.hasOwnProperty.call(t, l) ? Po(o, l) : r && ir(`${kt(e)}: key not found: ${l}`);
2949
2987
  else {
2950
- if (!(Bo(n) && Wo(n) > 0)) return {};
2988
+ if (!(Yo(n) && Wo(n) > 0)) return {};
2951
2989
  for (let l = 0; l < n.length; l++) {
2952
2990
  let i = n[l];
2953
2991
  Object.prototype.hasOwnProperty.call(t, i) ? Po(o, i) : r && ir(`${kt(e)}: key not found: ${i}`);
@@ -2955,82 +2993,119 @@ var gobjJs = function(e) {
2955
2993
  }
2956
2994
  return o;
2957
2995
  }
2958
- var Tl = /* @__PURE__ */ new Set();
2959
- function jl(e, t) {
2960
- Tl.has(e) || (Tl.add(e), sr(`kw_get_local_storage_value(): localStorage key "${e}" ${t}`));
2996
+ function jl() {
2997
+ if ("undefined" == typeof window) return null;
2998
+ let e;
2999
+ try {
3000
+ e = window.localStorage;
3001
+ } catch (e) {
3002
+ const t = () => {
3003
+ throw e;
3004
+ };
3005
+ return {
3006
+ getItem: t,
3007
+ setItem: t,
3008
+ removeItem: t
3009
+ };
3010
+ }
3011
+ return e || null;
3012
+ }
3013
+ var Ol = /* @__PURE__ */ new Set();
3014
+ function Sl(e, t) {
3015
+ Ol.has(e) || (Ol.add(e), sr(t));
2961
3016
  }
2962
- function Ol(e, t, n = !1) {
2963
- if ("undefined" == typeof window || !window.localStorage) return t;
2964
- let r;
3017
+ function wl(e, t, n = !1) {
3018
+ const r = jl();
3019
+ if (!r) return t;
3020
+ const o = `kw_get_local_storage_value(): localStorage key "${e}"`;
3021
+ let l;
2965
3022
  try {
2966
- r = window.localStorage.getItem(e);
3023
+ l = r.getItem(e);
2967
3024
  } catch (n) {
2968
- return jl(e, "cannot be read (storage blocked?): the default is used"), t;
3025
+ return Sl(e, `${o} cannot be read (storage blocked?): the default is used`), t;
2969
3026
  }
2970
- let o = null;
2971
- if (null !== r) try {
2972
- o = JSON.parse(r);
3027
+ let i = !0, s = null;
3028
+ if (null !== l) try {
3029
+ s = JSON.parse(l);
2973
3030
  } catch (t) {
2974
- jl(e, "does not hold json: removed, the default is used"), wl(e), o = null;
3031
+ s = null;
3032
+ try {
3033
+ r.removeItem(e), sr(`${o} does not hold json: removed, the default is used`);
3034
+ } catch (t) {
3035
+ i = !1, Sl(e, `${o} does not hold json and cannot be removed: the default is used`);
3036
+ }
3037
+ }
3038
+ if (null === s && (s = t, n)) {
3039
+ const n = Fe(t);
3040
+ if (void 0 === n) ir(`${o}: cannot write the default: a value with no json text`);
3041
+ else try {
3042
+ r.setItem(e, n);
3043
+ } catch (t) {
3044
+ i = !1, Sl(e, `${o} cannot be written (storage full or blocked?): the default is used, not kept`);
3045
+ }
2975
3046
  }
2976
- return null === o ? (n && Sl(e, t), t) : o;
3047
+ return i && Ol.delete(e), s;
2977
3048
  }
2978
- function Sl(e, t) {
2979
- if ("undefined" == typeof window || !window.localStorage) return 0;
2980
- if (!e || void 0 === t) return ir(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
3049
+ function Nl(e, t) {
3050
+ if (!e) return ir(`kw_set_local_storage_value(): invalid key: key=${e}`), -1;
3051
+ const n = Fe(t);
3052
+ if (void 0 === n) return ir(`kw_set_local_storage_value(): cannot save "${e}": a value with no json text`), -1;
3053
+ const r = jl();
3054
+ if (!r) return 0;
2981
3055
  try {
2982
- return window.localStorage.setItem(e, JSON.stringify(t)), 0;
3056
+ return r.setItem(e, n), 0;
2983
3057
  } catch (t) {
2984
3058
  return ir(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
2985
3059
  }
2986
3060
  }
2987
- function wl(e) {
2988
- if ("undefined" != typeof window && window.localStorage) if (e) try {
2989
- window.localStorage.removeItem(e);
3061
+ function $l(e) {
3062
+ const t = jl();
3063
+ if (t) if (e) try {
3064
+ t.removeItem(e);
2990
3065
  } catch (t) {
2991
- window.console.warn(`Error removing localStorage key "${e}":`, t);
3066
+ sr(`kw_remove_local_storage_value(): cannot remove "${e}" (storage blocked?): ${t && t.message ? t.message : t}`);
2992
3067
  }
2993
- else window.console.warn(`Invalid key for localStorage removal: ${e}`);
3068
+ else ir(`kw_remove_local_storage_value(): invalid key: key=${e}`);
2994
3069
  }
2995
- function Nl(e, t) {
2996
- if (qo(e) || qo(t)) return !0;
2997
- if (Bo(e)) {
3070
+ function Al(e, t) {
3071
+ if (zo(e) || zo(t)) return !0;
3072
+ if (Yo(e)) {
2998
3073
  if (0 === e.length) return !0;
2999
3074
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
3000
- } else if (Ko(e)) {
3075
+ } else if (Bo(e)) {
3001
3076
  if (0 === Object.keys(e).length) return !0;
3002
3077
  for (let n in e) if (n === t) return !0;
3003
- } else if (Yo(e) && e === t) return !0;
3078
+ } else if (Jo(e) && e === t) return !0;
3004
3079
  return !1;
3005
3080
  }
3006
- function $l(e, t, n, r, o) {
3007
- if (e && !Qo(e) && ir("GObj bad instanceof"), !t) return null;
3008
- o || (o = yl);
3081
+ function Rl(e, t, n, r, o) {
3082
+ if (e && !Xo(e) && ir("GObj bad instanceof"), !t) return null;
3083
+ o || (o = vl);
3009
3084
  let l = [];
3010
- if (Bo(t)) for (let i = 0; i < t.length; i++) {
3085
+ if (Yo(t)) for (let i = 0; i < t.length; i++) {
3011
3086
  let s, a = t[i];
3012
- if (Ko(a)) s = fl(e, a, "id", "", 0);
3087
+ if (Bo(a)) s = gl(e, a, "id", "", 0);
3013
3088
  else {
3014
- if (!Yo(a)) continue;
3089
+ if (!Jo(a)) continue;
3015
3090
  s = a;
3016
3091
  }
3017
- Nl(n, s) && o(a, r) && l.push(a);
3092
+ Al(n, s) && o(a, r) && l.push(a);
3018
3093
  }
3019
3094
  else {
3020
- if (!Ko(t)) return ir("kw_collect() BAD kw parameter"), null;
3095
+ if (!Bo(t)) return ir("kw_collect() BAD kw parameter"), null;
3021
3096
  for (let e of Object.keys(t)) {
3022
3097
  let i = t[e];
3023
- Nl(n, e) && o(i, r) && l.push(i);
3098
+ Al(n, e) && o(i, r) && l.push(i);
3024
3099
  }
3025
3100
  }
3026
3101
  return l;
3027
3102
  }
3028
- function Al(e, t) {
3103
+ function Dl(e, t) {
3029
3104
  if (!e) return -1;
3030
3105
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
3031
3106
  return -1;
3032
3107
  }
3033
- function Rl(e, t, n) {
3108
+ function kl(e, t, n) {
3034
3109
  if (!e || !t) return ir("ERROR: str_in_list() list or str empty"), !1;
3035
3110
  let r = e.length;
3036
3111
  if (n) {
@@ -3042,7 +3117,7 @@ var gobjJs = function(e) {
3042
3117
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
3043
3118
  return !1;
3044
3119
  }
3045
- function Dl(e, t) {
3120
+ function Cl(e, t) {
3046
3121
  try {
3047
3122
  let n = e.__md_iev__;
3048
3123
  if (n) return n[t];
@@ -3050,35 +3125,35 @@ var gobjJs = function(e) {
3050
3125
  return;
3051
3126
  }
3052
3127
  }
3053
- function kl(e, t, n) {
3128
+ function Il(e, t, n) {
3054
3129
  let r = e.__md_iev__;
3055
3130
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
3056
3131
  }
3057
- function Cl(e, t, n, r) {
3058
- if (!Qo(e)) return ir("gobj is not a GObj"), null;
3132
+ function Pl(e, t, n, r) {
3133
+ if (!Xo(e)) return ir("gobj is not a GObj"), null;
3059
3134
  if (!t) return;
3060
- let o = Dl(t, n);
3061
- o || (o = [], kl(t, n, o));
3135
+ let o = Cl(t, n);
3136
+ o || (o = [], Il(t, n, o));
3062
3137
  try {
3063
- Bo(o) && o.unshift(r);
3138
+ Yo(o) && o.unshift(r);
3064
3139
  } catch (e) {
3065
3140
  ir(e);
3066
3141
  }
3067
3142
  }
3068
- function Il(e, t, n, r) {
3069
- if (!Qo(e)) return ir("gobj is not a GObj"), null;
3070
- if (!Ko(t)) return ir("kw is not a dict"), null;
3071
- let o = Dl(t, n);
3143
+ function Ll(e, t, n, r) {
3144
+ if (!Xo(e)) return ir("gobj is not a GObj"), null;
3145
+ if (!Bo(t)) return ir("kw is not a dict"), null;
3146
+ let o = Cl(t, n);
3072
3147
  return o ? 0 === o.length ? (r && ir(`stack empty: ${n}`), null) : o[0] : (r && ir(`stack NOT FOUND: ${n}`), null);
3073
3148
  }
3074
- function Pl(e, t, n) {
3075
- return Xo(n) ? ul(e, t, "__md_iev__`__msg_type__") : ml(e, t, "__md_iev__", "__msg_type__", n), 0;
3149
+ function Ul(e, t, n) {
3150
+ return Zo(n) ? _l(e, t, "__md_iev__`__msg_type__") : hl(e, t, "__md_iev__", "__msg_type__", n), 0;
3076
3151
  }
3077
- function Ll(e, t) {
3078
- return fl(e, t, "__md_iev__`__msg_type__", "", 0);
3152
+ function Fl(e, t) {
3153
+ return gl(e, t, "__md_iev__`__msg_type__", "", 0);
3079
3154
  }
3080
- function Ul(e, t, n) {
3081
- void 0 !== n && Yo(n) || (n = "");
3155
+ function Ml(e, t, n) {
3156
+ void 0 !== n && Jo(n) || (n = "");
3082
3157
  for (let r of Object.keys(e)) {
3083
3158
  if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
3084
3159
  let o = (n.length ? "`" : "") + r;
@@ -3087,10 +3162,10 @@ var gobjJs = function(e) {
3087
3162
  r,
3088
3163
  e[r],
3089
3164
  n
3090
- ]), Ko(e[r]) && Ul(e[r], t, n), n = n.slice(0, -o.length);
3165
+ ]), Bo(e[r]) && Ml(e[r], t, n), n = n.slice(0, -o.length);
3091
3166
  }
3092
3167
  }
3093
- function Fl(e, t, n, r) {
3168
+ function Gl(e, t, n, r) {
3094
3169
  if (!e) return null;
3095
3170
  let o, l = e.length;
3096
3171
  for (o = 0; o < l; o++) {
@@ -3098,15 +3173,15 @@ var gobjJs = function(e) {
3098
3173
  if (l) {
3099
3174
  let e = l.id;
3100
3175
  if (e && e === n) return l;
3101
- if (r && ol(l, t)) {
3102
- let e = Fl(l[t], t, n, r);
3176
+ if (r && ll(l, t)) {
3177
+ let e = Gl(l[t], t, n, r);
3103
3178
  if (e) return e;
3104
3179
  }
3105
3180
  }
3106
3181
  }
3107
3182
  return null;
3108
3183
  }
3109
- function Ml(e) {
3184
+ function Vl(e) {
3110
3185
  function t(e) {
3111
3186
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
3112
3187
  switch (t.length % 4) {
@@ -3137,10 +3212,10 @@ var gobjJs = function(e) {
3137
3212
  signature: t(n[2])
3138
3213
  };
3139
3214
  }
3140
- function Gl(e) {
3215
+ function Wl(e) {
3141
3216
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3142
3217
  }
3143
- var Vl = class {
3218
+ var xl = class {
3144
3219
  constructor(e) {
3145
3220
  this.html = e, Object.freeze(this);
3146
3221
  }
@@ -3148,41 +3223,68 @@ var gobjJs = function(e) {
3148
3223
  return this.html;
3149
3224
  }
3150
3225
  };
3151
- function Wl(e) {
3152
- return e instanceof Vl;
3226
+ function Kl(e) {
3227
+ return e instanceof xl;
3153
3228
  }
3154
- function xl(e) {
3229
+ function Bl(e) {
3155
3230
  const t = document.createElement("template");
3156
3231
  return t.innerHTML = e.html.trim(), t.content;
3157
3232
  }
3158
- var Kl = !1, Bl = /* @__PURE__ */ new Set();
3159
- function Yl(e) {
3233
+ var Yl = !1, Jl = /* @__PURE__ */ new Set();
3234
+ function ql(e) {
3160
3235
  const t = document.createElement("template");
3161
3236
  return t.innerHTML = e.trim(), t.content.firstChild;
3162
3237
  }
3163
- function Jl(e) {
3238
+ function Hl(e) {
3164
3239
  const t = (e, t) => String(e).padStart(t, "0"), n = `${(e = e || /* @__PURE__ */ new Date()).getFullYear()}-${t(e.getMonth() + 1, 2)}-${t(e.getDate(), 2)}T${t(e.getHours(), 2)}:${t(e.getMinutes(), 2)}:${t(e.getSeconds(), 2)}`, r = t(e.getMilliseconds(), 3), o = e.getTimezoneOffset();
3165
3240
  return `${n}.${r}${o > 0 ? "-" : "+"}${t(Math.floor(Math.abs(o) / 60), 2)}${t(Math.abs(o) % 60, 2)}`;
3166
3241
  }
3167
- function Hl(e, t) {
3242
+ function zl(e, t) {
3168
3243
  if (!e) throw "ERROR: index_in_list() list empty";
3169
3244
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
3170
3245
  return -1;
3171
3246
  }
3172
- function ql() {
3173
- let e = "";
3174
- return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
3247
+ function Ql() {
3248
+ const e = "undefined" != typeof window && window.crypto || globalThis.crypto;
3249
+ if (e && "function" == typeof e.randomUUID) return e.randomUUID();
3250
+ const t = /* @__PURE__ */ new Uint8Array(16);
3251
+ if (e && "function" == typeof e.getRandomValues) e.getRandomValues(t);
3252
+ else for (let e = 0; e < t.length; e++) t[e] = Math.floor(256 * Math.random());
3253
+ t[6] = 15 & t[6] | 64, t[8] = 63 & t[8] | 128;
3254
+ const n = Array.from(t, (e) => e.toString(16).padStart(2, "0")).join("");
3255
+ return `${n.slice(0, 8)}-${n.slice(8, 12)}-${n.slice(12, 16)}-${n.slice(16, 20)}-${n.slice(20)}`;
3256
+ }
3257
+ var Xl = null;
3258
+ function Zl() {
3259
+ if (Xl) return Xl;
3260
+ const e = jl();
3261
+ if (!e) return Xl = Ql();
3262
+ let t = null;
3263
+ try {
3264
+ t = e.getItem("host_uuid");
3265
+ } catch (e) {
3266
+ return Sl("host_uuid", "node_uuid(): localStorage cannot be read (storage blocked?): a uuid of this page only"), Xl = Ql();
3267
+ }
3268
+ if (!t) {
3269
+ t = Ql();
3270
+ try {
3271
+ e.setItem("host_uuid", t);
3272
+ } catch (e) {
3273
+ Sl("host_uuid", "node_uuid(): localStorage cannot be written (storage full or blocked?): a uuid of this page only");
3274
+ }
3275
+ }
3276
+ return Xl = t;
3175
3277
  }
3176
- function zl(e) {
3278
+ function ei(e) {
3177
3279
  let t = null;
3178
3280
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
3179
3281
  }
3180
- var Ql = 256, Xl = 1e5;
3181
- function Zl(e) {
3282
+ var ti = 256, ni = 1e5;
3283
+ function ri(e) {
3182
3284
  const t = String(e).replace(/`/g, "``");
3183
3285
  return "[" === t[0] ? "[" + t : t;
3184
3286
  }
3185
- function ei(e) {
3287
+ function oi(e) {
3186
3288
  if ("string" != typeof e) return null;
3187
3289
  let t = [], n = "";
3188
3290
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -3203,14 +3305,14 @@ var gobjJs = function(e) {
3203
3305
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
3204
3306
  });
3205
3307
  }
3206
- function ti(e, t) {
3308
+ function li(e, t) {
3207
3309
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
3208
3310
  }
3209
- function ni(e) {
3311
+ function ii(e) {
3210
3312
  return "persistent-attrs-" + kt(e);
3211
3313
  }
3212
- function ri(e, t) {
3213
- if (Yo(t)) {
3314
+ function si(e, t) {
3315
+ if (Jo(t)) {
3214
3316
  if (-1 === t.indexOf("^")) {
3215
3317
  let n, r, o = e.fkey;
3216
3318
  if (1 !== Vo(o)) return ir("bad fkey 1"), ir(e), ir(t), null;
@@ -3233,13 +3335,13 @@ var gobjJs = function(e) {
3233
3335
  };
3234
3336
  }
3235
3337
  }
3236
- return Ko(t) ? {
3338
+ return Bo(t) ? {
3237
3339
  topic_name: t.topic_name,
3238
3340
  id: t.id,
3239
3341
  hook_name: t.hook_name
3240
3342
  } : (ir("bad fkey 3"), ir(e), ir(t), null);
3241
3343
  }
3242
- var oi = [
3344
+ var ai = [
3243
3345
  "string",
3244
3346
  "integer",
3245
3347
  "object",
@@ -3249,7 +3351,7 @@ var gobjJs = function(e) {
3249
3351
  "real",
3250
3352
  "boolean",
3251
3353
  "blob"
3252
- ], li = [
3354
+ ], ui = [
3253
3355
  "persistent",
3254
3356
  "required",
3255
3357
  "notnull",
@@ -3261,7 +3363,7 @@ var gobjJs = function(e) {
3261
3363
  "stats",
3262
3364
  "rstats",
3263
3365
  "pstats"
3264
- ], ii = [
3366
+ ], _i = [
3265
3367
  "hook",
3266
3368
  "fkey",
3267
3369
  "enum",
@@ -3290,7 +3392,7 @@ var gobjJs = function(e) {
3290
3392
  "coordinates",
3291
3393
  "gbuffer"
3292
3394
  ];
3293
- function si(e) {
3395
+ function ci(e) {
3294
3396
  let t = {
3295
3397
  name: e.id,
3296
3398
  header: e.header,
@@ -3309,7 +3411,7 @@ var gobjJs = function(e) {
3309
3411
  if (!e.flag) return t;
3310
3412
  for (let n = 0; n < e.flag.length; n++) {
3311
3413
  let r = e.flag[n];
3312
- if (Rl(ii, r)) {
3414
+ if (kl(_i, r)) {
3313
3415
  switch (r) {
3314
3416
  case "enum":
3315
3417
  t.enum_list = e.enum;
@@ -3323,7 +3425,7 @@ var gobjJs = function(e) {
3323
3425
  case "file": t.is_file = !0;
3324
3426
  }
3325
3427
  t.type = r;
3326
- } else if (Rl(li, r)) switch (r) {
3428
+ } else if (kl(ui, r)) switch (r) {
3327
3429
  case "writable":
3328
3430
  t.is_writable = !0;
3329
3431
  break;
@@ -3336,23 +3438,23 @@ var gobjJs = function(e) {
3336
3438
  }
3337
3439
  return t.is_file && (t.type = "file"), t;
3338
3440
  }
3339
- var ai = [
3441
+ var fi = [
3340
3442
  k(E.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
3341
3443
  k(E.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
3342
3444
  k(E.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
3343
3445
  D()
3344
- ], ui = {
3446
+ ], gi = {
3345
3447
  periodic: !1,
3346
3448
  msec: 0,
3347
3449
  timer_id: -1
3348
- }, _i = null;
3349
- function ci(e, t, n, r) {
3450
+ }, di = null;
3451
+ function bi(e, t, n, r) {
3350
3452
  let o = e.priv, l = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
3351
3453
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
3352
3454
  jn(e, "EV_TIMEOUT", {}, e);
3353
3455
  }, o.msec) : o.timer_id = -1, Ln(e, l, {}), o.periodic || -1 !== o.timer_id || Tt(e) && mt(e), 0;
3354
3456
  }
3355
- var fi = {
3457
+ var pi = {
3356
3458
  mt_create: function(e) {
3357
3459
  let t = e.priv, n = nn(e, "subscriber");
3358
3460
  n ? kn(e, null, {}, n) : Lt(e) && (n = It(e), kn(e, null, {}, n)), t.periodic = Zt(e, "periodic"), t.msec = en(e, "msec");
@@ -3376,19 +3478,19 @@ var gobjJs = function(e) {
3376
3478
  },
3377
3479
  mt_destroy: function(e) {}
3378
3480
  };
3379
- function gi(e) {
3481
+ function mi(e) {
3380
3482
  return "number" == typeof e && Number.isFinite(e) ? Math.round(e) : e;
3381
3483
  }
3382
- function di(e, t) {
3383
- return e instanceof I ? "C_TIMER" !== Dt(e) ? (ir("not C_TIMER GObj"), -1) : (an(e, "periodic", !1), void un(e, "msec", gi(t))) : (ir("not GObj TYPE"), -1);
3484
+ function hi(e, t) {
3485
+ return e instanceof I ? "C_TIMER" !== Dt(e) ? (ir("not C_TIMER GObj"), -1) : (an(e, "periodic", !1), void un(e, "msec", mi(t))) : (ir("not GObj TYPE"), -1);
3384
3486
  }
3385
- function bi(e, t) {
3386
- return e instanceof I ? "C_TIMER" !== Dt(e) ? (ir("not C_TIMER GObj"), -1) : (an(e, "periodic", !0), void un(e, "msec", gi(t))) : (ir("not GObj TYPE"), -1);
3487
+ function yi(e, t) {
3488
+ return e instanceof I ? "C_TIMER" !== Dt(e) ? (ir("not C_TIMER GObj"), -1) : (an(e, "periodic", !0), void un(e, "msec", mi(t))) : (ir("not GObj TYPE"), -1);
3387
3489
  }
3388
- function pi(e) {
3490
+ function vi(e) {
3389
3491
  return e instanceof I ? "C_TIMER" !== Dt(e) ? (ir("not C_TIMER GObj"), -1) : void un(e, "msec", -1) : (ir("not GObj TYPE"), -1);
3390
3492
  }
3391
- var mi = [
3493
+ var Ei = [
3392
3494
  k(E.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
3393
3495
  k(E.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
3394
3496
  k(E.DTP_STRING, "__username__", 0, "", "Username"),
@@ -3408,60 +3510,60 @@ var gobjJs = function(e) {
3408
3510
  k(E.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
3409
3511
  k(E.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
3410
3512
  D()
3411
- ], hi = { gobj_timer: null }, yi = null;
3412
- function vi(e, t, n, r) {
3513
+ ], Ti = { gobj_timer: null }, ji = null;
3514
+ function Oi(e, t, n, r) {
3413
3515
  let o = Qt(e, t);
3414
- return Ko(o) || (o = {}), o[n] = r, rn(e, t, o), it(e, t);
3516
+ return Bo(o) || (o = {}), o[n] = r, rn(e, t, o), it(e, t);
3415
3517
  }
3416
- var Ei = -2147483648, Ti = 2147483647;
3417
- function ji(e) {
3518
+ var Si = -2147483648, wi = 2147483647;
3519
+ function Ni(e) {
3418
3520
  if (!0 === e || !1 === e) return e;
3419
- if ("number" == typeof e) return !Number.isInteger(e) || e < Ei || e > Ti ? null : 0 !== e;
3521
+ if ("number" == typeof e) return !Number.isInteger(e) || e < Si || e > wi ? null : 0 !== e;
3420
3522
  if ("string" != typeof e || "" === e) return null;
3421
3523
  let t = e.toLowerCase();
3422
3524
  if ("set" === t) return !0;
3423
3525
  if ("reset" === t) return !1;
3424
3526
  if (/^-?(0|[1-9][0-9]*)$/.test(e)) {
3425
3527
  let t = Number(e);
3426
- return t < Ei || t > Ti ? null : 0 !== t;
3528
+ return t < Si || t > wi ? null : 0 !== t;
3427
3529
  }
3428
3530
  return "true" === t || "yes" === t || "on" === t || "false" !== t && "no" !== t && "off" !== t && null;
3429
3531
  }
3430
- function Oi() {
3532
+ function $i() {
3431
3533
  return `${$t()}^${Nt()}`;
3432
3534
  }
3433
- function Si(e, t, n, r) {
3535
+ function Ai(e, t, n, r) {
3434
3536
  return Ln(e, t, n), 0;
3435
3537
  }
3436
- var wi = {
3538
+ var Ri = {
3437
3539
  mt_create: function(e) {
3438
3540
  let t = e.priv;
3439
- _n(e, "start_date", Jl()), _n(e, "node_uuid", ql()), e.priv.gobj_timer = _t(Rt(e), "C_TIMER", {}, e), t.periodic_timeout = Qt(e, "periodic_timeout"), function(e) {
3541
+ _n(e, "start_date", Hl()), _n(e, "node_uuid", Zl()), e.priv.gobj_timer = _t(Rt(e), "C_TIMER", {}, e), t.periodic_timeout = Qt(e, "periodic_timeout"), function(e) {
3440
3542
  let t = Qt(e, "trace_levels");
3441
- if (!Ko(t)) return 0;
3543
+ if (!Bo(t)) return 0;
3442
3544
  let n = t.__global_trace__;
3443
- if (Bo(n)) {
3545
+ if (Yo(n)) {
3444
3546
  ae(4294967295, !1);
3445
3547
  for (let e of n) ie(e, !0);
3446
3548
  }
3447
3549
  for (const [n, r] of Object.entries(t)) {
3448
3550
  let t = et(n);
3449
- if (t) if (Bo(r)) {
3551
+ if (t) if (Yo(r)) {
3450
3552
  be(t, null, !1);
3451
3553
  for (let e of r) be(t, e, !0);
3452
3554
  } else ir(`${Rt(e)}: trace_levels of ${n} MUST be a list`);
3453
3555
  }
3454
3556
  }(e), function(e) {
3455
3557
  let t = Qt(e, "no_trace_levels");
3456
- if (!Ko(t)) return 0;
3558
+ if (!Bo(t)) return 0;
3457
3559
  let n = t.__global_no_trace__;
3458
- if (Bo(n)) {
3560
+ if (Yo(n)) {
3459
3561
  ue(4294967295, !1);
3460
3562
  for (let e of n) se(e, !0);
3461
3563
  }
3462
3564
  for (const [n, r] of Object.entries(t)) {
3463
3565
  let t = et(n);
3464
- if (t) if (Bo(r)) {
3566
+ if (t) if (Yo(r)) {
3465
3567
  pe(t, null, !1);
3466
3568
  for (let e of r) pe(t, e, !0);
3467
3569
  } else ir(`${Rt(e)}: no_trace_levels of ${n} MUST be a list`);
@@ -3470,10 +3572,10 @@ var gobjJs = function(e) {
3470
3572
  },
3471
3573
  mt_writing: function(e, t) {},
3472
3574
  mt_start: function(e) {
3473
- return bi(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3575
+ return yi(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3474
3576
  },
3475
3577
  mt_stop: function(e) {
3476
- return pi(e.priv.gobj_timer), yt(e), 0;
3578
+ return vi(e.priv.gobj_timer), yt(e), 0;
3477
3579
  },
3478
3580
  mt_destroy: function(e) {},
3479
3581
  mt_play: function(e) {
@@ -3490,24 +3592,24 @@ var gobjJs = function(e) {
3490
3592
  case "get-global-no-trace": return o(0, 0, null, null, ce());
3491
3593
  case "set-global-trace":
3492
3594
  case "set-global-no-trace": {
3493
- let r = "set-global-no-trace" === t, l = n.level, i = ji(n.set);
3494
- return l ? null === i ? o(0, -1, `${Oi()}: bitmask set or re-set?`, null, null) : (r ? se(l, i) : ie(l, i)) < 0 ? o(0, -1, `${Oi()}: global trace level not found: ${l}`, null, null) : r ? (vi(e, "no_trace_levels", "__global_no_trace__", ce()), o(0, 0, null, null, ce())) : (vi(e, "trace_levels", "__global_trace__", _e()), o(0, 0, null, null, _e())) : o(0, -1, `${Oi()}: what level?`, null, null);
3595
+ let r = "set-global-no-trace" === t, l = n.level, i = Ni(n.set);
3596
+ return l ? null === i ? o(0, -1, `${$i()}: bitmask set or re-set?`, null, null) : (r ? se(l, i) : ie(l, i)) < 0 ? o(0, -1, `${$i()}: global trace level not found: ${l}`, null, null) : r ? (Oi(e, "no_trace_levels", "__global_no_trace__", ce()), o(0, 0, null, null, ce())) : (Oi(e, "trace_levels", "__global_trace__", _e()), o(0, 0, null, null, _e())) : o(0, -1, `${$i()}: what level?`, null, null);
3495
3597
  }
3496
3598
  case "get-gclass-trace":
3497
3599
  case "get-gclass-no-trace":
3498
3600
  case "set-gclass-trace":
3499
3601
  case "set-gclass-no-trace": {
3500
3602
  let r = t.indexOf("no-trace") >= 0, l = n.gclass_name || n.gclass || "", i = et(l);
3501
- if (!i) return o(0, -1, `${Oi()}: what gclass is '${l}'?`, null, null);
3603
+ if (!i) return o(0, -1, `${$i()}: what gclass is '${l}'?`, null, null);
3502
3604
  if (0 === t.indexOf("get-")) return o(0, 0, null, null, r ? de(i) : fe(i));
3503
- let s = n.level, a = ji(n.set);
3504
- return s ? null === a ? o(0, -1, `${Oi()}: bitmask set or re-set?`, null, null) : (r ? pe(i, s, a) : be(i, s, a)) < 0 ? o(0, -1, `${Oi()}: trace level of ${l} not found: ${s}`, null, null) : r ? (vi(e, "no_trace_levels", l, de(i)), o(0, 0, null, null, de(i))) : (vi(e, "trace_levels", l, ge(i)), o(0, 0, null, null, fe(i))) : o(0, -1, `${Oi()}: what level?`, null, null);
3605
+ let s = n.level, a = Ni(n.set);
3606
+ return s ? null === a ? o(0, -1, `${$i()}: bitmask set or re-set?`, null, null) : (r ? pe(i, s, a) : be(i, s, a)) < 0 ? o(0, -1, `${$i()}: trace level of ${l} not found: ${s}`, null, null) : r ? (Oi(e, "no_trace_levels", l, de(i)), o(0, 0, null, null, de(i))) : (Oi(e, "trace_levels", l, ge(i)), o(0, 0, null, null, fe(i))) : o(0, -1, `${$i()}: what level?`, null, null);
3505
3607
  }
3506
- default: return o(0, -1, `${Oi()}: command not available: ${t}`, null, null);
3608
+ default: return o(0, -1, `${$i()}: command not available: ${t}`, null, null);
3507
3609
  }
3508
3610
  }
3509
3611
  };
3510
- var Ni = "ievent_gate_stack", $i = [
3612
+ var Di = "ievent_gate_stack", ki = [
3511
3613
  k(E.DTP_STRING, "wanted_yuno_role", A.SDF_RD, "", "wanted yuno role"),
3512
3614
  k(E.DTP_STRING, "wanted_yuno_name", A.SDF_RD, "", "wanted yuno name"),
3513
3615
  k(E.DTP_STRING, "wanted_yuno_service", A.SDF_RD, "", "wanted yuno service"),
@@ -3519,20 +3621,20 @@ var gobjJs = function(e) {
3519
3621
  k(E.DTP_STRING, "cert_pem", A.SDF_PERSIST, "", "SSL server certification, PEM str format"),
3520
3622
  k(E.DTP_JSON, "extra_info", A.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
3521
3623
  k(E.DTP_LIST, "required_services", A.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."),
3522
- k(E.DTP_INTEGER, "timeout_retry", A.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"),
3624
+ k(E.DTP_INTEGER, "timeout_retry", A.SDF_RD, "5000", "Base of the first reconnect delay (ms, ±20% jitter), at least 1000. It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
3523
3625
  k(E.DTP_INTEGER, "timeout_retry_max", A.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
3524
3626
  k(E.DTP_INTEGER, "timeout_idack", A.SDF_RD, "5000", "timeout waiting idAck"),
3525
3627
  k(E.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
3526
3628
  D()
3527
- ], Ai = [
3629
+ ], Ci = [
3528
3630
  ["ievents", "Trace inter-events with metadata of kw"],
3529
3631
  ["ievents2", "Trace inter-events with full kw"],
3530
3632
  ["identity-card", "Trace identity_card messages"]
3531
3633
  ];
3532
- function Ri(e) {
3634
+ function Ii(e) {
3533
3635
  return !!(3 & X(e));
3534
3636
  }
3535
- var Di = {
3637
+ var Pi = {
3536
3638
  url: null,
3537
3639
  remote_yuno_name: null,
3538
3640
  remote_yuno_role: null,
@@ -3543,9 +3645,10 @@ var gobjJs = function(e) {
3543
3645
  inside_on_open: !1,
3544
3646
  retry_ms: 0,
3545
3647
  retry_ms_before_session: 0,
3546
- session_since: 0
3547
- }, ki = null;
3548
- function Ci(e) {
3648
+ session_since: 0,
3649
+ retry_floor_warned: !1
3650
+ }, Li = null;
3651
+ function Ui(e) {
3549
3652
  e.priv.websocket && ir("Websocket ALREADY setup");
3550
3653
  const t = tn(e, "url");
3551
3654
  ar(`====> Starting WebSocket to '${t}' (${kt(e)})`);
@@ -3560,7 +3663,7 @@ var gobjJs = function(e) {
3560
3663
  code: 1006,
3561
3664
  reason: r.message,
3562
3665
  was_clean: !1
3563
- }, e) < 0 && di(e.priv.gobj_timer, Ji(e)), null;
3666
+ }, e) < 0 && hi(e.priv.gobj_timer, Zi(e)), null;
3564
3667
  }
3565
3668
  return r ? (r.onopen = () => {
3566
3669
  n !== e.priv.ws_seq || Ut(e) || jn(e, "EV_ON_OPEN", {
@@ -3582,7 +3685,7 @@ var gobjJs = function(e) {
3582
3685
  }, e));
3583
3686
  }, r) : (ir(`${kt(e)}: Failed to initialize WebSocket.`), null);
3584
3687
  }
3585
- function Ii(e, t = 1e3, n = "") {
3688
+ function Fi(e, t = 1e3, n = "") {
3586
3689
  let r = e.priv, o = r.websocket;
3587
3690
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
3588
3691
  ar(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -3593,12 +3696,12 @@ var gobjJs = function(e) {
3593
3696
  }
3594
3697
  } else sr("WebSocket is already closed or in the process of closing.");
3595
3698
  }
3596
- function Pi(e, t) {
3699
+ function Mi(e, t) {
3597
3700
  let n = e.priv;
3598
- "ST_SESSION" === fn(e) && (performance.now() - n.session_since < Math.max(en(e, "timeout_retry"), en(e, "timeout_retry_max")) && (n.retry_ms = n.retry_ms_before_session), n.retry_ms_before_session = 0), Ii(e, 4002, t);
3701
+ "ST_SESSION" === fn(e) && (performance.now() - n.session_since < Xi(e).max && (n.retry_ms = n.retry_ms_before_session), n.retry_ms_before_session = 0), Fi(e, 4002, t);
3599
3702
  }
3600
- var Li = 128;
3601
- function Ui(e, t) {
3703
+ var Gi = 128;
3704
+ function Vi(e, t) {
3602
3705
  let n = String(e), r = To(n);
3603
3706
  if (null !== r && (n = r), n.length > t) {
3604
3707
  let e = t, r = n.charCodeAt(e);
@@ -3606,25 +3709,25 @@ var gobjJs = function(e) {
3606
3709
  }
3607
3710
  return n;
3608
3711
  }
3609
- function Fi(e, t, n) {
3610
- let r = Jl();
3712
+ function Wi(e, t, n) {
3713
+ let r = Hl();
3611
3714
  try {
3612
3715
  ar("\n" + r + " " + t + "\n"), $o(n);
3613
3716
  } catch (e) {
3614
3717
  ar("ERROR in trace_inter_event: " + e);
3615
3718
  }
3616
3719
  }
3617
- var Mi = class {
3720
+ var xi = class {
3618
3721
  constructor(e, t) {
3619
3722
  this.event = e, this.kw = t || {};
3620
3723
  }
3621
3724
  };
3622
- function Gi(e, t, n, r) {
3725
+ function Ki(e, t, n, r) {
3623
3726
  return function(e, t) {
3624
3727
  let n = e.priv, r = JSON.stringify(t);
3625
- if (Ri(e)) {
3728
+ if (Ii(e)) {
3626
3729
  let n = tn(e, "url"), o = Rt(wt()) + " ==> " + n, l = Qt(wt(), "trace_ievent_callback");
3627
- l ? l(o, t, 1, r.length) : Fi(0, o, t);
3730
+ l ? l(o, t, 1, r.length) : Wi(0, o, t);
3628
3731
  }
3629
3732
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return sr(`${kt(e)}: send_iev(): websocket not open, message lost`), -1;
3630
3733
  try {
@@ -3634,21 +3737,21 @@ var gobjJs = function(e) {
3634
3737
  }
3635
3738
  return 0;
3636
3739
  }(e, function(e, t) {
3637
- return Xo(e) ? (ir("iev_create() event NULL"), null) : new Mi(e, t);
3740
+ return Zo(e) ? (ir("iev_create() event NULL"), null) : new xi(e, t);
3638
3741
  }(t, n));
3639
3742
  }
3640
- function Vi(e, t, n) {
3641
- return Xo(n) && (n = tn(e, "wanted_yuno_service")), {
3743
+ function Bi(e, t, n) {
3744
+ return Zo(n) && (n = tn(e, "wanted_yuno_service")), {
3642
3745
  dst_yuno: tn(e, "wanted_yuno_name"),
3643
3746
  dst_role: tn(e, "wanted_yuno_role"),
3644
3747
  dst_service: n,
3645
3748
  src_yuno: Nt(),
3646
3749
  src_role: $t(),
3647
3750
  src_service: t,
3648
- host: ql()
3751
+ host: Zl()
3649
3752
  };
3650
3753
  }
3651
- function Wi(e) {
3754
+ function Yi(e) {
3652
3755
  let t = e.priv, n = St(wt()), r = tn(wt(), "yuno_version"), o = tn(wt(), "yuno_release"), l = tn(wt(), "yuno_tag"), s = Qt(e, "required_services");
3653
3756
  s && s.length || (s = Qt(wt(), "required_services"));
3654
3757
  let a = {
@@ -3666,32 +3769,32 @@ var gobjJs = function(e) {
3666
3769
  username: tn(wt(), "__username__"),
3667
3770
  launch_id: 0,
3668
3771
  yuno_startdate: tn(wt(), "start_date"),
3669
- id: ql(),
3772
+ id: Zl(),
3670
3773
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
3671
3774
  language: "undefined" != typeof window ? window.navigator.language : "",
3672
3775
  required_services: s
3673
3776
  };
3674
- return Cl(e, a, Ni, Vi(e, Rt(It(e)), null)), Pl(e, a, "__identity__"), di(t.gobj_timer, en(e, "timeout_idack")), Gi(e, "EV_IDENTITY_CARD", a);
3777
+ return Pl(e, a, Di, Bi(e, Rt(It(e)), null)), Ul(e, a, "__identity__"), hi(t.gobj_timer, en(e, "timeout_idack")), Ki(e, "EV_IDENTITY_CARD", a);
3675
3778
  }
3676
- function xi(e, t) {
3677
- if (Xo(t.event)) return -1;
3779
+ function Ji(e, t) {
3780
+ if (Zo(t.event)) return -1;
3678
3781
  let n = {}, r = t.__global__, o = t.__config__, l = t.__filter__, i = t.__service__, s = t.subscriber;
3679
3782
  o && (n.__config__ = o), r && (n.__global__ = r), l && (n.__filter__ = l);
3680
- return Cl(e, n, Ni, Vi(e, Rt(s), i)), Pl(e, n, "__subscribing__"), Gi(e, t.event, n);
3783
+ return Pl(e, n, Di, Bi(e, Rt(s), i)), Ul(e, n, "__subscribing__"), Ki(e, t.event, n);
3681
3784
  }
3682
- function Ki(e, t, n, r) {
3785
+ function qi(e, t, n, r) {
3683
3786
  let o = e.priv;
3684
- return Tt(e) && (o.websocket = Ci(e)), 0;
3787
+ return Tt(e) && (o.websocket = Ui(e)), 0;
3685
3788
  }
3686
- function Bi(e, t, n, r) {
3687
- return ar("Websocket opened: " + e.priv.url), Wi(e), 0;
3789
+ function Hi(e, t, n, r) {
3790
+ return ar("Websocket opened: " + e.priv.url), Yi(e), 0;
3688
3791
  }
3689
- function Yi(e, t, n, r) {
3792
+ function zi(e, t, n, r) {
3690
3793
  let o = e.priv, l = n.url;
3691
3794
  if (void 0 !== n.ws_seq && n.ws_seq !== o.ws_seq) return 0;
3692
3795
  Xn();
3693
- const i = Ui(void 0 === n.reason ? "" : n.reason, 256);
3694
- return Ri(e) && ur(`${kt(e)}: WebSocket closed ${l} (Code: ${n.code}, Reason: "${i}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, (!n.was_clean || 1e3 !== n.code && 1001 !== n.code) && Tt(e) && sr(`${kt(e)}: session closed ${l} (Code: ${n.code}, Reason: "${i}", Clean: ${n.was_clean})`), Ln(e, "EV_ON_CLOSE", {
3796
+ const i = Vi(void 0 === n.reason ? "" : n.reason, 256);
3797
+ return Ii(e) && ur(`${kt(e)}: WebSocket closed ${l} (Code: ${n.code}, Reason: "${i}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, (!n.was_clean || 1e3 !== n.code && 1001 !== n.code) && Tt(e) && sr(`${kt(e)}: session closed ${l} (Code: ${n.code}, Reason: "${i}", Clean: ${n.was_clean})`), Ln(e, "EV_ON_CLOSE", {
3695
3798
  url: l,
3696
3799
  remote_yuno_name: o.remote_yuno_name,
3697
3800
  remote_yuno_role: o.remote_yuno_role,
@@ -3707,24 +3810,33 @@ var gobjJs = function(e) {
3707
3810
  code: n.code,
3708
3811
  reason: i,
3709
3812
  was_clean: n.was_clean
3710
- })), Tt(e) && di(o.gobj_timer, Ji(e)), 0;
3813
+ })), Tt(e) && hi(o.gobj_timer, Zi(e)), 0;
3711
3814
  }
3712
- function Ji(e) {
3815
+ var Qi = 1e3;
3816
+ function Xi(e) {
3713
3817
  let t = e.priv, n = en(e, "timeout_retry"), r = en(e, "timeout_retry_max");
3714
- r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3818
+ return n >= Qi || (t.retry_floor_warned || (t.retry_floor_warned = !0, sr(`${kt(e)}: timeout_retry ${n} ms is below ${Qi} ms: ${Qi} ms is used`)), n = Qi), r >= n || (r = n), {
3819
+ base: n,
3820
+ max: r
3821
+ };
3822
+ }
3823
+ function Zi(e) {
3824
+ let t = e.priv;
3825
+ const { base: n, max: r } = Xi(e);
3826
+ t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3715
3827
  let o = .2 * t.retry_ms, l = t.retry_ms - o + 2 * Math.random() * o;
3716
3828
  return Math.max(1, Math.round(l));
3717
3829
  }
3718
- function Hi(e, t, n, r) {
3719
- return Wi(e), 0;
3830
+ function es(e, t, n, r) {
3831
+ return Yi(e), 0;
3720
3832
  }
3721
- function qi(e, t, n, r) {
3833
+ function ts(e, t, n, r) {
3722
3834
  let o = e.priv;
3723
- pi(o.gobj_timer);
3724
- let l = Il(e, n, Ni, !0), i = fl(e, l, "src_yuno", ""), s = fl(e, l, "src_role", ""), a = fl(e, l, "src_service", "");
3835
+ vi(o.gobj_timer);
3836
+ let l = Ll(e, n, Di, !0), i = gl(e, l, "src_yuno", ""), s = gl(e, l, "src_role", ""), a = gl(e, l, "src_service", "");
3725
3837
  _n(e, "remote_yuno_name", i), _n(e, "remote_yuno_role", s), _n(e, "remote_yuno_service", a);
3726
- let u = cl(e, n, "result", -1, 0), _ = fl(e, n, "comment", "", 0), c = fl(e, n, "username", "", 0), f = bl(e, n, "services_roles", {});
3727
- if (u < 0) Ii(e), Ln(e, "EV_ON_ID_NAK", {
3838
+ let u = fl(e, n, "result", -1, 0), _ = gl(e, n, "comment", "", 0), c = gl(e, n, "username", "", 0), f = pl(e, n, "services_roles", {});
3839
+ if (u < 0) Fi(e), Ln(e, "EV_ON_ID_NAK", {
3728
3840
  url: tn(e, "url"),
3729
3841
  result: u,
3730
3842
  comment: _,
@@ -3741,11 +3853,11 @@ var gobjJs = function(e) {
3741
3853
  services_roles: f
3742
3854
  })), o.inside_on_open = !1, function(e) {
3743
3855
  let t = In(e, null, null, null);
3744
- for (let n = 0; n < t.length; n++) xi(e, t[n]);
3856
+ for (let n = 0; n < t.length; n++) Ji(e, t[n]);
3745
3857
  }(e);
3746
3858
  return 0;
3747
3859
  }
3748
- function zi(e, t, n, r) {
3860
+ function ns(e, t, n, r) {
3749
3861
  let o = e.priv.url, l = function(e, t) {
3750
3862
  let n;
3751
3863
  try {
@@ -3764,49 +3876,49 @@ var gobjJs = function(e) {
3764
3876
  kw: o || {}
3765
3877
  } : (sr(`${kt(e)}: parsing inter_event: kw not a json object`), null) : (sr(`${kt(e)}: parsing inter_kw: no kw`), null);
3766
3878
  }(e, n.data);
3767
- if (!l) return sr(`${kt(e)}: frame dropped from ${o}: ${Ui(n.data, 256)}`), -1;
3768
- if (Ri(e)) {
3879
+ if (!l) return sr(`${kt(e)}: frame dropped from ${o}: ${Vi(n.data, 256)}`), -1;
3880
+ if (Ii(e)) {
3769
3881
  let e = Rt(wt()) + " <== " + o, t = n.data.length, r = Qt(wt(), "trace_ievent_callback");
3770
- r ? r(e, l, 2, t) : Fi(0, e, l);
3882
+ r ? r(e, l, 2, t) : Wi(0, e, l);
3771
3883
  }
3772
3884
  let i = l.event, s = l.kw;
3773
3885
  if ("ST_SESSION" !== fn(e)) {
3774
3886
  if ("ev_identity_card_ack" === String(i).toLowerCase()) {
3775
3887
  if (!(jn(e, "EV_IDENTITY_CARD_ACK", s, e) < 0)) return 0;
3776
- } else sr(`${kt(e)}: event UNKNOWN in not-session state ${Ui(i, Li)}`);
3777
- return Pi(e, "event out of session"), -1;
3888
+ } else sr(`${kt(e)}: event UNKNOWN in not-session state ${Vi(i, Gi)}`);
3889
+ return Mi(e, "event out of session"), -1;
3778
3890
  }
3779
3891
  l = null;
3780
- let a = Ll(e, s), u = Il(e, s, Ni), _ = fl(e, u, "dst_role", "");
3781
- if (!Xo(_) && _.toLowerCase() !== String($t()).toLowerCase()) return sr(`${kt(e)}: It's not my role, dst_role: ${Ui(_, Li)}, my_role: ${$t()}, event: ${Ui(i, Li)}`), Pi(e, "not my role"), -1;
3782
- let c = fl(e, u, "dst_yuno", "");
3783
- if (!Xo(c) && c.toLowerCase() !== String(Nt()).toLowerCase()) return sr(`${kt(e)}: It's not my name, dst_yuno: ${Ui(c, Li)}, my_name: ${Nt()}, event: ${Ui(i, Li)}`), Pi(e, "not my name"), -1;
3784
- let f = fl(e, u, "dst_service", "");
3785
- if ("__subscribing__" === a) return sr(`${kt(e)}: subscription event ignored, I'm client (service: ${Ui(f, Li)}, event: ${Ui(i, Li)})`), -1;
3786
- if ("__unsubscribing__" === a) return sr(`${kt(e)}: unsubscription event ignored, I'm client (service: ${Ui(f, Li)}, event: ${Ui(i, Li)})`), -1;
3892
+ let a = Fl(e, s), u = Ll(e, s, Di), _ = gl(e, u, "dst_role", "");
3893
+ if (!Zo(_) && _.toLowerCase() !== String($t()).toLowerCase()) return sr(`${kt(e)}: It's not my role, dst_role: ${Vi(_, Gi)}, my_role: ${$t()}, event: ${Vi(i, Gi)}`), Mi(e, "not my role"), -1;
3894
+ let c = gl(e, u, "dst_yuno", "");
3895
+ if (!Zo(c) && c.toLowerCase() !== String(Nt()).toLowerCase()) return sr(`${kt(e)}: It's not my name, dst_yuno: ${Vi(c, Gi)}, my_name: ${Nt()}, event: ${Vi(i, Gi)}`), Mi(e, "not my name"), -1;
3896
+ let f = gl(e, u, "dst_service", "");
3897
+ if ("__subscribing__" === a) return sr(`${kt(e)}: subscription event ignored, I'm client (service: ${Vi(f, Gi)}, event: ${Vi(i, Gi)})`), -1;
3898
+ if ("__unsubscribing__" === a) return sr(`${kt(e)}: unsubscription event ignored, I'm client (service: ${Vi(f, Gi)}, event: ${Vi(i, Gi)})`), -1;
3787
3899
  const g = Sn(i, 0, !1);
3788
3900
  if (g && dn(e, g.event_name, 0)) {
3789
3901
  const t = g.event_name;
3790
- return dn(e, t, F.EVF_PUBLIC_EVENT) && "EV_IDENTITY_CARD_ACK" !== t ? (jn(e, t, s, e), 0) : (sr(`${kt(e)}: event of the transport itself, or out of its place, DROPPED: ev '${Ui(i, Li)}'`), -1);
3902
+ return dn(e, t, F.EVF_PUBLIC_EVENT) && "EV_IDENTITY_CARD_ACK" !== t ? (jn(e, t, s, e), 0) : (sr(`${kt(e)}: event of the transport itself, or out of its place, DROPPED: ev '${Vi(i, Gi)}'`), -1);
3791
3903
  }
3792
- if (!Xo(f)) {
3904
+ if (!Zo(f)) {
3793
3905
  let t = nt(f, !1);
3794
- return t ? dn(t, i, F.EVF_PUBLIC_EVENT) ? (jn(t, i, s, e), 0) : (sr(`${kt(e)}: Service found but no event or not public, DROPPED: service '${kt(t)}', ev '${Ui(i, Li)}'`), -1) : (sr(`${kt(e)}: event for a service that is gone, DROPPED: service '${Ui(f, Li)}', ev '${Ui(i, Li)}'`), 0);
3906
+ return t ? dn(t, i, F.EVF_PUBLIC_EVENT) ? (jn(t, i, s, e), 0) : (sr(`${kt(e)}: Service found but no event or not public, DROPPED: service '${kt(t)}', ev '${Vi(i, Gi)}'`), -1) : (sr(`${kt(e)}: event for a service that is gone, DROPPED: service '${Vi(f, Gi)}', ev '${Vi(i, Gi)}'`), 0);
3795
3907
  }
3796
3908
  let d = Sn(i, F.EVF_PUBLIC_EVENT, !1);
3797
- return d ? (Ln(e, d.event_name, s), 0) : (sr(`${kt(e)}: event that no gclass declares public, DROPPED: ev '${Ui(i, Li)}'`), -1);
3909
+ return d ? (Ln(e, d.event_name, s), 0) : (sr(`${kt(e)}: event that no gclass declares public, DROPPED: ev '${Vi(i, Gi)}'`), -1);
3798
3910
  }
3799
- function Qi(e, t, n, r) {
3911
+ function rs(e, t, n, r) {
3800
3912
  const o = n && "string" == typeof n[r] ? n[r] : "", l = n && "string" == typeof n.service ? n.service : "";
3801
- return sr(`${kt(e)}: ${t} not served by this client, DROPPED: ${r.replace(/_/g, "")} '${Ui(o, Li)}', service '${Ui(l, Li)}'`), -1;
3913
+ return sr(`${kt(e)}: ${t} not served by this client, DROPPED: ${r.replace(/_/g, "")} '${Vi(o, Gi)}', service '${Vi(l, Gi)}'`), -1;
3802
3914
  }
3803
- function Xi(e, t, n, r) {
3804
- return Qi(e, t, n, "__stats__");
3915
+ function os(e, t, n, r) {
3916
+ return rs(e, t, n, "__stats__");
3805
3917
  }
3806
- function Zi(e, t, n, r) {
3807
- return Qi(e, t, n, "__command__");
3918
+ function ls(e, t, n, r) {
3919
+ return rs(e, t, n, "__command__");
3808
3920
  }
3809
- var es = {
3921
+ var is = {
3810
3922
  mt_create: function(e) {
3811
3923
  let t = e.priv;
3812
3924
  t.gobj_timer = _t(Rt(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = tn(e, "url"), t.remote_yuno_name = tn(e, "remote_yuno_name"), t.remote_yuno_role = tn(e, "remote_yuno_role"), t.remote_yuno_service = tn(e, "remote_yuno_service"), _n(e, "wanted_yuno_name", t.remote_yuno_name), _n(e, "wanted_yuno_role", t.remote_yuno_role), _n(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -3836,52 +3948,52 @@ var gobjJs = function(e) {
3836
3948
  code: 1e3,
3837
3949
  reason: "restarted",
3838
3950
  was_clean: !0
3839
- }, e), pi(t.gobj_timer)), t.websocket = Ci(e), 0;
3951
+ }, e), vi(t.gobj_timer)), t.websocket = Ui(e), 0;
3840
3952
  },
3841
3953
  mt_stop: function(e) {
3842
3954
  let t = e.priv;
3843
- return pi(t.gobj_timer), t.websocket && Ii(e), 0;
3955
+ return vi(t.gobj_timer), t.websocket && Fi(e), 0;
3844
3956
  },
3845
3957
  mt_destroy: function(e) {},
3846
3958
  mt_stats: function(e, t, n, r) {
3847
3959
  if ("ST_SESSION" !== fn(e)) return ir("Not in session"), null;
3848
3960
  n || (n = {});
3849
- let o = Vi(e, Rt(r), fl(e, n, "service", null, 0)), l = bl(e, n, "__md_stats__", null, Un.KW_EXTRACT);
3850
- return l || (l = {}), Cl(e, n, "stats_stack", {
3961
+ let o = Bi(e, Rt(r), gl(e, n, "service", null, 0)), l = pl(e, n, "__md_stats__", null, Un.KW_EXTRACT);
3962
+ return l || (l = {}), Pl(e, n, "stats_stack", {
3851
3963
  stats: t,
3852
3964
  kw: l
3853
- }), Cl(e, n, Ni, o), n.__stats__ = t, Pl(e, n, "__stats__"), Gi(e, "EV_MT_STATS", n, r), null;
3965
+ }), Pl(e, n, Di, o), n.__stats__ = t, Ul(e, n, "__stats__"), Ki(e, "EV_MT_STATS", n, r), null;
3854
3966
  },
3855
3967
  mt_command_parser: function(e, t, n, r) {
3856
3968
  if ("ST_SESSION" !== fn(e)) return ir("Not in session"), null;
3857
3969
  n || (n = {});
3858
- let o = Vi(e, Rt(r), fl(e, n, "service", "", 0)), l = bl(e, n, "__md_command__", null, Un.KW_EXTRACT);
3859
- return l || (l = {}), Cl(e, n, "command_stack", {
3970
+ let o = Bi(e, Rt(r), gl(e, n, "service", "", 0)), l = pl(e, n, "__md_command__", null, Un.KW_EXTRACT);
3971
+ return l || (l = {}), Pl(e, n, "command_stack", {
3860
3972
  command: t,
3861
3973
  kw: l
3862
- }), Cl(e, n, Ni, o), n.__command__ = t, Pl(e, n, "__command__"), Gi(e, "EV_MT_COMMAND", n, r), null;
3974
+ }), Pl(e, n, Di, o), n.__command__ = t, Ul(e, n, "__command__"), Ki(e, "EV_MT_COMMAND", n, r), null;
3863
3975
  },
3864
3976
  mt_inject_event: function(e, t, n, r) {
3865
3977
  if ("ST_SESSION" !== fn(e)) return window.console.error("Not in session"), -1;
3866
- if (n = Do({}, Ko(n) ? n : {}), Ko(n.__md_iev__) && (n.__md_iev__ = Ao(n.__md_iev__)), Il(e, n, Ni));
3978
+ if (n = Do({}, Bo(n) ? n : {}), Bo(n.__md_iev__) && (n.__md_iev__ = Ao(n.__md_iev__)), Ll(e, n, Di));
3867
3979
  else {
3868
- let o = Vi(e, Rt(r), fl(e, n, "__service__", 0, 0));
3869
- Po(n, "__service__"), Cl(e, n, "__message__", t), Cl(e, n, Ni, o);
3980
+ let o = Bi(e, Rt(r), gl(e, n, "__service__", 0, 0));
3981
+ Po(n, "__service__"), Pl(e, n, "__message__", t), Pl(e, n, Di, o);
3870
3982
  }
3871
- return Pl(e, n, "__message__"), Gi(e, t, n, r);
3983
+ return Ul(e, n, "__message__"), Ki(e, t, n, r);
3872
3984
  },
3873
3985
  mt_subscription_added: function(e, t) {
3874
3986
  let n = e.priv;
3875
- return "ST_SESSION" === fn(e) && n.websocket ? n.inside_on_open ? 0 : xi(e, t) : 0;
3987
+ return "ST_SESSION" === fn(e) && n.websocket ? n.inside_on_open ? 0 : Ji(e, t) : 0;
3876
3988
  },
3877
3989
  mt_subscription_deleted: function(e, t) {
3878
3990
  let n = e.priv;
3879
3991
  if ("ST_SESSION" !== fn(e) || !n.websocket) return 0;
3880
3992
  if (n.inside_on_open) return 0;
3881
- if (Xo(t.event)) return 0;
3993
+ if (Zo(t.event)) return 0;
3882
3994
  let r = {}, o = t.__global__, l = t.__config__, i = t.__filter__, s = t.__service__, a = t.subscriber;
3883
3995
  l && (r.__config__ = l), o && (r.__global__ = o), i && (r.__filter__ = i);
3884
- return Cl(e, r, Ni, Vi(e, Rt(a), s)), Pl(e, r, "__unsubscribing__"), Gi(e, t.event, r, e);
3996
+ return Pl(e, r, Di, Bi(e, Rt(a), s)), Ul(e, r, "__unsubscribing__"), Ki(e, t.event, r, e);
3885
3997
  }
3886
3998
  };
3887
3999
  return e.GObj = I, e.SDATA = k, e.SDATAAUTHZ = (e, t, n, r, o, l) => new R(e, t, n, null, l, r, null, 0, null, o, null), e.SDATACM = (e, t, n, r, o, l) => new R(e, t, 0, null, l, n, null, 0, o, r, null), e.SDATACM2 = (e, t, n, r, o, l, i) => new R(e, t, n, null, i, r, null, 0, l, o, null), e.SDATADF = (e, t, n, r, o, l) => new R(e, t, n, null, l, null, r, o), e.SDATAPM = (e, t, n, r, o) => new R(e, t, n, r, o), e.SDATAPM0 = (e, t, n, r, o) => new R(e, t, n, null, o, null, null, 0, null, null, r), e.SDATA_END = D, e.SDataDesc = R, e.YUNETA_VERSION = i, Object.defineProperty(e, "__yuno__", {
@@ -3895,7 +4007,7 @@ var gobjJs = function(e) {
3895
4007
  return t;
3896
4008
  }, e.build_stats_response = l, e.clean_name = function(e) {
3897
4009
  return e.replace(/[?# ^:]/g, "_");
3898
- }, e.clear_timeout = pi, e.cmp_two_simple_json = nl, e.command_parameter_from_json = ke, e.command_parameter_from_text = function(e, t) {
4010
+ }, e.clear_timeout = vi, e.cmp_two_simple_json = rl, e.command_parameter_from_json = ke, e.command_parameter_from_text = function(e, t) {
3899
4011
  const n = De(e, t, !1);
3900
4012
  return void 0 !== n.value || n.refused || (n.refused = je), n;
3901
4013
  }, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
@@ -3907,46 +4019,46 @@ var gobjJs = function(e) {
3907
4019
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
3908
4020
  s.style.cssText = t;
3909
4021
  } 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] && (a = o[e], s.setAttribute("data-i18n", a)) : s.setAttribute(e, o[e]);
3910
- if (Wl(l)) s.appendChild(xl(l));
3911
- else if (Yo(l)) if (l = l.trim(), l.length > 0 && "<" === l[0] && !Kl) s.appendChild(Yl(l));
4022
+ if (Kl(l)) s.appendChild(Bl(l));
4023
+ else if (Jo(l)) if (l = l.trim(), l.length > 0 && "<" === l[0] && !Yl) s.appendChild(ql(l));
3912
4024
  else if (l.length > 0 && "<" === l[0] && function(e) {
3913
- if (Bl.size >= 100) return;
4025
+ if (Jl.size >= 100) return;
3914
4026
  const t = e.slice(0, 80);
3915
- Bl.has(t) || (Bl.add(t), sr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
4027
+ Jl.has(t) || (Jl.add(t), sr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
3916
4028
  }(l), n && a) s.textContent = n(a) || l;
3917
4029
  else s.textContent = l;
3918
- else if (Bo(l)) {
3919
- if (l.length > 0) if (Yo(l[0])) s.appendChild(e(l, n));
3920
- else for (let t of l) Array.isArray(t) ? t.length > 0 && s.appendChild(e(t, n)) : t instanceof Node ? s.appendChild(t) : Wl(t) ? s.appendChild(xl(t)) : Yo(t) ? s.appendChild(document.createTextNode(t)) : null != t && !1 !== t && ir("createElement2: child ignored, type " + typeof t);
4030
+ else if (Yo(l)) {
4031
+ if (l.length > 0) if (Jo(l[0])) s.appendChild(e(l, n));
4032
+ else for (let t of l) Array.isArray(t) ? t.length > 0 && s.appendChild(e(t, n)) : t instanceof Node ? s.appendChild(t) : Kl(t) ? s.appendChild(Bl(t)) : Jo(t) ? s.appendChild(document.createTextNode(t)) : null != t && !1 !== t && ir("createElement2: child ignored, type " + typeof t);
3921
4033
  } else l instanceof HTMLElement || l instanceof Text || l instanceof SVGElement ? s.appendChild(l) : null != l && (ir("content ignored"), _r(l));
3922
4034
  if (i && "object" == typeof i) for (const e of Object.keys(i)) s.addEventListener(e, i[e]);
3923
4035
  return s;
3924
- }, e.createOneHtml = Yl, e.create_json_record = function(e, t) {
4036
+ }, e.createOneHtml = ql, e.create_json_record = function(e, t) {
3925
4037
  let n = Ao(e);
3926
4038
  return ko(n, t), n;
3927
4039
  }, e.create_template_record = function(e, t) {
3928
4040
  let n = {};
3929
4041
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
3930
4042
  let o;
3931
- Ko(r) && (o = r.default);
3932
- let l = bl(null, t, e, o);
4043
+ Bo(r) && (o = r.default);
4044
+ let l = pl(null, t, e, o);
3933
4045
  Lo(n, e, l);
3934
4046
  }), n;
3935
- }, e.current_timestamp = Jl, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
3936
- let n = Ol(ni(e), null, !1), r = {};
3937
- return n && Ko(n) && (r = vl(e, n, t, !1)), r;
4047
+ }, e.current_timestamp = Hl, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
4048
+ let n = wl(ii(e), null, !1), r = {};
4049
+ return n && Bo(n) && (r = El(e, n, t, !1)), r;
3938
4050
  }, e.db_load_persistent_attrs = function(e, t) {
3939
- let n = Xt(e, A.SDF_PERSIST), r = Ol(ni(e), null, !1);
3940
- if (r && Ko(r)) {
3941
- let o = vl(e, r, t, !1);
3942
- o = vl(e, o, n, !1), sn(e, o, A.SDF_PERSIST);
4051
+ let n = Xt(e, A.SDF_PERSIST), r = wl(ii(e), null, !1);
4052
+ if (r && Bo(r)) {
4053
+ let o = El(e, r, t, !1);
4054
+ o = El(e, o, n, !1), sn(e, o, A.SDF_PERSIST);
3943
4055
  }
3944
4056
  }, e.db_remove_persistent_attrs = function(e, t) {
3945
- let n = El(e, Ol(ni(e), null, !1), t, !1);
3946
- 0 === Vo(n) ? wl(ni(e)) : Sl(ni(e), n);
4057
+ let n = Tl(e, wl(ii(e), null, !1), t, !1);
4058
+ 0 === Vo(n) ? $l(ii(e)) : Nl(ii(e), n);
3947
4059
  }, e.db_save_persistent_attrs = function(e, t) {
3948
- let n = vl(e, Xt(e, A.SDF_PERSIST), t, !1), r = Ol(ni(e), null, !1);
3949
- return r && Ko(r) && Co(n, r), Sl(ni(e), n);
4060
+ let n = El(e, Xt(e, A.SDF_PERSIST), t, !1), r = wl(ii(e), null, !1);
4061
+ return r && Bo(r) && Co(n, r), Nl(ii(e), n);
3950
4062
  }, e.debounce = function(e, t = 0, n = !1) {
3951
4063
  let r = null, o = null, l = null;
3952
4064
  const i = (...i) => {
@@ -3968,22 +4080,20 @@ var gobjJs = function(e) {
3968
4080
  const t = {};
3969
4081
  for (const n of e) Do(t, structuredClone(n));
3970
4082
  return t;
3971
- }, e.empty_json = function(e) {
3972
- return 0 === xo(e);
3973
- }, e.empty_string = Xo, e.escapeHtml = Gl, e.event_flag_t = F, e.flat2json = function(e) {
4083
+ }, e.empty_json = Ko, e.empty_string = Zo, e.escapeHtml = Wl, e.event_flag_t = F, e.flat2json = function(e) {
3974
4084
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
3975
4085
  let t = null;
3976
4086
  for (const n of Object.keys(e)) {
3977
- const r = ei(n);
4087
+ const r = oi(n);
3978
4088
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
3979
- if (r.length > Ql) throw new Error(`flat2json: '${n}' deeper than 256`);
4089
+ if (r.length > ti) throw new Error(`flat2json: '${n}' deeper than 256`);
3980
4090
  const o = "number" == typeof r[0];
3981
4091
  if (null === t) t = o ? [] : {};
3982
4092
  else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
3983
4093
  let l = t;
3984
4094
  for (let t = 0; t < r.length; t++) {
3985
4095
  const o = r[t], i = "number" == typeof o, s = t === r.length - 1, a = !s && "number" == typeof r[t + 1];
3986
- if (i && o > Xl) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
4096
+ if (i && o > ni) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
3987
4097
  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"}`);
3988
4098
  if (s) {
3989
4099
  if (Array.isArray(l)) {
@@ -3991,7 +4101,7 @@ var gobjJs = function(e) {
3991
4101
  l[o] = e[n];
3992
4102
  } else {
3993
4103
  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`);
3994
- il(l, o, e[n]);
4104
+ sl(l, o, e[n]);
3995
4105
  }
3996
4106
  break;
3997
4107
  }
@@ -3999,7 +4109,7 @@ var gobjJs = function(e) {
3999
4109
  if (Array.isArray(l)) {
4000
4110
  for (; l.length <= o;) l.push(null);
4001
4111
  u = l[o], null == u && (u = a ? [] : {}, l[o] = u);
4002
- } else u = ll(l, o) ? void 0 : l[o], void 0 === u && (u = a ? [] : {}, il(l, o, u));
4112
+ } else u = il(l, o) ? void 0 : l[o], void 0 === u && (u = a ? [] : {}, sl(l, o, u));
4003
4113
  if (null === u || "object" != typeof u) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
4004
4114
  if (a !== Array.isArray(u)) throw new Error(`flat2json: '${n}' needs a ${a ? "array" : "object"} where the tree already has a ${Array.isArray(u) ? "array" : "object"}`);
4005
4115
  l = u;
@@ -4010,11 +4120,11 @@ var gobjJs = function(e) {
4010
4120
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat_apply: a flat json is an object of id -> value");
4011
4121
  if (null === t || "object" != typeof t) throw new Error("flat_apply: a diff is the object flat_diff() answers");
4012
4122
  for (const n of Object.keys(t.removed || {})) delete e[n];
4013
- for (const n of Object.keys(t.added || {})) il(e, n, t.added[n]);
4123
+ for (const n of Object.keys(t.added || {})) sl(e, n, t.added[n]);
4014
4124
  for (const n of Object.keys(t.changed || {})) {
4015
4125
  const r = t.changed[n];
4016
4126
  if (!r || !Object.prototype.hasOwnProperty.call(r, "to")) throw new Error(`flat_apply: changed '${n}' without a 'to'`);
4017
- il(e, n, r.to);
4127
+ sl(e, n, r.to);
4018
4128
  }
4019
4129
  return e;
4020
4130
  }, e.flat_diff = function(e, t) {
@@ -4023,15 +4133,15 @@ var gobjJs = function(e) {
4023
4133
  removed: {},
4024
4134
  changed: {}
4025
4135
  };
4026
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? ti(n[e], r[e]) || il(o.changed, e, {
4136
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? li(n[e], r[e]) || sl(o.changed, e, {
4027
4137
  from: n[e],
4028
4138
  to: r[e]
4029
- }) : il(o.removed, e, n[e]);
4030
- for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || il(o.added, e, r[e]);
4139
+ }) : sl(o.removed, e, n[e]);
4140
+ for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || sl(o.added, e, r[e]);
4031
4141
  return o;
4032
4142
  }, e.flat_key_join = function(e) {
4033
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Zl(e)).join("`") : "";
4034
- }, e.flat_key_split = ei, e.gclass_add_ev_action = qe, e.gclass_add_event_type = Qe, e.gclass_add_state = He, e.gclass_check_fsm = Ze, e.gclass_create = Ke, e.gclass_event_type = Xe, e.gclass_find_by_name = et, e.gclass_flag_t = P, e.gclass_unregister = Be, e.getPositionRelativeToBody = function(e) {
4143
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : ri(e)).join("`") : "";
4144
+ }, e.flat_key_split = oi, e.gclass_add_ev_action = He, e.gclass_add_event_type = Qe, e.gclass_add_state = qe, e.gclass_check_fsm = Ze, e.gclass_create = Ke, e.gclass_event_type = Xe, e.gclass_find_by_name = et, e.gclass_flag_t = P, e.gclass_unregister = Be, e.getPositionRelativeToBody = function(e) {
4035
4145
  if (!e) return {
4036
4146
  top: 0,
4037
4147
  left: 0,
@@ -4050,14 +4160,14 @@ var gobjJs = function(e) {
4050
4160
  right: n + s + r,
4051
4161
  bottom: t + i + o
4052
4162
  };
4053
- }, e.get_function_name = zl, e.get_now = function() {
4163
+ }, e.get_function_name = ei, e.get_now = function() {
4054
4164
  return Math.floor(Date.now() / 1e3);
4055
4165
  }, e.gobj_bottom_gobj = Ft, e.gobj_change_parent = function(e, t) {
4056
4166
  return Ut(e) ? (ir("gobj NULL or DESTROYED"), null) : t instanceof I ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (lt(e.parent, e), e.parent = null), ot(t, e), t.gclass.gmt.mt_child_added && (ee(e) && ar(n("👦👦🔵 child_added(%s): %s", Ct(t), kt(e))), t.gclass.gmt.mt_child_added(t, e)), 0) : (ir(`${kt(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
4057
4167
  }, e.gobj_change_state = cn, e.gobj_command = function(e, t, r, l) {
4058
4168
  if (Ut(e)) return ir("gobj NULL or DESTROYED"), -1;
4059
4169
  if (function(e) {
4060
- return q > 1 || !!e && !!(X(e) & B.TRACE_COMMANDS);
4170
+ return H > 1 || !!e && !!(X(e) & B.TRACE_COMMANDS);
4061
4171
  }(e) || oe(e, null) && !le(l, null)) {
4062
4172
  let o = To(t);
4063
4173
  K(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Tt(e) ? "" : "!!", kt(e), null !== o ? o : t, kt(l))), re(e) && $o(r);
@@ -4073,26 +4183,26 @@ var gobjJs = function(e) {
4073
4183
  return ut(e, t, n, r, L.gobj_flag_volatil);
4074
4184
  }, e.gobj_create_yuno = function(e, t, n) {
4075
4185
  return ut(e, t, n, null, L.gobj_flag_yuno);
4076
- }, e.gobj_current_state = fn, e.gobj_default_service = tt, e.gobj_deliver_posted_events = yn, e.gobj_destroy = ct, e.gobj_find_child = Ht, e.gobj_find_event_type = Sn, e.gobj_find_gobj = function(e, t) {
4077
- if (Xo(t)) return null;
4186
+ }, e.gobj_current_state = fn, e.gobj_default_service = tt, e.gobj_deliver_posted_events = yn, e.gobj_destroy = ct, e.gobj_find_child = qt, e.gobj_find_event_type = Sn, e.gobj_find_gobj = function(e, t) {
4187
+ if (Zo(t)) return null;
4078
4188
  const n = t.toLowerCase();
4079
- return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : qt(p, t);
4189
+ return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : Ht(p, t);
4080
4190
  }, e.gobj_find_service = nt, e.gobj_find_subscribings = Pn, e.gobj_find_subscriptions = In, e.gobj_flag_t = L, e.gobj_full_name = Ct, e.gobj_gclass_name = Dt, e.gobj_get_gclass_trace_level = fe, e.gobj_get_gclass_trace_level2 = ge, e.gobj_get_gclass_trace_no_level = de, e.gobj_get_global_trace_level = _e, e.gobj_get_global_trace_no_level = ce, e.gobj_global_trace_level = function() {
4081
4191
  return J;
4082
4192
  }, e.gobj_global_trace_no_level = function() {
4083
- return H;
4193
+ return q;
4084
4194
  }, e.gobj_has_attr = zt, e.gobj_has_event = dn, e.gobj_has_output_event = bn, e.gobj_hsdata = Ve, e.gobj_is_destroying = Ut, e.gobj_is_playing = St, e.gobj_is_pure_child = Lt, e.gobj_is_running = Tt, e.gobj_is_service = Ot, e.gobj_is_volatil = Pt, e.gobj_list_persistent_attrs = function(e, t) {
4085
4195
  return _ ? _(e, t) : null;
4086
4196
  }, e.gobj_list_subscriptions = function(e) {
4087
4197
  let t = In(e, null, null, null);
4088
4198
  for (let n = 0; n < t.length; n++) {
4089
- let r = t[n], o = gl(e, r, "publisher", null, Un.KW_REQUIRED), l = gl(e, r, "subscriber", null, Un.KW_REQUIRED);
4090
- Uo(r, "s_event", fl(e, r, "event", "", Un.KW_REQUIRED)), Uo(r, "s_publisher", kt(o)), Uo(r, "s_subscriber", kt(l));
4199
+ let r = t[n], o = dl(e, r, "publisher", null, Un.KW_REQUIRED), l = dl(e, r, "subscriber", null, Un.KW_REQUIRED);
4200
+ Uo(r, "s_event", gl(e, r, "event", "", Un.KW_REQUIRED)), Uo(r, "s_publisher", kt(o)), Uo(r, "s_subscriber", kt(l));
4091
4201
  }
4092
4202
  let n = Pn(e, 0, null, 0);
4093
4203
  for (let t = 0; t < n.length; t++) {
4094
- let r = n[t], o = gl(e, r, "publisher", null, Un.KW_REQUIRED), l = gl(e, r, "subscriber", null, Un.KW_REQUIRED);
4095
- Uo(r, "s_event", fl(e, r, "event", "", Un.KW_REQUIRED)), Uo(r, "s_publisher", kt(o)), Uo(r, "s_subscriber", kt(l));
4204
+ let r = n[t], o = dl(e, r, "publisher", null, Un.KW_REQUIRED), l = dl(e, r, "subscriber", null, Un.KW_REQUIRED);
4205
+ Uo(r, "s_event", gl(e, r, "event", "", Un.KW_REQUIRED)), Uo(r, "s_publisher", kt(o)), Uo(r, "s_subscriber", kt(l));
4096
4206
  }
4097
4207
  return {
4098
4208
  subscriptions: t,
@@ -4139,16 +4249,16 @@ var gobjJs = function(e) {
4139
4249
  let r = e.gclass.attrs_table;
4140
4250
  for (let o = 0; o < r.length; o++) {
4141
4251
  const l = r[o];
4142
- l.name && (n && l.flag & n || (-1 === t || l.flag & t) && (he(e, e.jn_attrs, l), Ko(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, l.name) && (e.priv[l.name] = e.jn_attrs[l.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l.name)));
4252
+ l.name && (n && l.flag & n || (-1 === t || l.flag & t) && (he(e, e.jn_attrs, l), Bo(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, l.name) && (e.priv[l.name] = e.jn_attrs[l.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l.name)));
4143
4253
  }
4144
4254
  return 0;
4145
4255
  }(e, A.SDF_VOLATIL, 0);
4146
- }, e.gobj_save_persistent_attrs = it, e.gobj_search_path = qt, e.gobj_send_event = jn, e.gobj_services = function() {
4256
+ }, e.gobj_save_persistent_attrs = it, e.gobj_search_path = Ht, e.gobj_send_event = jn, e.gobj_services = function() {
4147
4257
  let e = [];
4148
4258
  for (const t of Object.keys(b)) Mo(e, t);
4149
4259
  return e;
4150
4260
  }, e.gobj_set_bottom_gobj = Mt, e.gobj_set_deep_trace = function(e) {
4151
- return q = Number(e) || 0, 0;
4261
+ return H = Number(e) || 0, 0;
4152
4262
  }, e.gobj_set_gclass_no_trace = pe, e.gobj_set_gclass_trace = be, e.gobj_set_global_no_trace = se, e.gobj_set_global_no_trace2 = ue, e.gobj_set_global_trace = ie, e.gobj_set_global_trace2 = ae, e.gobj_set_gobj_no_trace = function(e, t, n) {
4153
4263
  if (!e) return ir("gobj_set_gobj_no_trace: gobj NULL"), -1;
4154
4264
  const r = Q(t, "gobj_set_gobj_no_trace", e.gclass && e.gclass.s_user_trace_level || null);
@@ -4189,7 +4299,7 @@ var gobjJs = function(e) {
4189
4299
  ]);
4190
4300
  if (Object.keys(n).forEach((n) => {
4191
4301
  o.has(n) || ir(`${kt(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
4192
- }), Xo(t)) t = "";
4302
+ }), Zo(t)) t = "";
4193
4303
  else if (!(bn(e, t, F.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & P.gcflag_no_check_output_events)) return ir(`event NOT in output event list: ${kt(e)}, ev ${t}`), 0;
4194
4304
  let l = Nn(n, t), i = An(e.dl_subscriptions, e, t, l.renamed_event, l.kw, r), s = 0, a = 0, u = 0;
4195
4305
  for (let t = 0; t < i.length; t++) {
@@ -4198,75 +4308,75 @@ var gobjJs = function(e) {
4198
4308
  }
4199
4309
  return a ? sr(`${kt(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${a})`) : s || u || (sr(`${kt(e)}: No subscription found`), $o(n, "No subscription found")), 0;
4200
4310
  }, e.gobj_unsubscribe_list = Cn, e.gobj_walk_gobj_children = Vt, e.gobj_walk_gobj_children_tree = Wt, e.gobj_write_attr = rn, e.gobj_write_attrs = sn, e.gobj_write_bool_attr = an, e.gobj_write_integer_attr = un, e.gobj_write_str_attr = _n, e.gobj_yuno = wt, e.gobj_yuno_id = At, e.gobj_yuno_name = Nt, e.gobj_yuno_role = $t, e.html_markup = function(e) {
4201
- return "string" != typeof e ? (ir("html_markup: not a string, type " + typeof e), new Vl("")) : new Vl(e);
4202
- }, e.id_index_in_obj_list = Al, e.index_in_list = Hl, e.is_array = Bo, e.is_boolean = Ho, e.is_date = function(e) {
4311
+ return "string" != typeof e ? (ir("html_markup: not a string, type " + typeof e), new xl("")) : new xl(e);
4312
+ }, e.id_index_in_obj_list = Dl, e.index_in_list = zl, e.is_array = Yo, e.is_boolean = Ho, e.is_date = function(e) {
4203
4313
  return e instanceof Date && !isNaN(e);
4204
- }, e.is_function = zo, e.is_gobj = Qo, e.is_html_markup = Wl, e.is_metadata_key = function(e) {
4205
- if (!Yo(e)) return !1;
4314
+ }, e.is_function = Qo, e.is_gobj = Xo, e.is_html_markup = Kl, e.is_metadata_key = function(e) {
4315
+ if (!Jo(e)) return !1;
4206
4316
  let t = 0;
4207
4317
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
4208
4318
  return 2 === t;
4209
- }, e.is_null = qo, e.is_number = Jo, e.is_object = Ko, e.is_private_key = function(e) {
4210
- if (!Yo(e)) return !1;
4319
+ }, e.is_null = zo, e.is_number = qo, e.is_object = Bo, e.is_private_key = function(e) {
4320
+ if (!Jo(e)) return !1;
4211
4321
  let t = 0;
4212
4322
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
4213
4323
  return 1 === t;
4214
4324
  }, e.is_pure_number = function(e) {
4215
- if (Jo(e)) return !0;
4216
- if (!Yo(e)) return !1;
4325
+ if (qo(e)) return !0;
4326
+ if (!Jo(e)) return !1;
4217
4327
  const t = Number(e);
4218
4328
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
4219
4329
  }, e.is_secret_name = function(e) {
4220
4330
  return "string" == typeof e && vr(e, 0, e.length, !0, !0);
4221
- }, e.is_string = Yo, e.jdb_delete = function(e, t, n, r) {
4222
- let o = bl(null, bl(null, e, "topics", null, 0), t, null, 0);
4331
+ }, e.is_string = Jo, e.jdb_delete = function(e, t, n, r) {
4332
+ let o = pl(null, pl(null, e, "topics", null, 0), t, null, 0);
4223
4333
  if (!o) return ir("jdb_delete: topic not found: " + t), null;
4224
- if (!Ko(r) || Xo(r.id)) return ir(`jdb_delete: record without id: ${Zn(r)}`), null;
4225
- if (!Yo(n)) return ir(`jdb_delete: path must be a string: ${String(n)}`), null;
4334
+ if (!Bo(r) || Zo(r.id)) return ir(`jdb_delete: record without id: ${Zn(r)}`), null;
4335
+ if (!Jo(n)) return ir(`jdb_delete: path must be a string: ${String(n)}`), null;
4226
4336
  if ("" !== n && n.split("`").includes("")) return ir(`jdb_delete: empty segment in path: '${n}'`), null;
4227
4337
  let l, i = n.split("`"), s = o;
4228
- for (; (l = i.shift()) && !Xo(l) && s;) Ko(s) && (s = bl(null, s, e.hook, null, 0)), s = Fl(s, null, l, !1);
4338
+ for (; (l = i.shift()) && !Zo(l) && s;) Bo(s) && (s = pl(null, s, e.hook, null, 0)), s = Gl(s, null, l, !1);
4229
4339
  if (!s || 0 !== i.length) return ir(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
4230
- let a = Bo(s) ? s : bl(null, s, e.hook, null, 0), u = Al(a, r.id);
4340
+ let a = Yo(s) ? s : pl(null, s, e.hook, null, 0), u = Dl(a, r.id);
4231
4341
  return u < 0 ? (ir(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (a.splice(u, 1), o);
4232
4342
  }, e.jdb_get = function(e, t, n, r) {
4233
- let o = bl(null, bl(null, e, "topics", null, 0), t, null, 0);
4234
- return o ? (void 0 === r && (r = !0), Fl(o, e.hook, n, r)) : (ir("jdb_get: topic not found: " + t), null);
4343
+ let o = pl(null, pl(null, e, "topics", null, 0), t, null, 0);
4344
+ return o ? (void 0 === r && (r = !0), Gl(o, e.hook, n, r)) : (ir("jdb_get: topic not found: " + t), null);
4235
4345
  }, e.jdb_get_by_idx = function(e, t, n) {
4236
- let r = bl(null, bl(null, e, "topics", null, 0), t, null, 0);
4346
+ let r = pl(null, pl(null, e, "topics", null, 0), t, null, 0);
4237
4347
  return r ? n < r.length ? r[n] : {} : (ir("jdb_get_by_idx: topic not found: " + t), null);
4238
4348
  }, e.jdb_get_topic = function(e, t) {
4239
- let n = bl(null, e, "topics", null, 0);
4349
+ let n = pl(null, e, "topics", null, 0);
4240
4350
  if (!n) return ir("jdb topics section not found"), ur(e), null;
4241
- return bl(null, n, t, null, 0) || (ir("jdb topic not found: " + t), ur(n), null);
4351
+ return pl(null, n, t, null, 0) || (ir("jdb topic not found: " + t), ur(n), null);
4242
4352
  }, e.jdb_init = function(e, t, n) {
4243
4353
  n && (e = Ao(e));
4244
- let r = bl(null, e, "type", [], Un.KW_CREATE);
4245
- fl(null, e, "hook", "data", Un.KW_CREATE);
4246
- let o = bl(null, e, "schema", {}, Un.KW_CREATE), l = bl(null, e, "topics", {}, Un.KW_CREATE);
4247
- return Ul(o, function(e, t, n, o) {
4248
- "__" === t.substring(0, 2) || Ko(n) || bl(null, l, o, Ao(r), Un.KW_CREATE);
4354
+ let r = pl(null, e, "type", [], Un.KW_CREATE);
4355
+ gl(null, e, "hook", "data", Un.KW_CREATE);
4356
+ let o = pl(null, e, "schema", {}, Un.KW_CREATE), l = pl(null, e, "topics", {}, Un.KW_CREATE);
4357
+ return Ml(o, function(e, t, n, o) {
4358
+ "__" === t.substring(0, 2) || Bo(n) || pl(null, l, o, Ao(r), Un.KW_CREATE);
4249
4359
  }, t), e;
4250
4360
  }, e.jdb_update = function(e, t, n, r) {
4251
- let o = bl(null, bl(null, e, "topics", null, 0), t, null, 0);
4361
+ let o = pl(null, pl(null, e, "topics", null, 0), t, null, 0);
4252
4362
  if (!o) return ir("jdb_update: topic not found: " + t), null;
4253
- if (!Ko(r) || Xo(r.id)) return ir(`jdb_update: record without id: ${Zn(r)}`), null;
4254
- if (!Yo(n)) return ir(`jdb_update: path must be a string: ${String(n)}`), null;
4363
+ if (!Bo(r) || Zo(r.id)) return ir(`jdb_update: record without id: ${Zn(r)}`), null;
4364
+ if (!Jo(n)) return ir(`jdb_update: path must be a string: ${String(n)}`), null;
4255
4365
  if ("" !== n && n.split("`").includes("")) return ir(`jdb_update: empty segment in path: '${n}'`), null;
4256
4366
  let l, i, s = n.split("`"), a = o;
4257
- for (; (l = s.shift()) && !Xo(l) && a;) Ko(a) && (a = bl(null, a, e.hook, null, 0)), a = Fl(a, null, l, !1);
4367
+ for (; (l = s.shift()) && !Zo(l) && a;) Bo(a) && (a = pl(null, a, e.hook, null, 0)), a = Gl(a, null, l, !1);
4258
4368
  if (!a || 0 !== s.length) return ir(`jdb_update: path not found in topic '${t}': '${n}'`), null;
4259
- if (Bo(a)) i = a;
4369
+ if (Yo(a)) i = a;
4260
4370
  else {
4261
4371
  if (a.id === r.id) return Do(a, r), o;
4262
- if (i = bl(null, a, e.hook, null, 0), null == i) i = [], Lo(a, e.hook, i);
4263
- else if (!Bo(i)) return ir(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
4372
+ if (i = pl(null, a, e.hook, null, 0), null == i) i = [], Lo(a, e.hook, i);
4373
+ else if (!Yo(i)) return ir(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
4264
4374
  }
4265
- let u = Fl(i, e.hook, r.id, !1);
4375
+ let u = Gl(i, e.hook, r.id, !1);
4266
4376
  return u ? Do(u, r) : i.push(r), o;
4267
4377
  }, e.json2flat = function(e) {
4268
4378
  const t = {}, n = (e, r, o) => {
4269
- if (o > Ql) throw new Error("json2flat: deeper than 256");
4379
+ if (o > ti) throw new Error("json2flat: deeper than 256");
4270
4380
  if (null === e || "object" != typeof e || Array.isArray(e)) {
4271
4381
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
4272
4382
  const l = `[${t}]`;
@@ -4276,20 +4386,20 @@ var gobjJs = function(e) {
4276
4386
  const t = Object.keys(e);
4277
4387
  if (t.length > 0) {
4278
4388
  for (const l of t) {
4279
- const t = Zl(l);
4389
+ const t = ri(l);
4280
4390
  n(e[l], 0 === o ? t : r + "`" + t, o + 1);
4281
4391
  }
4282
4392
  return;
4283
4393
  }
4284
4394
  }
4285
- 0 !== o && il(t, r, e);
4395
+ 0 !== o && sl(t, r, e);
4286
4396
  };
4287
4397
  return null == e || n(e, "", 0), t;
4288
4398
  }, e.json_array_append = Fo, e.json_array_append_new = Mo, e.json_array_extend = function(e, t) {
4289
4399
  return t ? (Array.prototype.push.apply(e, t), e) : e;
4290
- }, e.json_array_remove = Go, e.json_array_size = Wo, e.json_deep_copy = Ao, e.json_is_identical = Ro, e.json_mask_secrets = No, e.json_object_del = Po, e.json_object_get = Io, e.json_object_set = Lo, e.json_object_set_new = Uo, e.json_object_size = Vo, e.json_object_update = Do, e.json_object_update_existing = ko, e.json_object_update_missing = Co, e.json_size = xo, e.jwt2json = function(e, t) {
4400
+ }, e.json_array_remove = Go, e.json_array_size = Wo, e.json_deep_copy = Ao, e.json_is_identical = Ro, e.json_mask_secrets = No, e.json_object_del = Po, e.json_object_get = Io, e.json_object_set = Lo, e.json_object_set_new = Uo, e.json_object_size = Vo, e.json_object_update = Do, e.json_object_update_existing = ko, e.json_object_update_missing = Co, e.json_size = xo, e.json_text_of = Fe, e.jwt2json = function(e, t) {
4291
4401
  try {
4292
- let n = Ml(e);
4402
+ let n = Vl(e);
4293
4403
  switch (t) {
4294
4404
  case "header": return JSON.parse(n.header);
4295
4405
  case "signature": return JSON.parse(n.signature);
@@ -4298,98 +4408,98 @@ var gobjJs = function(e) {
4298
4408
  } catch (e) {
4299
4409
  return null;
4300
4410
  }
4301
- }, e.jwtDecode = Ml, e.kw_clone_by_keys = vl, e.kw_clone_by_not_keys = El, e.kw_collect = function(e, t, n, r) {
4302
- if (e && !Qo(e) && ir("GObj bad instanceof"), !t) return null;
4303
- r || (r = yl);
4411
+ }, e.jwtDecode = Vl, e.kw_clone_by_keys = El, e.kw_clone_by_not_keys = Tl, e.kw_collect = function(e, t, n, r) {
4412
+ if (e && !Xo(e) && ir("GObj bad instanceof"), !t) return null;
4413
+ r || (r = vl);
4304
4414
  let o = [];
4305
- if (Bo(t)) for (let e = 0; e < t.length; e++) {
4415
+ if (Yo(t)) for (let e = 0; e < t.length; e++) {
4306
4416
  let l = t[e];
4307
4417
  r(l, n) && o.push(l);
4308
4418
  }
4309
4419
  else {
4310
- if (!Ko(t)) return ir("kw_select() BAD kw parameter"), null;
4420
+ if (!Bo(t)) return ir("kw_select() BAD kw parameter"), null;
4311
4421
  r(t, n) && o.push(t);
4312
4422
  }
4313
4423
  return o;
4314
- }, e.kw_delete = ul, e.kw_find_json_in_list = function(e, t, n, r) {
4315
- if (!n || !Bo(t)) return r && ir("item NULL or kw_list is not a list"), -1;
4424
+ }, e.kw_delete = _l, e.kw_find_json_in_list = function(e, t, n, r) {
4425
+ if (!n || !Yo(t)) return r && ir("item NULL or kw_list is not a list"), -1;
4316
4426
  for (let e = 0; e < t.length; e++) if (Ro(n, t[e])) return e;
4317
4427
  return r && ir("item not found in this list"), -1;
4318
- }, e.kw_find_path = al, e.kw_flag_t = Un, e.kw_get_bool = _l, e.kw_get_dict = dl, e.kw_get_dict_value = bl, e.kw_get_int = cl, e.kw_get_list = function(e, t, n, r, o) {
4319
- e && !Qo(e) && ir("GObj bad instanceof");
4320
- let l = al(e, t, n, !1);
4428
+ }, e.kw_find_path = ul, e.kw_flag_t = Un, e.kw_get_bool = cl, e.kw_get_dict = bl, e.kw_get_dict_value = pl, e.kw_get_int = fl, e.kw_get_list = function(e, t, n, r, o) {
4429
+ e && !Xo(e) && ir("GObj bad instanceof");
4430
+ let l = ul(e, t, n, !1);
4321
4431
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT;
4322
- return void 0 === l ? s && Bo(r) && t ? (pl(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), $o(t)), r) : Bo(l) ? (a && ul(e, t, n), l) : s && null === l && Bo(r) ? (pl(e, t, n, r), r) : s && null === l ? (i && (ir(`path not found: '${n}'`), $o(t)), r) : ((i || s) && (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json list: '${n}'` + (s ? ", cannot create" : "")), $o(t)), r);
4323
- }, e.kw_get_local_storage_value = Ol, e.kw_get_pointer = gl, e.kw_get_real = function(e, t, n, r, o) {
4324
- e && !Qo(e) && ir("GObj bad instanceof");
4325
- let l = al(e, t, n, !1);
4432
+ return void 0 === l ? s && Yo(r) && t ? (ml(e, t, n, r), r) : (i && (ir(`path not found: '${n}'`), $o(t)), r) : Yo(l) ? (a && _l(e, t, n), l) : s && null === l && Yo(r) ? (ml(e, t, n, r), r) : s && null === l ? (i && (ir(`path not found: '${n}'`), $o(t)), r) : ((i || s) && (ir(`${e ? kt(e) + ": " : ""}path MUST BE a json list: '${n}'` + (s ? ", cannot create" : "")), $o(t)), r);
4433
+ }, e.kw_get_local_storage_value = wl, e.kw_get_pointer = dl, e.kw_get_real = function(e, t, n, r, o) {
4434
+ e && !Xo(e) && ir("GObj bad instanceof");
4435
+ let l = ul(e, t, n, !1);
4326
4436
  const i = o && o & Un.KW_REQUIRED, s = o && o & Un.KW_CREATE, a = o && o & Un.KW_EXTRACT, u = o && o & Un.KW_WILD_NUMBER;
4327
4437
  if (void 0 === l) {
4328
4438
  if (s && t) {
4329
4439
  let o = Number(r);
4330
- return pl(e, t, n, o), o;
4440
+ return ml(e, t, n, o), o;
4331
4441
  }
4332
4442
  return i && (ir(`path not found: '${n}'`), $o(t)), Number(r);
4333
4443
  }
4334
4444
  let _;
4335
- if (Jo(l)) _ = l;
4445
+ if (qo(l)) _ = l;
4336
4446
  else {
4337
4447
  if (!u) return ir(`${e ? kt(e) + ": " : ""}path MUST BE a json real: '${n}'`), $o(t), Number(r);
4338
4448
  if (Ho(l)) _ = l ? 1 : 0;
4339
- else if (Yo(l)) _ = parseFloat(l), Number.isNaN(_) && (_ = 0);
4449
+ else if (Jo(l)) _ = parseFloat(l), Number.isNaN(_) && (_ = 0);
4340
4450
  else {
4341
4451
  if (null !== l) return ir(`${e ? kt(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), $o(t), 0;
4342
4452
  _ = 0;
4343
4453
  }
4344
4454
  }
4345
- return a && ul(e, t, n), _;
4346
- }, e.kw_get_str = fl, e.kw_has_key = ol, e.kw_match_simple = yl, e.kw_pop = rl, e.kw_remove_local_storage_value = wl, e.kw_select = function(e, t, n, r) {
4347
- if (e && !Qo(e) && ir("GObj bad instanceof"), !t) return null;
4348
- r || (r = yl);
4455
+ return a && _l(e, t, n), _;
4456
+ }, e.kw_get_str = gl, e.kw_has_key = ll, e.kw_match_simple = vl, e.kw_pop = ol, e.kw_remove_local_storage_value = $l, e.kw_select = function(e, t, n, r) {
4457
+ if (e && !Xo(e) && ir("GObj bad instanceof"), !t) return null;
4458
+ r || (r = vl);
4349
4459
  let o = [];
4350
- if (Bo(t)) for (let e = 0; e < t.length; e++) {
4460
+ if (Yo(t)) for (let e = 0; e < t.length; e++) {
4351
4461
  let l = t[e];
4352
4462
  r(l, n) && o.push(Ao(l));
4353
4463
  }
4354
4464
  else {
4355
- if (!Ko(t)) return ir("kw_select() BAD kw parameter"), null;
4465
+ if (!Bo(t)) return ir("kw_select() BAD kw parameter"), null;
4356
4466
  r(t, n) && o.push(Ao(t));
4357
4467
  }
4358
4468
  return o;
4359
- }, e.kw_set_dict_value = pl, e.kw_set_local_storage_value = Sl, e.kw_set_subdict_value = ml, e.kwid_collect = $l, e.kwid_find_one_record = function(e, t, n, r, o) {
4360
- e && !Qo(e) && ir("GObj bad instanceof");
4361
- let l = $l(e, t, n, r, o);
4469
+ }, e.kw_set_dict_value = ml, e.kw_set_local_storage_value = Nl, e.kw_set_subdict_value = hl, e.kwid_collect = Rl, e.kwid_find_one_record = function(e, t, n, r, o) {
4470
+ e && !Xo(e) && ir("GObj bad instanceof");
4471
+ let l = Rl(e, t, n, r, o);
4362
4472
  return l && 0 !== l.length ? l[0] : null;
4363
4473
  }, e.kwid_get_ids = function(e, t) {
4364
- if (e && !Qo(e) && ir("GObj bad instanceof"), !t) return [];
4474
+ if (e && !Xo(e) && ir("GObj bad instanceof"), !t) return [];
4365
4475
  let n = [];
4366
- if (Yo(t)) n.push(t);
4367
- else if (Ko(t)) for (let e in t) Object.prototype.hasOwnProperty.call(t, e) && n.push(e);
4368
- else Bo(t) && t.forEach(function(t) {
4369
- if (Yo(t)) Xo(t) || n.push(t);
4370
- else if (Ko(t)) {
4371
- let r = fl(e, t, "id", 0, 0);
4476
+ if (Jo(t)) n.push(t);
4477
+ else if (Bo(t)) for (let e in t) Object.prototype.hasOwnProperty.call(t, e) && n.push(e);
4478
+ else Yo(t) && t.forEach(function(t) {
4479
+ if (Jo(t)) Zo(t) || n.push(t);
4480
+ else if (Bo(t)) {
4481
+ let r = gl(e, t, "id", 0, 0);
4372
4482
  r && n.push(r);
4373
4483
  }
4374
4484
  });
4375
4485
  return n;
4376
- }, e.kwid_match_id = Nl, e.kwid_new_dict = function(e, t, n) {
4377
- e && !Qo(e) && ir("GObj bad instanceof");
4486
+ }, e.kwid_match_id = Al, e.kwid_new_dict = function(e, t, n) {
4487
+ e && !Xo(e) && ir("GObj bad instanceof");
4378
4488
  let r = {};
4379
- if (Xo(n) || (t = al(e, t, n)), Ko(t)) r = t;
4380
- else if (Bo(t)) for (let n = 0; n < t.length; n++) {
4381
- let o = t[n], l = fl(e, o, "id", "", Un.KW_REQUIRED);
4382
- Xo(l) || il(r, l, o);
4489
+ if (Zo(n) || (t = ul(e, t, n)), Bo(t)) r = t;
4490
+ else if (Yo(t)) for (let n = 0; n < t.length; n++) {
4491
+ let o = t[n], l = gl(e, o, "id", "", Un.KW_REQUIRED);
4492
+ Zo(l) || sl(r, l, o);
4383
4493
  }
4384
4494
  else ir(`${kt(e)} kwid_new_dict: data type unknown`);
4385
4495
  return r;
4386
4496
  }, e.kwid_new_list = function(e, t, n) {
4387
- if (e && !Qo(e) && ir("GObj bad instanceof"), Xo(n) || (t = al(e, t, n)), Bo(t)) return t;
4388
- if (Ko(t)) {
4497
+ if (e && !Xo(e) && ir("GObj bad instanceof"), Zo(n) || (t = ul(e, t, n)), Yo(t)) return t;
4498
+ if (Bo(t)) {
4389
4499
  let n = [];
4390
4500
  for (let r of Object.keys(t)) {
4391
4501
  let o = t[r];
4392
- Ko(o) ? (o.id = r, n.push(o)) : ir(`${kt(e)} kwid_new_list: not a record: '${r}'`);
4502
+ Bo(o) ? (o.id = r, n.push(o)) : ir(`${kt(e)} kwid_new_list: not a record: '${r}'`);
4393
4503
  }
4394
4504
  return n;
4395
4505
  }
@@ -4397,16 +4507,16 @@ var gobjJs = function(e) {
4397
4507
  }, e.list2options = function(e, t, n) {
4398
4508
  t = t || "id", n = n || "value";
4399
4509
  let r = [];
4400
- if (Bo(e)) for (let o = 0; o < e.length; o++) {
4510
+ if (Yo(e)) for (let o = 0; o < e.length; o++) {
4401
4511
  let l = e[o];
4402
- if (Yo(l)) r.push({
4512
+ if (Jo(l)) r.push({
4403
4513
  id: e[o],
4404
4514
  value: e[o]
4405
4515
  });
4406
- else if (Ko(l)) {
4516
+ else if (Bo(l)) {
4407
4517
  let e = {};
4408
- if (ol(l, t)) {
4409
- if (!ol(l, n)) {
4518
+ if (ll(l, t)) {
4519
+ if (!ll(l, n)) {
4410
4520
  if (!(xo(l) > 0)) {
4411
4521
  ir("list2options(): object without field value: " + n);
4412
4522
  continue;
@@ -4424,7 +4534,7 @@ var gobjJs = function(e) {
4424
4534
  r.push(e);
4425
4535
  } else ir("list2options(): case1 not implemented");
4426
4536
  }
4427
- else if (Ko(e)) for (let t of Object.keys(e)) r.push({
4537
+ else if (Bo(e)) for (let t of Object.keys(e)) r.push({
4428
4538
  id: t,
4429
4539
  value: t
4430
4540
  });
@@ -4442,12 +4552,12 @@ var gobjJs = function(e) {
4442
4552
  var e;
4443
4553
  }, r.send();
4444
4554
  }, e.log_debug = ar, e.log_error = ir, e.log_info = function(e, ...t) {
4445
- let n = nr(e, ...t), r = Jl();
4446
- Vn && Hn("info", n) && rr(Vn, "%c" + r + " INFO: " + String(n), "color:cyan"), zn("info", n, r);
4447
- }, e.log_warning = sr, e.mask_secrets_inline = To, e.msg_iev_get_msg_type = Ll, e.msg_iev_get_stack = Il, e.msg_iev_push_stack = Cl, e.msg_iev_read_key = Dl, e.msg_iev_set_msg_type = Pl, e.msg_iev_write_key = kl, e.node_uuid = ql, e.parseBoolean = Zo, e.parseSVG = function(e) {
4555
+ let n = nr(e, ...t), r = Hl();
4556
+ Vn && qn("info", n) && rr(Vn, "%c" + r + " INFO: " + String(n), "color:cyan"), zn("info", n, r);
4557
+ }, e.log_warning = sr, e.mask_secrets_inline = To, e.msg_iev_get_msg_type = Fl, e.msg_iev_get_stack = Ll, e.msg_iev_push_stack = Pl, e.msg_iev_read_key = Cl, e.msg_iev_set_msg_type = Ul, e.msg_iev_write_key = Il, e.node_uuid = Zl, e.parseBoolean = el, e.parseSVG = function(e) {
4448
4558
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
4449
4559
  }, e.refresh_language = function(e, t) {
4450
- if (!zo(t)) return void ir("You must supply a translation function");
4560
+ if (!Qo(t)) return void ir("You must supply a translation function");
4451
4561
  e || (e = document);
4452
4562
  const n = (t) => {
4453
4563
  let n = [];
@@ -4471,22 +4581,22 @@ var gobjJs = function(e) {
4471
4581
  });
4472
4582
  }, e.register_c_ievent_cli = function() {
4473
4583
  return function(e) {
4474
- if (ki) return ir(`GClass ALREADY created: ${e}`), -1;
4584
+ if (Li) return ir(`GClass ALREADY created: ${e}`), -1;
4475
4585
  const t = [
4476
4586
  ["ST_DISCONNECTED", [
4477
4587
  [
4478
4588
  "EV_ON_OPEN",
4479
- Bi,
4589
+ Hi,
4480
4590
  "ST_WAIT_IDENTITY_CARD_ACK"
4481
4591
  ],
4482
4592
  [
4483
4593
  "EV_ON_CLOSE",
4484
- Yi,
4594
+ zi,
4485
4595
  null
4486
4596
  ],
4487
4597
  [
4488
4598
  "EV_TIMEOUT",
4489
- Ki,
4599
+ qi,
4490
4600
  null
4491
4601
  ],
4492
4602
  [
@@ -4498,22 +4608,22 @@ var gobjJs = function(e) {
4498
4608
  ["ST_WAIT_IDENTITY_CARD_ACK", [
4499
4609
  [
4500
4610
  "EV_ON_MESSAGE",
4501
- zi,
4611
+ ns,
4502
4612
  null
4503
4613
  ],
4504
4614
  [
4505
4615
  "EV_IDENTITY_CARD_ACK",
4506
- qi,
4616
+ ts,
4507
4617
  null
4508
4618
  ],
4509
4619
  [
4510
4620
  "EV_ON_CLOSE",
4511
- Yi,
4621
+ zi,
4512
4622
  "ST_DISCONNECTED"
4513
4623
  ],
4514
4624
  [
4515
4625
  "EV_TIMEOUT",
4516
- Hi,
4626
+ es,
4517
4627
  null
4518
4628
  ],
4519
4629
  [
@@ -4525,22 +4635,22 @@ var gobjJs = function(e) {
4525
4635
  ["ST_SESSION", [
4526
4636
  [
4527
4637
  "EV_ON_MESSAGE",
4528
- zi,
4638
+ ns,
4529
4639
  null
4530
4640
  ],
4531
4641
  [
4532
4642
  "EV_MT_STATS",
4533
- Xi,
4643
+ os,
4534
4644
  null
4535
4645
  ],
4536
4646
  [
4537
4647
  "EV_MT_COMMAND",
4538
- Zi,
4648
+ ls,
4539
4649
  null
4540
4650
  ],
4541
4651
  [
4542
4652
  "EV_ON_CLOSE",
4543
- Yi,
4653
+ zi,
4544
4654
  "ST_DISCONNECTED"
4545
4655
  ],
4546
4656
  [
@@ -4551,7 +4661,7 @@ var gobjJs = function(e) {
4551
4661
  ]],
4552
4662
  [null, null]
4553
4663
  ];
4554
- return (ki = Ke(e, [
4664
+ return (Li = Ke(e, [
4555
4665
  ["EV_ON_MESSAGE", F.EVF_OUTPUT_EVENT],
4556
4666
  ["EV_IDENTITY_CARD_ACK", F.EVF_PUBLIC_EVENT],
4557
4667
  ["EV_ON_ID_NAK", F.EVF_OUTPUT_EVENT],
@@ -4562,36 +4672,36 @@ var gobjJs = function(e) {
4562
4672
  ["EV_ON_OPEN_ERROR", F.EVF_OUTPUT_EVENT | F.EVF_NO_WARN_SUBS],
4563
4673
  ["EV_TIMEOUT", 0],
4564
4674
  [null, 0]
4565
- ], t, es, 0, $i, Di, 0, 0, Ai, P.gcflag_no_check_output_events)) ? 0 : -1;
4675
+ ], t, is, 0, ki, Pi, 0, 0, Ci, P.gcflag_no_check_output_events)) ? 0 : -1;
4566
4676
  }("C_IEVENT_CLI");
4567
4677
  }, e.register_c_timer = function() {
4568
4678
  return function(e) {
4569
- if (_i) return ir(`GClass ALREADY created: ${e}`), -1;
4679
+ if (di) return ir(`GClass ALREADY created: ${e}`), -1;
4570
4680
  const t = [["ST_IDLE", [[
4571
4681
  "EV_TIMEOUT",
4572
- ci,
4682
+ bi,
4573
4683
  null
4574
4684
  ]]]];
4575
- return (_i = Ke(e, [
4685
+ return (di = Ke(e, [
4576
4686
  ["EV_TIMEOUT", F.EVF_OUTPUT_EVENT],
4577
4687
  ["EV_TIMEOUT_PERIODIC", F.EVF_OUTPUT_EVENT],
4578
4688
  [0, 0]
4579
- ], t, fi, 0, ai, ui, 0, 0, 0, P.gcflag_manual_start)) ? 0 : -1;
4689
+ ], t, pi, 0, fi, gi, 0, 0, 0, P.gcflag_manual_start)) ? 0 : -1;
4580
4690
  }("C_TIMER");
4581
4691
  }, e.register_c_yuno = function() {
4582
4692
  return function(e) {
4583
- if (yi) return ir(`GClass ALREADY created: ${e}`), -1;
4693
+ if (ji) return ir(`GClass ALREADY created: ${e}`), -1;
4584
4694
  const t = [["ST_IDLE", [[
4585
4695
  "EV_TIMEOUT_PERIODIC",
4586
- Si,
4696
+ Ai,
4587
4697
  null
4588
4698
  ]]]];
4589
- return (yi = Ke(e, [["EV_TIMEOUT_PERIODIC", F.EVF_OUTPUT_EVENT | F.EVF_NO_WARN_SUBS], [0, 0]], t, wi, 0, mi, hi, 0, 0, 0, 0)) ? 0 : -1;
4699
+ return (ji = Ke(e, [["EV_TIMEOUT_PERIODIC", F.EVF_OUTPUT_EVENT | F.EVF_NO_WARN_SUBS], [0, 0]], t, Ri, 0, Ei, Ti, 0, 0, 0, 0)) ? 0 : -1;
4590
4700
  }("C_YUNO");
4591
4701
  }, e.safeSrc = function(e) {
4592
4702
  if (!e) return "";
4593
4703
  const t = String(e).trim();
4594
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Gl(t);
4704
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Wl(t);
4595
4705
  }, e.sdata_flag_t = A, e.send_http_json_post = function(e, t, n) {
4596
4706
  let r = new XMLHttpRequest();
4597
4707
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -4615,16 +4725,16 @@ var gobjJs = function(e) {
4615
4725
  }
4616
4726
  } else xn = e;
4617
4727
  }, e.set_remote_log_functions = Xn, e.set_strings_are_text = function(e) {
4618
- Kl = !!e;
4619
- }, e.set_timeout = di, e.set_timeout_periodic = bi, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Rl, e.strcasecmp = tl, e.strcmp = el, e.strings_are_text = function() {
4620
- return Kl;
4728
+ Yl = !!e;
4729
+ }, e.set_timeout = hi, e.set_timeout_periodic = yi, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = kl, e.strcasecmp = nl, e.strcmp = tl, e.strings_are_text = function() {
4730
+ return Yl;
4621
4731
  }, e.strncmp = function(e, t, n) {
4622
4732
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
4623
4733
  return r === o ? 0 : r > o ? 1 : -1;
4624
4734
  }, e.strs_in_list = function(e, t, n) {
4625
4735
  if (!e) return ir("ERROR: strs_in_list() list empty"), !1;
4626
4736
  if (!t) return ir("ERROR: strs_in_list() str empty"), !1;
4627
- for (let r = 0; r < t.length; r++) if (Rl(e, t[r], n)) return !0;
4737
+ for (let r = 0; r < t.length; r++) if (kl(e, t[r], n)) return !0;
4628
4738
  return !1;
4629
4739
  }, e.strstr = function(e, t, n) {
4630
4740
  var r;
@@ -4643,13 +4753,13 @@ var gobjJs = function(e) {
4643
4753
  placeholder: void 0,
4644
4754
  fkey: null
4645
4755
  };
4646
- if (Yo(t)) {
4756
+ if (Jo(t)) {
4647
4757
  let e = t.split(".");
4648
4758
  for (let t = 0; t < e.length; t++) {
4649
4759
  let r = e[t];
4650
- if (Rl(oi, r)) n.real_type || (n.real_type = r);
4651
- else if (Rl(ii, r)) n.type || (n.type = r);
4652
- else if (Rl(li, r)) switch (r) {
4760
+ if (kl(ai, r)) n.real_type || (n.real_type = r);
4761
+ else if (kl(_i, r)) n.type || (n.type = r);
4762
+ else if (kl(ui, r)) switch (r) {
4653
4763
  case "writable":
4654
4764
  n.is_writable = !0;
4655
4765
  break;
@@ -4661,7 +4771,7 @@ var gobjJs = function(e) {
4661
4771
  }
4662
4772
  }
4663
4773
  n.real_type || (n.real_type = "string");
4664
- } else Ko(t) ? (n = si(t), n.name || (n.name = e), n.header || (n.header = e)) : Bo(t) && (n.real_type = "array", n.enum_list = t);
4774
+ } else Bo(t) ? (n = ci(t), n.name || (n.name = e), n.header || (n.header = e)) : Yo(t) && (n.real_type = "array", n.enum_list = t);
4665
4775
  return n.type || (n.type = n.real_type), n;
4666
4776
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
4667
4777
  const n = e, r = performance.now();
@@ -4673,8 +4783,8 @@ var gobjJs = function(e) {
4673
4783
  total: a
4674
4784
  };
4675
4785
  } };
4676
- }, e.trace_json = _r, e.trace_json_masked = $o, e.trace_level_t = B, e.trace_msg = ur, e.treedb_decoder_fkey = ri, e.treedb_decoder_hook = function(e, t) {
4677
- if (Yo(t)) {
4786
+ }, e.trace_json = _r, e.trace_json_masked = $o, e.trace_level_t = B, e.trace_msg = ur, e.treedb_decoder_fkey = si, e.treedb_decoder_hook = function(e, t) {
4787
+ if (Jo(t)) {
4678
4788
  if (-1 === t.indexOf("^")) {
4679
4789
  let n, r = e.hook;
4680
4790
  if (1 !== Vo(r)) return ir("bad hook 1"), ir(e), ir(t), null;
@@ -4695,17 +4805,17 @@ var gobjJs = function(e) {
4695
4805
  };
4696
4806
  }
4697
4807
  }
4698
- return Ko(t) ? {
4808
+ return Bo(t) ? {
4699
4809
  topic_name: t.topic_name,
4700
4810
  id: t.id
4701
4811
  } : (ir("bad hook 3"), ir(e), ir(t), null);
4702
4812
  }, e.treedb_encoder_fkey = function(e, t) {
4703
- let n = ri(e, t);
4813
+ let n = si(e, t);
4704
4814
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
4705
- }, e.treedb_get_field_desc = si, e.treedb_hook_data_size = function(e) {
4706
- if (Bo(e) && 1 === xo(e)) {
4815
+ }, e.treedb_get_field_desc = ci, e.treedb_hook_data_size = function(e) {
4816
+ if (Yo(e) && 1 === xo(e)) {
4707
4817
  let t = e[0];
4708
- return ol(t, "size") ? t.size : 1;
4818
+ return ll(t, "size") ? t.size : 1;
4709
4819
  }
4710
4820
  return xo(e);
4711
4821
  }, e.vsprintf = function(e, t) {