@yuneta/gobj-js 7.26.26 → 7.26.27

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.
@@ -979,7 +979,7 @@ function rt(e, t) {
979
979
  t.parent && sr(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
980
980
  }
981
981
  function ot(e, t) {
982
- let n = Js(e.dl_children, t);
982
+ let n = Hs(e.dl_children, t);
983
983
  n >= 0 && (Fo(e.dl_children, n), t.parent = null);
984
984
  }
985
985
  function st(e, t) {
@@ -1244,35 +1244,36 @@ function Vt(e) {
1244
1244
  function Wt(e, t, n, r, o) {
1245
1245
  let s, l = [...e];
1246
1246
  if (t & U.WALK_LAST2FIRST) for (let e = l.length; e > 0; e--) {
1247
- s = l[e - 1];
1247
+ if (s = l[e - 1], Pt(s)) continue;
1248
1248
  let t = Vt(n(s, r, o));
1249
1249
  if (t < 0) return t;
1250
1250
  }
1251
1251
  else for (let e = 0; e < l.length; e++) {
1252
- s = l[e];
1252
+ if (s = l[e], Pt(s)) continue;
1253
1253
  let t = Vt(n(s, r, o));
1254
1254
  if (t < 0) return t;
1255
1255
  }
1256
1256
  return 0;
1257
1257
  }
1258
1258
  function Kt(e, t, n, r, o) {
1259
- let s, l = Wt(e, t, n, r, o);
1260
- if (l < 0) return l;
1259
+ let s, l = [...e], i = Wt(l, t, n, r, o);
1260
+ if (i < 0) return i;
1261
1261
  if (t & U.WALK_LAST2FIRST) {
1262
- for (let i = e.length; i > 0; i--) if (s = e[i - 1], l = Kt([...s.dl_children], t, n, r, o), l < 0) return l;
1263
- } else for (let i = 0; i < e.length; i++) if (s = e[i], l = Kt([...s.dl_children], t, n, r, o), l < 0) return l;
1264
- return l;
1262
+ for (let e = l.length; e > 0; e--) if (s = l[e - 1], !Pt(s) && (i = Kt(s.dl_children, t, n, r, o), i < 0)) return i;
1263
+ } else for (let e = 0; e < l.length; e++) if (s = l[e], !Pt(s) && (i = Kt(s.dl_children, t, n, r, o), i < 0)) return i;
1264
+ return i;
1265
1265
  }
1266
1266
  function Bt(e, t, n, r, o) {
1267
1267
  if (t & U.WALK_BYLEVEL) return Kt(e, t, n, r, o);
1268
- let s, l;
1269
- if (t & U.WALK_BOTTOM2TOP) for (let i = e.length; i > 0; i--) {
1270
- if (l = e[i - 1], s = Bt([...l.dl_children], t, n, r, o), s < 0) return s;
1268
+ let s, l, i = [...e];
1269
+ if (t & U.WALK_BOTTOM2TOP) {
1270
+ for (let e = i.length; e > 0; e--) if (l = i[e - 1], !Pt(l)) {
1271
+ if (s = Bt(l.dl_children, t, n, r, o), s < 0) return s;
1272
+ if (!Pt(l) && (s = Vt(n(l, r, o)), s < 0)) return s;
1273
+ }
1274
+ } else for (let e = 0; e < i.length; e++) if (l = i[e], !Pt(l)) {
1271
1275
  if (s = Vt(n(l, r, o)), s < 0) return s;
1272
- }
1273
- else for (let i = 0; i < e.length; i++) {
1274
- if (l = e[i], s = Vt(n(l, r, o)), s < 0) return s;
1275
- if (0 === s && (s = Bt([...l.dl_children], t, n, r, o), s < 0)) return s;
1276
+ if (0 === s && !Pt(l) && (s = Bt(l.dl_children, t, n, r, o), s < 0)) return s;
1276
1277
  }
1277
1278
  return 0;
1278
1279
  }
@@ -1548,7 +1549,7 @@ function Tn(e, n, r, o) {
1548
1549
  if (1 === V) W(t("🔄 %s %s%s %s from %s%s", n || "", e.running ? "" : "!!", xt(e), s.state_name, o && !o.running ? "!!" : "", xt(o)));
1549
1550
  else {
1550
1551
  let r = "";
1551
- i.action && (r = qs(i.action)), W(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), At(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Rt(o), At(o)));
1552
+ i.action && (r = zs(i.action)), W(t("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Rt(e), At(e), s.state_name, "", n || "", "", r, o && !o.running ? "!!" : "", Rt(o), At(o)));
1552
1553
  }
1553
1554
  r && ne(e) && Mo(r) && No(r);
1554
1555
  }
@@ -1896,23 +1897,23 @@ function or(e, ...t) {
1896
1897
  }
1897
1898
  }
1898
1899
  function sr(e, ...t) {
1899
- let n = tr(e, ...t), r = Ys();
1900
+ let n = tr(e, ...t), r = Js();
1900
1901
  Un && (Un === Ln.error ? Jn("error", n) && nr(Un, "%c" + r + " ERROR: " + String(n), "color:red") : (Jn("error", n) && Ln.error("%c" + r + " ERROR: " + String(n), "color:red"), or(Un, `${r} ERROR: ${String(n)}`))), qn("error", n, r);
1901
1902
  }
1902
1903
  function lr(e, ...t) {
1903
- let n = tr(e, ...t), r = Ys();
1904
+ let n = tr(e, ...t), r = Js();
1904
1905
  Fn && (Fn === Ln.warn ? Jn("warning", n) && nr(Fn, "%c" + r + " WARNING: " + String(n), "color:yellow") : (Jn("warning", n) && Ln.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), or(Fn, `${r} WARNING: ${String(n)}`))), qn("warning", n, r);
1905
1906
  }
1906
1907
  function ir(e, ...t) {
1907
- let n = tr(e, ...t), r = Ys();
1908
+ let n = tr(e, ...t), r = Js();
1908
1909
  Gn && Jn("debug", n) && nr(Gn, "%c" + r + " DEBUG: " + String(n), "color:silver"), qn("debug", n, r);
1909
1910
  }
1910
1911
  function ar(e, ...t) {
1911
- let n = tr(e, ...t), r = Ys();
1912
+ let n = tr(e, ...t), r = Js();
1912
1913
  Gn && Jn("msg", n) && nr(Gn, "%c" + r + " MSG: " + String(n), "color:cyan"), qn("msg", n, r);
1913
1914
  }
1914
1915
  function ur(e, t) {
1915
- Jn("json", t) && (t && nr(Ln.warn, "=====> " + Zn(t)), nr(Ln.dir, e)), qn("json", e, Ys());
1916
+ Jn("json", t) && (t && nr(Ln.warn, "=====> " + Zn(t)), nr(Ln.dir, e)), qn("json", e, Js());
1916
1917
  }
1917
1918
  function _r(e) {
1918
1919
  const t = new Array(128).fill(null);
@@ -2954,44 +2955,73 @@ function vs(e, t, n, r) {
2954
2955
  }
2955
2956
  return o;
2956
2957
  }
2957
- var Es = /* @__PURE__ */ new Set();
2958
- function Ts(e, t) {
2959
- Es.has(e) || (Es.add(e), lr(`kw_get_local_storage_value(): localStorage key "${e}" ${t}`));
2958
+ function Es() {
2959
+ if ("undefined" == typeof window) return null;
2960
+ let e;
2961
+ try {
2962
+ e = window.localStorage;
2963
+ } catch (e) {
2964
+ const t = () => {
2965
+ throw e;
2966
+ };
2967
+ return {
2968
+ getItem: t,
2969
+ setItem: t,
2970
+ removeItem: t
2971
+ };
2972
+ }
2973
+ return e || null;
2974
+ }
2975
+ var Ts = /* @__PURE__ */ new Set();
2976
+ function js(e, t) {
2977
+ Ts.has(e) || (Ts.add(e), lr(t));
2960
2978
  }
2961
- function js(e, t, n = !1) {
2962
- if ("undefined" == typeof window || !window.localStorage) return t;
2963
- let r;
2979
+ function Os(e, t, n = !1) {
2980
+ const r = Es();
2981
+ if (!r) return t;
2982
+ const o = `kw_get_local_storage_value(): localStorage key "${e}"`;
2983
+ let s;
2964
2984
  try {
2965
- r = window.localStorage.getItem(e);
2985
+ s = r.getItem(e);
2966
2986
  } catch (n) {
2967
- return Ts(e, "cannot be read (storage blocked?): the default is used"), t;
2987
+ return js(e, `${o} cannot be read (storage blocked?): the default is used`), t;
2968
2988
  }
2969
- let o = null;
2970
- if (null !== r) try {
2971
- o = JSON.parse(r);
2989
+ let l = null;
2990
+ if (null !== s) try {
2991
+ l = JSON.parse(s);
2972
2992
  } catch (t) {
2973
- Ts(e, "does not hold json: removed, the default is used"), Ss(e), o = null;
2993
+ l = null;
2994
+ try {
2995
+ r.removeItem(e), lr(`${o} does not hold json: removed, the default is used`), Ts.delete(e);
2996
+ } catch (t) {
2997
+ js(e, `${o} does not hold json and cannot be removed: the default is used`);
2998
+ }
2999
+ s = void 0;
2974
3000
  }
2975
- return null === o ? (n && Os(e, t), t) : o;
3001
+ return void 0 !== s && Ts.delete(e), null === l ? (n && Ss(e, t), t) : l;
2976
3002
  }
2977
- function Os(e, t) {
2978
- if ("undefined" == typeof window || !window.localStorage) return 0;
2979
- if (!e || void 0 === t) return sr(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
3003
+ function Ss(e, t) {
3004
+ if (!e) return sr(`kw_set_local_storage_value(): invalid key: key=${e}`), -1;
3005
+ const n = Le(t);
3006
+ if (void 0 === n) return sr(`kw_set_local_storage_value(): cannot save "${e}": a value with no json text`), -1;
3007
+ const r = Es();
3008
+ if (!r) return 0;
2980
3009
  try {
2981
- return window.localStorage.setItem(e, JSON.stringify(t)), 0;
3010
+ return r.setItem(e, n), 0;
2982
3011
  } catch (t) {
2983
3012
  return sr(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
2984
3013
  }
2985
3014
  }
2986
- function Ss(e) {
2987
- if ("undefined" != typeof window && window.localStorage) if (e) try {
2988
- window.localStorage.removeItem(e);
3015
+ function ws(e) {
3016
+ const t = Es();
3017
+ if (t) if (e) try {
3018
+ t.removeItem(e);
2989
3019
  } catch (t) {
2990
- window.console.warn(`Error removing localStorage key "${e}":`, t);
3020
+ lr(`kw_remove_local_storage_value(): cannot remove "${e}" (storage blocked?): ${t && t.message ? t.message : t}`);
2991
3021
  }
2992
- else window.console.warn(`Invalid key for localStorage removal: ${e}`);
3022
+ else sr(`kw_remove_local_storage_value(): invalid key: key=${e}`);
2993
3023
  }
2994
- function ws(e, t) {
3024
+ function Ns(e, t) {
2995
3025
  if (Ho(e) || Ho(t)) return !0;
2996
3026
  if (Ko(e)) {
2997
3027
  if (0 === e.length) return !0;
@@ -3002,7 +3032,7 @@ function ws(e, t) {
3002
3032
  } else if (Bo(e) && e === t) return !0;
3003
3033
  return !1;
3004
3034
  }
3005
- function Ns(e, t, n, r, o) {
3035
+ function $s(e, t, n, r, o) {
3006
3036
  if (e && !zo(e) && sr("GObj bad instanceof"), !t) return null;
3007
3037
  o || (o = hs);
3008
3038
  let s = [];
@@ -3013,23 +3043,23 @@ function Ns(e, t, n, r, o) {
3013
3043
  if (!Bo(a)) continue;
3014
3044
  i = a;
3015
3045
  }
3016
- ws(n, i) && o(a, r) && s.push(a);
3046
+ Ns(n, i) && o(a, r) && s.push(a);
3017
3047
  }
3018
3048
  else {
3019
3049
  if (!Wo(t)) return sr("kw_collect() BAD kw parameter"), null;
3020
3050
  for (let e of Object.keys(t)) {
3021
3051
  let l = t[e];
3022
- ws(n, e) && o(l, r) && s.push(l);
3052
+ Ns(n, e) && o(l, r) && s.push(l);
3023
3053
  }
3024
3054
  }
3025
3055
  return s;
3026
3056
  }
3027
- function $s(e, t) {
3057
+ function As(e, t) {
3028
3058
  if (!e) return -1;
3029
3059
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
3030
3060
  return -1;
3031
3061
  }
3032
- function As(e, t, n) {
3062
+ function Rs(e, t, n) {
3033
3063
  if (!e || !t) return sr("ERROR: str_in_list() list or str empty"), !1;
3034
3064
  let r = e.length;
3035
3065
  if (n) {
@@ -3041,7 +3071,7 @@ function As(e, t, n) {
3041
3071
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
3042
3072
  return !1;
3043
3073
  }
3044
- function Rs(e, t) {
3074
+ function xs(e, t) {
3045
3075
  try {
3046
3076
  let n = e.__md_iev__;
3047
3077
  if (n) return n[t];
@@ -3049,34 +3079,34 @@ function Rs(e, t) {
3049
3079
  return;
3050
3080
  }
3051
3081
  }
3052
- function xs(e, t, n) {
3082
+ function Ds(e, t, n) {
3053
3083
  let r = e.__md_iev__;
3054
3084
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
3055
3085
  }
3056
- function Ds(e, t, n, r) {
3086
+ function ks(e, t, n, r) {
3057
3087
  if (!zo(e)) return sr("gobj is not a GObj"), null;
3058
3088
  if (!t) return;
3059
- let o = Rs(t, n);
3060
- o || (o = [], xs(t, n, o));
3089
+ let o = xs(t, n);
3090
+ o || (o = [], Ds(t, n, o));
3061
3091
  try {
3062
3092
  Ko(o) && o.unshift(r);
3063
3093
  } catch (e) {
3064
3094
  sr(e);
3065
3095
  }
3066
3096
  }
3067
- function ks(e, t, n, r) {
3097
+ function Cs(e, t, n, r) {
3068
3098
  if (!zo(e)) return sr("gobj is not a GObj"), null;
3069
3099
  if (!Wo(t)) return sr("kw is not a dict"), null;
3070
- let o = Rs(t, n);
3100
+ let o = xs(t, n);
3071
3101
  return o ? 0 === o.length ? (r && sr(`stack empty: ${n}`), null) : o[0] : (r && sr(`stack NOT FOUND: ${n}`), null);
3072
3102
  }
3073
- function Cs(e, t, n) {
3103
+ function Is(e, t, n) {
3074
3104
  return Qo(n) ? as(e, t, "__md_iev__`__msg_type__") : bs(e, t, "__md_iev__", "__msg_type__", n), 0;
3075
3105
  }
3076
- function Is(e, t) {
3106
+ function Ps(e, t) {
3077
3107
  return cs(e, t, "__md_iev__`__msg_type__", "", 0);
3078
3108
  }
3079
- function Ps(e, t, n) {
3109
+ function Ls(e, t, n) {
3080
3110
  void 0 !== n && Bo(n) || (n = "");
3081
3111
  for (let r of Object.keys(e)) {
3082
3112
  if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
@@ -3086,10 +3116,10 @@ function Ps(e, t, n) {
3086
3116
  r,
3087
3117
  e[r],
3088
3118
  n
3089
- ]), Wo(e[r]) && Ps(e[r], t, n), n = n.slice(0, -o.length);
3119
+ ]), Wo(e[r]) && Ls(e[r], t, n), n = n.slice(0, -o.length);
3090
3120
  }
3091
3121
  }
3092
- function Ls(e, t, n, r) {
3122
+ function Us(e, t, n, r) {
3093
3123
  if (!e) return null;
3094
3124
  let o, s = e.length;
3095
3125
  for (o = 0; o < s; o++) {
@@ -3098,14 +3128,14 @@ function Ls(e, t, n, r) {
3098
3128
  let e = s.id;
3099
3129
  if (e && e === n) return s;
3100
3130
  if (r && rs(s, t)) {
3101
- let e = Ls(s[t], t, n, r);
3131
+ let e = Us(s[t], t, n, r);
3102
3132
  if (e) return e;
3103
3133
  }
3104
3134
  }
3105
3135
  }
3106
3136
  return null;
3107
3137
  }
3108
- function Us(e) {
3138
+ function Fs(e) {
3109
3139
  function t(e) {
3110
3140
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
3111
3141
  switch (t.length % 4) {
@@ -3136,10 +3166,10 @@ function Us(e) {
3136
3166
  signature: t(n[2])
3137
3167
  };
3138
3168
  }
3139
- function Fs(e) {
3169
+ function Ms(e) {
3140
3170
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3141
3171
  }
3142
- var Ms = class {
3172
+ var Gs = class {
3143
3173
  constructor(e) {
3144
3174
  this.html = e, Object.freeze(this);
3145
3175
  }
@@ -3147,41 +3177,57 @@ var Ms = class {
3147
3177
  return this.html;
3148
3178
  }
3149
3179
  };
3150
- function Gs(e) {
3151
- return e instanceof Ms;
3152
- }
3153
3180
  function Vs(e) {
3181
+ return e instanceof Gs;
3182
+ }
3183
+ function Ws(e) {
3154
3184
  const t = document.createElement("template");
3155
3185
  return t.innerHTML = e.html.trim(), t.content;
3156
3186
  }
3157
- var Ws = !1, Ks = /* @__PURE__ */ new Set();
3158
- function Bs(e) {
3187
+ var Ks = !1, Bs = /* @__PURE__ */ new Set();
3188
+ function Ys(e) {
3159
3189
  const t = document.createElement("template");
3160
3190
  return t.innerHTML = e.trim(), t.content.firstChild;
3161
3191
  }
3162
- function Ys(e) {
3192
+ function Js(e) {
3163
3193
  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();
3164
3194
  return `${n}.${r}${o > 0 ? "-" : "+"}${t(Math.floor(Math.abs(o) / 60), 2)}${t(Math.abs(o) % 60, 2)}`;
3165
3195
  }
3166
- function Js(e, t) {
3196
+ function Hs(e, t) {
3167
3197
  if (!e) throw "ERROR: index_in_list() list empty";
3168
3198
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
3169
3199
  return -1;
3170
3200
  }
3171
- function Hs() {
3201
+ function qs() {
3172
3202
  let e = "";
3173
- 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;
3203
+ const t = Es();
3204
+ if (t) {
3205
+ try {
3206
+ e = t.getItem("host_uuid");
3207
+ } catch (t) {
3208
+ e = null, js("host_uuid", "node_uuid(): localStorage cannot be read (storage blocked?): a uuid of this page only");
3209
+ }
3210
+ if (!e && window.crypto?.randomUUID) {
3211
+ e = window.crypto.randomUUID();
3212
+ try {
3213
+ t.setItem("host_uuid", e);
3214
+ } catch (e) {
3215
+ js("host_uuid", "node_uuid(): localStorage cannot be written (storage full or blocked?): a uuid of this page only");
3216
+ }
3217
+ }
3218
+ } else e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000";
3219
+ return e;
3174
3220
  }
3175
- function qs(e) {
3221
+ function zs(e) {
3176
3222
  let t = null;
3177
3223
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
3178
3224
  }
3179
- var zs = 256, Qs = 1e5;
3180
- function Xs(e) {
3225
+ var Qs = 256, Xs = 1e5;
3226
+ function Zs(e) {
3181
3227
  const t = String(e).replace(/`/g, "``");
3182
3228
  return "[" === t[0] ? "[" + t : t;
3183
3229
  }
3184
- function Zs(e) {
3230
+ function el(e) {
3185
3231
  if ("string" != typeof e) return null;
3186
3232
  let t = [], n = "";
3187
3233
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -3202,13 +3248,13 @@ function Zs(e) {
3202
3248
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
3203
3249
  });
3204
3250
  }
3205
- function el(e, t) {
3251
+ function tl(e, t) {
3206
3252
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
3207
3253
  }
3208
- function tl(e) {
3254
+ function nl(e) {
3209
3255
  return "persistent-attrs-" + xt(e);
3210
3256
  }
3211
- function nl(e, t) {
3257
+ function rl(e, t) {
3212
3258
  if (Bo(t)) {
3213
3259
  if (-1 === t.indexOf("^")) {
3214
3260
  let n, r, o = e.fkey;
@@ -3238,7 +3284,7 @@ function nl(e, t) {
3238
3284
  hook_name: t.hook_name
3239
3285
  } : (sr("bad fkey 3"), sr(e), sr(t), null);
3240
3286
  }
3241
- var rl = [
3287
+ var ol = [
3242
3288
  "string",
3243
3289
  "integer",
3244
3290
  "object",
@@ -3248,7 +3294,7 @@ var rl = [
3248
3294
  "real",
3249
3295
  "boolean",
3250
3296
  "blob"
3251
- ], ol = [
3297
+ ], sl = [
3252
3298
  "persistent",
3253
3299
  "required",
3254
3300
  "notnull",
@@ -3260,7 +3306,7 @@ var rl = [
3260
3306
  "stats",
3261
3307
  "rstats",
3262
3308
  "pstats"
3263
- ], sl = [
3309
+ ], ll = [
3264
3310
  "hook",
3265
3311
  "fkey",
3266
3312
  "enum",
@@ -3289,7 +3335,7 @@ var rl = [
3289
3335
  "coordinates",
3290
3336
  "gbuffer"
3291
3337
  ];
3292
- function ll(e) {
3338
+ function il(e) {
3293
3339
  let t = {
3294
3340
  name: e.id,
3295
3341
  header: e.header,
@@ -3308,7 +3354,7 @@ function ll(e) {
3308
3354
  if (!e.flag) return t;
3309
3355
  for (let n = 0; n < e.flag.length; n++) {
3310
3356
  let r = e.flag[n];
3311
- if (As(sl, r)) {
3357
+ if (Rs(ll, r)) {
3312
3358
  switch (r) {
3313
3359
  case "enum":
3314
3360
  t.enum_list = e.enum;
@@ -3322,7 +3368,7 @@ function ll(e) {
3322
3368
  case "file": t.is_file = !0;
3323
3369
  }
3324
3370
  t.type = r;
3325
- } else if (As(ol, r)) switch (r) {
3371
+ } else if (Rs(sl, r)) switch (r) {
3326
3372
  case "writable":
3327
3373
  t.is_writable = !0;
3328
3374
  break;
@@ -3335,23 +3381,23 @@ function ll(e) {
3335
3381
  }
3336
3382
  return t.is_file && (t.type = "file"), t;
3337
3383
  }
3338
- var il = [
3384
+ var al = [
3339
3385
  x(v.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
3340
3386
  x(v.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
3341
3387
  x(v.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
3342
3388
  R()
3343
- ], al = {
3389
+ ], ul = {
3344
3390
  periodic: !1,
3345
3391
  msec: 0,
3346
3392
  timer_id: -1
3347
- }, ul = null;
3348
- function _l(e, t, n, r) {
3393
+ }, _l = null;
3394
+ function cl(e, t, n, r) {
3349
3395
  let o = e.priv, s = o.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
3350
3396
  return o.periodic && o.msec > 0 ? o.timer_id = setTimeout(function() {
3351
3397
  Tn(e, "EV_TIMEOUT", {}, e);
3352
3398
  }, o.msec) : o.timer_id = -1, In(e, s, {}), o.periodic || -1 !== o.timer_id || Et(e) && bt(e), 0;
3353
3399
  }
3354
- var cl = {
3400
+ var fl = {
3355
3401
  mt_create: function(e) {
3356
3402
  let t = e.priv, n = tn(e, "subscriber");
3357
3403
  n ? xn(e, null, {}, n) : It(e) && (n = kt(e), xn(e, null, {}, n)), t.periodic = Xt(e, "periodic"), t.msec = Zt(e, "msec");
@@ -3375,19 +3421,19 @@ var cl = {
3375
3421
  },
3376
3422
  mt_destroy: function(e) {}
3377
3423
  };
3378
- function fl(e) {
3424
+ function gl(e) {
3379
3425
  return "number" == typeof e && Number.isFinite(e) ? Math.round(e) : e;
3380
3426
  }
3381
- function gl(e, t) {
3382
- return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !1), void an(e, "msec", fl(t))) : (sr("not GObj TYPE"), -1);
3383
- }
3384
3427
  function dl(e, t) {
3385
- return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !0), void an(e, "msec", fl(t))) : (sr("not GObj TYPE"), -1);
3428
+ return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !1), void an(e, "msec", gl(t))) : (sr("not GObj TYPE"), -1);
3429
+ }
3430
+ function pl(e, t) {
3431
+ return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : (ln(e, "periodic", !0), void an(e, "msec", gl(t))) : (sr("not GObj TYPE"), -1);
3386
3432
  }
3387
- function pl(e) {
3433
+ function bl(e) {
3388
3434
  return e instanceof k ? "C_TIMER" !== Rt(e) ? (sr("not C_TIMER GObj"), -1) : void an(e, "msec", -1) : (sr("not GObj TYPE"), -1);
3389
3435
  }
3390
- var bl = [
3436
+ var ml = [
3391
3437
  x(v.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
3392
3438
  x(v.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
3393
3439
  x(v.DTP_STRING, "__username__", 0, "", "Username"),
@@ -3407,35 +3453,35 @@ var bl = [
3407
3453
  x(v.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
3408
3454
  x(v.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
3409
3455
  R()
3410
- ], ml = { gobj_timer: null }, hl = null;
3411
- function yl(e, t, n, r) {
3456
+ ], hl = { gobj_timer: null }, yl = null;
3457
+ function vl(e, t, n, r) {
3412
3458
  let o = zt(e, t);
3413
3459
  return Wo(o) || (o = {}), o[n] = r, nn(e, t, o), st(e, t);
3414
3460
  }
3415
- var vl = -2147483648, El = 2147483647;
3416
- function Tl(e) {
3461
+ var El = -2147483648, Tl = 2147483647;
3462
+ function jl(e) {
3417
3463
  if (!0 === e || !1 === e) return e;
3418
- if ("number" == typeof e) return !Number.isInteger(e) || e < vl || e > El ? null : 0 !== e;
3464
+ if ("number" == typeof e) return !Number.isInteger(e) || e < El || e > Tl ? null : 0 !== e;
3419
3465
  if ("string" != typeof e || "" === e) return null;
3420
3466
  let t = e.toLowerCase();
3421
3467
  if ("set" === t) return !0;
3422
3468
  if ("reset" === t) return !1;
3423
3469
  if (/^-?(0|[1-9][0-9]*)$/.test(e)) {
3424
3470
  let t = Number(e);
3425
- return t < vl || t > El ? null : 0 !== t;
3471
+ return t < El || t > Tl ? null : 0 !== t;
3426
3472
  }
3427
3473
  return "true" === t || "yes" === t || "on" === t || "false" !== t && "no" !== t && "off" !== t && null;
3428
3474
  }
3429
- function jl() {
3475
+ function Ol() {
3430
3476
  return `${Nt()}^${wt()}`;
3431
3477
  }
3432
- function Ol(e, t, n, r) {
3478
+ function Sl(e, t, n, r) {
3433
3479
  return In(e, t, n), 0;
3434
3480
  }
3435
- var Sl = {
3481
+ var wl = {
3436
3482
  mt_create: function(e) {
3437
3483
  let t = e.priv;
3438
- un(e, "start_date", Ys()), un(e, "node_uuid", Hs()), e.priv.gobj_timer = ut(At(e), "C_TIMER", {}, e), t.periodic_timeout = zt(e, "periodic_timeout"), function(e) {
3484
+ un(e, "start_date", Js()), un(e, "node_uuid", qs()), e.priv.gobj_timer = ut(At(e), "C_TIMER", {}, e), t.periodic_timeout = zt(e, "periodic_timeout"), function(e) {
3439
3485
  let t = zt(e, "trace_levels");
3440
3486
  if (!Wo(t)) return 0;
3441
3487
  let n = t.__global_trace__;
@@ -3469,10 +3515,10 @@ var Sl = {
3469
3515
  },
3470
3516
  mt_writing: function(e, t) {},
3471
3517
  mt_start: function(e) {
3472
- return dl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3518
+ return pl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
3473
3519
  },
3474
3520
  mt_stop: function(e) {
3475
- return pl(e.priv.gobj_timer), ht(e), 0;
3521
+ return bl(e.priv.gobj_timer), ht(e), 0;
3476
3522
  },
3477
3523
  mt_destroy: function(e) {},
3478
3524
  mt_play: function(e) {
@@ -3489,24 +3535,24 @@ var Sl = {
3489
3535
  case "get-global-no-trace": return r(0, 0, null, null, _e());
3490
3536
  case "set-global-trace":
3491
3537
  case "set-global-no-trace": {
3492
- let o = "set-global-no-trace" === t, s = n.level, l = Tl(n.set);
3493
- return s ? null === l ? r(0, -1, `${jl()}: bitmask set or re-set?`, null, null) : (o ? le(s, l) : se(s, l)) < 0 ? r(0, -1, `${jl()}: global trace level not found: ${s}`, null, null) : o ? (yl(e, "no_trace_levels", "__global_no_trace__", _e()), r(0, 0, null, null, _e())) : (yl(e, "trace_levels", "__global_trace__", ue()), r(0, 0, null, null, ue())) : r(0, -1, `${jl()}: what level?`, null, null);
3538
+ let o = "set-global-no-trace" === t, s = n.level, l = jl(n.set);
3539
+ return s ? null === l ? r(0, -1, `${Ol()}: bitmask set or re-set?`, null, null) : (o ? le(s, l) : se(s, l)) < 0 ? r(0, -1, `${Ol()}: global trace level not found: ${s}`, null, null) : o ? (vl(e, "no_trace_levels", "__global_no_trace__", _e()), r(0, 0, null, null, _e())) : (vl(e, "trace_levels", "__global_trace__", ue()), r(0, 0, null, null, ue())) : r(0, -1, `${Ol()}: what level?`, null, null);
3494
3540
  }
3495
3541
  case "get-gclass-trace":
3496
3542
  case "get-gclass-no-trace":
3497
3543
  case "set-gclass-trace":
3498
3544
  case "set-gclass-no-trace": {
3499
3545
  let o = t.indexOf("no-trace") >= 0, s = n.gclass_name || n.gclass || "", l = Ze(s);
3500
- if (!l) return r(0, -1, `${jl()}: what gclass is '${s}'?`, null, null);
3546
+ if (!l) return r(0, -1, `${Ol()}: what gclass is '${s}'?`, null, null);
3501
3547
  if (0 === t.indexOf("get-")) return r(0, 0, null, null, o ? ge(l) : ce(l));
3502
- let i = n.level, a = Tl(n.set);
3503
- return i ? null === a ? r(0, -1, `${jl()}: bitmask set or re-set?`, null, null) : (o ? pe(l, i, a) : de(l, i, a)) < 0 ? r(0, -1, `${jl()}: trace level of ${s} not found: ${i}`, null, null) : o ? (yl(e, "no_trace_levels", s, ge(l)), r(0, 0, null, null, ge(l))) : (yl(e, "trace_levels", s, fe(l)), r(0, 0, null, null, ce(l))) : r(0, -1, `${jl()}: what level?`, null, null);
3548
+ let i = n.level, a = jl(n.set);
3549
+ return i ? null === a ? r(0, -1, `${Ol()}: bitmask set or re-set?`, null, null) : (o ? pe(l, i, a) : de(l, i, a)) < 0 ? r(0, -1, `${Ol()}: trace level of ${s} not found: ${i}`, null, null) : o ? (vl(e, "no_trace_levels", s, ge(l)), r(0, 0, null, null, ge(l))) : (vl(e, "trace_levels", s, fe(l)), r(0, 0, null, null, ce(l))) : r(0, -1, `${Ol()}: what level?`, null, null);
3504
3550
  }
3505
- default: return r(0, -1, `${jl()}: command not available: ${t}`, null, null);
3551
+ default: return r(0, -1, `${Ol()}: command not available: ${t}`, null, null);
3506
3552
  }
3507
3553
  }
3508
3554
  };
3509
- var wl = "ievent_gate_stack", Nl = [
3555
+ var Nl = "ievent_gate_stack", $l = [
3510
3556
  x(v.DTP_STRING, "wanted_yuno_role", $.SDF_RD, "", "wanted yuno role"),
3511
3557
  x(v.DTP_STRING, "wanted_yuno_name", $.SDF_RD, "", "wanted yuno name"),
3512
3558
  x(v.DTP_STRING, "wanted_yuno_service", $.SDF_RD, "", "wanted yuno service"),
@@ -3518,20 +3564,20 @@ var wl = "ievent_gate_stack", Nl = [
3518
3564
  x(v.DTP_STRING, "cert_pem", $.SDF_PERSIST, "", "SSL server certification, PEM str format"),
3519
3565
  x(v.DTP_JSON, "extra_info", $.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
3520
3566
  x(v.DTP_LIST, "required_services", $.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."),
3521
- x(v.DTP_INTEGER, "timeout_retry", $.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"),
3567
+ x(v.DTP_INTEGER, "timeout_retry", $.SDF_RD, "5000", "First reconnect delay (ms), at least 1000. It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
3522
3568
  x(v.DTP_INTEGER, "timeout_retry_max", $.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
3523
3569
  x(v.DTP_INTEGER, "timeout_idack", $.SDF_RD, "5000", "timeout waiting idAck"),
3524
3570
  x(v.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
3525
3571
  R()
3526
- ], $l = [
3572
+ ], Al = [
3527
3573
  ["ievents", "Trace inter-events with metadata of kw"],
3528
3574
  ["ievents2", "Trace inter-events with full kw"],
3529
3575
  ["identity-card", "Trace identity_card messages"]
3530
3576
  ];
3531
- function Al(e) {
3577
+ function Rl(e) {
3532
3578
  return !!(3 & Q(e));
3533
3579
  }
3534
- var Rl = {
3580
+ var xl = {
3535
3581
  url: null,
3536
3582
  remote_yuno_name: null,
3537
3583
  remote_yuno_role: null,
@@ -3542,9 +3588,10 @@ var Rl = {
3542
3588
  inside_on_open: !1,
3543
3589
  retry_ms: 0,
3544
3590
  retry_ms_before_session: 0,
3545
- session_since: 0
3546
- }, xl = null;
3547
- function Dl(e) {
3591
+ session_since: 0,
3592
+ retry_floor_warned: !1
3593
+ }, Dl = null;
3594
+ function kl(e) {
3548
3595
  e.priv.websocket && sr("Websocket ALREADY setup");
3549
3596
  const t = en(e, "url");
3550
3597
  ir(`====> Starting WebSocket to '${t}' (${xt(e)})`);
@@ -3559,7 +3606,7 @@ function Dl(e) {
3559
3606
  code: 1006,
3560
3607
  reason: r.message,
3561
3608
  was_clean: !1
3562
- }, e) < 0 && gl(e.priv.gobj_timer, Yl(e)), null;
3609
+ }, e) < 0 && dl(e.priv.gobj_timer, ql(e)), null;
3563
3610
  }
3564
3611
  return r ? (r.onopen = () => {
3565
3612
  n !== e.priv.ws_seq || Pt(e) || Tn(e, "EV_ON_OPEN", {
@@ -3581,7 +3628,7 @@ function Dl(e) {
3581
3628
  }, e));
3582
3629
  }, r) : (sr(`${xt(e)}: Failed to initialize WebSocket.`), null);
3583
3630
  }
3584
- function kl(e, t = 1e3, n = "") {
3631
+ function Cl(e, t = 1e3, n = "") {
3585
3632
  let r = e.priv, o = r.websocket;
3586
3633
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
3587
3634
  ir(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -3592,12 +3639,12 @@ function kl(e, t = 1e3, n = "") {
3592
3639
  }
3593
3640
  } else lr("WebSocket is already closed or in the process of closing.");
3594
3641
  }
3595
- function Cl(e, t) {
3642
+ function Il(e, t) {
3596
3643
  let n = e.priv;
3597
- "ST_SESSION" === cn(e) && (performance.now() - n.session_since < Math.max(Zt(e, "timeout_retry"), Zt(e, "timeout_retry_max")) && (n.retry_ms = n.retry_ms_before_session), n.retry_ms_before_session = 0), kl(e, 4002, t);
3644
+ "ST_SESSION" === cn(e) && (performance.now() - n.session_since < Hl(e).max && (n.retry_ms = n.retry_ms_before_session), n.retry_ms_before_session = 0), Cl(e, 4002, t);
3598
3645
  }
3599
- var Il = 128;
3600
- function Pl(e, t) {
3646
+ var Pl = 128;
3647
+ function Ll(e, t) {
3601
3648
  let n = String(e), r = Eo(n);
3602
3649
  if (null !== r && (n = r), n.length > t) {
3603
3650
  let e = t, r = n.charCodeAt(e);
@@ -3605,25 +3652,25 @@ function Pl(e, t) {
3605
3652
  }
3606
3653
  return n;
3607
3654
  }
3608
- function Ll(e, t, n) {
3609
- let r = Ys();
3655
+ function Ul(e, t, n) {
3656
+ let r = Js();
3610
3657
  try {
3611
3658
  ir("\n" + r + " " + t + "\n"), No(n);
3612
3659
  } catch (e) {
3613
3660
  ir("ERROR in trace_inter_event: " + e);
3614
3661
  }
3615
3662
  }
3616
- var Ul = class {
3663
+ var Fl = class {
3617
3664
  constructor(e, t) {
3618
3665
  this.event = e, this.kw = t || {};
3619
3666
  }
3620
3667
  };
3621
- function Fl(e, t, n, r) {
3668
+ function Ml(e, t, n, r) {
3622
3669
  return function(e, t) {
3623
3670
  let n = e.priv, r = JSON.stringify(t);
3624
- if (Al(e)) {
3671
+ if (Rl(e)) {
3625
3672
  let n = en(e, "url"), o = At(St()) + " ==> " + n, s = zt(St(), "trace_ievent_callback");
3626
- s ? s(o, t, 1, r.length) : Ll(0, o, t);
3673
+ s ? s(o, t, 1, r.length) : Ul(0, o, t);
3627
3674
  }
3628
3675
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return lr(`${xt(e)}: send_iev(): websocket not open, message lost`), -1;
3629
3676
  try {
@@ -3633,10 +3680,10 @@ function Fl(e, t, n, r) {
3633
3680
  }
3634
3681
  return 0;
3635
3682
  }(e, function(e, t) {
3636
- return Qo(e) ? (sr("iev_create() event NULL"), null) : new Ul(e, t);
3683
+ return Qo(e) ? (sr("iev_create() event NULL"), null) : new Fl(e, t);
3637
3684
  }(t, n));
3638
3685
  }
3639
- function Ml(e, t, n) {
3686
+ function Gl(e, t, n) {
3640
3687
  return Qo(n) && (n = en(e, "wanted_yuno_service")), {
3641
3688
  dst_yuno: en(e, "wanted_yuno_name"),
3642
3689
  dst_role: en(e, "wanted_yuno_role"),
@@ -3644,10 +3691,10 @@ function Ml(e, t, n) {
3644
3691
  src_yuno: wt(),
3645
3692
  src_role: Nt(),
3646
3693
  src_service: t,
3647
- host: Hs()
3694
+ host: qs()
3648
3695
  };
3649
3696
  }
3650
- function Gl(e) {
3697
+ function Vl(e) {
3651
3698
  let t = e.priv, n = Ot(St()), r = en(St(), "yuno_version"), o = en(St(), "yuno_release"), l = en(St(), "yuno_tag"), i = zt(e, "required_services");
3652
3699
  i && i.length || (i = zt(St(), "required_services"));
3653
3700
  let a = {
@@ -3665,32 +3712,32 @@ function Gl(e) {
3665
3712
  username: en(St(), "__username__"),
3666
3713
  launch_id: 0,
3667
3714
  yuno_startdate: en(St(), "start_date"),
3668
- id: Hs(),
3715
+ id: qs(),
3669
3716
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
3670
3717
  language: "undefined" != typeof window ? window.navigator.language : "",
3671
3718
  required_services: i
3672
3719
  };
3673
- return Ds(e, a, wl, Ml(e, At(kt(e)), null)), Cs(e, a, "__identity__"), gl(t.gobj_timer, Zt(e, "timeout_idack")), Fl(e, "EV_IDENTITY_CARD", a);
3720
+ return ks(e, a, Nl, Gl(e, At(kt(e)), null)), Is(e, a, "__identity__"), dl(t.gobj_timer, Zt(e, "timeout_idack")), Ml(e, "EV_IDENTITY_CARD", a);
3674
3721
  }
3675
- function Vl(e, t) {
3722
+ function Wl(e, t) {
3676
3723
  if (Qo(t.event)) return -1;
3677
3724
  let n = {}, r = t.__global__, o = t.__config__, s = t.__filter__, l = t.__service__, i = t.subscriber;
3678
3725
  o && (n.__config__ = o), r && (n.__global__ = r), s && (n.__filter__ = s);
3679
- return Ds(e, n, wl, Ml(e, At(i), l)), Cs(e, n, "__subscribing__"), Fl(e, t.event, n);
3680
- }
3681
- function Wl(e, t, n, r) {
3682
- let o = e.priv;
3683
- return Et(e) && (o.websocket = Dl(e)), 0;
3726
+ return ks(e, n, Nl, Gl(e, At(i), l)), Is(e, n, "__subscribing__"), Ml(e, t.event, n);
3684
3727
  }
3685
3728
  function Kl(e, t, n, r) {
3686
- return ir("Websocket opened: " + e.priv.url), Gl(e), 0;
3729
+ let o = e.priv;
3730
+ return Et(e) && (o.websocket = kl(e)), 0;
3687
3731
  }
3688
3732
  function Bl(e, t, n, r) {
3733
+ return ir("Websocket opened: " + e.priv.url), Vl(e), 0;
3734
+ }
3735
+ function Yl(e, t, n, r) {
3689
3736
  let o = e.priv, s = n.url;
3690
3737
  if (void 0 !== n.ws_seq && n.ws_seq !== o.ws_seq) return 0;
3691
3738
  Qn();
3692
- const l = Pl(void 0 === n.reason ? "" : n.reason, 256);
3693
- return Al(e) && ar(`${xt(e)}: WebSocket closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, (!n.was_clean || 1e3 !== n.code && 1001 !== n.code) && Et(e) && lr(`${xt(e)}: session closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), In(e, "EV_ON_CLOSE", {
3739
+ const l = Ll(void 0 === n.reason ? "" : n.reason, 256);
3740
+ return Rl(e) && ar(`${xt(e)}: WebSocket closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), o.websocket && (o.websocket.onopen = null, o.websocket.onmessage = null, o.websocket.onerror = null, o.websocket.onclose = null, o.websocket = null), o.inform_on_close ? (o.inform_on_close = !1, (!n.was_clean || 1e3 !== n.code && 1001 !== n.code) && Et(e) && lr(`${xt(e)}: session closed ${s} (Code: ${n.code}, Reason: "${l}", Clean: ${n.was_clean})`), In(e, "EV_ON_CLOSE", {
3694
3741
  url: s,
3695
3742
  remote_yuno_name: o.remote_yuno_name,
3696
3743
  remote_yuno_role: o.remote_yuno_role,
@@ -3706,24 +3753,33 @@ function Bl(e, t, n, r) {
3706
3753
  code: n.code,
3707
3754
  reason: l,
3708
3755
  was_clean: n.was_clean
3709
- })), Et(e) && gl(o.gobj_timer, Yl(e)), 0;
3756
+ })), Et(e) && dl(o.gobj_timer, ql(e)), 0;
3710
3757
  }
3711
- function Yl(e) {
3758
+ var Jl = 1e3;
3759
+ function Hl(e) {
3712
3760
  let t = e.priv, n = Zt(e, "timeout_retry"), r = Zt(e, "timeout_retry_max");
3713
- r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3761
+ return n >= Jl || (t.retry_floor_warned || (t.retry_floor_warned = !0, lr(`${xt(e)}: timeout_retry ${n} ms is below ${Jl} ms: ${Jl} ms is used`)), n = Jl), r >= n || (r = n), {
3762
+ base: n,
3763
+ max: r
3764
+ };
3765
+ }
3766
+ function ql(e) {
3767
+ let t = e.priv;
3768
+ const { base: n, max: r } = Hl(e);
3769
+ t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
3714
3770
  let o = .2 * t.retry_ms, s = t.retry_ms - o + 2 * Math.random() * o;
3715
3771
  return Math.max(1, Math.round(s));
3716
3772
  }
3717
- function Jl(e, t, n, r) {
3718
- return Gl(e), 0;
3773
+ function zl(e, t, n, r) {
3774
+ return Vl(e), 0;
3719
3775
  }
3720
- function Hl(e, t, n, r) {
3776
+ function Ql(e, t, n, r) {
3721
3777
  let o = e.priv;
3722
- pl(o.gobj_timer);
3723
- let s = ks(e, n, wl, !0), l = cs(e, s, "src_yuno", ""), i = cs(e, s, "src_role", ""), a = cs(e, s, "src_service", "");
3778
+ bl(o.gobj_timer);
3779
+ let s = Cs(e, n, Nl, !0), l = cs(e, s, "src_yuno", ""), i = cs(e, s, "src_role", ""), a = cs(e, s, "src_service", "");
3724
3780
  un(e, "remote_yuno_name", l), un(e, "remote_yuno_role", i), un(e, "remote_yuno_service", a);
3725
3781
  let u = _s(e, n, "result", -1, 0), _ = cs(e, n, "comment", "", 0), c = cs(e, n, "username", "", 0), f = ds(e, n, "services_roles", {});
3726
- if (u < 0) kl(e), In(e, "EV_ON_ID_NAK", {
3782
+ if (u < 0) Cl(e), In(e, "EV_ON_ID_NAK", {
3727
3783
  url: en(e, "url"),
3728
3784
  result: u,
3729
3785
  comment: _,
@@ -3740,11 +3796,11 @@ function Hl(e, t, n, r) {
3740
3796
  services_roles: f
3741
3797
  })), o.inside_on_open = !1, function(e) {
3742
3798
  let t = kn(e, null, null, null);
3743
- for (let n = 0; n < t.length; n++) Vl(e, t[n]);
3799
+ for (let n = 0; n < t.length; n++) Wl(e, t[n]);
3744
3800
  }(e);
3745
3801
  return 0;
3746
3802
  }
3747
- function ql(e, t, n, r) {
3803
+ function Xl(e, t, n, r) {
3748
3804
  let o = e.priv.url, s = function(e, t) {
3749
3805
  let n;
3750
3806
  try {
@@ -3763,49 +3819,49 @@ function ql(e, t, n, r) {
3763
3819
  kw: o || {}
3764
3820
  } : (lr(`${xt(e)}: parsing inter_event: kw not a json object`), null) : (lr(`${xt(e)}: parsing inter_kw: no kw`), null);
3765
3821
  }(e, n.data);
3766
- if (!s) return lr(`${xt(e)}: frame dropped from ${o}: ${Pl(n.data, 256)}`), -1;
3767
- if (Al(e)) {
3822
+ if (!s) return lr(`${xt(e)}: frame dropped from ${o}: ${Ll(n.data, 256)}`), -1;
3823
+ if (Rl(e)) {
3768
3824
  let e = At(St()) + " <== " + o, t = n.data.length, r = zt(St(), "trace_ievent_callback");
3769
- r ? r(e, s, 2, t) : Ll(0, e, s);
3825
+ r ? r(e, s, 2, t) : Ul(0, e, s);
3770
3826
  }
3771
3827
  let l = s.event, i = s.kw;
3772
3828
  if ("ST_SESSION" !== cn(e)) {
3773
3829
  if ("ev_identity_card_ack" === String(l).toLowerCase()) {
3774
3830
  if (!(Tn(e, "EV_IDENTITY_CARD_ACK", i, e) < 0)) return 0;
3775
- } else lr(`${xt(e)}: event UNKNOWN in not-session state ${Pl(l, Il)}`);
3776
- return Cl(e, "event out of session"), -1;
3831
+ } else lr(`${xt(e)}: event UNKNOWN in not-session state ${Ll(l, Pl)}`);
3832
+ return Il(e, "event out of session"), -1;
3777
3833
  }
3778
3834
  s = null;
3779
- let a = Is(e, i), u = ks(e, i, wl), _ = cs(e, u, "dst_role", "");
3780
- if (!Qo(_) && _.toLowerCase() !== String(Nt()).toLowerCase()) return lr(`${xt(e)}: It's not my role, dst_role: ${Pl(_, Il)}, my_role: ${Nt()}, event: ${Pl(l, Il)}`), Cl(e, "not my role"), -1;
3835
+ let a = Ps(e, i), u = Cs(e, i, Nl), _ = cs(e, u, "dst_role", "");
3836
+ if (!Qo(_) && _.toLowerCase() !== String(Nt()).toLowerCase()) return lr(`${xt(e)}: It's not my role, dst_role: ${Ll(_, Pl)}, my_role: ${Nt()}, event: ${Ll(l, Pl)}`), Il(e, "not my role"), -1;
3781
3837
  let c = cs(e, u, "dst_yuno", "");
3782
- if (!Qo(c) && c.toLowerCase() !== String(wt()).toLowerCase()) return lr(`${xt(e)}: It's not my name, dst_yuno: ${Pl(c, Il)}, my_name: ${wt()}, event: ${Pl(l, Il)}`), Cl(e, "not my name"), -1;
3838
+ if (!Qo(c) && c.toLowerCase() !== String(wt()).toLowerCase()) return lr(`${xt(e)}: It's not my name, dst_yuno: ${Ll(c, Pl)}, my_name: ${wt()}, event: ${Ll(l, Pl)}`), Il(e, "not my name"), -1;
3783
3839
  let f = cs(e, u, "dst_service", "");
3784
- if ("__subscribing__" === a) return lr(`${xt(e)}: subscription event ignored, I'm client (service: ${Pl(f, Il)}, event: ${Pl(l, Il)})`), -1;
3785
- if ("__unsubscribing__" === a) return lr(`${xt(e)}: unsubscription event ignored, I'm client (service: ${Pl(f, Il)}, event: ${Pl(l, Il)})`), -1;
3840
+ if ("__subscribing__" === a) return lr(`${xt(e)}: subscription event ignored, I'm client (service: ${Ll(f, Pl)}, event: ${Ll(l, Pl)})`), -1;
3841
+ if ("__unsubscribing__" === a) return lr(`${xt(e)}: unsubscription event ignored, I'm client (service: ${Ll(f, Pl)}, event: ${Ll(l, Pl)})`), -1;
3786
3842
  const g = On(l, 0, !1);
3787
3843
  if (g && gn(e, g.event_name, 0)) {
3788
3844
  const t = g.event_name;
3789
- return gn(e, t, L.EVF_PUBLIC_EVENT) && "EV_IDENTITY_CARD_ACK" !== t ? (Tn(e, t, i, e), 0) : (lr(`${xt(e)}: event of the transport itself, or out of its place, DROPPED: ev '${Pl(l, Il)}'`), -1);
3845
+ return gn(e, t, L.EVF_PUBLIC_EVENT) && "EV_IDENTITY_CARD_ACK" !== t ? (Tn(e, t, i, e), 0) : (lr(`${xt(e)}: event of the transport itself, or out of its place, DROPPED: ev '${Ll(l, Pl)}'`), -1);
3790
3846
  }
3791
3847
  if (!Qo(f)) {
3792
3848
  let t = tt(f, !1);
3793
- return t ? gn(t, l, L.EVF_PUBLIC_EVENT) ? (Tn(t, l, i, e), 0) : (lr(`${xt(e)}: Service found but no event or not public, DROPPED: service '${xt(t)}', ev '${Pl(l, Il)}'`), -1) : (lr(`${xt(e)}: event for a service that is gone, DROPPED: service '${Pl(f, Il)}', ev '${Pl(l, Il)}'`), 0);
3849
+ return t ? gn(t, l, L.EVF_PUBLIC_EVENT) ? (Tn(t, l, i, e), 0) : (lr(`${xt(e)}: Service found but no event or not public, DROPPED: service '${xt(t)}', ev '${Ll(l, Pl)}'`), -1) : (lr(`${xt(e)}: event for a service that is gone, DROPPED: service '${Ll(f, Pl)}', ev '${Ll(l, Pl)}'`), 0);
3794
3850
  }
3795
3851
  let d = On(l, L.EVF_PUBLIC_EVENT, !1);
3796
- return d ? (In(e, d.event_name, i), 0) : (lr(`${xt(e)}: event that no gclass declares public, DROPPED: ev '${Pl(l, Il)}'`), -1);
3852
+ return d ? (In(e, d.event_name, i), 0) : (lr(`${xt(e)}: event that no gclass declares public, DROPPED: ev '${Ll(l, Pl)}'`), -1);
3797
3853
  }
3798
- function zl(e, t, n, r) {
3854
+ function Zl(e, t, n, r) {
3799
3855
  const o = n && "string" == typeof n[r] ? n[r] : "", s = n && "string" == typeof n.service ? n.service : "";
3800
- return lr(`${xt(e)}: ${t} not served by this client, DROPPED: ${r.replace(/_/g, "")} '${Pl(o, Il)}', service '${Pl(s, Il)}'`), -1;
3856
+ return lr(`${xt(e)}: ${t} not served by this client, DROPPED: ${r.replace(/_/g, "")} '${Ll(o, Pl)}', service '${Ll(s, Pl)}'`), -1;
3801
3857
  }
3802
- function Ql(e, t, n, r) {
3803
- return zl(e, t, n, "__stats__");
3858
+ function ei(e, t, n, r) {
3859
+ return Zl(e, t, n, "__stats__");
3804
3860
  }
3805
- function Xl(e, t, n, r) {
3806
- return zl(e, t, n, "__command__");
3861
+ function ti(e, t, n, r) {
3862
+ return Zl(e, t, n, "__command__");
3807
3863
  }
3808
- var Zl = {
3864
+ var ni = {
3809
3865
  mt_create: function(e) {
3810
3866
  let t = e.priv;
3811
3867
  t.gobj_timer = ut(At(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = en(e, "url"), t.remote_yuno_name = en(e, "remote_yuno_name"), t.remote_yuno_role = en(e, "remote_yuno_role"), t.remote_yuno_service = en(e, "remote_yuno_service"), un(e, "wanted_yuno_name", t.remote_yuno_name), un(e, "wanted_yuno_role", t.remote_yuno_role), un(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -3835,43 +3891,43 @@ var Zl = {
3835
3891
  code: 1e3,
3836
3892
  reason: "restarted",
3837
3893
  was_clean: !0
3838
- }, e), pl(t.gobj_timer)), t.websocket = Dl(e), 0;
3894
+ }, e), bl(t.gobj_timer)), t.websocket = kl(e), 0;
3839
3895
  },
3840
3896
  mt_stop: function(e) {
3841
3897
  let t = e.priv;
3842
- return pl(t.gobj_timer), t.websocket && kl(e), 0;
3898
+ return bl(t.gobj_timer), t.websocket && Cl(e), 0;
3843
3899
  },
3844
3900
  mt_destroy: function(e) {},
3845
3901
  mt_stats: function(e, t, n, r) {
3846
3902
  if ("ST_SESSION" !== cn(e)) return sr("Not in session"), null;
3847
3903
  n || (n = {});
3848
- let o = Ml(e, At(r), cs(e, n, "service", null, 0)), s = ds(e, n, "__md_stats__", null, Pn.KW_EXTRACT);
3849
- return s || (s = {}), Ds(e, n, "stats_stack", {
3904
+ let o = Gl(e, At(r), cs(e, n, "service", null, 0)), s = ds(e, n, "__md_stats__", null, Pn.KW_EXTRACT);
3905
+ return s || (s = {}), ks(e, n, "stats_stack", {
3850
3906
  stats: t,
3851
3907
  kw: s
3852
- }), Ds(e, n, wl, o), n.__stats__ = t, Cs(e, n, "__stats__"), Fl(e, "EV_MT_STATS", n, r), null;
3908
+ }), ks(e, n, Nl, o), n.__stats__ = t, Is(e, n, "__stats__"), Ml(e, "EV_MT_STATS", n, r), null;
3853
3909
  },
3854
3910
  mt_command_parser: function(e, t, n, r) {
3855
3911
  if ("ST_SESSION" !== cn(e)) return sr("Not in session"), null;
3856
3912
  n || (n = {});
3857
- let o = Ml(e, At(r), cs(e, n, "service", "", 0)), s = ds(e, n, "__md_command__", null, Pn.KW_EXTRACT);
3858
- return s || (s = {}), Ds(e, n, "command_stack", {
3913
+ let o = Gl(e, At(r), cs(e, n, "service", "", 0)), s = ds(e, n, "__md_command__", null, Pn.KW_EXTRACT);
3914
+ return s || (s = {}), ks(e, n, "command_stack", {
3859
3915
  command: t,
3860
3916
  kw: s
3861
- }), Ds(e, n, wl, o), n.__command__ = t, Cs(e, n, "__command__"), Fl(e, "EV_MT_COMMAND", n, r), null;
3917
+ }), ks(e, n, Nl, o), n.__command__ = t, Is(e, n, "__command__"), Ml(e, "EV_MT_COMMAND", n, r), null;
3862
3918
  },
3863
3919
  mt_inject_event: function(e, t, n, r) {
3864
3920
  if ("ST_SESSION" !== cn(e)) return window.console.error("Not in session"), -1;
3865
- if (n = Ro({}, Wo(n) ? n : {}), Wo(n.__md_iev__) && (n.__md_iev__ = $o(n.__md_iev__)), ks(e, n, wl));
3921
+ if (n = Ro({}, Wo(n) ? n : {}), Wo(n.__md_iev__) && (n.__md_iev__ = $o(n.__md_iev__)), Cs(e, n, Nl));
3866
3922
  else {
3867
- let o = Ml(e, At(r), cs(e, n, "__service__", 0, 0));
3868
- Co(n, "__service__"), Ds(e, n, "__message__", t), Ds(e, n, wl, o);
3923
+ let o = Gl(e, At(r), cs(e, n, "__service__", 0, 0));
3924
+ Co(n, "__service__"), ks(e, n, "__message__", t), ks(e, n, Nl, o);
3869
3925
  }
3870
- return Cs(e, n, "__message__"), Fl(e, t, n, r);
3926
+ return Is(e, n, "__message__"), Ml(e, t, n, r);
3871
3927
  },
3872
3928
  mt_subscription_added: function(e, t) {
3873
3929
  let n = e.priv;
3874
- return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Vl(e, t) : 0;
3930
+ return "ST_SESSION" === cn(e) && n.websocket ? n.inside_on_open ? 0 : Wl(e, t) : 0;
3875
3931
  },
3876
3932
  mt_subscription_deleted: function(e, t) {
3877
3933
  let n = e.priv;
@@ -3880,7 +3936,7 @@ var Zl = {
3880
3936
  if (Qo(t.event)) return 0;
3881
3937
  let r = {}, o = t.__global__, s = t.__config__, l = t.__filter__, i = t.__service__, a = t.subscriber;
3882
3938
  s && (r.__config__ = s), o && (r.__global__ = o), l && (r.__filter__ = l);
3883
- return Ds(e, r, wl, Ml(e, At(a), i)), Cs(e, r, "__unsubscribing__"), Fl(e, t.event, r, e);
3939
+ return ks(e, r, Nl, Gl(e, At(a), i)), Is(e, r, "__unsubscribing__"), Ml(e, t.event, r, e);
3884
3940
  }
3885
3941
  };
3886
3942
  exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new A(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new A(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new A(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new A(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new A(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new A(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = R, exports.SDataDesc = A, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
@@ -3894,7 +3950,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3894
3950
  return t;
3895
3951
  }, exports.build_stats_response = o, exports.clean_name = function(e) {
3896
3952
  return e.replace(/[?# ^:]/g, "_");
3897
- }, exports.clear_timeout = pl, exports.cmp_two_simple_json = ts, exports.command_parameter_from_json = xe, exports.command_parameter_from_text = function(e, t) {
3953
+ }, exports.clear_timeout = bl, exports.cmp_two_simple_json = ts, exports.command_parameter_from_json = xe, exports.command_parameter_from_text = function(e, t) {
3898
3954
  const n = Re(e, t, !1);
3899
3955
  return void 0 !== n.value || n.refused || (n.refused = Te), n;
3900
3956
  }, exports.command_parser = function(e, t, n, r) {}, exports.createElement2 = function e(t, n) {
@@ -3906,21 +3962,21 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3906
3962
  for (const n of Object.keys(o[e])) t += `${n}: ${o[e][n]};`;
3907
3963
  i.style.cssText = t;
3908
3964
  } else "style" === e ? i.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], i.setAttribute("data-i18n", a)) : i.setAttribute(e, o[e]);
3909
- if (Gs(s)) i.appendChild(Vs(s));
3910
- else if (Bo(s)) if (s = s.trim(), s.length > 0 && "<" === s[0] && !Ws) i.appendChild(Bs(s));
3965
+ if (Vs(s)) i.appendChild(Ws(s));
3966
+ else if (Bo(s)) if (s = s.trim(), s.length > 0 && "<" === s[0] && !Ks) i.appendChild(Ys(s));
3911
3967
  else if (s.length > 0 && "<" === s[0] && function(e) {
3912
- if (Ks.size >= 100) return;
3968
+ if (Bs.size >= 100) return;
3913
3969
  const t = e.slice(0, 80);
3914
- Ks.has(t) || (Ks.add(t), lr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
3970
+ Bs.has(t) || (Bs.add(t), lr(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
3915
3971
  }(s), n && a) i.textContent = n(a) || s;
3916
3972
  else i.textContent = s;
3917
3973
  else if (Ko(s)) {
3918
3974
  if (s.length > 0) if (Bo(s[0])) i.appendChild(e(s, n));
3919
- else for (let t of s) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : Gs(t) ? i.appendChild(Vs(t)) : Bo(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && sr("createElement2: child ignored, type " + typeof t);
3975
+ else for (let t of s) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : Vs(t) ? i.appendChild(Ws(t)) : Bo(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && sr("createElement2: child ignored, type " + typeof t);
3920
3976
  } else s instanceof HTMLElement || s instanceof Text || s instanceof SVGElement ? i.appendChild(s) : null != s && (sr("content ignored"), ur(s));
3921
3977
  if (l && "object" == typeof l) for (const e of Object.keys(l)) i.addEventListener(e, l[e]);
3922
3978
  return i;
3923
- }, exports.createOneHtml = Bs, exports.create_json_record = function(e, t) {
3979
+ }, exports.createOneHtml = Ys, exports.create_json_record = function(e, t) {
3924
3980
  let n = $o(e);
3925
3981
  return xo(n, t), n;
3926
3982
  }, exports.create_template_record = function(e, t) {
@@ -3931,21 +3987,21 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3931
3987
  let s = ds(null, t, e, o);
3932
3988
  Io(n, e, s);
3933
3989
  }), n;
3934
- }, exports.current_timestamp = Ys, exports.data_type_t = v, exports.db_list_persistent_attrs = function(e, t) {
3935
- let n = js(tl(e), null, !1), r = {};
3990
+ }, exports.current_timestamp = Js, exports.data_type_t = v, exports.db_list_persistent_attrs = function(e, t) {
3991
+ let n = Os(nl(e), null, !1), r = {};
3936
3992
  return n && Wo(n) && (r = ys(e, n, t, !1)), r;
3937
3993
  }, exports.db_load_persistent_attrs = function(e, t) {
3938
- let n = Qt(e, $.SDF_PERSIST), r = js(tl(e), null, !1);
3994
+ let n = Qt(e, $.SDF_PERSIST), r = Os(nl(e), null, !1);
3939
3995
  if (r && Wo(r)) {
3940
3996
  let o = ys(e, r, t, !1);
3941
3997
  o = ys(e, o, n, !1), sn(e, o, $.SDF_PERSIST);
3942
3998
  }
3943
3999
  }, exports.db_remove_persistent_attrs = function(e, t) {
3944
- let n = vs(e, js(tl(e), null, !1), t, !1);
3945
- 0 === Mo(n) ? Ss(tl(e)) : Os(tl(e), n);
4000
+ let n = vs(e, Os(nl(e), null, !1), t, !1);
4001
+ 0 === Mo(n) ? ws(nl(e)) : Ss(nl(e), n);
3946
4002
  }, exports.db_save_persistent_attrs = function(e, t) {
3947
- let n = ys(e, Qt(e, $.SDF_PERSIST), t, !1), r = js(tl(e), null, !1);
3948
- return r && Wo(r) && Do(n, r), Os(tl(e), n);
4003
+ let n = ys(e, Qt(e, $.SDF_PERSIST), t, !1), r = Os(nl(e), null, !1);
4004
+ return r && Wo(r) && Do(n, r), Ss(nl(e), n);
3949
4005
  }, exports.debounce = function(e, t = 0, n = !1) {
3950
4006
  let r = null, o = null, s = null;
3951
4007
  const l = (...l) => {
@@ -3969,20 +4025,20 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3969
4025
  return t;
3970
4026
  }, exports.empty_json = function(e) {
3971
4027
  return 0 === Vo(e);
3972
- }, exports.empty_string = Qo, exports.escapeHtml = Fs, exports.event_flag_t = L, exports.flat2json = function(e) {
4028
+ }, exports.empty_string = Qo, exports.escapeHtml = Ms, exports.event_flag_t = L, exports.flat2json = function(e) {
3973
4029
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
3974
4030
  let t = null;
3975
4031
  for (const n of Object.keys(e)) {
3976
- const r = Zs(n);
4032
+ const r = el(n);
3977
4033
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
3978
- if (r.length > zs) throw new Error(`flat2json: '${n}' deeper than 256`);
4034
+ if (r.length > Qs) throw new Error(`flat2json: '${n}' deeper than 256`);
3979
4035
  const o = "number" == typeof r[0];
3980
4036
  if (null === t) t = o ? [] : {};
3981
4037
  else if (o !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
3982
4038
  let s = t;
3983
4039
  for (let t = 0; t < r.length; t++) {
3984
4040
  const o = r[t], l = "number" == typeof o, i = t === r.length - 1, a = !i && "number" == typeof r[t + 1];
3985
- if (l && o > Qs) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
4041
+ if (l && o > Xs) throw new Error(`flat2json: array index ${o} over the limit (100000) in '${n}'`);
3986
4042
  if (l !== Array.isArray(s)) throw new Error(`flat2json: '${n}' uses a ${l ? "array index" : "key"} where the tree already has a ${Array.isArray(s) ? "array" : "object"}`);
3987
4043
  if (i) {
3988
4044
  if (Array.isArray(s)) {
@@ -4022,15 +4078,15 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4022
4078
  removed: {},
4023
4079
  changed: {}
4024
4080
  };
4025
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? el(n[e], r[e]) || ss(o.changed, e, {
4081
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? tl(n[e], r[e]) || ss(o.changed, e, {
4026
4082
  from: n[e],
4027
4083
  to: r[e]
4028
4084
  }) : ss(o.removed, e, n[e]);
4029
4085
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || ss(o.added, e, r[e]);
4030
4086
  return o;
4031
4087
  }, exports.flat_key_join = function(e) {
4032
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Xs(e)).join("`") : "";
4033
- }, exports.flat_key_split = Zs, exports.gclass_add_ev_action = He, exports.gclass_add_event_type = ze, exports.gclass_add_state = Je, exports.gclass_check_fsm = Xe, exports.gclass_create = We, exports.gclass_event_type = Qe, exports.gclass_find_by_name = Ze, exports.gclass_flag_t = C, exports.gclass_unregister = Ke, exports.getPositionRelativeToBody = function(e) {
4088
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Zs(e)).join("`") : "";
4089
+ }, exports.flat_key_split = el, exports.gclass_add_ev_action = He, exports.gclass_add_event_type = ze, exports.gclass_add_state = Je, exports.gclass_check_fsm = Xe, exports.gclass_create = We, exports.gclass_event_type = Qe, exports.gclass_find_by_name = Ze, exports.gclass_flag_t = C, exports.gclass_unregister = Ke, exports.getPositionRelativeToBody = function(e) {
4034
4090
  if (!e) return {
4035
4091
  top: 0,
4036
4092
  left: 0,
@@ -4049,7 +4105,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4049
4105
  right: n + i + r,
4050
4106
  bottom: t + l + o
4051
4107
  };
4052
- }, exports.get_function_name = qs, exports.get_now = function() {
4108
+ }, exports.get_function_name = zs, exports.get_now = function() {
4053
4109
  return Math.floor(Date.now() / 1e3);
4054
4110
  }, exports.gobj_bottom_gobj = Lt, exports.gobj_change_parent = function(e, n) {
4055
4111
  return Pt(e) ? (sr("gobj NULL or DESTROYED"), null) : n instanceof k ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (ot(e.parent, e), e.parent = null), rt(n, e), n.gclass.gmt.mt_child_added && (Z(e) && ir(t("👦👦🔵 child_added(%s): %s", Dt(n), xt(e))), n.gclass.gmt.mt_child_added(n, e)), 0) : (sr(`${xt(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
@@ -4197,10 +4253,10 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4197
4253
  }
4198
4254
  return a ? lr(`${xt(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${a})`) : i || u || (lr(`${xt(e)}: No subscription found`), No(n, "No subscription found")), 0;
4199
4255
  }, exports.gobj_unsubscribe_list = Dn, exports.gobj_walk_gobj_children = Mt, exports.gobj_walk_gobj_children_tree = Gt, exports.gobj_write_attr = nn, exports.gobj_write_attrs = sn, exports.gobj_write_bool_attr = ln, exports.gobj_write_integer_attr = an, exports.gobj_write_str_attr = un, exports.gobj_yuno = St, exports.gobj_yuno_id = $t, exports.gobj_yuno_name = wt, exports.gobj_yuno_role = Nt, exports.html_markup = function(e) {
4200
- return "string" != typeof e ? (sr("html_markup: not a string, type " + typeof e), new Ms("")) : new Ms(e);
4201
- }, exports.id_index_in_obj_list = $s, exports.index_in_list = Js, exports.is_array = Ko, exports.is_boolean = Jo, exports.is_date = function(e) {
4256
+ return "string" != typeof e ? (sr("html_markup: not a string, type " + typeof e), new Gs("")) : new Gs(e);
4257
+ }, exports.id_index_in_obj_list = As, exports.index_in_list = Hs, exports.is_array = Ko, exports.is_boolean = Jo, exports.is_date = function(e) {
4202
4258
  return e instanceof Date && !isNaN(e);
4203
- }, exports.is_function = qo, exports.is_gobj = zo, exports.is_html_markup = Gs, exports.is_metadata_key = function(e) {
4259
+ }, exports.is_function = qo, exports.is_gobj = zo, exports.is_html_markup = Vs, exports.is_metadata_key = function(e) {
4204
4260
  if (!Bo(e)) return !1;
4205
4261
  let t = 0;
4206
4262
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -4224,13 +4280,13 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4224
4280
  if (!Bo(n)) return sr(`jdb_delete: path must be a string: ${String(n)}`), null;
4225
4281
  if ("" !== n && n.split("`").includes("")) return sr(`jdb_delete: empty segment in path: '${n}'`), null;
4226
4282
  let s, l = n.split("`"), i = o;
4227
- for (; (s = l.shift()) && !Qo(s) && i;) Wo(i) && (i = ds(null, i, e.hook, null, 0)), i = Ls(i, null, s, !1);
4283
+ for (; (s = l.shift()) && !Qo(s) && i;) Wo(i) && (i = ds(null, i, e.hook, null, 0)), i = Us(i, null, s, !1);
4228
4284
  if (!i || 0 !== l.length) return sr(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
4229
- let a = Ko(i) ? i : ds(null, i, e.hook, null, 0), u = $s(a, r.id);
4285
+ let a = Ko(i) ? i : ds(null, i, e.hook, null, 0), u = As(a, r.id);
4230
4286
  return u < 0 ? (sr(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (a.splice(u, 1), o);
4231
4287
  }, exports.jdb_get = function(e, t, n, r) {
4232
4288
  let o = ds(null, ds(null, e, "topics", null, 0), t, null, 0);
4233
- return o ? (void 0 === r && (r = !0), Ls(o, e.hook, n, r)) : (sr("jdb_get: topic not found: " + t), null);
4289
+ return o ? (void 0 === r && (r = !0), Us(o, e.hook, n, r)) : (sr("jdb_get: topic not found: " + t), null);
4234
4290
  }, exports.jdb_get_by_idx = function(e, t, n) {
4235
4291
  let r = ds(null, ds(null, e, "topics", null, 0), t, null, 0);
4236
4292
  return r ? n < r.length ? r[n] : {} : (sr("jdb_get_by_idx: topic not found: " + t), null);
@@ -4243,7 +4299,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4243
4299
  let r = ds(null, e, "type", [], Pn.KW_CREATE);
4244
4300
  cs(null, e, "hook", "data", Pn.KW_CREATE);
4245
4301
  let o = ds(null, e, "schema", {}, Pn.KW_CREATE), s = ds(null, e, "topics", {}, Pn.KW_CREATE);
4246
- return Ps(o, function(e, t, n, o) {
4302
+ return Ls(o, function(e, t, n, o) {
4247
4303
  "__" === t.substring(0, 2) || Wo(n) || ds(null, s, o, $o(r), Pn.KW_CREATE);
4248
4304
  }, t), e;
4249
4305
  }, exports.jdb_update = function(e, t, n, r) {
@@ -4253,7 +4309,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4253
4309
  if (!Bo(n)) return sr(`jdb_update: path must be a string: ${String(n)}`), null;
4254
4310
  if ("" !== n && n.split("`").includes("")) return sr(`jdb_update: empty segment in path: '${n}'`), null;
4255
4311
  let s, l, i = n.split("`"), a = o;
4256
- for (; (s = i.shift()) && !Qo(s) && a;) Wo(a) && (a = ds(null, a, e.hook, null, 0)), a = Ls(a, null, s, !1);
4312
+ for (; (s = i.shift()) && !Qo(s) && a;) Wo(a) && (a = ds(null, a, e.hook, null, 0)), a = Us(a, null, s, !1);
4257
4313
  if (!a || 0 !== i.length) return sr(`jdb_update: path not found in topic '${t}': '${n}'`), null;
4258
4314
  if (Ko(a)) l = a;
4259
4315
  else {
@@ -4261,11 +4317,11 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4261
4317
  if (l = ds(null, a, e.hook, null, 0), null == l) l = [], Io(a, e.hook, l);
4262
4318
  else if (!Ko(l)) return sr(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
4263
4319
  }
4264
- let u = Ls(l, e.hook, r.id, !1);
4320
+ let u = Us(l, e.hook, r.id, !1);
4265
4321
  return u ? Ro(u, r) : l.push(r), o;
4266
4322
  }, exports.json2flat = function(e) {
4267
4323
  const t = {}, n = (e, r, o) => {
4268
- if (o > zs) throw new Error("json2flat: deeper than 256");
4324
+ if (o > Qs) throw new Error("json2flat: deeper than 256");
4269
4325
  if (null === e || "object" != typeof e || Array.isArray(e)) {
4270
4326
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
4271
4327
  const s = `[${t}]`;
@@ -4275,7 +4331,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4275
4331
  const t = Object.keys(e);
4276
4332
  if (t.length > 0) {
4277
4333
  for (const s of t) {
4278
- const t = Xs(s);
4334
+ const t = Zs(s);
4279
4335
  n(e[s], 0 === o ? t : r + "`" + t, o + 1);
4280
4336
  }
4281
4337
  return;
@@ -4286,9 +4342,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4286
4342
  return null == e || n(e, "", 0), t;
4287
4343
  }, exports.json_array_append = Lo, exports.json_array_append_new = Uo, exports.json_array_extend = function(e, t) {
4288
4344
  return t ? (Array.prototype.push.apply(e, t), e) : e;
4289
- }, exports.json_array_remove = Fo, exports.json_array_size = Go, exports.json_deep_copy = $o, exports.json_is_identical = Ao, exports.json_mask_secrets = wo, exports.json_object_del = Co, exports.json_object_get = ko, exports.json_object_set = Io, exports.json_object_set_new = Po, exports.json_object_size = Mo, exports.json_object_update = Ro, exports.json_object_update_existing = xo, exports.json_object_update_missing = Do, exports.json_size = Vo, exports.jwt2json = function(e, t) {
4345
+ }, exports.json_array_remove = Fo, exports.json_array_size = Go, exports.json_deep_copy = $o, exports.json_is_identical = Ao, exports.json_mask_secrets = wo, exports.json_object_del = Co, exports.json_object_get = ko, exports.json_object_set = Io, exports.json_object_set_new = Po, exports.json_object_size = Mo, exports.json_object_update = Ro, exports.json_object_update_existing = xo, exports.json_object_update_missing = Do, exports.json_size = Vo, exports.json_text_of = Le, exports.jwt2json = function(e, t) {
4290
4346
  try {
4291
- let n = Us(e);
4347
+ let n = Fs(e);
4292
4348
  switch (t) {
4293
4349
  case "header": return JSON.parse(n.header);
4294
4350
  case "signature": return JSON.parse(n.signature);
@@ -4297,7 +4353,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4297
4353
  } catch (e) {
4298
4354
  return null;
4299
4355
  }
4300
- }, exports.jwtDecode = Us, exports.kw_clone_by_keys = ys, exports.kw_clone_by_not_keys = vs, exports.kw_collect = function(e, t, n, r) {
4356
+ }, exports.jwtDecode = Fs, exports.kw_clone_by_keys = ys, exports.kw_clone_by_not_keys = vs, exports.kw_collect = function(e, t, n, r) {
4301
4357
  if (e && !zo(e) && sr("GObj bad instanceof"), !t) return null;
4302
4358
  r || (r = hs);
4303
4359
  let o = [];
@@ -4319,7 +4375,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4319
4375
  let s = is(e, t, n, !1);
4320
4376
  const l = o && o & Pn.KW_REQUIRED, i = o && o & Pn.KW_CREATE, a = o && o & Pn.KW_EXTRACT;
4321
4377
  return void 0 === s ? i && Ko(r) && t ? (ps(e, t, n, r), r) : (l && (sr(`path not found: '${n}'`), No(t)), r) : Ko(s) ? (a && as(e, t, n), s) : i && null === s && Ko(r) ? (ps(e, t, n, r), r) : i && null === s ? (l && (sr(`path not found: '${n}'`), No(t)), r) : ((l || i) && (sr(`${e ? xt(e) + ": " : ""}path MUST BE a json list: '${n}'` + (i ? ", cannot create" : "")), No(t)), r);
4322
- }, exports.kw_get_local_storage_value = js, exports.kw_get_pointer = fs, exports.kw_get_real = function(e, t, n, r, o) {
4378
+ }, exports.kw_get_local_storage_value = Os, exports.kw_get_pointer = fs, exports.kw_get_real = function(e, t, n, r, o) {
4323
4379
  e && !zo(e) && sr("GObj bad instanceof");
4324
4380
  let s = is(e, t, n, !1);
4325
4381
  const l = o && o & Pn.KW_REQUIRED, i = o && o & Pn.KW_CREATE, a = o && o & Pn.KW_EXTRACT, u = o && o & Pn.KW_WILD_NUMBER;
@@ -4342,7 +4398,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4342
4398
  }
4343
4399
  }
4344
4400
  return a && as(e, t, n), _;
4345
- }, exports.kw_get_str = cs, exports.kw_has_key = rs, exports.kw_match_simple = hs, exports.kw_pop = ns, exports.kw_remove_local_storage_value = Ss, exports.kw_select = function(e, t, n, r) {
4401
+ }, exports.kw_get_str = cs, exports.kw_has_key = rs, exports.kw_match_simple = hs, exports.kw_pop = ns, exports.kw_remove_local_storage_value = ws, exports.kw_select = function(e, t, n, r) {
4346
4402
  if (e && !zo(e) && sr("GObj bad instanceof"), !t) return null;
4347
4403
  r || (r = hs);
4348
4404
  let o = [];
@@ -4355,9 +4411,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4355
4411
  r(t, n) && o.push($o(t));
4356
4412
  }
4357
4413
  return o;
4358
- }, exports.kw_set_dict_value = ps, exports.kw_set_local_storage_value = Os, exports.kw_set_subdict_value = bs, exports.kwid_collect = Ns, exports.kwid_find_one_record = function(e, t, n, r, o) {
4414
+ }, exports.kw_set_dict_value = ps, exports.kw_set_local_storage_value = Ss, exports.kw_set_subdict_value = bs, exports.kwid_collect = $s, exports.kwid_find_one_record = function(e, t, n, r, o) {
4359
4415
  e && !zo(e) && sr("GObj bad instanceof");
4360
- let s = Ns(e, t, n, r, o);
4416
+ let s = $s(e, t, n, r, o);
4361
4417
  return s && 0 !== s.length ? s[0] : null;
4362
4418
  }, exports.kwid_get_ids = function(e, t) {
4363
4419
  if (e && !zo(e) && sr("GObj bad instanceof"), !t) return [];
@@ -4372,7 +4428,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4372
4428
  }
4373
4429
  });
4374
4430
  return n;
4375
- }, exports.kwid_match_id = ws, exports.kwid_new_dict = function(e, t, n) {
4431
+ }, exports.kwid_match_id = Ns, exports.kwid_new_dict = function(e, t, n) {
4376
4432
  e && !zo(e) && sr("GObj bad instanceof");
4377
4433
  let r = {};
4378
4434
  if (Qo(n) || (t = is(e, t, n)), Wo(t)) r = t;
@@ -4441,9 +4497,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4441
4497
  var e;
4442
4498
  }, r.send();
4443
4499
  }, exports.log_debug = ir, exports.log_error = sr, exports.log_info = function(e, ...t) {
4444
- let n = tr(e, ...t), r = Ys();
4500
+ let n = tr(e, ...t), r = Js();
4445
4501
  Mn && Jn("info", n) && nr(Mn, "%c" + r + " INFO: " + String(n), "color:cyan"), qn("info", n, r);
4446
- }, exports.log_warning = lr, exports.mask_secrets_inline = Eo, exports.msg_iev_get_msg_type = Is, exports.msg_iev_get_stack = ks, exports.msg_iev_push_stack = Ds, exports.msg_iev_read_key = Rs, exports.msg_iev_set_msg_type = Cs, exports.msg_iev_write_key = xs, exports.node_uuid = Hs, exports.parseBoolean = Xo, exports.parseSVG = function(e) {
4502
+ }, exports.log_warning = lr, exports.mask_secrets_inline = Eo, exports.msg_iev_get_msg_type = Ps, exports.msg_iev_get_stack = Cs, exports.msg_iev_push_stack = ks, exports.msg_iev_read_key = xs, exports.msg_iev_set_msg_type = Is, exports.msg_iev_write_key = Ds, exports.node_uuid = qs, exports.parseBoolean = Xo, exports.parseSVG = function(e) {
4447
4503
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
4448
4504
  }, exports.refresh_language = function(e, t) {
4449
4505
  if (!qo(t)) return void sr("You must supply a translation function");
@@ -4470,22 +4526,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4470
4526
  });
4471
4527
  }, exports.register_c_ievent_cli = function() {
4472
4528
  return function(e) {
4473
- if (xl) return sr(`GClass ALREADY created: ${e}`), -1;
4529
+ if (Dl) return sr(`GClass ALREADY created: ${e}`), -1;
4474
4530
  const t = [
4475
4531
  ["ST_DISCONNECTED", [
4476
4532
  [
4477
4533
  "EV_ON_OPEN",
4478
- Kl,
4534
+ Bl,
4479
4535
  "ST_WAIT_IDENTITY_CARD_ACK"
4480
4536
  ],
4481
4537
  [
4482
4538
  "EV_ON_CLOSE",
4483
- Bl,
4539
+ Yl,
4484
4540
  null
4485
4541
  ],
4486
4542
  [
4487
4543
  "EV_TIMEOUT",
4488
- Wl,
4544
+ Kl,
4489
4545
  null
4490
4546
  ],
4491
4547
  [
@@ -4497,22 +4553,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4497
4553
  ["ST_WAIT_IDENTITY_CARD_ACK", [
4498
4554
  [
4499
4555
  "EV_ON_MESSAGE",
4500
- ql,
4556
+ Xl,
4501
4557
  null
4502
4558
  ],
4503
4559
  [
4504
4560
  "EV_IDENTITY_CARD_ACK",
4505
- Hl,
4561
+ Ql,
4506
4562
  null
4507
4563
  ],
4508
4564
  [
4509
4565
  "EV_ON_CLOSE",
4510
- Bl,
4566
+ Yl,
4511
4567
  "ST_DISCONNECTED"
4512
4568
  ],
4513
4569
  [
4514
4570
  "EV_TIMEOUT",
4515
- Jl,
4571
+ zl,
4516
4572
  null
4517
4573
  ],
4518
4574
  [
@@ -4524,22 +4580,22 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4524
4580
  ["ST_SESSION", [
4525
4581
  [
4526
4582
  "EV_ON_MESSAGE",
4527
- ql,
4583
+ Xl,
4528
4584
  null
4529
4585
  ],
4530
4586
  [
4531
4587
  "EV_MT_STATS",
4532
- Ql,
4588
+ ei,
4533
4589
  null
4534
4590
  ],
4535
4591
  [
4536
4592
  "EV_MT_COMMAND",
4537
- Xl,
4593
+ ti,
4538
4594
  null
4539
4595
  ],
4540
4596
  [
4541
4597
  "EV_ON_CLOSE",
4542
- Bl,
4598
+ Yl,
4543
4599
  "ST_DISCONNECTED"
4544
4600
  ],
4545
4601
  [
@@ -4550,7 +4606,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4550
4606
  ]],
4551
4607
  [null, null]
4552
4608
  ];
4553
- return (xl = We(e, [
4609
+ return (Dl = We(e, [
4554
4610
  ["EV_ON_MESSAGE", L.EVF_OUTPUT_EVENT],
4555
4611
  ["EV_IDENTITY_CARD_ACK", L.EVF_PUBLIC_EVENT],
4556
4612
  ["EV_ON_ID_NAK", L.EVF_OUTPUT_EVENT],
@@ -4561,36 +4617,36 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4561
4617
  ["EV_ON_OPEN_ERROR", L.EVF_OUTPUT_EVENT | L.EVF_NO_WARN_SUBS],
4562
4618
  ["EV_TIMEOUT", 0],
4563
4619
  [null, 0]
4564
- ], t, Zl, 0, Nl, Rl, 0, 0, $l, C.gcflag_no_check_output_events)) ? 0 : -1;
4620
+ ], t, ni, 0, $l, xl, 0, 0, Al, C.gcflag_no_check_output_events)) ? 0 : -1;
4565
4621
  }("C_IEVENT_CLI");
4566
4622
  }, exports.register_c_timer = function() {
4567
4623
  return function(e) {
4568
- if (ul) return sr(`GClass ALREADY created: ${e}`), -1;
4624
+ if (_l) return sr(`GClass ALREADY created: ${e}`), -1;
4569
4625
  const t = [["ST_IDLE", [[
4570
4626
  "EV_TIMEOUT",
4571
- _l,
4627
+ cl,
4572
4628
  null
4573
4629
  ]]]];
4574
- return (ul = We(e, [
4630
+ return (_l = We(e, [
4575
4631
  ["EV_TIMEOUT", L.EVF_OUTPUT_EVENT],
4576
4632
  ["EV_TIMEOUT_PERIODIC", L.EVF_OUTPUT_EVENT],
4577
4633
  [0, 0]
4578
- ], t, cl, 0, il, al, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
4634
+ ], t, fl, 0, al, ul, 0, 0, 0, C.gcflag_manual_start)) ? 0 : -1;
4579
4635
  }("C_TIMER");
4580
4636
  }, exports.register_c_yuno = function() {
4581
4637
  return function(e) {
4582
- if (hl) return sr(`GClass ALREADY created: ${e}`), -1;
4638
+ if (yl) return sr(`GClass ALREADY created: ${e}`), -1;
4583
4639
  const t = [["ST_IDLE", [[
4584
4640
  "EV_TIMEOUT_PERIODIC",
4585
- Ol,
4641
+ Sl,
4586
4642
  null
4587
4643
  ]]]];
4588
- return (hl = We(e, [["EV_TIMEOUT_PERIODIC", L.EVF_OUTPUT_EVENT | L.EVF_NO_WARN_SUBS], [0, 0]], t, Sl, 0, bl, ml, 0, 0, 0, 0)) ? 0 : -1;
4644
+ return (yl = We(e, [["EV_TIMEOUT_PERIODIC", L.EVF_OUTPUT_EVENT | L.EVF_NO_WARN_SUBS], [0, 0]], t, wl, 0, ml, hl, 0, 0, 0, 0)) ? 0 : -1;
4589
4645
  }("C_YUNO");
4590
4646
  }, exports.safeSrc = function(e) {
4591
4647
  if (!e) return "";
4592
4648
  const t = String(e).trim();
4593
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Fs(t);
4649
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Ms(t);
4594
4650
  }, exports.sdata_flag_t = $, exports.send_http_json_post = function(e, t, n) {
4595
4651
  let r = new XMLHttpRequest();
4596
4652
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -4614,16 +4670,16 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4614
4670
  }
4615
4671
  } else Vn = e;
4616
4672
  }, exports.set_remote_log_functions = Qn, exports.set_strings_are_text = function(e) {
4617
- Ws = !!e;
4618
- }, exports.set_timeout = gl, exports.set_timeout_periodic = dl, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = As, exports.strcasecmp = es, exports.strcmp = Zo, exports.strings_are_text = function() {
4619
- return Ws;
4673
+ Ks = !!e;
4674
+ }, exports.set_timeout = dl, exports.set_timeout_periodic = pl, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Rs, exports.strcasecmp = es, exports.strcmp = Zo, exports.strings_are_text = function() {
4675
+ return Ks;
4620
4676
  }, exports.strncmp = function(e, t, n) {
4621
4677
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
4622
4678
  return r === o ? 0 : r > o ? 1 : -1;
4623
4679
  }, exports.strs_in_list = function(e, t, n) {
4624
4680
  if (!e) return sr("ERROR: strs_in_list() list empty"), !1;
4625
4681
  if (!t) return sr("ERROR: strs_in_list() str empty"), !1;
4626
- for (let r = 0; r < t.length; r++) if (As(e, t[r], n)) return !0;
4682
+ for (let r = 0; r < t.length; r++) if (Rs(e, t[r], n)) return !0;
4627
4683
  return !1;
4628
4684
  }, exports.strstr = function(e, t, n) {
4629
4685
  var r;
@@ -4646,9 +4702,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4646
4702
  let e = t.split(".");
4647
4703
  for (let t = 0; t < e.length; t++) {
4648
4704
  let r = e[t];
4649
- if (As(rl, r)) n.real_type || (n.real_type = r);
4650
- else if (As(sl, r)) n.type || (n.type = r);
4651
- else if (As(ol, r)) switch (r) {
4705
+ if (Rs(ol, r)) n.real_type || (n.real_type = r);
4706
+ else if (Rs(ll, r)) n.type || (n.type = r);
4707
+ else if (Rs(sl, r)) switch (r) {
4652
4708
  case "writable":
4653
4709
  n.is_writable = !0;
4654
4710
  break;
@@ -4660,7 +4716,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4660
4716
  }
4661
4717
  }
4662
4718
  n.real_type || (n.real_type = "string");
4663
- } else Wo(t) ? (n = ll(t), n.name || (n.name = e), n.header || (n.header = e)) : Ko(t) && (n.real_type = "array", n.enum_list = t);
4719
+ } else Wo(t) ? (n = il(t), n.name || (n.name = e), n.header || (n.header = e)) : Ko(t) && (n.real_type = "array", n.enum_list = t);
4664
4720
  return n.type || (n.type = n.real_type), n;
4665
4721
  }, exports.timeTracker = function(e = "Time Tracker", t = !1) {
4666
4722
  const n = e, r = performance.now();
@@ -4672,7 +4728,7 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4672
4728
  total: a
4673
4729
  };
4674
4730
  } };
4675
- }, exports.trace_json = ur, exports.trace_json_masked = No, exports.trace_level_t = K, exports.trace_msg = ar, exports.treedb_decoder_fkey = nl, exports.treedb_decoder_hook = function(e, t) {
4731
+ }, exports.trace_json = ur, exports.trace_json_masked = No, exports.trace_level_t = K, exports.trace_msg = ar, exports.treedb_decoder_fkey = rl, exports.treedb_decoder_hook = function(e, t) {
4676
4732
  if (Bo(t)) {
4677
4733
  if (-1 === t.indexOf("^")) {
4678
4734
  let n, r = e.hook;
@@ -4699,9 +4755,9 @@ exports.GObj = k, exports.SDATA = x, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
4699
4755
  id: t.id
4700
4756
  } : (sr("bad hook 3"), sr(e), sr(t), null);
4701
4757
  }, exports.treedb_encoder_fkey = function(e, t) {
4702
- let n = nl(e, t);
4758
+ let n = rl(e, t);
4703
4759
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
4704
- }, exports.treedb_get_field_desc = ll, exports.treedb_hook_data_size = function(e) {
4760
+ }, exports.treedb_get_field_desc = il, exports.treedb_hook_data_size = function(e) {
4705
4761
  if (Ko(e) && 1 === Vo(e)) {
4706
4762
  let t = e[0];
4707
4763
  return rs(t, "size") ? t.size : 1;