@yuneta/gobj-js 7.25.8 → 7.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,16 +21,15 @@
21
21
  };
22
22
  function n(e) {
23
23
  return function(e, r) {
24
- var l, o, s, i, _, a, u, c, f, g = 1, d = e.length, b = "";
25
- for (o = 0; o < d; o++) if ("string" == typeof e[o]) b += e[o];
26
- else if ("object" == typeof e[o]) {
27
- if ((i = e[o]).keys) for (l = r[g], s = 0; s < i.keys.length; s++) {
28
- if (null == l) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", i.keys[s], i.keys[s - 1]));
29
- l = l[i.keys[s]];
24
+ for (var l, o, s, i, _, a, u, c, f = 1, g = e.length, d = "", b = 0; b < g; b++) if ("string" == typeof e[b]) d += e[b];
25
+ else if ("object" == typeof e[b]) {
26
+ if ((s = e[b]).keys) for (l = r[f], o = 0; o < s.keys.length; o++) {
27
+ if (null == l) throw new Error(n("[sprintf] Cannot access property \"%s\" of undefined value \"%s\"", s.keys[o], s.keys[o - 1]));
28
+ l = l[s.keys[o]];
30
29
  }
31
- else l = i.param_no ? r[i.param_no] : r[g++];
32
- if (t.not_type.test(i.type) && t.not_primitive.test(i.type) && l instanceof Function && (l = l()), t.numeric_arg.test(i.type) && "number" != typeof l && isNaN(l)) throw new TypeError(n("[sprintf] expecting number but found %T", l));
33
- switch (t.number.test(i.type) && (c = l >= 0), i.type) {
30
+ else l = s.param_no ? r[s.param_no] : r[f++];
31
+ if (t.not_type.test(s.type) && t.not_primitive.test(s.type) && l instanceof Function && (l = l()), t.numeric_arg.test(s.type) && "number" != typeof l && isNaN(l)) throw new TypeError(n("[sprintf] expecting number but found %T", l));
32
+ switch (t.number.test(s.type) && (u = l >= 0), s.type) {
34
33
  case "b":
35
34
  l = parseInt(l, 10).toString(2);
36
35
  break;
@@ -42,43 +41,43 @@
42
41
  l = parseInt(l, 10);
43
42
  break;
44
43
  case "j":
45
- l = JSON.stringify(l, null, i.width ? parseInt(i.width) : 0);
44
+ l = JSON.stringify(l, null, s.width ? parseInt(s.width) : 0);
46
45
  break;
47
46
  case "e":
48
- l = i.precision ? parseFloat(l).toExponential(i.precision) : parseFloat(l).toExponential();
47
+ l = s.precision ? parseFloat(l).toExponential(s.precision) : parseFloat(l).toExponential();
49
48
  break;
50
49
  case "f":
51
- l = i.precision ? parseFloat(l).toFixed(i.precision) : parseFloat(l);
50
+ l = s.precision ? parseFloat(l).toFixed(s.precision) : parseFloat(l);
52
51
  break;
53
52
  case "g":
54
- l = i.precision ? String(Number(l.toPrecision(i.precision))) : parseFloat(l);
53
+ l = s.precision ? String(Number(l.toPrecision(s.precision))) : parseFloat(l);
55
54
  break;
56
55
  case "o":
57
56
  l = (parseInt(l, 10) >>> 0).toString(8);
58
57
  break;
59
58
  case "s":
60
- l = String(l), l = i.precision ? l.substring(0, i.precision) : l;
59
+ l = String(l), l = s.precision ? l.substring(0, s.precision) : l;
61
60
  break;
62
61
  case "t":
63
- l = String(!!l), l = i.precision ? l.substring(0, i.precision) : l;
62
+ l = String(!!l), l = s.precision ? l.substring(0, s.precision) : l;
64
63
  break;
65
64
  case "T":
66
- l = Object.prototype.toString.call(l).slice(8, -1).toLowerCase(), l = i.precision ? l.substring(0, i.precision) : l;
65
+ l = Object.prototype.toString.call(l).slice(8, -1).toLowerCase(), l = s.precision ? l.substring(0, s.precision) : l;
67
66
  break;
68
67
  case "u":
69
68
  l = parseInt(l, 10) >>> 0;
70
69
  break;
71
70
  case "v":
72
- l = l.valueOf(), l = i.precision ? l.substring(0, i.precision) : l;
71
+ l = l.valueOf(), l = s.precision ? l.substring(0, s.precision) : l;
73
72
  break;
74
73
  case "x":
75
74
  l = (parseInt(l, 10) >>> 0).toString(16);
76
75
  break;
77
76
  case "X": l = (parseInt(l, 10) >>> 0).toString(16).toUpperCase();
78
77
  }
79
- t.json.test(i.type) ? b += l : (!t.number.test(i.type) || c && !i.sign ? f = "" : (f = c ? "+" : "-", l = l.toString().replace(t.sign, "")), a = i.pad_char ? "0" === i.pad_char ? "0" : i.pad_char.charAt(1) : " ", u = i.width - (f + l).length, _ = i.width && u > 0 ? a.repeat(u) : "", b += i.align ? f + l + _ : "0" === a ? f + _ + l : _ + f + l);
78
+ t.json.test(s.type) ? d += l : (!t.number.test(s.type) || u && !s.sign ? c = "" : (c = u ? "+" : "-", l = l.toString().replace(t.sign, "")), _ = s.pad_char ? "0" === s.pad_char ? "0" : s.pad_char.charAt(1) : " ", a = s.width - (c + l).length, i = s.width && a > 0 ? _.repeat(a) : "", d += s.align ? c + l + i : "0" === _ ? c + i + l : i + c + l);
80
79
  }
81
- return b;
80
+ return d;
82
81
  }(function(e) {
83
82
  if (r[e]) return r[e];
84
83
  let n, l = e, o = [], s = 0;
@@ -120,7 +119,7 @@
120
119
  function l(e, t, n, r, l) {
121
120
  return {
122
121
  result: t,
123
- comment: n || {},
122
+ comment: n || "",
124
123
  schema: r || {},
125
124
  data: l || []
126
125
  };
@@ -133,7 +132,7 @@
133
132
  data: l || []
134
133
  };
135
134
  }
136
- var s = "7.0.0a", i = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = {}, p = null, m = null, h = 0, E = Object.freeze({
135
+ var s = "7.0.0a", i = null, _ = null, a = null, u = null, c = null, f = null, g = [], d = Object.create(null), b = Object.create(null), p = null, m = null, h = 0, E = Object.freeze({
137
136
  DTP_STRING: 1,
138
137
  DTP_BOOLEAN: 2,
139
138
  DTP_INTEGER: 3,
@@ -144,7 +143,7 @@
144
143
  DTP_POINTER: 8
145
144
  });
146
145
  E.DTP_POINTER;
147
- var T = Object.freeze({
146
+ var y = Object.freeze({
148
147
  SDF_NOTACCESS: 1,
149
148
  SDF_RD: 2,
150
149
  SDF_WR: 4,
@@ -167,26 +166,26 @@
167
166
  SDF_AUTHZ_S: 524288,
168
167
  SDF_AUTHZ_RS: 1048576
169
168
  });
170
- T.SDF_RD, T.SDF_WR, T.SDF_STATS, T.SDF_PERSIST, T.SDF_VOLATIL, T.SDF_RSTATS, T.SDF_PSTATS, T.SDF_WR, T.SDF_PERSIST;
171
- var y = class {
169
+ y.SDF_RD, y.SDF_WR, y.SDF_STATS, y.SDF_PERSIST, y.SDF_VOLATIL, y.SDF_RSTATS, y.SDF_PSTATS, y.SDF_WR, y.SDF_PERSIST;
170
+ var T = class {
172
171
  constructor(e, t, n = 0, r = null, l = "", o = null, s = null, i = 0, _ = null, a = null, u = null) {
173
172
  this.type = e, this.name = t, this.alias = o, this.flag = n, this.default_value = r, this.header = s, this.fillspace = i, this.description = l, this.json_fn = _, this.schema = a, this.authpth = u;
174
173
  }
175
- }, v = () => new y(0, null), j = (e, t, n, r, l) => new y(e, t, n, r, l), S = class {
174
+ }, v = () => new T(0, null), j = (e, t, n, r, l) => new T(e, t, n, r, l), O = class {
176
175
  constructor(e, t, n, r, l, o, s, i, _) {
177
176
  this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = l, this.authz_table = o, this.command_table = s, this.s_user_trace_level = i, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
178
177
  }
179
- }, O = class {
178
+ }, S = class {
180
179
  constructor(e, t, n, r, l) {
181
- this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(l) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = En(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
180
+ this.__refs__ = 0, this.gclass = t, this.parent = null, this.dl_children = [], this.dl_subscriptions = [], this.dl_subscribings = [], this.current_state = t.dl_states[0], this.last_state = null, this.obflag = 0, this.gobj_flag = Number(l) || 0, this.gobj_name = e, this.jn_attrs = null, this.jn_stats = {}, this.jn_user_data = {}, this.full_name = null, this.short_name = null, this.priv = Un(t.priv), this.running = !1, this.playing = !1, this.disabled = !1, this.bottom_gobj = null, this.trace_level = 0, this.no_trace_level = 0;
182
181
  }
183
- }, N = Object.freeze({
182
+ }, w = Object.freeze({
184
183
  gcflag_manual_start: 1,
185
184
  gcflag_no_check_output_events: 2,
186
185
  gcflag_ignore_unknown_attrs: 4,
187
186
  gcflag_required_start_to_play: 8,
188
187
  gcflag_singleton: 16
189
- }), w = Object.freeze({
188
+ }), N = Object.freeze({
190
189
  gobj_flag_yuno: 1,
191
190
  gobj_flag_default_service: 2,
192
191
  gobj_flag_service: 4,
@@ -209,11 +208,11 @@
209
208
  WALK_BYLEVEL: 4,
210
209
  WALK_FIRST2LAST: 16,
211
210
  WALK_LAST2FIRST: 32
212
- }), A = class {
211
+ }), k = class {
213
212
  constructor(e, t, n) {
214
213
  this.event_name = e, this.action = t, this.next_state = n;
215
214
  }
216
- }, k = class {
215
+ }, A = class {
217
216
  constructor(e) {
218
217
  this.state_name = e, this.dl_actions = [];
219
218
  }
@@ -224,9 +223,9 @@
224
223
  };
225
224
  var C = 1;
226
225
  function L(e) {
227
- Cn(e) && (e = JSON.stringify(e)), pn(" ".repeat(Math.max(1, 2 * h)) + String(e));
226
+ Xn(e) && (e = JSON.stringify(e)), En(" ".repeat(Math.max(1, 2 * h)) + String(e));
228
227
  }
229
- var U = Object.freeze({
228
+ var P = Object.freeze({
230
229
  TRACE_MACHINE: 65536,
231
230
  TRACE_CREATE_DELETE: 131072,
232
231
  TRACE_CREATE_DELETE2: 262144,
@@ -242,135 +241,135 @@
242
241
  TRACE_TIMER_PERIODIC: 268435456,
243
242
  TRACE_URING_TIME: 536870912,
244
243
  TRACE_COMMANDS: 1073741824
245
- }), P = [
244
+ }), U = [
246
245
  [
247
246
  "machine",
248
- U.TRACE_MACHINE,
247
+ P.TRACE_MACHINE,
249
248
  "Trace machine"
250
249
  ],
251
250
  [
252
251
  "create_delete",
253
- U.TRACE_CREATE_DELETE,
252
+ P.TRACE_CREATE_DELETE,
254
253
  "Trace create/delete of gobjs"
255
254
  ],
256
255
  [
257
256
  "create_delete2",
258
- U.TRACE_CREATE_DELETE2,
257
+ P.TRACE_CREATE_DELETE2,
259
258
  "Trace create/delete of gobjs level 2: with kw"
260
259
  ],
261
260
  [
262
261
  "subscriptions",
263
- U.TRACE_SUBSCRIPTIONS,
262
+ P.TRACE_SUBSCRIPTIONS,
264
263
  "Trace subscriptions of gobjs"
265
264
  ],
266
265
  [
267
266
  "start_stop",
268
- U.TRACE_START_STOP,
267
+ P.TRACE_START_STOP,
269
268
  "Trace start/stop of gobjs"
270
269
  ],
271
270
  [
272
271
  "ev_kw",
273
- U.TRACE_EV_KW,
272
+ P.TRACE_EV_KW,
274
273
  "Trace event keywords"
275
274
  ],
276
275
  [
277
276
  "authzs",
278
- U.TRACE_AUTHZS,
277
+ P.TRACE_AUTHZS,
279
278
  "Trace authorizations"
280
279
  ],
281
280
  [
282
281
  "states",
283
- U.TRACE_STATES,
282
+ P.TRACE_STATES,
284
283
  "Trace change of states"
285
284
  ],
286
285
  [
287
286
  "gbuffers",
288
- U.TRACE_GBUFFERS,
287
+ P.TRACE_GBUFFERS,
289
288
  "Trace gbuffers"
290
289
  ],
291
290
  [
292
291
  "timer",
293
- U.TRACE_TIMER,
292
+ P.TRACE_TIMER,
294
293
  "Trace timers"
295
294
  ],
296
295
  [
297
296
  "fs",
298
- U.TRACE_FS,
297
+ P.TRACE_FS,
299
298
  "Trace file system"
300
299
  ],
301
300
  [
302
301
  "liburing",
303
- U.TRACE_URING,
302
+ P.TRACE_URING,
304
303
  "Trace liburing mixins"
305
304
  ],
306
305
  [
307
306
  "timer_periodic",
308
- U.TRACE_TIMER_PERIODIC,
307
+ P.TRACE_TIMER_PERIODIC,
309
308
  "Trace periodic timers"
310
309
  ],
311
310
  [
312
311
  "liburing_timer",
313
- U.TRACE_URING_TIME,
312
+ P.TRACE_URING_TIME,
314
313
  "Trace liburing timer"
315
314
  ],
316
315
  [
317
316
  "commands",
318
- U.TRACE_COMMANDS,
317
+ P.TRACE_COMMANDS,
319
318
  "Trace commands"
320
319
  ]
321
- ], F = 0, G = 0, V = 0;
320
+ ], F = 0, V = 0, G = 0;
322
321
  function M(e, t) {
323
322
  let n = [];
324
- for (const [t, r] of P) e & r && n.push(t);
323
+ for (const [t, r] of U) e & r && n.push(t);
325
324
  if (Array.isArray(t)) for (let r = 0; r < t.length && r < 16; r++) t[r] && e & 1 << r && n.push(t[r][0]);
326
325
  return n;
327
326
  }
328
327
  function W(e, t, n) {
329
- if (Wn(e)) return void 0 === n ? 268369920 : 65535;
328
+ if (sr(e)) return void 0 === n ? 268369920 : 65535;
330
329
  if (/^[0-9]+$/.test(String(e))) {
331
330
  const t = Number(e);
332
331
  if (t) return t;
333
332
  }
334
333
  return function(e, t) {
335
- for (const [t, n] of P) if (t === e) return n;
334
+ for (const [t, n] of U) if (t === e) return n;
336
335
  if (Array.isArray(t)) {
337
336
  for (let n = 0; n < t.length && n < 16; n++) if (t[n] && t[n][0] === e) return 1 << n;
338
337
  }
339
338
  return 0;
340
- }(String(e), n) || (dn(`${t}: trace level NOT FOUND: ${e}`), 0);
339
+ }(String(e), n) || (mn(`${t}: trace level NOT FOUND: ${e}`), 0);
341
340
  }
342
341
  function x(e) {
343
- if (V) return 4294967295;
342
+ if (G) return 4294967295;
344
343
  let t = F;
345
344
  return e && (t |= e.trace_level || 0, e.gclass && (t |= e.gclass.trace_level || 0)), t;
346
345
  }
347
346
  function K(e) {
348
- let t = G;
347
+ let t = V;
349
348
  return e && (t |= e.no_trace_level || 0, e.gclass && (t |= e.gclass.no_trace_level || 0)), t;
350
349
  }
351
350
  function Y(e) {
352
- return x(e) & U.TRACE_CREATE_DELETE;
351
+ return x(e) & P.TRACE_CREATE_DELETE;
353
352
  }
354
353
  function B(e) {
355
- return x(e) & U.TRACE_SUBSCRIPTIONS;
354
+ return x(e) & P.TRACE_SUBSCRIPTIONS;
356
355
  }
357
356
  function J(e) {
358
- return x(e) & U.TRACE_START_STOP;
357
+ return x(e) & P.TRACE_START_STOP;
359
358
  }
360
- function H(e) {
361
- return x(e) & U.TRACE_EV_KW;
359
+ function q(e) {
360
+ return x(e) & P.TRACE_EV_KW;
362
361
  }
363
- function q(e, t) {
364
- if (V > 1) return !0;
362
+ function H(e, t) {
363
+ if (G > 1) return !0;
365
364
  if (!e) return !1;
366
365
  const n = x(e);
367
- return !!(n & U.TRACE_MACHINE || n & U.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & U.TRACE_TIMER && "EV_TIMEOUT" === t);
366
+ return !!(n & P.TRACE_MACHINE || n & P.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & P.TRACE_TIMER && "EV_TIMEOUT" === t);
368
367
  }
369
368
  function z(e, t) {
370
- if (V > 1) return !1;
369
+ if (G > 1) return !1;
371
370
  if (!e) return !0;
372
371
  const n = K(e);
373
- return !!(n & U.TRACE_MACHINE || n & U.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & U.TRACE_TIMER && "EV_TIMEOUT" === t);
372
+ return !!(n & P.TRACE_MACHINE || n & P.TRACE_TIMER_PERIODIC && "EV_TIMEOUT_PERIODIC" === t || n & P.TRACE_TIMER && "EV_TIMEOUT" === t);
374
373
  }
375
374
  function Q(e, t) {
376
375
  const n = W(e, "gobj_set_global_trace");
@@ -378,47 +377,47 @@
378
377
  }
379
378
  function X(e, t) {
380
379
  const n = W(e, "gobj_set_global_no_trace");
381
- return n ? (t ? G |= n : G &= ~n, 0) : -1;
380
+ return n ? (t ? V |= n : V &= ~n, 0) : -1;
382
381
  }
383
382
  function Z(e, t) {
384
383
  return F = t ? (F | e) >>> 0 : (F & ~e) >>> 0, 0;
385
384
  }
386
385
  function ee(e, t) {
387
- return G = t ? (G | e) >>> 0 : (G & ~e) >>> 0, 0;
386
+ return V = t ? (V | e) >>> 0 : (V & ~e) >>> 0, 0;
388
387
  }
389
388
  function te() {
390
389
  return M(F, null);
391
390
  }
392
391
  function ne() {
393
- return M(G, null);
392
+ return M(V, null);
394
393
  }
395
394
  function re(e) {
396
- const t = Un(e) ? Se(e) : e;
397
- return t ? M(t.trace_level | F, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
395
+ const t = er(e) ? Oe(e) : e;
396
+ return t ? M(t.trace_level | F, t.s_user_trace_level) : (mn(`gobj_get_gclass_trace_level: gclass NOT FOUND: ${e}`), []);
398
397
  }
399
398
  function le(e) {
400
- const t = Un(e) ? Se(e) : e;
401
- return t ? M(t.trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
399
+ const t = er(e) ? Oe(e) : e;
400
+ return t ? M(t.trace_level, t.s_user_trace_level) : (mn(`gobj_get_gclass_trace_level2: gclass NOT FOUND: ${e}`), []);
402
401
  }
403
402
  function oe(e) {
404
- const t = Un(e) ? Se(e) : e;
405
- return t ? M(t.no_trace_level, t.s_user_trace_level) : (dn(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
403
+ const t = er(e) ? Oe(e) : e;
404
+ return t ? M(t.no_trace_level, t.s_user_trace_level) : (mn(`gobj_get_gclass_trace_no_level: gclass NOT FOUND: ${e}`), []);
406
405
  }
407
406
  function se(e, t, n) {
408
- const r = Un(e) ? Se(e) : e;
409
- if (!r) return dn(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
407
+ const r = er(e) ? Oe(e) : e;
408
+ if (!r) return mn(`gobj_set_gclass_trace: gclass NOT FOUND: ${e}`), -1;
410
409
  const l = null === t ? 4294967295 : W(t, "gobj_set_gclass_trace", r.s_user_trace_level || null);
411
410
  return l ? (n ? r.trace_level |= l : r.trace_level &= ~l, 0) : -1;
412
411
  }
413
412
  function ie(e, t, n) {
414
- const r = Un(e) ? Se(e) : e;
415
- if (!r) return dn(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
413
+ const r = er(e) ? Oe(e) : e;
414
+ if (!r) return mn(`gobj_set_gclass_no_trace: gclass NOT FOUND: ${e}`), -1;
416
415
  const l = null === t ? 4294967295 : W(t, "gobj_set_gclass_no_trace", r.s_user_trace_level || null);
417
416
  return l ? (n ? r.no_trace_level |= l : r.no_trace_level &= ~l, 0) : -1;
418
417
  }
419
418
  function _e(e, t) {
420
419
  let n = {};
421
- if (!Ln(t)) return dn("sdata_desc MUST be an array"), hn(t), n;
420
+ if (!Zn(t)) return mn("sdata_desc MUST be an array"), Tn(t), n;
422
421
  for (let r = 0; r < t.length; r++) {
423
422
  const l = t[r];
424
423
  l.name && ae(e, n, l);
@@ -432,134 +431,133 @@
432
431
  r = String(l);
433
432
  break;
434
433
  case E.DTP_BOOLEAN:
435
- r = xn(l);
434
+ r = ir(l);
436
435
  break;
437
436
  case E.DTP_INTEGER:
438
- r = parseInt(l), isNaN(r) && dn(`${et(e)}: attr NaN: ${n.name}`);
437
+ r = parseInt(l), isNaN(r) && mn(`${et(e)}: attr NaN: ${n.name}`);
439
438
  break;
440
439
  case E.DTP_REAL:
441
- r = Number(l), isNaN(r) && dn(`${et(e)}: attr NaN: ${n.name}`);
440
+ r = Number(l), isNaN(r) && mn(`${et(e)}: attr NaN: ${n.name}`);
442
441
  break;
443
442
  case E.DTP_LIST:
444
- if (Un(l)) try {
443
+ if (er(l)) try {
445
444
  r = JSON.parse(l);
446
445
  } catch (e) {
447
- dn(`JSON parse error: ${e.message}`);
446
+ mn(`JSON parse error: ${e.message}`);
448
447
  }
449
448
  else r = l;
450
- Ln(r) || (r = []);
449
+ Zn(r) || (r = []);
451
450
  break;
452
451
  case E.DTP_DICT:
453
- if (Un(l)) try {
452
+ if (er(l)) try {
454
453
  r = JSON.parse(l);
455
454
  } catch (e) {
456
- dn(`JSON parse error: ${e.message}`);
455
+ mn(`JSON parse error: ${e.message}`);
457
456
  }
458
457
  else r = l;
459
- Cn(r) || (r = {});
458
+ Xn(r) || (r = {});
460
459
  break;
461
460
  case E.DTP_JSON:
462
- if (Un(l)) try {
461
+ if ("" === l || void 0 === l) r = null;
462
+ else if (er(l)) try {
463
463
  r = JSON.parse(l);
464
464
  } catch (e) {
465
- dn(`JSON parse error: ${e.message}`);
465
+ mn(`JSON parse error: ${e.message}`);
466
466
  }
467
467
  else r = l;
468
468
  break;
469
469
  case E.DTP_POINTER: r = l;
470
470
  }
471
- return void 0 === r && (dn(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
471
+ return void 0 === r && (mn(`default_value WRONG, it: ${n.name}, value: ${n.default_value}`), r = null), t[n.name] = r, 0;
472
472
  }
473
473
  function ue(e, t, n, r) {
474
474
  let l;
475
475
  switch (n.type) {
476
476
  case E.DTP_STRING:
477
477
  if (null == r) l = "";
478
- else if (Un(r)) l = String(r);
478
+ else if (er(r)) l = String(r);
479
479
  else {
480
480
  let e = JSON.stringify(r);
481
481
  e && (l = String(e));
482
482
  }
483
483
  break;
484
484
  case E.DTP_BOOLEAN:
485
- l = xn(r);
485
+ l = ir(r);
486
486
  break;
487
487
  case E.DTP_INTEGER:
488
- l = parseInt(r), isNaN(l) && dn(`${et(e)}: attr NaN: ${n.name}`);
488
+ if (l = parseInt(r), isNaN(l)) return mn(`${et(e)}: attr NaN: ${n.name}`), -1;
489
489
  break;
490
490
  case E.DTP_REAL:
491
- l = Number(r), isNaN(l) && dn(`${et(e)}: attr NaN: ${n.name}`);
491
+ if (l = Number(r), isNaN(l)) return mn(`${et(e)}: attr NaN: ${n.name}`), -1;
492
492
  break;
493
493
  case E.DTP_LIST:
494
- if (Un(r)) try {
494
+ if (er(r)) try {
495
495
  l = JSON.parse(r);
496
496
  } catch (e) {
497
- dn(`JSON parse error: ${e.message}`);
497
+ mn(`JSON parse error: ${e.message}`);
498
498
  }
499
499
  else l = r;
500
- if (!Ln(l)) return dn(`attr must be an array: ${n.name}`), -1;
500
+ if (!Zn(l)) return mn(`attr must be an array: ${n.name}`), -1;
501
501
  break;
502
502
  case E.DTP_DICT:
503
- if (Un(r)) try {
503
+ if (er(r)) try {
504
504
  l = JSON.parse(r);
505
505
  } catch (e) {
506
- dn(`JSON parse error: ${e.message}`);
506
+ mn(`JSON parse error: ${e.message}`);
507
507
  }
508
508
  else l = r;
509
- if (!Cn(l)) return dn(`attr must be an object: ${n.name}`), -1;
509
+ if (!Xn(l)) return mn(`attr must be an object: ${n.name}`), -1;
510
510
  break;
511
511
  case E.DTP_JSON:
512
- if (Un(r)) try {
512
+ if (l = r, er(r)) try {
513
513
  l = JSON.parse(r);
514
514
  } catch (e) {
515
- dn(`JSON parse error: ${e.message}`);
515
+ l = r;
516
516
  }
517
- else l = r;
518
- if (!Ln(l) && !Cn(l)) return dn(`attr must be a json dict/list: ${n.name}`), -1;
519
517
  break;
520
518
  case E.DTP_POINTER: l = r;
521
519
  }
522
- return void 0 === l && dn(`${et(e)}: attr undefined: ${n.name}`), t[n.name] = l, Cn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = l), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
520
+ return void 0 === l && mn(`${et(e)}: attr undefined: ${n.name}`), t[n.name] = l, Xn(e.priv) && e.priv.hasOwnProperty(n.name) && (e.priv[n.name] = l), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, n.name), 0;
523
521
  }
524
522
  function ce(e) {
525
523
  return e.jn_attrs;
526
524
  }
527
525
  function fe(e, t, n) {
528
- return ht(e, t) ? ce(e) : e && e.bottom_gobj ? fe(e.bottom_gobj, t, n) : (n && dn(`GClass Attribute NOT FOUND: ${et(e)}, attr ${t}`), null);
526
+ return ht(e, t) ? ce(e) : e && e.bottom_gobj ? fe(e.bottom_gobj, t, n) : (n && mn(`GClass Attribute NOT FOUND: ${et(e)}, attr ${t}`), null);
529
527
  }
530
528
  function ge(e, t, n) {
531
- if (!(e && e instanceof S)) return n && dn("gclass NULL"), null;
529
+ if (!(e && e instanceof O)) return n && mn("gclass NULL"), null;
532
530
  if (!t) return e.attrs_table;
533
531
  for (let n = 0; n < e.attrs_table.length; n++) {
534
532
  const r = e.attrs_table[n];
535
533
  if (r.name && r.name === t) return r;
536
534
  }
537
- return n && dn(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
535
+ return n && mn(`${e.gclass_name}: GClass Attribute NOT FOUND: ${t}`), null;
538
536
  }
539
537
  function de(e, t, n, r, l, o, s, i, _, a, u) {
540
- if (Wn(e)) return dn("gclass_name EMPTY"), null;
541
- if (e.includes("`") || e.includes("^") || e.includes(".")) return dn(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
542
- if (Se(e)) return dn(`GClass ALREADY exists: ${e}`), null;
543
- let c = new S(e, r, l, o, s, i, _, a, u);
538
+ if (sr(e)) return mn("gclass_name EMPTY"), null;
539
+ if (e.includes("`") || e.includes("^") || e.includes(".")) return mn(`GClass name CANNOT have '.' or '^' or '\`' char: ${e}`), null;
540
+ if (Oe(e)) return mn(`GClass ALREADY exists: ${e}`), null;
541
+ let c = new O(e, r, l, o, s, i, _, a, u);
544
542
  (function(e, t) {
545
- e && e instanceof S ? t ? d[t] ? dn(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : dn("gclass_name undefined") : dn("gclass undefined");
543
+ e && e instanceof O ? t ? d[t] ? mn(`gclass ALREADY REGISTERED: ${t}`) : d[t] = e : mn("gclass_name undefined") : mn("gclass undefined");
546
544
  })(c, e);
547
545
  const f = n.length;
548
546
  for (let e = 0; e < f; e++) {
549
547
  let t = n[e][0], r = n[e][1];
550
- if (Wn(t)) continue;
548
+ if (sr(t)) continue;
551
549
  if (he(c, t) < 0) return be(c), null;
552
550
  const l = r.length;
553
551
  for (let e = 0; e < l; e++) {
554
552
  let n = r[e][0], l = r[e][1], o = r[e][2];
555
- Wn(n) || Ee(c, t, n, l, o);
553
+ sr(n) || Ee(c, t, n, l, o);
556
554
  }
557
555
  }
558
556
  for (let e = 0; e < t.length; e++) {
559
557
  let n = t[e][0], r = t[e][1];
560
- if (!Wn(n)) {
561
- if (ve(c, n)) return dn(`SMachine: event repeated in input_events: ${n}`), be(c), null;
562
- ye(c, n, r);
558
+ if (!sr(n)) {
559
+ if (ve(c, n)) return mn(`SMachine: event repeated in input_events: ${n}`), be(c), null;
560
+ Te(c, n, r);
563
561
  }
564
562
  }
565
563
  if (!c.fsm_checked) {
@@ -570,13 +568,13 @@
570
568
  }
571
569
  function be(e) {
572
570
  let t;
573
- if (Un(e)) t = e;
571
+ if (er(e)) t = e;
574
572
  else {
575
- if (!(e instanceof S)) return dn("Cannot unregister gclass, type unknown"), -1;
573
+ if (!(e instanceof O)) return mn("Cannot unregister gclass, type unknown"), -1;
576
574
  t = e.gclass_name;
577
575
  }
578
576
  let n = d[t];
579
- return n ? n.instances > 0 ? (dn(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete d[t], 0) : (dn(`Cannot unregister gclass, not found: ${t}`), -1);
577
+ return n ? n.instances > 0 ? (mn(`Cannot unregister gclass, instances in use: ${t}`), -1) : (delete d[t], 0) : (mn(`Cannot unregister gclass, not found: ${t}`), -1);
580
578
  }
581
579
  function pe(e, t) {
582
580
  const n = e.dl_states.length, r = e.dl_states;
@@ -595,22 +593,22 @@
595
593
  return null;
596
594
  }
597
595
  function he(e, t) {
598
- return e instanceof S ? pe(e, t) ? (dn(`state already exists: ${t}`), -1) : (e.dl_states.push(new k(t)), 0) : (dn("Cannot add state, typeof not GClass"), -1);
596
+ return e instanceof O ? pe(e, t) ? (mn(`state already exists: ${t}`), -1) : (e.dl_states.push(new A(t)), 0) : (mn("Cannot add state, typeof not GClass"), -1);
599
597
  }
600
598
  function Ee(e, t, n, r, l) {
601
- if (!(e instanceof S)) return dn("Cannot add state, typeof not GClass"), -1;
602
- if (Wn(t)) return dn("state_name EMPTY"), -1;
599
+ if (!(e instanceof O)) return mn("Cannot add state, typeof not GClass"), -1;
600
+ if (sr(t)) return mn("state_name EMPTY"), -1;
603
601
  let o = pe(e, t);
604
- return o ? me(o, n) ? (dn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (o.dl_actions.push(new A(n, r, l)), 0) : (dn(`state not found: ${t}`), -1);
605
- }
606
- function Te(e, t, n) {
607
- Wn(t) || e.push(new I(t, n));
602
+ return o ? me(o, n) ? (mn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (o.dl_actions.push(new k(n, r, l)), 0) : (mn(`state not found: ${t}`), -1);
608
603
  }
609
604
  function ye(e, t, n) {
610
- return e instanceof S ? Te(e.dl_events, t, n) : (dn("Cannot add state, typeof not GClass"), -1);
605
+ sr(t) || e.push(new I(t, n));
606
+ }
607
+ function Te(e, t, n) {
608
+ return e instanceof O ? ye(e.dl_events, t, n) : (mn("Cannot add state, typeof not GClass"), -1);
611
609
  }
612
610
  function ve(e, t) {
613
- if (!(e instanceof S)) return dn("Cannot add state, typeof not GClass"), 0;
611
+ if (!(e instanceof O)) return mn("Cannot add state, typeof not GClass"), 0;
614
612
  const n = e.dl_events.length, r = e.dl_events;
615
613
  for (let e = 0; e < n; e++) {
616
614
  let n = r[e];
@@ -619,106 +617,110 @@
619
617
  return null;
620
618
  }
621
619
  function je(e) {
622
- if (!(e instanceof S)) return dn("Cannot add state, typeof not GClass"), -1;
620
+ if (!(e instanceof O)) return mn("Cannot add state, typeof not GClass"), -1;
623
621
  let t = 0;
624
- kn(e.dl_states) || (dn(`GClass without states: ${e.gclass_name}`), t += -1);
622
+ zn(e.dl_states) || (mn(`GClass without states: ${e.gclass_name}`), t += -1);
625
623
  for (let n = 0; n < e.dl_states.length; n++) {
626
624
  let r = e.dl_states[n];
627
- if (!Wn(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
625
+ if (!sr(r.state_name)) for (let n = 0; n < r.dl_actions.length; n++) {
628
626
  let l = r.dl_actions[n];
629
- Wn(l.event_name) || (ve(e, l.event_name) || (dn(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${l.event_name}`), t += -1), l.next_state && (pe(e, l.next_state) || (dn(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${l.next_state}`), t += -1)));
627
+ sr(l.event_name) || (ve(e, l.event_name) || (mn(`SMachine: state's event NOT in input_events: gclass ${e.gclass_name}, state ${r.state_name}, event ${l.event_name}`), t += -1), l.next_state && (pe(e, l.next_state) || (mn(`SMachine: next state NOT in state names: gclass ${e.gclass_name}, state ${r.state_name}, next_state ${l.next_state}`), t += -1)));
630
628
  }
631
629
  }
632
630
  for (let n = 0; n < e.dl_events.length; n++) {
633
631
  let r = e.dl_events[n];
634
- if (!Wn(r.event_name) && (Pn(r.event_flag) || (dn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
632
+ if (!sr(r.event_name) && (tr(r.event_flag) || (mn(`SMachine: event flag is NOT number: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1), !(r.event_flag & D.EVF_OUTPUT_EVENT))) {
635
633
  let n = !1;
636
634
  for (let t = 0; t < e.dl_states.length; t++) {
637
635
  let l = e.dl_states[t];
638
- Wn(l.state_name) || me(l, r.event_name) && (n = !0);
636
+ sr(l.state_name) || me(l, r.event_name) && (n = !0);
639
637
  }
640
- n || (dn(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
638
+ n || (mn(`SMachine: input_list's event NOT in state: gclass ${e.gclass_name}, event ${r.event_name}`), t += -1);
641
639
  }
642
640
  }
643
641
  return t;
644
642
  }
645
- function Se(e, t) {
643
+ function Oe(e, t) {
646
644
  let n = null;
647
645
  try {
648
646
  n = d[e];
649
647
  } catch (e) {}
650
- return n || (t && dn(`gclass not found: ${e}`), null);
648
+ return n || (t && mn(`gclass not found: ${e}`), null);
651
649
  }
652
- function Oe() {
650
+ function Se() {
653
651
  return !m || m.obflag & R.obflag_destroyed ? null : m;
654
652
  }
655
- function Ne(e, t) {
653
+ function we(e, t) {
654
+ if (!er(e)) return mn(`gobj_find_service(): service name must be a string: ${e}`), null;
656
655
  e = e.toLowerCase();
657
- return b[e] || (t && dn(`gobj service not found: ${e}`), null);
656
+ return b[e] || (t && mn(`gobj service not found: ${e}`), null);
658
657
  }
659
- function we(e) {
658
+ function Ne(e) {
660
659
  let t = Xe(e);
661
- return t = t.toLowerCase(), b[t] && dn(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), b[t] = e, 0;
660
+ return t = t.toLowerCase(), b[t] && mn(`service ALREADY REGISTERED: ${t}. Will be UPDATED`), b[t] = e, 0;
662
661
  }
663
662
  function Re(e, t) {
664
- t.parent && dn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
663
+ t.parent && mn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
665
664
  }
666
665
  function De(e, t) {
667
- let n = Rr(e.dl_children, t);
668
- n >= 0 && ($n(e.dl_children, n), t.parent = null);
666
+ let n = qr(e.dl_children, t);
667
+ n >= 0 && (qn(e.dl_children, n), t.parent = null);
669
668
  }
670
669
  function $e(e, t) {
671
- return Be(e) ? _ ? _(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
670
+ return Be(e) ? _ ? _(e, t) : -1 : (mn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
672
671
  }
673
- function Ae(e, t) {
674
- "__json_config_variables__" !== t && dn(`GClass Attribute NOT FOUND: ${et(e)}, attr ${t}`);
672
+ function ke(e, t) {
673
+ "__json_config_variables__" !== t && mn(`GClass Attribute NOT FOUND: ${et(e)}, attr ${t}`);
675
674
  }
676
- function ke(e, t, n) {
675
+ function Ae(e, t, n) {
677
676
  let r = t;
678
677
  (function(e, t, n, r, l) {
679
- if (!e || !t) return dn("hsdata or kw NULL"), -1;
678
+ if (!e || !t) return mn("hsdata or kw NULL"), -1;
680
679
  let o = 0;
681
680
  for (const [s, i] of Object.entries(t)) {
682
681
  const t = ge(l.gclass, s, !1);
683
- t ? (-1 === n || t.flag & n) && (t.flag & T.SDF_DEPRECATED && bn(`${et(l)}: Deprecated attribute used in gobj creation: ${s}`), o += ue(l, e, t, i)) : r && (r(l, s), o--);
682
+ t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && hn(`${et(l)}: Deprecated attribute used in gobj creation: ${s}`), o += ue(l, e, t, i)) : r && (r(l, s), o--);
684
683
  }
685
684
  return o;
686
- })(ce(e), r, -1, e.gclass.gclass_flag & N.gcflag_ignore_unknown_attrs ? 0 : Ae, e) < 0 && (dn(`${et(e)} json2data() FAILED`), hn(r));
685
+ })(ce(e), r, -1, e.gclass.gclass_flag & w.gcflag_ignore_unknown_attrs ? 0 : ke, e) < 0 && (mn(`${et(e)} json2data() FAILED`), Pn(r));
687
686
  }
688
687
  function Ie(e, t, r, l, o) {
689
- if (o & w.gobj_flag_yuno) {
690
- if (p) return dn("__yuno__ already created"), null;
691
- o |= w.gobj_flag_service;
688
+ if (o & N.gobj_flag_yuno) {
689
+ if (p) return mn("__yuno__ already created"), null;
690
+ o |= N.gobj_flag_service;
692
691
  } else {
693
- if (!l) return dn("gobj NEEDS a parent!"), null;
694
- if (!("string" == typeof l || l instanceof O)) return dn(`BAD TYPE of parent: ${l}`), null;
695
- if (Un(l) && !(l = Ne(l))) return bn(`parent service not found: ${l}`), null;
696
- }
697
- if (o & w.gobj_flag_service && Ne(e, !1)) return dn(`service ALREADY registered: ${t}^${e}`), null;
698
- if (o & w.gobj_flag_default_service) {
699
- if (m) return dn(`default service ALREADY registered: ${t}^${e}`), null;
700
- o |= w.gobj_flag_service;
701
- }
702
- if (Wn(t)) return dn("gclass_name must be a string"), null;
703
- let s = Se(t, !1);
704
- if (!s) return dn(`GClass not registered: ${t}^${e}`), null;
705
- if (!Un(e)) return dn(`gobj_name must be a string: ${t}`), null;
706
- if (!Wn(e)) {
707
- if (e.includes("`")) return dn(`gobj_name cannot contain char ': ${t}^${e}`), null;
708
- if (e.includes("^")) return dn(`gobj_name cannot contain char ^: ${t}^${e}`), null;
709
- }
710
- let _ = new O(e, s, r, l, o);
692
+ if (!l) return mn("gobj NEEDS a parent!"), null;
693
+ if (!("string" == typeof l || l instanceof S)) return mn(`BAD TYPE of parent: ${l}`), null;
694
+ if (er(l)) {
695
+ const e = l;
696
+ if (!(l = we(e))) return hn(`parent service not found: ${e}`), null;
697
+ }
698
+ }
699
+ if (o & N.gobj_flag_service && we(e, !1)) return mn(`service ALREADY registered: ${t}^${e}`), null;
700
+ if (o & N.gobj_flag_default_service) {
701
+ if (m) return mn(`default service ALREADY registered: ${t}^${e}`), null;
702
+ o |= N.gobj_flag_service;
703
+ }
704
+ if (sr(t)) return mn("gclass_name must be a string"), null;
705
+ let s = Oe(t, !1);
706
+ if (!s) return mn(`GClass not registered: ${t}^${e}`), null;
707
+ if (!er(e)) return mn(`gobj_name must be a string: ${t}`), null;
708
+ if (!sr(e)) {
709
+ if (e.includes("`")) return mn(`gobj_name cannot contain char ': ${t}^${e}`), null;
710
+ if (e.includes("^")) return mn(`gobj_name cannot contain char ^: ${t}^${e}`), null;
711
+ }
712
+ let _ = new S(e, s, r, l, o);
711
713
  _.jn_attrs = _e(_, s.attrs_table);
712
714
  for (const [e, t] of Object.entries(_.jn_attrs)) e in _.priv && (_.priv[e] = t);
713
715
  let a = Y(_);
714
- return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & w.gobj_flag_service && we(_), _.gobj_flag & w.gobj_flag_yuno && (p = _), _.gobj_flag & w.gobj_flag_default_service && (m = _), _.gobj_flag & w.gobj_flag_yuno || Re(l, _), _.obflag |= R.obflag_created, _.gclass.instances++, ke(_, r), _.gobj_flag & w.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), l && l.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", tt(l), et(_))), l.gclass.gmt.mt_child_added(l, _)), a && L(n("💙💙⏪ created: %s", tt(_))), _;
716
+ return a && L(n("💙💙⏩ creating: %s^%s", s.gclass_name, e)), _.gobj_flag & N.gobj_flag_service && Ne(_), _.gobj_flag & N.gobj_flag_yuno && (p = _), _.gobj_flag & N.gobj_flag_default_service && (m = _), _.gobj_flag & N.gobj_flag_yuno || Re(l, _), _.obflag |= R.obflag_created, _.gclass.instances++, Ae(_, r), _.gobj_flag & N.gobj_flag_service && i && i(_, null), _.gclass.gmt.mt_create2 ? _.gclass.gmt.mt_create2(_, r) : _.gclass.gmt.mt_create && _.gclass.gmt.mt_create(_), l && l.gclass.gmt.mt_child_added && (a && L(n("👦👦🔵 child_added(%s): %s", tt(l), et(_))), l.gclass.gmt.mt_child_added(l, _)), a && L(n("💙💙⏪ created: %s", tt(_))), _;
715
717
  }
716
718
  function Ce(e, t, n, r) {
717
- return Ie(e, t, n, r, w.gobj_flag_pure_child);
719
+ return Ie(e, t, n, r, N.gobj_flag_pure_child);
718
720
  }
719
721
  function Le(e) {
720
- if (ot(e)) return void dn("gobj NULL or DESTROYED");
721
- e.__refs__ > 0 && dn(`${et(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (dn(`Destroying a PLAYING gobj: ${tt(e)}`), xe(e)), e.running && (dn(`Destroying a RUNNING gobj: ${tt(e)}`), Ge(e)), e.obflag |= R.obflag_destroying, function(e) {
722
+ if (ot(e)) return void mn("gobj NULL or DESTROYED");
723
+ e.__refs__ > 0 && mn(`${et(e)}: gobj DESTROYING with references: ${e.__refs__}`), e.playing && (mn(`Destroying a PLAYING gobj: ${tt(e)}`), xe(e)), e.running && (mn(`Destroying a RUNNING gobj: ${tt(e)}`), Ve(e)), e.obflag |= R.obflag_destroying, function(e) {
722
724
  if (0 === Lt.length) return;
723
725
  for (let t of Lt) t.src === e && (t.src = null);
724
726
  Lt = Lt.filter((t) => t.dst !== e);
@@ -726,10 +728,10 @@
726
728
  let t = Y(e);
727
729
  t && L(n("💔💔⏩ destroying: %s", tt(e)));
728
730
  let r = nt(e);
729
- r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", tt(r), et(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & w.gobj_flag_service && function(e) {
731
+ r && r.gclass.gmt.mt_child_removed && (t && L(n("👦👦🔴 child_removed(%s): %s", tt(r), et(e))), r.gclass.gmt.mt_child_removed(r, e)), e.gobj_flag & N.gobj_flag_service && function(e) {
730
732
  let t = Xe(e);
731
- t = t.toLowerCase(), b[t] ? delete b[t] : dn(`"service NOT found in register": ${t}`);
732
- }(e), Bt(e, e.dl_subscriptions, !0), Bt(e, e.dl_subscribings, !0), r && (De(r, e), rt(e) && (st(r) !== e || ot(r) || it(r, null))), function(e) {
733
+ t = t.toLowerCase(), b[t] ? delete b[t] : mn(`"service NOT found in register": ${t}`);
734
+ }(e), e === m && (m = null), qt(e, e.dl_subscriptions, !0), qt(e, e.dl_subscribings, !0), r && (De(r, e), rt(e) && (st(r) !== e || ot(r) || it(r, null))), function(e) {
733
735
  let t = e.dl_children.slice();
734
736
  for (let e = 0; e < t.length; e++) {
735
737
  let n = t[e];
@@ -737,47 +739,47 @@
737
739
  }
738
740
  }(e), e.obflag & R.obflag_created && e.gclass.gmt.mt_destroy && e.gclass.gmt.mt_destroy(e), t && L(n("💔💔⏪ destroyed: %s", tt(e))), e.obflag |= R.obflag_destroyed, e.obflag & R.obflag_created && e.gclass.instances--;
739
741
  }
740
- function Ue(e) {
741
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
742
- if (e.running) return dn(`${et(e)}: GObj ALREADY RUNNING`), -1;
743
- if (e.disabled) return dn(`${et(e)}: GObj DISABLED`), -1;
742
+ function Pe(e) {
743
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
744
+ if (e.running) return mn(`${et(e)}: GObj ALREADY RUNNING`), -1;
745
+ if (e.disabled) return mn(`${et(e)}: GObj DISABLED`), -1;
744
746
  J(e) && L(n("⏺ ⏺ start: %s", tt(e))), e.running = !0;
745
747
  let t = 0;
746
748
  return e.gclass.gmt.mt_start && (t = e.gclass.gmt.mt_start(e)), t;
747
749
  }
748
- function Pe(e, t, n) {
749
- return e.gclass.gclass_flag & N.gcflag_manual_start || ot(e) || Ke(e) || Ye(e) || Ue(e), 0;
750
+ function Ue(e, t, n) {
751
+ return e.gclass.gclass_flag & w.gcflag_manual_start || ot(e) || Ke(e) || Ye(e) || Pe(e), 0;
750
752
  }
751
753
  function Fe(e, t, n) {
752
- return e.gclass.gclass_flag & N.gcflag_manual_start || Ye(e) ? 1 : (Ke(e) || Ue(e), 0);
754
+ return e.gclass.gclass_flag & w.gcflag_manual_start || Ye(e) ? 1 : (Ke(e) || Pe(e), 0);
753
755
  }
754
- function Ge(e) {
755
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
756
- if (!e.running) return dn(`${et(e)}: GObj NOT RUNNING`), -1;
757
- e.playing && (bn(`${et(e)}: GObj stopping without previous pause`), xe(e)), J(e) && L(n("⏹ ⏹ stop: %s", tt(e))), e.running = !1;
756
+ function Ve(e) {
757
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
758
+ if (!e.running) return mn(`${et(e)}: GObj NOT RUNNING`), -1;
759
+ e.playing && (hn(`${et(e)}: GObj stopping without previous pause`), xe(e)), J(e) && L(n("⏹ ⏹ stop: %s", tt(e))), e.running = !1;
758
760
  let t = 0;
759
761
  return e.gclass.gmt.mt_stop && (t = e.gclass.gmt.mt_stop(e)), t;
760
762
  }
761
- function Ve(e, t, n) {
762
- return Ke(e) && Ge(e), 0;
763
+ function Ge(e, t, n) {
764
+ return Ke(e) && Ve(e), 0;
763
765
  }
764
766
  function Me(e) {
765
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, $.WALK_FIRST2LAST, Ve, 0, 0);
767
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : at(e, $.WALK_FIRST2LAST, Ge, 0, 0);
766
768
  }
767
769
  function We(e) {
768
- if (ot(e)) return dn(`gobj NULL or DESTROYED: ${et(e)}`), -1;
769
- if (e.playing) return dn(`${et(e)}: GObj ALREADY PLAYING`), -1;
770
- if (e.disabled) return dn(`${et(e)}: GObj DISABLED`), -1;
770
+ if (ot(e)) return mn(`gobj NULL or DESTROYED: ${et(e)}`), -1;
771
+ if (e.playing) return mn(`${et(e)}: GObj ALREADY PLAYING`), -1;
772
+ if (e.disabled) return mn(`${et(e)}: GObj DISABLED`), -1;
771
773
  if (!Ke(e)) {
772
- if (e.gclass.gclass_flag & N.gcflag_required_start_to_play) return dn(`${et(e)}: Cannot play, start not done`), -1;
773
- bn(`${et(e)}: GObj playing without previous start`), Ue(e);
774
+ if (e.gclass.gclass_flag & w.gcflag_required_start_to_play) return mn(`${et(e)}: Cannot play, start not done`), -1;
775
+ hn(`${et(e)}: GObj playing without previous start`), Pe(e);
774
776
  }
775
777
  J(e) && L(n("⏯ ⏯ play: %s", tt(e))), e.playing = !0;
776
778
  let t = 0;
777
779
  return e.gclass.gmt.mt_play && (t = e.gclass.gmt.mt_play(e), (t < 0 || !1 === t) && (e.playing = !1)), t;
778
780
  }
779
781
  function xe(e) {
780
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : e.playing ? (J(e) && L(n("⏸ ⏸ pause: %s", tt(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (dn(`${et(e)}: GObj NOT PLAYING`), -1);
782
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : e.playing ? (J(e) && L(n("⏸ ⏸ pause: %s", tt(e))), e.playing = !1, e.gclass.gmt.mt_pause ? e.gclass.gmt.mt_pause(e) : 0) : (mn(`${et(e)}: GObj NOT PLAYING`), -1);
781
783
  }
782
784
  function Ke(e) {
783
785
  return !ot(e) && e.running;
@@ -786,71 +788,71 @@
786
788
  return !!ot(e) || e.disabled;
787
789
  }
788
790
  function Be(e) {
789
- return !!(e && e.gobj_flag & w.gobj_flag_service);
791
+ return !!(e && e.gobj_flag & N.gobj_flag_service);
790
792
  }
791
793
  function Je(e) {
792
794
  return !ot(e) && e.playing;
793
795
  }
794
- function He() {
796
+ function qe() {
795
797
  return !p || p.obflag & R.obflag_destroyed ? null : p;
796
798
  }
797
- function qe() {
798
- let e = He();
799
+ function He() {
800
+ let e = qe();
799
801
  return e ? Xe(e) : "";
800
802
  }
801
803
  function ze() {
802
- let e = He();
804
+ let e = qe();
803
805
  return e ? jt(e, "yuno_role") : "";
804
806
  }
805
807
  function Qe() {
806
- let e = He();
808
+ let e = qe();
807
809
  return e ? jt(e, "yuno_id") : "";
808
810
  }
809
811
  function Xe(e) {
810
- return Mn(e) ? e.gobj_name : (dn("gobj bad type"), null);
812
+ return or(e) ? e.gobj_name : (mn("gobj bad type"), null);
811
813
  }
812
814
  function Ze(e) {
813
- return Mn(e) ? e.gclass.gclass_name : (dn("gobj NULL of bad type"), null);
815
+ return or(e) ? e.gclass.gclass_name : (mn("gobj NULL of bad type"), null);
814
816
  }
815
817
  function et(e) {
816
- return Mn(e) ? e.gclass.gclass_name + "^" + Xe(e) : (dn("gobj bad type"), null);
818
+ return or(e) ? e.gclass.gclass_name + "^" + Xe(e) : (mn("gobj bad type"), null);
817
819
  }
818
820
  function tt(e) {
819
- if (!Mn(e)) return dn("gobj NULL of bad type"), null;
821
+ if (!or(e)) return mn("gobj NULL of bad type"), null;
820
822
  let t = et(e), n = nt(e);
821
823
  for (; n;) t = et(n) + "`" + t, n = nt(n);
822
824
  return t;
823
825
  }
824
826
  function nt(e) {
825
- return Mn(e) ? e.parent : (dn("gobj NULL of bad type"), null);
827
+ return or(e) ? e.parent : (mn("gobj NULL of bad type"), null);
826
828
  }
827
829
  function rt(e) {
828
- return Mn(e) ? !!(e.gobj_flag & w.gobj_flag_volatil) : (dn("gobj NULL of bad type"), null);
830
+ return or(e) ? !!(e.gobj_flag & N.gobj_flag_volatil) : (mn("gobj NULL of bad type"), null);
829
831
  }
830
832
  function lt(e) {
831
- return Mn(e) ? !!(e.gobj_flag & w.gobj_flag_pure_child) : (dn("gobj NULL of bad type"), null);
833
+ return or(e) ? !!(e.gobj_flag & N.gobj_flag_pure_child) : (mn("gobj NULL of bad type"), null);
832
834
  }
833
835
  function ot(e) {
834
- return !Mn(e) || !!(e.obflag & (R.obflag_destroyed | R.obflag_destroying));
836
+ return !or(e) || !!(e.obflag & (R.obflag_destroyed | R.obflag_destroying));
835
837
  }
836
838
  function st(e) {
837
- return Mn(e) ? e.bottom_gobj : (dn("gobj NULL of bad type"), null);
839
+ return or(e) ? e.bottom_gobj : (mn("gobj NULL of bad type"), null);
838
840
  }
839
841
  function it(e, t) {
840
- if (!Mn(e)) return dn("gobj NULL of bad type"), null;
841
- e.bottom_gobj && bn(`${et(e)}: bottom_gobj already set`), e.bottom_gobj = t;
842
+ if (!or(e)) return mn("gobj NULL of bad type"), null;
843
+ e.bottom_gobj && t && hn(`${et(e)}: bottom_gobj already set`), e.bottom_gobj = t;
842
844
  }
843
845
  function _t(e, t, n) {
844
- return Mn(e) ? t ? ge(e.gclass, t, n) : e.gclass.attrs_table : (dn("gobj NULL of bad type"), null);
846
+ return or(e) ? t ? ge(e.gclass, t, n) : e.gclass.attrs_table : (mn("gobj NULL of bad type"), null);
845
847
  }
846
848
  function at(e, t, n, r, l) {
847
- return ot(e) ? (dn("gobj NULL, destroying, or bad type"), 0) : ft(e.dl_children, t, n, r, l);
849
+ return ot(e) ? (mn("gobj NULL, destroying, or bad type"), 0) : ft(e.dl_children, t, n, r, l);
848
850
  }
849
851
  function ut(e, t, n, r, l) {
850
- return ot(e) ? (dn("gobj NULL, destroying, or bad type"), 0) : dt(e.dl_children, t, n, r, l);
852
+ return ot(e) ? (mn("gobj NULL, destroying, or bad type"), 0) : dt(e.dl_children, t, n, r, l);
851
853
  }
852
854
  function ct(e) {
853
- return "number" == typeof e && isFinite(e) ? e : (null == e || dn(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
855
+ return "number" == typeof e && isFinite(e) ? e : (null == e || mn(`walk callback must return a NUMBER (-1 stop, 0 descend, >0 skip children), got ${typeof e}: taken as 0`), 0);
854
856
  }
855
857
  function ft(e, t, n, r, l) {
856
858
  let o, s = [...e];
@@ -888,7 +890,7 @@
888
890
  return 0;
889
891
  }
890
892
  function bt(e, t) {
891
- if (!Mn(e)) return dn("gobj NULL of bad type"), !1;
893
+ if (!or(e)) return mn("gobj NULL of bad type"), !1;
892
894
  let n = t.__gclass_name__, r = t.__gobj_name__, l = t.__prefix_gobj_name__;
893
895
  t.__disabled__;
894
896
  let o = t.__state__;
@@ -898,13 +900,13 @@
898
900
  let t = l.length;
899
901
  if (l !== Xe(e).substring(0, t)) return !1;
900
902
  }
901
- if (o && o !== At(e)) return !1;
903
+ if (o && o !== kt(e)) return !1;
902
904
  let s = e.jn_attrs;
903
905
  for (const n of Object.keys(t)) if ("__gclass_name__" !== n && "__gobj_name__" !== n && "__prefix_gobj_name__" !== n && "__disabled__" !== n && "__state__" !== n && ht(e, n) && s[n] !== t[n]) return !1;
904
906
  return !0;
905
907
  }
906
908
  function pt(e, t) {
907
- if (ot(e)) return dn("gobj NULL or DESTROYED"), null;
909
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), null;
908
910
  const n = e.dl_children;
909
911
  for (let e = 0; e < n.length; e++) {
910
912
  const r = n[e];
@@ -932,7 +934,7 @@
932
934
  return o ? (n.splice(0, 1), n = n.join("`"), mt(o, n)) : null;
933
935
  }
934
936
  function ht(e, t) {
935
- return !Wn(t) && !!ge(e.gclass, t, !1);
937
+ return !sr(t) && !!ge(e.gclass, t, !1);
936
938
  }
937
939
  function Et(e, t, n) {
938
940
  let r = e.jn_attrs;
@@ -940,49 +942,49 @@
940
942
  let n = r[t];
941
943
  return e.gclass.gmt.mt_reading ? e.gclass.gmt.mt_reading(e, t, n) : n;
942
944
  }
943
- return dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
945
+ return mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
944
946
  }
945
- function Tt(e, t, n) {
947
+ function yt(e, t, n) {
946
948
  let r = {}, l = e.gclass.attrs_table;
947
949
  for (let n = 0; n < l.length; n++) {
948
950
  const o = l[n];
949
951
  if (o.name && (-1 === t || o.flag & t)) {
950
952
  let t;
951
- !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? t = Sn(e.jn_attrs, o.name) : (t = e.gclass.gmt.mt_reading(e, o.name), void 0 === t && (t = Sn(e.jn_attrs, o.name))), Nn(r, o.name, t);
953
+ !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? t = Wn(e.jn_attrs, o.name) : (t = e.gclass.gmt.mt_reading(e, o.name), void 0 === t && (t = Wn(e.jn_attrs, o.name))), Kn(r, o.name, t);
952
954
  }
953
955
  }
954
956
  return r;
955
957
  }
956
- function yt(e, t) {
958
+ function Tt(e, t) {
957
959
  if (t) {
958
- if (0 === Yn(t, "__disabled__")) return Ye(e);
959
- if (0 === Yn(t, "__running__")) return Ke(e);
960
- if (0 === Yn(t, "__playing__")) return Je(e);
961
- if (0 === Yn(t, "__service__")) return Be(e);
960
+ if (0 === ar(t, "__disabled__")) return Ye(e);
961
+ if (0 === ar(t, "__running__")) return Ke(e);
962
+ if (0 === ar(t, "__playing__")) return Je(e);
963
+ if (0 === ar(t, "__service__")) return Be(e);
962
964
  }
963
965
  let n = fe(e, t, !1);
964
- return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
966
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Wn(n, t) : e.gclass.gmt.mt_reading(e, t) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
965
967
  }
966
968
  function vt(e, t) {
967
- t && Yn(t, "__trace_level__");
969
+ t && ar(t, "__trace_level__");
968
970
  let n = fe(e, t, !1);
969
- return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
971
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Wn(n, t) : e.gclass.gmt.mt_reading(e, t) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
970
972
  }
971
973
  function jt(e, t) {
972
- if (t && 0 === Yn(t, "__state__")) return At(e);
974
+ if (t && 0 === ar(t, "__state__")) return kt(e);
973
975
  let n = fe(e, t, !1);
974
- return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
976
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Wn(n, t) : e.gclass.gmt.mt_reading(e, t) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
975
977
  }
976
- function St(e, t) {
978
+ function Ot(e, t) {
977
979
  let n = fe(e, t, !1);
978
- return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Sn(n, t) : e.gclass.gmt.mt_reading(e, t) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
980
+ return n ? !e.gclass.gmt.mt_reading || e.obflag & R.obflag_destroyed ? Wn(n, t) : e.gclass.gmt.mt_reading(e, t) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), 0);
979
981
  }
980
- function Ot(e, t, r, l) {
981
- if (!Un(t)) return dn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
982
+ function St(e, t, r, l) {
983
+ if (!er(t)) return mn(n("gobj_write_attr(%s): path must be a string", et(e))), -1;
982
984
  let o, s = e.jn_attrs, i = t.split("`");
983
985
  if (i.length <= 1) {
984
986
  let l = t;
985
- return l in s && s.hasOwnProperty(l) ? (s[l] = r, Cn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l), 0) : (dn(n("gobj_write_attr(%s): attr not found '%s'", et(e), l)), -1);
987
+ return l in s && s.hasOwnProperty(l) ? (s[l] = r, Xn(e.priv) && e.priv.hasOwnProperty(l) && (e.priv[l] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, l), 0) : (mn(n("gobj_write_attr(%s): attr not found '%s'", et(e), l)), -1);
986
988
  }
987
989
  let _ = i.length;
988
990
  for (let t = 0; t < _; t++) {
@@ -993,12 +995,12 @@
993
995
  continue;
994
996
  }
995
997
  let l = e.jn_attrs;
996
- if (o in l && l.hasOwnProperty(o)) return l[o] = r, Cn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.mt_writing && e.mt_writing(e, o), 0;
998
+ if (o in l && l.hasOwnProperty(o)) return l[o] = r, Xn(e.priv) && e.priv.hasOwnProperty(o) && (e.priv[o] = r), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o), 0;
997
999
  break;
998
1000
  }
999
- return dn(n("gobj_write_attr(%s): attr not found '%s'", et(e), o)), -1;
1001
+ return mn(n("gobj_write_attr(%s): attr not found '%s'", et(e), o)), -1;
1000
1002
  }
1001
- function Nt(e, t, n, r) {
1003
+ function wt(e, t, n, r) {
1002
1004
  let l = ce(e), o = 0;
1003
1005
  for (const [r, s] of Object.entries(t)) {
1004
1006
  let t = _t(e, r, !0);
@@ -1006,34 +1008,34 @@
1006
1008
  }
1007
1009
  return o;
1008
1010
  }
1009
- function wt(e, t, n) {
1011
+ function Nt(e, t, n) {
1010
1012
  let r = fe(e, t, !1);
1011
- return r ? (r[t] = xn(n), Cn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1013
+ return r ? (r[t] = ir(n), Xn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = r[t]), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1012
1014
  }
1013
1015
  function Rt(e, t, n) {
1014
1016
  let r = fe(e, t, !1);
1015
- return r ? (r[t] = parseInt(n), Cn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1017
+ return r ? (r[t] = parseInt(n), Xn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = r[t]), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1016
1018
  }
1017
1019
  function Dt(e, t, n) {
1018
1020
  let r = fe(e, t, !1);
1019
- return r ? (r[t] = String(n), Cn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = n), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (dn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1021
+ return r ? (r[t] = String(n), Xn(e.priv) && e.priv.hasOwnProperty(t) && (e.priv[t] = r[t]), e.obflag & R.obflag_created && !(e.obflag & R.obflag_destroyed) && e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, t), 0) : (mn(`${et(e)}: GClass Attribute NOT FOUND, attr ${t}`), -1);
1020
1022
  }
1021
1023
  function $t(e, t) {
1022
- if (ot(e)) return dn("gobj NULL or DESTROYED"), null;
1024
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), null;
1023
1025
  if (e.current_state.state_name === t) return !1;
1024
1026
  let r = pe(e.gclass, t);
1025
- if (!r) return dn(`${et(e)}: state unknown, state ${t}`), !1;
1027
+ if (!r) return mn(`${et(e)}: state unknown, state ${t}`), !1;
1026
1028
  e.last_state = e.current_state, e.current_state = r;
1027
- let l = q(e, "EV_STATE_CHANGED"), o = !!function(e) {
1028
- return x(e) & U.TRACE_STATES;
1029
+ let l = H(e, "EV_STATE_CHANGED"), o = !!function(e) {
1030
+ return x(e) & P.TRACE_STATES;
1029
1031
  }(e);
1030
- return (l || o) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ze(e), Xe(e), At(e), e.last_state.state_name))), !0;
1032
+ return (l || o) && (1 === C || L(n("🔀🔀 mach(%s%s^%s), new st(%s), prev st(%s)", e.running ? "" : "!!", Ze(e), Xe(e), kt(e), e.last_state.state_name))), !0;
1031
1033
  }
1032
- function At(e) {
1033
- return Mn(e) ? e.current_state.state_name : (dn("hgobj NULL"), "");
1034
+ function kt(e) {
1035
+ return or(e) ? e.current_state.state_name : (mn("hgobj NULL"), "");
1034
1036
  }
1035
- function kt(e, t, n) {
1036
- if (!Mn(e)) return dn("gobj NULL of bad type"), null;
1037
+ function At(e, t, n) {
1038
+ if (!or(e)) return mn("gobj NULL of bad type"), null;
1037
1039
  let r = ve(e.gclass, t);
1038
1040
  if (r) return r;
1039
1041
  if (n) {
@@ -1046,50 +1048,81 @@
1046
1048
  return null;
1047
1049
  }
1048
1050
  function It(e, t, n) {
1049
- let r = kt(e, t, !1);
1051
+ let r = At(e, t, !1);
1050
1052
  return !!r && !(n && !(r.event_flag & n));
1051
1053
  }
1052
1054
  function Ct(e, t, n) {
1053
- let r = kt(e, t, !1);
1055
+ let r = At(e, t, !1);
1054
1056
  return !!r && !(n && !(r.event_flag & n)) && !!(r.event_flag & D.EVF_OUTPUT_EVENT);
1055
1057
  }
1056
- var Lt = [], Ut = !1;
1057
- function Pt() {
1058
- Ut = !1;
1058
+ var Lt = [], Pt = !1;
1059
+ function Ut() {
1060
+ Pt = !1;
1059
1061
  let e = Lt;
1060
1062
  Lt = [];
1061
1063
  let t = 0;
1062
- for (let n of e) n.dst.obflag & (R.obflag_destroyed | R.obflag_destroying) || (Ft(n.dst, n.event, n.kw, n.src), t++);
1063
- return Lt.length > 0 && !Ut && (Ut = !0, setTimeout(Pt, 0)), t;
1064
+ for (let n = 0; n < e.length; n++) {
1065
+ const r = e[n];
1066
+ if (!(r.dst.obflag & (R.obflag_destroyed | R.obflag_destroying))) {
1067
+ try {
1068
+ Ft(r.dst, r.event, r.kw, r.src);
1069
+ } catch (t) {
1070
+ throw (Lt = e.slice(n + 1).concat(Lt)).length > 0 && !Pt && (Pt = !0, setTimeout(Ut, 0)), t;
1071
+ }
1072
+ t++;
1073
+ }
1074
+ }
1075
+ return Lt.length > 0 && !Pt && (Pt = !0, setTimeout(Ut, 0)), t;
1064
1076
  }
1065
1077
  function Ft(e, t, r, l) {
1066
- if (!(e && e instanceof O)) return dn("gobj dst NULL"), -1;
1067
- if (e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return dn("gobj dst DESTROYED"), -1;
1078
+ if (!(e && e instanceof S)) return mn("gobj dst NULL"), -1;
1079
+ if (e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return mn("gobj dst DESTROYED"), -1;
1068
1080
  let o = e.current_state;
1069
- if (!o) return dn(`${et(e)}: current_state NULL`), -1;
1070
- let s = q(e, t) && !z(l, t);
1081
+ if (!o) return mn(`${et(e)}: current_state NULL`), -1;
1082
+ let s = H(e, t) && !z(l, t);
1071
1083
  h++;
1072
1084
  let i = me(o, t);
1073
- if (!i) return e.gclass.gmt.mt_inject_event ? (h--, s && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", et(e), o.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", et(e), o.state_name, t || "", l && !l.running ? "!!" : "", et(l))), r && H(e) && An(r) && hn(r)), e.gclass.gmt.mt_inject_event(e, t, r, l)) : (s && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, t || "", l && !l.running ? "!!" : "", Ze(l), Xe(l))), dn(`📛📛 Event NOT DEFINED in state 📛📛: ${et(e)}, ${o.state_name}, ${t}`), h--, -1);
1085
+ if (!i) return e.gclass.gmt.mt_inject_event ? (h--, s && (L(1 === C ? n("🔜 %s %s%s %s", t || "", e.running ? "" : "!!", et(e), o.state_name) : n("🔃 mach(%s%s), st: %s, ev: %s, from(%s%s)", e.running ? "" : "!!", et(e), o.state_name, t || "", l && !l.running ? "!!" : "", et(l))), r && q(e) && Hn(r) && Pn(r)), e.gclass.gmt.mt_inject_event(e, t, r, l)) : (s && L(n("📛 mach(%s%s^%s), st: %s, ev: %s, 📛📛ERROR Event NOT DEFINED in state📛📛, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, t || "", l && !l.running ? "!!" : "", Ze(l), Xe(l))), mn(`📛📛 Event NOT DEFINED in state 📛📛: ${et(e)}, ${o.state_name}, ${t}`), h--, -1);
1074
1086
  if (s) {
1075
1087
  if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", et(e), o.state_name, l && !l.running ? "!!" : "", et(l)));
1076
1088
  else {
1077
1089
  let r = "";
1078
- i.action && (r = $r(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1090
+ i.action && (r = zr(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1079
1091
  }
1080
- r && H(e) && An(r) && hn(r);
1092
+ r && q(e) && Hn(r) && Pn(r);
1081
1093
  }
1082
1094
  i.next_state && $t(e, i.next_state);
1083
1095
  let _ = -1;
1084
1096
  try {
1085
1097
  i.action && (_ = i.action(e, t, r, l));
1086
- } finally {}
1087
- return !s || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, t || "", Pn(_) ? _ : 0)), h--, _;
1098
+ } catch (n) {
1099
+ if (h--, !n || !n.__gobj_logged__) {
1100
+ mn(`${et(e)}: action of ${t} in ${e.current_state.state_name} THREW: ${n && n.stack ? n.stack : n}`);
1101
+ try {
1102
+ n.__gobj_logged__ = !0;
1103
+ } catch (e) {}
1104
+ }
1105
+ throw n;
1106
+ }
1107
+ return !s || 1 === C || e.obflag & R.obflag_destroyed || L(n("<- mach(%s%s^%s), st: %s, ev: %s, ret: %d", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, t || "", tr(_) ? _ : 0)), h--, _;
1088
1108
  }
1089
- var Gt = Object.freeze({
1090
- __hard_subscription__: 1,
1091
- __own_event__: 2
1092
- }), Vt = [
1109
+ var Vt = Object.freeze({
1110
+ __rename_event_name__: 1,
1111
+ __hard_subscription__: 2,
1112
+ __own_event__: 4
1113
+ });
1114
+ function Gt(e) {
1115
+ let t = String(e).toLowerCase();
1116
+ for (let e in d) {
1117
+ let n = d[e].dl_events;
1118
+ for (let e = 0; e < n.length; e++) {
1119
+ let r = n[e];
1120
+ if (r.event_name && r.event_name.toLowerCase() === t) return r;
1121
+ }
1122
+ }
1123
+ return null;
1124
+ }
1125
+ var Mt = [
1093
1126
  j(E.DTP_POINTER, "publisher", 0, null, "publisher gobj"),
1094
1127
  j(E.DTP_POINTER, "subscriber", 0, null, "subscriber gobj"),
1095
1128
  j(E.DTP_STRING, "event", 0, "", "event name subscribed"),
@@ -1102,48 +1135,63 @@
1102
1135
  j(E.DTP_STRING, "__service__", 0, "", "subscription service"),
1103
1136
  v()
1104
1137
  ];
1105
- function Mt(e, t, n, r, l) {
1106
- let o = tr(t, r, "__config__", null), s = tr(t, r, "__global__", null), i = tr(t, r, "__local__", null), _ = nr(t, r, "__filter__", null), a = !0;
1107
- if (t && t !== er(null, e, "publisher", null) && (a = !1), l && l !== er(null, e, "subscriber", null) && (a = !1), n && n !== Zn(null, e, "event", "") && (a = !1), In(o) > 0) {
1108
- let t = tr(null, e, "__config__", null);
1109
- In(t) > 0 && Tn(t, o) || (a = !1);
1138
+ function Wt(e, t) {
1139
+ let n = e ? e.__config__ : null;
1140
+ if (!Xn(n) || !fr(n, "__hard_subscription__") && !fr(n, "__own_event__") && !fr(n, "__rename_event_name__")) return {
1141
+ kw: e,
1142
+ renamed_event: ""
1143
+ };
1144
+ let r = Object.assign({}, e), l = Object.assign({}, n);
1145
+ r.__config__ = l;
1146
+ let o = "", s = l.__rename_event_name__, i = "string" != typeof s || sr(s) ? null : Gt(s);
1147
+ return i && (o = i.event_name, delete l.__rename_event_name__, t && Qn(r.__global__) > 0 && (r.__global__ = Object.assign({}, r.__global__, { __original_event_name__: t }))), delete l.__hard_subscription__, delete l.__own_event__, {
1148
+ kw: r,
1149
+ renamed_event: o
1150
+ };
1151
+ }
1152
+ function xt(e, t, n, r, l, o) {
1153
+ let s = Tr(t, l, "__config__", null), i = Tr(t, l, "__global__", null), _ = Tr(t, l, "__local__", null), a = vr(t, l, "__filter__", null), u = !0;
1154
+ if (t && t !== yr(null, e, "publisher", null) && (u = !1), o && o !== yr(null, e, "subscriber", null) && (u = !1), n && n !== Er(null, e, "event", "") && (u = !1), r && r !== Er(null, e, "renamed_event", "") && (u = !1), Qn(s) > 0) {
1155
+ let t = Tr(null, e, "__config__", null);
1156
+ Qn(t) > 0 && Fn(t, s) || (u = !1);
1110
1157
  }
1111
- if (In(s) > 0) {
1112
- let t = tr(null, e, "__global__", null);
1113
- In(t) > 0 && Tn(t, s) || (a = !1);
1158
+ if (Qn(i) > 0) {
1159
+ let t = Tr(null, e, "__global__", null);
1160
+ Qn(t) > 0 && Fn(t, i) || (u = !1);
1114
1161
  }
1115
- if (In(i) > 0) {
1116
- let t = tr(null, e, "__local__", null);
1117
- In(t) > 0 && Tn(t, i) || (a = !1);
1162
+ if (Qn(_) > 0) {
1163
+ let t = Tr(null, e, "__local__", null);
1164
+ Qn(t) > 0 && Fn(t, _) || (u = !1);
1118
1165
  }
1119
- if (In(_) > 0) {
1120
- let t = nr(null, e, "__filter__", null);
1121
- In(t) > 0 && Tn(t, _) || (a = !1);
1166
+ if (Qn(a) > 0) {
1167
+ let t = vr(null, e, "__filter__", null);
1168
+ Qn(t) > 0 && Fn(t, a) || (u = !1);
1122
1169
  }
1123
- return a;
1170
+ return u;
1124
1171
  }
1125
- function Wt(e, t, n, r, l) {
1126
- let o = [];
1127
- for (let s = 0; s < e.length; s++) {
1128
- let i = e[s];
1129
- Mt(i, t, n, r, l) && Rn(o, i);
1172
+ function Kt(e, t, n, r, l, o) {
1173
+ let s = [];
1174
+ for (let i = 0; i < e.length; i++) {
1175
+ let _ = e[i];
1176
+ xt(_, t, n, r, l, o) && Bn(s, _);
1130
1177
  }
1131
- return o;
1132
- }
1133
- function xt(e, t, n, r, l) {
1134
- for (let o = 0; o < e.length; o++) if (Mt(e[o], t, n, r, l)) return o;
1135
- return -1;
1136
- }
1137
- function Kt(e, t, r, l) {
1138
- let o = er(e, t, "publisher", null, zt.KW_REQUIRED), s = er(e, t, "subscriber", null, zt.KW_REQUIRED), i = Zn(e, t, "event", "", zt.KW_REQUIRED);
1139
- if (!!(Xn(e, t, "subs_flag", null, zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
1140
- (B(s) || B(o)) && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), hn(t)), o.obflag & R.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
1141
- let _ = xt(o.dl_subscriptions, o, i, t, s);
1142
- return _ >= 0 ? $n(o.dl_subscriptions, _) : (dn(`${et(e)}: subscription in publisher not found`), hn(t)), _ = xt(s.dl_subscribings, o, i, t, s), _ >= 0 ? $n(s.dl_subscribings, _) : (dn(`${et(e)}: subscription in subscriber not found`), hn(t)), 0;
1178
+ return s;
1143
1179
  }
1144
- function Yt(e, t, r, l) {
1145
- if (null == r && (r = {}), !e) return dn(`publisher NULL: ev ${t}`), 0;
1146
- if (!l) return dn(`subscriber NULL: ev ${t}`), 0;
1180
+ function Yt(e, t) {
1181
+ return e.indexOf(t);
1182
+ }
1183
+ function Bt(e, t, r, l) {
1184
+ let o = yr(e, t, "publisher", null, Xt.KW_REQUIRED), s = yr(e, t, "subscriber", null, Xt.KW_REQUIRED), i = Er(e, t, "event", "", Xt.KW_REQUIRED);
1185
+ if (!!(hr(e, t, "subs_flag", null, Xt.KW_REQUIRED) & Vt.__hard_subscription__) && !r) return -1;
1186
+ let _ = B(s) || B(o);
1187
+ if (Yt(o.dl_subscriptions, t) < 0) return _ && L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", et(o), et(s))), 1;
1188
+ _ && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), Tn(t)), o.obflag & R.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
1189
+ let a = Yt(o.dl_subscriptions, t);
1190
+ return a >= 0 ? qn(o.dl_subscriptions, a) : (mn(`${et(e)}: subscription in publisher not found`), Tn(t)), a = Yt(s.dl_subscribings, t), a >= 0 ? qn(s.dl_subscribings, a) : (mn(`${et(e)}: subscription in subscriber not found`), Tn(t)), 0;
1191
+ }
1192
+ function Jt(e, t, r, l) {
1193
+ if (null == r && (r = {}), !e) return mn(`publisher NULL: ev ${t}`), 0;
1194
+ if (!l) return mn(`subscriber NULL: ev ${t}`), 0;
1147
1195
  const o = /* @__PURE__ */ new Set([
1148
1196
  "__config__",
1149
1197
  "__global__",
@@ -1152,57 +1200,72 @@
1152
1200
  "__service__"
1153
1201
  ]);
1154
1202
  if (Object.keys(r).forEach((n) => {
1155
- o.has(n) || dn(`${et(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1156
- }), Wn(t)) t = "";
1157
- else if (!(Ct(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${et(e)}, ${t}`), 0;
1158
- let s = Wt(e.dl_subscriptions, e, t, r, l);
1159
- kn(s) > 0 && (dn(`${et(e)}: ${kn(s)} subscription(s) REPEATED, will be deleted and override`), hn(s, "subscription REPEATED"), Bt(e, s, !1));
1160
- let i = function(e, t, n, r) {
1161
- let l = _e(e, Vt);
1162
- wn(l, "event", t), wn(l, "subscriber", r), wn(l, "publisher", e);
1203
+ o.has(n) || mn(`${et(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
1204
+ }), sr(t)) t = "";
1205
+ else if (!(Ct(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${et(e)}, ${t}`), 0;
1206
+ let s = Wt(r, t), i = Kt(e.dl_subscriptions, e, t, s.renamed_event, s.kw, l), _ = null;
1207
+ for (let t = 0; t < i.length; t++) if (hr(e, i[t], "subs_flag", 0, Xt.KW_REQUIRED) & Vt.__hard_subscription__) {
1208
+ _ = i[t];
1209
+ break;
1210
+ }
1211
+ if (_) return hn(`${et(e)}: Hard subscription REPEATED, the one there is kept and returned (event: ${t}, subscriber: ${et(l)})`), _;
1212
+ zn(i) > 0 && (mn(`${et(e)}: ${zn(i)} subscription(s) REPEATED, will be deleted and override`), Tn(i, "subscription REPEATED"), qt(e, i, !1));
1213
+ let a = function(e, t, n, r) {
1214
+ let l = _e(e, Mt);
1215
+ Yn(l, "event", t), Yn(l, "subscriber", r), Yn(l, "publisher", e);
1163
1216
  let o = 0;
1164
1217
  if (n) {
1165
- let t = tr(e, n, "__config__", null), r = tr(e, n, "__global__", null), s = tr(e, n, "__local__", null), i = nr(e, n, "__filter__", null), _ = Zn(e, n, "__service__", "");
1166
- if (In(r) > 0 && wn(l, "__global__", En(r)), In(t) > 0) {
1167
- let n = En(t);
1168
- if (wn(l, "__config__", n), Hn(n, "__hard_subscription__")) {
1169
- let t = Qn(e, n, "__hard_subscription__", !1);
1170
- On(n, "__hard_subscription__"), t && (o |= Gt.__hard_subscription__);
1218
+ let r = Tr(e, n, "__config__", null), s = Tr(e, n, "__global__", null), i = Tr(e, n, "__local__", null), _ = vr(e, n, "__filter__", null), a = Er(e, n, "__service__", "");
1219
+ if (Qn(s) > 0 && Yn(l, "__global__", Un(s)), Qn(r) > 0) {
1220
+ let n = Un(r);
1221
+ Yn(l, "__config__", n);
1222
+ let s = Er(e, n, "__rename_event_name__", "");
1223
+ if (!sr(s)) {
1224
+ let r = Gt(s);
1225
+ if (r) {
1226
+ Yn(l, "renamed_event", r.event_name), delete n.__rename_event_name__, o |= Vt.__rename_event_name__;
1227
+ let s = Tr(e, l, "__global__", null);
1228
+ Xn(s) || (s = {}, Yn(l, "__global__", s)), s.__original_event_name__ = t;
1229
+ } else mn(`${et(e)}: EVENT NOT FOUND (__rename_event_name__: ${s})`);
1171
1230
  }
1172
- if (Hn(n, "__own_event__")) {
1173
- let t = Qn(e, n, "__own_event__", !1);
1174
- On(n, "__own_event__"), t && (o |= Gt.__own_event__);
1231
+ if (fr(n, "__hard_subscription__")) {
1232
+ let t = mr(e, n, "__hard_subscription__", !1);
1233
+ xn(n, "__hard_subscription__"), t && (o |= Vt.__hard_subscription__);
1234
+ }
1235
+ if (fr(n, "__own_event__")) {
1236
+ let t = mr(e, n, "__own_event__", !1);
1237
+ xn(n, "__own_event__"), t && (o |= Vt.__own_event__);
1175
1238
  }
1176
1239
  }
1177
- In(s) > 0 && wn(l, "__local__", En(s)), In(i) > 0 && wn(l, "__filter__", En(i)), Wn(_) || wn(l, "__service__", _);
1240
+ Qn(i) > 0 && Yn(l, "__local__", Un(i)), Qn(_) > 0 && Yn(l, "__filter__", Un(_)), sr(a) || Yn(l, "__service__", a);
1178
1241
  }
1179
- return wn(l, "subs_flag", o), l;
1242
+ return Yn(l, "subs_flag", o), l;
1180
1243
  }(e, t, r, l);
1181
- if (!i) return dn(`${et(e)}: _create_subscription() FAILED`), 0;
1182
- if (Rn(e.dl_subscriptions, i), Rn(l.dl_subscribings, i), (B(l) || B(e)) && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", et(e), et(l))), r && (H(l) || H(e)) && hn(r)), e.gclass.gmt.mt_subscription_added) {
1183
- let t = e.gclass.gmt.mt_subscription_added(e, i);
1184
- (t < 0 || !1 === t) && (Kt(e, i, !0, !0), i = 0);
1244
+ if (!a) return mn(`${et(e)}: _create_subscription() FAILED`), 0;
1245
+ if (Bn(e.dl_subscriptions, a), Bn(l.dl_subscribings, a), (B(l) || B(e)) && (L(n("💜💜👍 subscribing event '%s', publisher '%s', subscriber %s", t || "", et(e), et(l))), r && (q(l) || q(e)) && Pn(r)), e.gclass.gmt.mt_subscription_added) {
1246
+ let t = e.gclass.gmt.mt_subscription_added(e, a);
1247
+ (t < 0 || !1 === t) && (Bt(e, a, !0, !0), a = 0);
1185
1248
  }
1186
- return i;
1187
- }
1188
- function Bt(e, t, n) {
1189
- let r = [...t];
1190
- for (let t = 0; t < r.length; t++) Kt(e, r[t], n, !1);
1191
- return 0;
1249
+ return a;
1192
1250
  }
1193
- function Jt(e, t, n, r) {
1194
- return null == n && (n = {}), Wt(e.dl_subscriptions, e, t, n, r);
1251
+ function qt(e, t, n) {
1252
+ let r = [...t], l = 0;
1253
+ for (let t = 0; t < r.length; t++) Bt(e, r[t], n, !1) > 0 && l++;
1254
+ return l && hn(`${et(e)}: Subscription(s) already removed, nothing to remove (count: ${l})`), 0;
1195
1255
  }
1196
1256
  function Ht(e, t, n, r) {
1197
- return Wt(e.dl_subscribings, r, t, n, e);
1198
- }
1199
- function qt(e, t, r) {
1200
- if (Cn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return dn("gobj NULL or DESTROYED"), -1;
1201
- if (Wn(t)) return dn(`${et(e)}: event EMPTY`), -1;
1202
- let l = kt(e, t, !0);
1203
- if (!(l && l.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${et(e)}, ev ${t}`), -1;
1204
- let o = (B(e) || q(e, t)) && !z(e, t);
1205
- if (o && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", et(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, "", t || "", "")), H(e) && An(r) && hn(r)), e.gclass.gmt.mt_publish_event) {
1257
+ return null == n && (n = {}), Kt(e.dl_subscriptions, e, t, null, n, r);
1258
+ }
1259
+ function zt(e, t, n, r) {
1260
+ return Kt(e.dl_subscribings, r, t, null, n, e);
1261
+ }
1262
+ function Qt(e, t, r) {
1263
+ if (Xn(r) || (r = {}), !e || e.obflag & (R.obflag_destroyed | R.obflag_destroying)) return mn("gobj NULL or DESTROYED"), -1;
1264
+ if (sr(t)) return mn(`${et(e)}: event EMPTY`), -1;
1265
+ let l = At(e, t, !0);
1266
+ if (!(l && l.event_flag & (D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${et(e)}, ev ${t}`), -1;
1267
+ let o = (B(e) || H(e, t)) && !z(e, t);
1268
+ if (o && (L(1 === C ? n("🔝🔝 %s %s%s %s", t || "", e.running ? "" : "!!", et(e), e.current_state.state_name) : n("🔝🔝 mach(%s%s^%s), st: %s, ev: %s%s%s", e.running ? "" : "!!", Ze(e), Xe(e), e.current_state.state_name, "", t || "", "")), q(e) && Hn(r) && Pn(r)), e.gclass.gmt.mt_publish_event) {
1206
1269
  let n = e.gclass.gmt.mt_publish_event(e, t, r);
1207
1270
  if (n <= 0) return n;
1208
1271
  }
@@ -1214,29 +1277,31 @@
1214
1277
  if (n < 0) break;
1215
1278
  if (!n) continue;
1216
1279
  }
1217
- let u = er(e, a, "subscriber", null, zt.KW_REQUIRED);
1280
+ let u = yr(e, a, "subscriber", null, Xt.KW_REQUIRED);
1218
1281
  if (!u || ot(u)) continue;
1219
- let c = Xn(e, a, "subs_flag", 0, zt.KW_REQUIRED), f = Zn(e, a, "event", "", zt.KW_REQUIRED);
1220
- if (Wn(f) || 0 === Yn(f, t)) {
1221
- tr(e, a, "__config__", null, 0);
1222
- let l = tr(e, a, "__global__", null, 0), s = tr(e, a, "__local__", null, 0), f = nr(e, a, "__filter__", null, 0), g = 1;
1223
- if (e.gclass.gmt.mt_publication_filter ? g = e.gclass.gmt.mt_publication_filter(e, t, r, u) : In(f) > 0 && (g = sr(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", g ? "👍" : "👎", t || "", et(u), et(e))), hn(f))), g < 0) break;
1224
- if (!g) continue;
1225
- let d = kt(u, t, !0);
1226
- if (d && d.event_flag & D.EVF_SYSTEM_EVENT && !It(u, d.event_name, 0)) continue;
1227
- let b = r;
1228
- (In(s) > 0 || In(l) > 0) && (b = Object.assign({}, r)), In(s) > 0 && Jn(b, s), In(l) > 0 && yn(b, En(l)), o && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", t || "", u.running ? "" : "!!", et(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s, from(%s%s)", u.running ? "" : "!!", et(u), At(u), t || "", e && !e.running ? "!!" : "", et(e))), H(e) && An(b) && hn(b));
1229
- let p = Ft(u, t, b, e);
1230
- if (p < 0 && c & Gt.__own_event__) {
1282
+ let c = hr(e, a, "subs_flag", 0, Xt.KW_REQUIRED), f = Er(e, a, "event", "", Xt.KW_REQUIRED);
1283
+ if (sr(f) || 0 === ar(f, t)) {
1284
+ Tr(e, a, "__config__", null, 0);
1285
+ let l = Tr(e, a, "__global__", null, 0), s = Tr(e, a, "__local__", null, 0), f = vr(e, a, "__filter__", null, 0), g = a.renamed_event;
1286
+ sr(g) && (g = t);
1287
+ let d = 1;
1288
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Qn(f) > 0 && (d = wr(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), Tn(f))), d < 0) break;
1289
+ if (!d) continue;
1290
+ let b = At(u, t, !0);
1291
+ if (b && b.event_flag & D.EVF_SYSTEM_EVENT && !It(u, b.event_name, 0)) continue;
1292
+ let p = r;
1293
+ (Qn(s) > 0 || Qn(l) > 0) && (p = Object.assign({}, r)), Qn(s) > 0 && cr(p, s), Qn(l) > 0 && Vn(p, Un(l)), o && (L(1 === C ? n("🔝🔄 %s (%s) %s%s", t || "", g || "", u.running ? "" : "!!", et(u)) : n("🔝🔄 mach(%s%s), st: %s, ev: %s (%s), from(%s%s)", u.running ? "" : "!!", et(u), kt(u), t || "", g || "", e && !e.running ? "!!" : "", et(e))), q(e) && Hn(p) && Pn(p));
1294
+ let m = Ft(u, g, p, e);
1295
+ if (m < 0 && c & Vt.__own_event__) {
1231
1296
  i = -1;
1232
1297
  break;
1233
1298
  }
1234
- if (_ += p, i++, ot(e)) break;
1299
+ if (_ += m, i++, ot(e)) break;
1235
1300
  }
1236
1301
  }
1237
- return i || l && l.event_flag & D.EVF_NO_WARN_SUBS || bn(`${et(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
1302
+ return i || l && l.event_flag & D.EVF_NO_WARN_SUBS || hn(`${et(e)}: Publish event WITHOUT subscribers, ev ${t}`), _;
1238
1303
  }
1239
- var zt = Object.freeze({
1304
+ var Xt = Object.freeze({
1240
1305
  KW_REQUIRED: 1,
1241
1306
  KW_CREATE: 2,
1242
1307
  KW_WILD_NUMBER: 4,
@@ -1256,51 +1321,59 @@
1256
1321
  JSON_FALSE: 7,
1257
1322
  JSON_NULL: 8
1258
1323
  });
1259
- var Qt = "undefined" != typeof window ? window.console : console, Xt = Qt.error, Zt = Qt.warn, en = Qt.info, tn = Qt.debug, nn = null, rn = 600, ln = [];
1260
- var on = !0;
1261
- var sn = null;
1262
- function _n(e, t) {
1263
- if (!on) return !1;
1264
- if (!sn) return !0;
1324
+ var Zt = "undefined" != typeof window ? window.console : console, en = Zt.error, tn = Zt.warn, nn = Zt.info, rn = Zt.debug, ln = null, on = 600, sn = [];
1325
+ var _n = !0;
1326
+ var an = null;
1327
+ function un(e, t) {
1328
+ if (!_n) return !1;
1329
+ if (!an) return !0;
1265
1330
  try {
1266
- return !!sn(e, t);
1331
+ return !!an(e, t);
1267
1332
  } catch (e) {
1268
1333
  return !0;
1269
1334
  }
1270
1335
  }
1271
- var an = !1;
1272
- function un(e, t, n) {
1273
- an || (function(e, t, n) {
1336
+ var cn = !1;
1337
+ function fn(e, t, n) {
1338
+ cn || (function(e, t, n) {
1274
1339
  let r = t;
1275
1340
  if ("json" === e) try {
1276
1341
  r = JSON.stringify(t);
1277
1342
  } catch (e) {
1278
1343
  r = String(t);
1279
1344
  }
1280
- ln.push([
1345
+ sn.push([
1281
1346
  e,
1282
1347
  r,
1283
1348
  n
1284
- ]), ln.length > rn && ln.shift();
1285
- }(e, t, n), cn(e, t, n));
1349
+ ]), sn.length > on && sn.shift();
1350
+ }(e, t, n), gn(e, t, n));
1286
1351
  }
1287
- function cn(e, t, n) {
1288
- if (nn && !an) {
1289
- an = !0;
1352
+ function gn(e, t, n) {
1353
+ if (ln && !cn) {
1354
+ cn = !0;
1290
1355
  try {
1291
- nn(e, t, n);
1356
+ ln(e, t, n);
1292
1357
  } catch (e) {} finally {
1293
- an = !1;
1358
+ cn = !1;
1294
1359
  }
1295
1360
  }
1296
1361
  }
1297
- function fn(e) {
1298
- e ? (Xt = e, Zt = e) : (Xt = Qt.error, Zt = Qt.warn);
1362
+ function dn(e) {
1363
+ e ? (en = e, tn = e) : (en = Zt.error, tn = Zt.warn);
1364
+ }
1365
+ function bn(e) {
1366
+ try {
1367
+ return JSON.stringify(e);
1368
+ } catch (t) {
1369
+ return String(e);
1370
+ }
1299
1371
  }
1300
- function gn(e) {
1372
+ function pn(e) {
1301
1373
  const t = Array.prototype.slice.call(arguments);
1302
1374
  let n = "";
1303
1375
  if ("string" == typeof e) {
1376
+ if (1 === t.length) return e;
1304
1377
  let r = 1;
1305
1378
  n = e.replace(/%[sdifoO]/g, (e) => {
1306
1379
  const n = t[r++];
@@ -1310,45 +1383,215 @@
1310
1383
  case "%i": return parseInt(n);
1311
1384
  case "%f": return parseFloat(n);
1312
1385
  case "%o":
1313
- case "%O": return "object" == typeof n ? JSON.stringify(n) : String(n);
1386
+ case "%O": return "object" == typeof n ? bn(n) : String(n);
1314
1387
  default: return e;
1315
1388
  }
1316
1389
  });
1317
- const l = t.slice(r).map((e) => "object" == typeof e ? JSON.stringify(e) : String(e));
1390
+ const l = t.slice(r).map((e) => "object" == typeof e ? bn(e) : String(e));
1318
1391
  l.length > 0 && (n += " " + l.join(" "));
1319
- } else n = t.map((e) => "object" == typeof e ? JSON.stringify(e) : String(e)).join(" ");
1392
+ } else n = t.map((e) => "object" == typeof e ? bn(e) : String(e)).join(" ");
1320
1393
  return n;
1321
1394
  }
1322
- function dn(e) {
1323
- let t = gn(e), n = wr();
1324
- Xt && (Xt === Qt.error ? _n("error", t) && Xt("%c" + n + " ERROR: " + String(t), "color:red") : (_n("error", t) && Qt.error("%c" + n + " ERROR: " + String(t), "color:red"), Xt(`${n} ERROR: ${String(t)}`))), un("error", t, n);
1395
+ function mn(e, ...t) {
1396
+ let n = pn(e, ...t), r = Jr();
1397
+ en && (en === Zt.error ? un("error", n) && en("%c" + r + " ERROR: " + String(n), "color:red") : (un("error", n) && Zt.error("%c" + r + " ERROR: " + String(n), "color:red"), en(`${r} ERROR: ${String(n)}`))), fn("error", n, r);
1325
1398
  }
1326
- function bn(e) {
1327
- let t = gn(e), n = wr();
1328
- Zt && (Zt === Qt.warn ? _n("warning", t) && Zt("%c" + n + " WARNING: " + String(t), "color:yellow") : (_n("warning", t) && Qt.warn("%c" + n + " WARNING: " + String(t), "color:yellow"), Zt(`${n} WARNING: ${String(t)}`))), un("warning", t, n);
1399
+ function hn(e, ...t) {
1400
+ let n = pn(e, ...t), r = Jr();
1401
+ tn && (tn === Zt.warn ? un("warning", n) && tn("%c" + r + " WARNING: " + String(n), "color:yellow") : (un("warning", n) && Zt.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), tn(`${r} WARNING: ${String(n)}`))), fn("warning", n, r);
1329
1402
  }
1330
- function pn(e) {
1331
- let t = gn(e), n = wr();
1332
- tn && _n("debug", t) && tn("%c" + n + " DEBUG: " + String(t), "color:silver"), un("debug", t, n);
1403
+ function En(e, ...t) {
1404
+ let n = pn(e, ...t), r = Jr();
1405
+ rn && un("debug", n) && rn("%c" + r + " DEBUG: " + String(n), "color:silver"), fn("debug", n, r);
1406
+ }
1407
+ function yn(e, ...t) {
1408
+ let n = pn(e, ...t), r = Jr();
1409
+ rn && un("msg", n) && rn("%c" + r + " MSG: " + String(n), "color:cyan"), fn("msg", n, r);
1410
+ }
1411
+ function Tn(e, t) {
1412
+ un("json", t) && (t && Zt.warn("=====> " + t), Zt.dir(e)), fn("json", e, Jr());
1413
+ }
1414
+ var vn = [
1415
+ "passw",
1416
+ "pwd",
1417
+ "passphrase",
1418
+ "secret",
1419
+ "token",
1420
+ "jwt",
1421
+ "bearer",
1422
+ "authorization",
1423
+ "cookie",
1424
+ "credential",
1425
+ "salt"
1426
+ ], jn = [
1427
+ "apikey",
1428
+ "sessionid",
1429
+ "sessionkey",
1430
+ "authdata"
1431
+ ], On = /* @__PURE__ */ new Set([
1432
+ "endpoint",
1433
+ "url",
1434
+ "uri",
1435
+ "domain",
1436
+ "path",
1437
+ "file",
1438
+ "public",
1439
+ "pub",
1440
+ "count",
1441
+ "counts",
1442
+ "type",
1443
+ "name",
1444
+ "len",
1445
+ "length",
1446
+ "size",
1447
+ "max",
1448
+ "min",
1449
+ "ttl",
1450
+ "timeout",
1451
+ "expiry",
1452
+ "expires",
1453
+ "mode"
1454
+ ]);
1455
+ function Sn(e) {
1456
+ if ("string" != typeof e || e.length < 3) return !1;
1457
+ let t = e.toLowerCase(), n = !1;
1458
+ for (const e of vn) if (t.indexOf(e) >= 0) {
1459
+ n = !0;
1460
+ break;
1461
+ }
1462
+ if (!n) {
1463
+ let e = t.replace(/[_\-. \t]/g, "");
1464
+ for (const t of jn) if (e.indexOf(t) >= 0) {
1465
+ n = !0;
1466
+ break;
1467
+ }
1468
+ }
1469
+ if (n || (n = t.indexOf("priv") >= 0 && t.indexOf("key") >= 0), !n) return !1;
1470
+ for (const e of t.split(/[_\-. \t]/)) if (On.has(e)) return !1;
1471
+ return !0;
1472
+ }
1473
+ function wn(e, t, n) {
1474
+ const r = (e) => " " === e || " " === e, l = (t) => n && e[t] === n && (t + 1 >= e.length || r(e[t + 1]));
1475
+ let o = t;
1476
+ for (;;) {
1477
+ for (; o < e.length && !r(e[o]);) {
1478
+ if (l(o)) return o;
1479
+ o++;
1480
+ }
1481
+ if (o >= e.length) return o;
1482
+ let t = o;
1483
+ for (; t < e.length && r(e[t]);) t++;
1484
+ if (t >= e.length || l(t)) return o;
1485
+ for (let n = t; n < e.length && !r(e[n]) && !l(n); n++) if ("=" === e[n] && n > t) return o;
1486
+ o = t;
1487
+ }
1488
+ }
1489
+ var Nn = 128, Rn = 4194304, Dn = "<not shown: too large to mask>";
1490
+ function $n(e) {
1491
+ if ("string" != typeof e || e.indexOf("=") < 0) return null;
1492
+ if (e.length > Rn) return Dn;
1493
+ let t, n = !1, r = /(^|[ \t])attribute=["']?([^ \t"']*)/g;
1494
+ for (; null !== (t = r.exec(e));) Sn(t[2].slice(-128)) && (n = !0);
1495
+ let l = [], o = 0, s = !1, i = "", _ = 0, a = 0;
1496
+ const u = (t) => t >= e.length || " " === e[t] || " " === e[t];
1497
+ for (; a < e.length;) {
1498
+ let t = e[a];
1499
+ if (" " === t || " " === t) {
1500
+ a++, _ = a;
1501
+ continue;
1502
+ }
1503
+ if ("\"" !== t && "'" !== t || (i || 0 !== a && " " !== e[a - 1] && " " !== e[a - 1] && "=" !== e[a - 1] ? t === i && u(a + 1) && (i = "") : i = t), "=" !== t) {
1504
+ a++;
1505
+ continue;
1506
+ }
1507
+ let r = e.substring(Math.max(_, a - Nn), a);
1508
+ if (_ = a + 1, !(Sn(r) || n && "value" === r.toLowerCase())) {
1509
+ a++;
1510
+ continue;
1511
+ }
1512
+ a++;
1513
+ let c, f = "\"" === e[a] || "'" === e[a] ? e[a] : "";
1514
+ if (f) {
1515
+ for (c = a + 1; c < e.length && e[c] !== f;) c++;
1516
+ e[c] === f && c++;
1517
+ } else c = wn(e, a, i);
1518
+ c > a && (l.push(e.substring(o, a)), l.push("********"), o = c, s = !0), a = c, _ = a;
1519
+ }
1520
+ return s ? (l.push(e.substring(o)), l.join("")) : null;
1521
+ }
1522
+ var kn = 64, An = "<not shown: the masking failed>";
1523
+ var In = Symbol("mask-in-progress");
1524
+ function Cn(e, t, n, r) {
1525
+ if ("string" == typeof e) {
1526
+ if (e.length > r.left) return r.left = 0, Dn;
1527
+ r.left -= e.length;
1528
+ let t = $n(e);
1529
+ return null !== t ? t : e;
1530
+ }
1531
+ let l = Array.isArray(e);
1532
+ if (!l && !function(e) {
1533
+ if (null === e || "object" != typeof e) return !1;
1534
+ let t = Object.getPrototypeOf(e);
1535
+ return t === Object.prototype || null === t;
1536
+ }(e)) return e;
1537
+ if (r.left <= 0) return Dn;
1538
+ if (t.has(e)) {
1539
+ let n = t.get(e);
1540
+ return n === In ? "<cycle>" : n;
1541
+ }
1542
+ if (n >= kn) return "<deeper not shown>";
1543
+ r.left -= 1, t.set(e, In);
1544
+ let o, s = !1, i = !1;
1545
+ if (l) {
1546
+ o = [];
1547
+ for (let l = 0; l < e.length; l++) {
1548
+ if (r.left <= 0) {
1549
+ i = !0;
1550
+ break;
1551
+ }
1552
+ r.left -= 1;
1553
+ let _ = Cn(e[l], t, n + 1, r);
1554
+ _ !== e[l] && (s = !0), o.push(_);
1555
+ }
1556
+ i && o.push(Dn);
1557
+ } else {
1558
+ o = Object.create(Object.getPrototypeOf(e));
1559
+ let l = "string" == typeof e.attribute && Sn(e.attribute.slice(-128));
1560
+ for (const _ in e) {
1561
+ if (!Object.prototype.hasOwnProperty.call(e, _)) continue;
1562
+ if (r.left <= 0) {
1563
+ i = !0;
1564
+ break;
1565
+ }
1566
+ r.left -= 1 + _.length;
1567
+ let a, u = e[_];
1568
+ a = (Sn(_.slice(-128)) || l && "value" === _) && null != u && "" !== u ? "********" : Cn(u, t, n + 1, r), a !== u && (s = !0), o[_] = a;
1569
+ }
1570
+ i && (o["<more>"] = Dn);
1571
+ }
1572
+ return s || i || (o = e), t.set(e, o), o;
1333
1573
  }
1334
- function mn(e) {
1335
- let t = gn(e), n = wr();
1336
- tn && _n("msg", t) && tn("%c" + n + " MSG: " + String(t), "color:cyan"), un("msg", t, n);
1574
+ function Ln(e) {
1575
+ try {
1576
+ return Cn(e, /* @__PURE__ */ new WeakMap(), 0, { left: Rn });
1577
+ } catch (e) {
1578
+ return An;
1579
+ }
1337
1580
  }
1338
- function hn(e, t) {
1339
- _n("json", t) && (t && Qt.warn("=====> " + t), Qt.dir(e)), un("json", e, wr());
1581
+ function Pn(e, t) {
1582
+ Tn(Ln(e), t);
1340
1583
  }
1341
- function En(e) {
1584
+ function Un(e) {
1342
1585
  return structuredClone(e);
1343
1586
  }
1344
- function Tn(e, t) {
1587
+ function Fn(e, t) {
1345
1588
  if (e === t) return !0;
1346
1589
  if (null === e || null === t) return e === t;
1347
1590
  if (typeof e != typeof t) return !1;
1348
1591
  if (Array.isArray(e) !== Array.isArray(t)) return !1;
1349
1592
  if (Array.isArray(e)) {
1350
1593
  if (e.length !== t.length) return !1;
1351
- for (let n = 0; n < e.length; n++) if (!Tn(e[n], t[n])) return !1;
1594
+ for (let n = 0; n < e.length; n++) if (!Fn(e[n], t[n])) return !1;
1352
1595
  return !0;
1353
1596
  }
1354
1597
  if ("object" == typeof e) {
@@ -1356,275 +1599,286 @@
1356
1599
  if (n.length !== r.length) return !1;
1357
1600
  for (let l = 0; l < n.length; l++) {
1358
1601
  if (n[l] !== r[l]) return !1;
1359
- if (!Tn(e[n[l]], t[r[l]])) return !1;
1602
+ if (!Fn(e[n[l]], t[r[l]])) return !1;
1360
1603
  }
1361
1604
  return !0;
1362
1605
  }
1363
1606
  return e === t;
1364
1607
  }
1365
- function yn(e, t) {
1608
+ function Vn(e, t) {
1366
1609
  if (!t) return e;
1367
1610
  for (let n of Object.keys(t)) e[n] = t[n];
1368
1611
  return e;
1369
1612
  }
1370
- function vn(e, t) {
1613
+ function Gn(e, t) {
1371
1614
  if (!t) return e;
1372
1615
  for (let n in t) t.hasOwnProperty(n) && e.hasOwnProperty(n) && (e[n] = t[n]);
1373
1616
  return e;
1374
1617
  }
1375
- function jn(e, t) {
1618
+ function Mn(e, t) {
1376
1619
  if (!t) return e;
1377
1620
  for (let n in t) t.hasOwnProperty(n) && !e.hasOwnProperty(n) && (e[n] = t[n]);
1378
1621
  return e;
1379
1622
  }
1380
- function Sn(e, t) {
1623
+ function Wn(e, t) {
1381
1624
  if (e && e.hasOwnProperty(t)) return e[t];
1382
1625
  }
1383
- function On(e, t) {
1626
+ function xn(e, t) {
1384
1627
  e && e.hasOwnProperty(t) && delete e[t];
1385
1628
  }
1386
- function Nn(e, t, n) {
1629
+ function Kn(e, t, n) {
1387
1630
  e[t] = n;
1388
1631
  }
1389
- function wn(e, t, n) {
1632
+ function Yn(e, t, n) {
1390
1633
  e[t] = n;
1391
1634
  }
1392
- function Rn(e, t) {
1635
+ function Bn(e, t) {
1393
1636
  e.push(t);
1394
1637
  }
1395
- function Dn(e, t) {
1638
+ function Jn(e, t) {
1396
1639
  e.push(t);
1397
1640
  }
1398
- function $n(e, t) {
1641
+ function qn(e, t) {
1399
1642
  e.splice(t, 1);
1400
1643
  }
1401
- function An(e) {
1402
- return Cn(e) ? Object.keys(e).length : 0;
1644
+ function Hn(e) {
1645
+ return Xn(e) ? Object.keys(e).length : 0;
1403
1646
  }
1404
- function kn(e) {
1405
- return Ln(e) ? e.length : 0;
1647
+ function zn(e) {
1648
+ return Zn(e) ? e.length : 0;
1406
1649
  }
1407
- function In(e) {
1408
- return Cn(e) ? Object.keys(e).length : Ln(e) ? e.length : Un(e) && e.length > 0 ? 1 : 0;
1650
+ function Qn(e) {
1651
+ return Xn(e) ? Object.keys(e).length : Zn(e) ? e.length : er(e) && e.length > 0 ? 1 : 0;
1409
1652
  }
1410
- function Cn(e) {
1653
+ function Xn(e) {
1411
1654
  return null !== e && "object" == typeof e && !Array.isArray(e);
1412
1655
  }
1413
- function Ln(e) {
1656
+ function Zn(e) {
1414
1657
  return Array.isArray(e);
1415
1658
  }
1416
- function Un(e) {
1659
+ function er(e) {
1417
1660
  return "string" == typeof e;
1418
1661
  }
1419
- function Pn(e) {
1662
+ function tr(e) {
1420
1663
  return "number" == typeof e && Number.isFinite(e);
1421
1664
  }
1422
- function Fn(e) {
1665
+ function nr(e) {
1423
1666
  return "boolean" == typeof e;
1424
1667
  }
1425
- function Gn(e) {
1668
+ function rr(e) {
1426
1669
  return null == e;
1427
1670
  }
1428
- function Vn(e) {
1671
+ function lr(e) {
1429
1672
  return "function" == typeof e;
1430
1673
  }
1431
- function Mn(e) {
1432
- return e instanceof O;
1674
+ function or(e) {
1675
+ return e instanceof S;
1433
1676
  }
1434
- function Wn(e) {
1435
- return !Un(e) || 0 === e.length;
1677
+ function sr(e) {
1678
+ return !er(e) || 0 === e.length;
1436
1679
  }
1437
- function xn(e) {
1438
- return Pn(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1680
+ function ir(e) {
1681
+ return tr(e) ? Boolean(e) : /^\s*(true|1|on)\s*$/i.test(e);
1439
1682
  }
1440
- function Kn(e, t) {
1683
+ function _r(e, t) {
1441
1684
  return e === t ? 0 : e > t ? 1 : -1;
1442
1685
  }
1443
- function Yn(e, t) {
1686
+ function ar(e, t) {
1444
1687
  let n = e.toLowerCase(), r = t.toLowerCase();
1445
1688
  return n === r ? 0 : n > r ? 1 : -1;
1446
1689
  }
1447
- function Bn(e, t) {
1448
- if (Cn(e) || Cn(t) || Ln(e) || Ln(t)) return 0;
1449
- if (Pn(e) || Pn(t)) {
1690
+ function ur(e, t) {
1691
+ if (Xn(e) || Xn(t) || Zn(e) || Zn(t)) return 0;
1692
+ if (tr(e) || tr(t)) {
1450
1693
  let n = Number(e), r = Number(t);
1451
- return n > r ? 1 : n < r ? -1 : 0;
1694
+ return Number.isNaN(n) && (n = 0), Number.isNaN(r) && (r = 0), n > r ? 1 : n < r ? -1 : 0;
1452
1695
  }
1453
- if (Fn(e) || Fn(t)) {
1696
+ if (nr(e) || nr(t)) {
1454
1697
  let n = Number(e), r = Number(t);
1455
1698
  return n > r ? 1 : n < r ? -1 : 0;
1456
1699
  }
1457
- return Kn(String(e), String(t));
1700
+ return _r(String(e), String(t));
1458
1701
  }
1459
- function Jn(e, t) {
1460
- if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) Jn(e, n);
1702
+ function cr(e, t) {
1703
+ if ("object" != typeof t || Array.isArray(t)) if (Array.isArray(t)) for (const n of t) cr(e, n);
1461
1704
  else "string" == typeof t && delete e[t];
1462
1705
  else for (const n of Object.keys(t)) delete e[n];
1463
1706
  }
1464
- function Hn(e, t) {
1707
+ function fr(e, t) {
1465
1708
  return !(!(t in e) || !e.hasOwnProperty(t));
1466
1709
  }
1467
- function qn(e, t, n, r) {
1468
- e && !Mn(e) && dn("GObj bad instanceof");
1710
+ function gr(e, t) {
1711
+ return ("__proto__" === t || "constructor" === t || "prototype" === t) && !Object.prototype.hasOwnProperty.call(e, t);
1712
+ }
1713
+ function dr(e, t, n) {
1714
+ "__proto__" === t ? Object.defineProperty(e, t, {
1715
+ value: n,
1716
+ writable: !0,
1717
+ enumerable: !0,
1718
+ configurable: !0
1719
+ }) : e[t] = n;
1720
+ }
1721
+ function br(e, t, n, r) {
1722
+ e && !or(e) && mn("GObj bad instanceof");
1469
1723
  const l = e ? `${et(e)}: ` : "";
1470
- if (!Cn(t) && !Ln(t)) return void dn(`${l}kw must be list or dict: '${String(n)}'`);
1471
- if (!Un(n)) return void dn(`${l}path must be a string: ${String(n)}`);
1724
+ if (!Xn(t) && !Zn(t)) return void mn(`${l}kw must be list or dict: '${String(n)}'`);
1725
+ if (!er(n)) return void mn(`${l}path must be a string: ${String(n)}`);
1472
1726
  let o = n.split("`"), s = o.length;
1473
- for (let e = 0; e < s - 1; e++) {
1474
- if (null == (t = t[o[e]])) return void (r && dn(`${l}path not found: '${n}'`));
1475
- if (!Cn(t) && !Ln(t)) return void dn(`${l}kw must be list or dict: '${n}'`);
1727
+ for (let e = 0; e < s; e++) {
1728
+ if (gr(t, o[e])) return void (r && mn(`${l}path not found: '${n}'`));
1729
+ if (e === s - 1) break;
1730
+ if (null == (t = t[o[e]])) return void (r && mn(`${l}path not found: '${n}'`));
1731
+ if (!Xn(t) && !Zn(t)) return void mn(`${l}kw must be list or dict: '${n}'`);
1476
1732
  }
1477
1733
  let i = t[o[s - 1]];
1478
- return void 0 === i && r && dn(`${l}path not found: '${n}'`), i;
1734
+ return void 0 === i && r && mn(`${l}path not found: '${n}'`), i;
1479
1735
  }
1480
- function zn(e, t, n) {
1481
- e && !Mn(e) && dn("GObj bad instanceof");
1736
+ function pr(e, t, n) {
1737
+ e && !or(e) && mn("GObj bad instanceof");
1482
1738
  let [r, l] = function(e, t) {
1483
1739
  let n = e.lastIndexOf(t);
1484
1740
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1485
1741
  }(n, "`");
1486
- return Wn(l) ? On(t, n) : On(qn(e, t, r, !0), l), 0;
1742
+ return sr(l) ? xn(t, n) : xn(br(e, t, r, !0), l), 0;
1487
1743
  }
1488
- function Qn(e, t, n, r, l) {
1489
- e && !Mn(e) && dn("GObj bad instanceof");
1490
- let o = qn(e, t, n, !1);
1491
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
1744
+ function mr(e, t, n, r, l) {
1745
+ e && !or(e) && mn("GObj bad instanceof");
1746
+ let o = br(e, t, n, !1);
1747
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT, a = l && l & Xt.KW_WILD_NUMBER;
1492
1748
  if (void 0 === o) {
1493
1749
  if (i && t) {
1494
1750
  let l = Boolean(r);
1495
- return rr(e, t, n, l), l;
1751
+ return jr(e, t, n, l), l;
1496
1752
  }
1497
- return s && (dn(`path not found: '${n}'`), hn(t)), Boolean(r);
1753
+ return s && (mn(`path not found: '${n}'`), Pn(t)), Boolean(r);
1498
1754
  }
1499
1755
  let u;
1500
- if (Fn(o)) u = o;
1501
- else if (a && Pn(o)) u = 0 !== o;
1502
- else if (a && Un(o)) u = "true" === o.toLowerCase() || "false" !== o.toLowerCase() && 0 !== (parseInt(o, 10) || 0);
1756
+ if (nr(o)) u = o;
1757
+ else if (a && tr(o)) u = 0 !== o;
1758
+ else if (a && er(o)) u = "true" === o.toLowerCase() || "false" !== o.toLowerCase() && 0 !== (parseInt(o, 10) || 0);
1503
1759
  else {
1504
- if (!a || null !== o) return a ? (dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), !1) : (dn(`${e ? et(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), hn(t), Boolean(r));
1760
+ if (!a || null !== o) return a ? (mn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Pn(t), !1) : (mn(`${e ? et(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), Pn(t), Boolean(r));
1505
1761
  u = !1;
1506
1762
  }
1507
- return _ && zn(e, t, n), u;
1763
+ return _ && pr(e, t, n), u;
1508
1764
  }
1509
- function Xn(e, t, n, r, l) {
1510
- e && !Mn(e) && dn("GObj bad instanceof");
1511
- let o = qn(e, t, n, !1);
1512
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
1765
+ function hr(e, t, n, r, l) {
1766
+ e && !or(e) && mn("GObj bad instanceof");
1767
+ let o = br(e, t, n, !1);
1768
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT, a = l && l & Xt.KW_WILD_NUMBER;
1513
1769
  if (void 0 === o) {
1514
1770
  if (i && t) {
1515
1771
  let l = parseInt(r);
1516
- return rr(e, t, n, l), l;
1772
+ return jr(e, t, n, l), l;
1517
1773
  }
1518
- return s && (dn(`path not found: '${n}'`), hn(t)), parseInt(r);
1774
+ return s && (mn(`path not found: '${n}'`), Pn(t)), parseInt(r);
1519
1775
  }
1520
1776
  let u;
1521
- if (Pn(o)) u = Math.trunc(o);
1777
+ if (tr(o)) u = Math.trunc(o);
1522
1778
  else {
1523
- if (!a) return dn(`${e ? et(e) + ": " : ""}path MUST BE a json integer: '${n}'`), hn(t), parseInt(r);
1524
- if (Fn(o)) u = o ? 1 : 0;
1525
- else if (Un(o)) u = function(e) {
1779
+ if (!a) return mn(`${e ? et(e) + ": " : ""}path MUST BE a json integer: '${n}'`), Pn(t), parseInt(r);
1780
+ if (nr(o)) u = o ? 1 : 0;
1781
+ else if (er(o)) u = function(e) {
1526
1782
  const t = /^\s*([+-]?)(0[xX][0-9a-fA-F]+|0[0-7]*|[1-9][0-9]*)/.exec(e);
1527
1783
  if (!t) return 0;
1528
1784
  let n, r = t[2];
1529
1785
  return n = r.length > 1 && ("x" === r[1] || "X" === r[1]) ? parseInt(r.substring(2), 16) : "0" === r[0] ? parseInt(r, 8) : parseInt(r, 10), "-" === t[1] ? -n : n;
1530
1786
  }(o);
1531
1787
  else {
1532
- if (null !== o) return dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), 0;
1788
+ if (null !== o) return mn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Pn(t), 0;
1533
1789
  u = 0;
1534
1790
  }
1535
1791
  }
1536
- return _ && zn(e, t, n), u;
1792
+ return _ && pr(e, t, n), u;
1537
1793
  }
1538
- function Zn(e, t, n, r, l) {
1539
- e && !Mn(e) && dn("GObj bad instanceof");
1540
- let o = qn(e, t, n, !1);
1541
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1542
- return void 0 === o ? i && t ? (rr(e, t, n, Un(r) ? r : null), r) : (s && !function(e, t) {
1543
- let n = Un(t) ? t.split("`") : [], r = e;
1794
+ function Er(e, t, n, r, l) {
1795
+ e && !or(e) && mn("GObj bad instanceof");
1796
+ let o = br(e, t, n, !1);
1797
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT;
1798
+ return void 0 === o ? i && t ? (jr(e, t, n, er(r) ? r : null), r) : (s && !function(e, t) {
1799
+ let n = er(t) ? t.split("`") : [], r = e;
1544
1800
  for (let e = 0; e < n.length - 1; e++) {
1545
- if (!Cn(r) && !Ln(r)) return !1;
1801
+ if (!Xn(r) && !Zn(r)) return !1;
1546
1802
  r = r[n[e]];
1547
1803
  }
1548
- return !(!Cn(r) && !Ln(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
1549
- }(t, n) && (dn(`path not found: '${n}'`), hn(t)), r) : Un(o) ? (_ && zn(e, t, n), o) : (null !== o && (dn(`${e ? et(e) + ": " : ""}path MUST BE a json str: '${n}'`), hn(t)), r);
1804
+ return !(!Xn(r) && !Zn(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
1805
+ }(t, n) && (mn(`path not found: '${n}'`), Pn(t)), r) : er(o) ? (_ && pr(e, t, n), o) : (null !== o && (mn(`${e ? et(e) + ": " : ""}path MUST BE a json str: '${n}'`), Pn(t)), r);
1550
1806
  }
1551
- function er(e, t, n, r, l) {
1552
- e && !Mn(e) && dn("GObj bad instanceof");
1553
- let o = qn(e, t, n, !1);
1554
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1807
+ function yr(e, t, n, r, l) {
1808
+ e && !or(e) && mn("GObj bad instanceof");
1809
+ let o = br(e, t, n, !1);
1810
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT;
1555
1811
  if (void 0 === o) {
1556
1812
  if (i) {
1557
1813
  let l = r;
1558
- return rr(e, t, n, l), l;
1814
+ return jr(e, t, n, l), l;
1559
1815
  }
1560
- return s && (dn(`path not found: '${n}'`), hn(t)), r;
1816
+ return s && (mn(`path not found: '${n}'`), Pn(t)), r;
1561
1817
  }
1562
- return _ && zn(e, t, n), o;
1818
+ return _ && pr(e, t, n), o;
1563
1819
  }
1564
- function tr(e, t, n, r, l) {
1565
- e && !Mn(e) && dn("GObj bad instanceof");
1566
- let o = qn(e, t, n, !1);
1567
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1568
- return void 0 === o ? i && Cn(r) && t ? (rr(e, t, n, r), r) : (s && (dn(`path not found: '${n}'`), hn(t)), r) : Cn(o) ? (_ && zn(e, t, n), o) : (s && (dn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), hn(t)), r);
1820
+ function Tr(e, t, n, r, l) {
1821
+ e && !or(e) && mn("GObj bad instanceof");
1822
+ let o = br(e, t, n, !1);
1823
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT;
1824
+ return void 0 === o ? i && Xn(r) && t ? (jr(e, t, n, r), r) : (s && (mn(`path not found: '${n}'`), Pn(t)), r) : Xn(o) ? (_ && pr(e, t, n), o) : (s && (mn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Pn(t)), r);
1569
1825
  }
1570
- function nr(e, t, n, r, l) {
1571
- e && !Mn(e) && dn("GObj bad instanceof");
1572
- let o = qn(e, t, n, !1);
1573
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
1826
+ function vr(e, t, n, r, l) {
1827
+ e && !or(e) && mn("GObj bad instanceof");
1828
+ let o = br(e, t, n, !1);
1829
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT;
1574
1830
  if (void 0 === o) {
1575
1831
  if (i) {
1576
1832
  let l = r;
1577
- return rr(e, t, n, l), l;
1833
+ return jr(e, t, n, l), l;
1578
1834
  }
1579
- return s && (dn(`path not found: '${n}'`), hn(t)), r;
1835
+ return s && (mn(`path not found: '${n}'`), Pn(t)), r;
1580
1836
  }
1581
- return _ && zn(e, t, n), o;
1837
+ return _ && pr(e, t, n), o;
1582
1838
  }
1583
- function rr(e, t, n, r) {
1584
- if (e && !Mn(e) && dn("GObj bad instanceof"), !Cn(t)) return dn("kw is not an object"), -1;
1585
- let l = n.split("`");
1586
- if (l.length <= 1) return t[n] = r, 0;
1587
- let o = l.length;
1839
+ function jr(e, t, n, r) {
1840
+ if (e && !or(e) && mn("GObj bad instanceof"), !Xn(t)) return mn("kw is not an object"), -1;
1841
+ let l = n.split("`"), o = l.length;
1588
1842
  for (let s = 0; s < o; s++) {
1589
1843
  let i = l[s];
1590
- if (s === o - 1) t[i] = r;
1844
+ if (s === o - 1) dr(t, i, r);
1591
1845
  else {
1592
- let r = t[i];
1593
- if (void 0 === r) t[i] = {};
1594
- else if (!Cn(r) && !Ln(r)) return dn(`${e ? et(e) + ": " : ""}kw_set_dict_value(): segment '${i}' is not a dict or a list: '${n}'`), -1;
1846
+ let r = gr(t, i) ? void 0 : t[i];
1847
+ if (void 0 === r) dr(t, i, {});
1848
+ else if (!Xn(r) && !Zn(r)) return mn(`${e ? et(e) + ": " : ""}kw_set_dict_value(): segment '${i}' is not a dict or a list: '${n}'`), -1;
1595
1849
  t = t[i];
1596
1850
  }
1597
1851
  }
1598
1852
  return 0;
1599
1853
  }
1600
- function lr(e, t, n, r, l) {
1601
- if (e && !Mn(e) && dn("GObj bad instanceof"), !Cn(t)) return dn("kw is not an object"), -1;
1602
- let o = tr(e, t, n, {}, zt.KW_CREATE);
1603
- return Cn(o) ? (o[r] = l, 0) : (dn("subdict is not an object"), -1);
1854
+ function Or(e, t, n, r, l) {
1855
+ if (e && !or(e) && mn("GObj bad instanceof"), !Xn(t)) return mn("kw is not an object"), -1;
1856
+ let o = Tr(e, t, n, {}, Xt.KW_CREATE);
1857
+ return Xn(o) ? (o[r] = l, 0) : (mn("subdict is not an object"), -1);
1604
1858
  }
1605
- function or(e, t, r) {
1859
+ function Sr(e, t, r) {
1606
1860
  let l = "", o = !1;
1607
- if (Ln(t)) {
1861
+ if (Zn(t)) {
1608
1862
  o = !1;
1609
1863
  for (let s = 0; s < t.length; s++) {
1610
1864
  let i = t[s];
1611
- if (l = Wn(r) ? n("%s", r) : n("%s`%d", r, s), o = or(e, i, l), o) break;
1865
+ if (l = sr(r) ? n("%s", r) : n("%s`%d", r, s), o = Sr(e, i, l), o) break;
1612
1866
  }
1613
- } else if (Cn(t)) {
1867
+ } else if (Xn(t)) {
1614
1868
  o = !0;
1615
1869
  let s = Object.keys(t);
1616
1870
  for (let i = 0; i < s.length; i++) {
1617
1871
  let _ = s[i], a = t[_];
1618
- if (l = Wn(r) ? n("%s", _) : n("%s`%s", r, _), Ln(a) || Cn(a)) {
1619
- if (o = or(e, a, l), !o) break;
1872
+ if (l = sr(r) ? n("%s", _) : n("%s`%s", r, _), Zn(a) || Xn(a)) {
1873
+ if (o = Sr(e, a, l), !o) break;
1620
1874
  continue;
1621
1875
  }
1622
- let u = nr(0, e, l, 0, 0);
1623
- if (u || (u = Sn(e, l)), !u) {
1876
+ let u = vr(0, e, l, void 0, 0);
1877
+ if (void 0 === u && (u = Wn(e, l)), void 0 === u) {
1624
1878
  o = !1;
1625
1879
  break;
1626
1880
  }
1627
- if (0 !== Bn(u, a)) {
1881
+ if (0 !== ur(u, a)) {
1628
1882
  o = !1;
1629
1883
  break;
1630
1884
  }
@@ -1632,58 +1886,59 @@
1632
1886
  }
1633
1887
  return o;
1634
1888
  }
1635
- function sr(e, t) {
1636
- return 0 === In(t) || or(e, t, "");
1889
+ function wr(e, t) {
1890
+ return 0 === Qn(t) || Sr(e, t, "");
1637
1891
  }
1638
- function ir(e, t, n, r) {
1639
- e && !Mn(e) && dn("GObj bad instanceof");
1892
+ function Nr(e, t, n, r) {
1893
+ e && !or(e) && mn("GObj bad instanceof");
1640
1894
  let l = {};
1641
- if (Un(n) && !Wn(n)) {
1895
+ if (er(n) && !sr(n)) {
1642
1896
  let o = n;
1643
- t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
1644
- } else if (Cn(n) && An(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? l[o] = t[o] : r && dn(`${et(e)}: key not found: ${o}`);
1897
+ t.hasOwnProperty(o) ? l[o] = t[o] : r && mn(`${et(e)}: key not found: ${o}`);
1898
+ } else if (Xn(n) && Hn(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? l[o] = t[o] : r && mn(`${et(e)}: key not found: ${o}`);
1645
1899
  else {
1646
- if (!(Ln(n) && kn(n) > 0)) return t;
1900
+ if (!(Zn(n) && zn(n) > 0)) return t;
1647
1901
  for (let o = 0; o < n.length; o++) {
1648
1902
  let s = n[o];
1649
- t.hasOwnProperty(s) ? l[s] = t[s] : r && dn(`${et(e)}: key not found: ${s}`);
1903
+ t.hasOwnProperty(s) ? l[s] = t[s] : r && mn(`${et(e)}: key not found: ${s}`);
1650
1904
  }
1651
1905
  }
1652
1906
  return l;
1653
1907
  }
1654
- function _r(e, t, n, r) {
1908
+ function Rr(e, t, n, r) {
1655
1909
  let l = {};
1656
- if (yn(l, t), Un(n) && !Wn(n)) {
1910
+ if (!Xn(t)) return l;
1911
+ if (Vn(l, t), er(n) && !sr(n)) {
1657
1912
  let o = n;
1658
- nr(e, t, o, 0, 0) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
1659
- } else if (Cn(n) && An(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? On(l, o) : r && dn(`${et(e)}: key not found: ${o}`);
1913
+ t.hasOwnProperty(o) ? xn(l, o) : r && mn(`${et(e)}: key not found: ${o}`);
1914
+ } else if (Xn(n) && Hn(n) > 0) for (let o of Object.keys(n)) t.hasOwnProperty(o) ? xn(l, o) : r && mn(`${et(e)}: key not found: ${o}`);
1660
1915
  else {
1661
- if (!(Ln(n) && kn(n) > 0)) return {};
1916
+ if (!(Zn(n) && zn(n) > 0)) return {};
1662
1917
  for (let o = 0; o < n.length; o++) {
1663
1918
  let s = n[o];
1664
- t.hasOwnProperty(s) ? On(l, s) : r && dn(`${et(e)}: key not found: ${s}`);
1919
+ t.hasOwnProperty(s) ? xn(l, s) : r && mn(`${et(e)}: key not found: ${s}`);
1665
1920
  }
1666
1921
  }
1667
1922
  return l;
1668
1923
  }
1669
- function ar(e, t, n = !1) {
1924
+ function Dr(e, t, n = !1) {
1670
1925
  if ("undefined" != typeof window && window.localStorage) try {
1671
1926
  let r = window.localStorage.getItem(e);
1672
- return null === r ? (n && ur(e, t), t) : JSON.parse(r);
1927
+ return null === r ? (n && $r(e, t), t) : JSON.parse(r);
1673
1928
  } catch (n) {
1674
1929
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
1675
1930
  }
1676
1931
  }
1677
- function ur(e, t) {
1932
+ function $r(e, t) {
1678
1933
  if ("undefined" == typeof window || !window.localStorage) return 0;
1679
- if (!e || void 0 === t) return dn(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1934
+ if (!e || void 0 === t) return mn(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1680
1935
  try {
1681
1936
  return window.localStorage.setItem(e, JSON.stringify(t)), 0;
1682
1937
  } catch (t) {
1683
- return dn(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1938
+ return mn(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1684
1939
  }
1685
1940
  }
1686
- function cr(e) {
1941
+ function kr(e) {
1687
1942
  if ("undefined" != typeof window && window.localStorage) if (e) try {
1688
1943
  window.localStorage.removeItem(e);
1689
1944
  } catch (t) {
@@ -1691,46 +1946,46 @@
1691
1946
  }
1692
1947
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1693
1948
  }
1694
- function fr(e, t) {
1695
- if (Gn(e) || Gn(t)) return !0;
1696
- if (Ln(e)) {
1949
+ function Ar(e, t) {
1950
+ if (rr(e) || rr(t)) return !0;
1951
+ if (Zn(e)) {
1697
1952
  if (0 === e.length) return !0;
1698
1953
  for (let n = 0; n < e.length; n++) if (e[n] === t) return !0;
1699
- } else if (Cn(e)) {
1954
+ } else if (Xn(e)) {
1700
1955
  if (0 === Object.keys(e).length) return !0;
1701
1956
  for (let n in e) if (n === t) return !0;
1702
- } else if (Un(e) && e === t) return !0;
1957
+ } else if (er(e) && e === t) return !0;
1703
1958
  return !1;
1704
1959
  }
1705
- function gr(e, t, n, r, l) {
1706
- if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return null;
1707
- l || (l = sr);
1960
+ function Ir(e, t, n, r, l) {
1961
+ if (e && !or(e) && mn("GObj bad instanceof"), !t) return null;
1962
+ l || (l = wr);
1708
1963
  let o = [];
1709
- if (Ln(t)) for (let s = 0; s < t.length; s++) {
1964
+ if (Zn(t)) for (let s = 0; s < t.length; s++) {
1710
1965
  let i, _ = t[s];
1711
- if (Cn(_)) i = Zn(e, _, "id", "", 0);
1966
+ if (Xn(_)) i = Er(e, _, "id", "", 0);
1712
1967
  else {
1713
- if (!Un(_)) continue;
1968
+ if (!er(_)) continue;
1714
1969
  i = _;
1715
1970
  }
1716
- fr(n, i) && l(_, r) && o.push(_);
1971
+ Ar(n, i) && l(_, r) && o.push(_);
1717
1972
  }
1718
1973
  else {
1719
- if (!Cn(t)) return dn("kw_collect() BAD kw parameter"), null;
1974
+ if (!Xn(t)) return mn("kw_collect() BAD kw parameter"), null;
1720
1975
  for (let e of Object.keys(t)) {
1721
1976
  let s = t[e];
1722
- fr(n, e) && l(s, r) && o.push(s);
1977
+ Ar(n, e) && l(s, r) && o.push(s);
1723
1978
  }
1724
1979
  }
1725
1980
  return o;
1726
1981
  }
1727
- function dr(e, t) {
1982
+ function Cr(e, t) {
1728
1983
  if (!e) return -1;
1729
1984
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
1730
1985
  return -1;
1731
1986
  }
1732
- function br(e, t, n) {
1733
- if (!e || !t) return dn("ERROR: str_in_list() list or str empty"), !1;
1987
+ function Lr(e, t, n) {
1988
+ if (!e || !t) return mn("ERROR: str_in_list() list or str empty"), !1;
1734
1989
  let r = e.length;
1735
1990
  if (n) {
1736
1991
  t = t.toLowerCase();
@@ -1741,7 +1996,7 @@
1741
1996
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
1742
1997
  return !1;
1743
1998
  }
1744
- function pr(e, t) {
1999
+ function Pr(e, t) {
1745
2000
  try {
1746
2001
  let n = e.__md_iev__;
1747
2002
  if (n) return n[t];
@@ -1749,35 +2004,35 @@
1749
2004
  return;
1750
2005
  }
1751
2006
  }
1752
- function mr(e, t, n) {
2007
+ function Ur(e, t, n) {
1753
2008
  let r = e.__md_iev__;
1754
2009
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
1755
2010
  }
1756
- function hr(e, t, n, r) {
1757
- if (!Mn(e)) return dn("gobj is not a GObj"), null;
2011
+ function Fr(e, t, n, r) {
2012
+ if (!or(e)) return mn("gobj is not a GObj"), null;
1758
2013
  if (!t) return;
1759
- let l = pr(t, n);
1760
- l || (l = [], mr(t, n, l));
2014
+ let l = Pr(t, n);
2015
+ l || (l = [], Ur(t, n, l));
1761
2016
  try {
1762
- Ln(l) && l.unshift(r);
2017
+ Zn(l) && l.unshift(r);
1763
2018
  } catch (e) {
1764
- dn(e);
2019
+ mn(e);
1765
2020
  }
1766
2021
  }
1767
- function Er(e, t, n, r) {
1768
- if (!Mn(e)) return dn("gobj is not a GObj"), null;
1769
- if (!Cn(t)) return dn("kw is not a dict"), null;
1770
- let l = pr(t, n);
1771
- return l ? 0 === l.length ? (r && dn(`stack empty: ${n}`), null) : l[0] : (r && dn(`stack NOT FOUND: ${n}`), null);
2022
+ function Vr(e, t, n, r) {
2023
+ if (!or(e)) return mn("gobj is not a GObj"), null;
2024
+ if (!Xn(t)) return mn("kw is not a dict"), null;
2025
+ let l = Pr(t, n);
2026
+ return l ? 0 === l.length ? (r && mn(`stack empty: ${n}`), null) : l[0] : (r && mn(`stack NOT FOUND: ${n}`), null);
1772
2027
  }
1773
- function Tr(e, t, n) {
1774
- return Wn(n) ? zn(e, t, "__md_iev__`__msg_type__") : lr(e, t, "__md_iev__", "__msg_type__", n), 0;
2028
+ function Gr(e, t, n) {
2029
+ return sr(n) ? pr(e, t, "__md_iev__`__msg_type__") : Or(e, t, "__md_iev__", "__msg_type__", n), 0;
1775
2030
  }
1776
- function yr(e, t) {
1777
- return Zn(e, t, "__md_iev__`__msg_type__", "", 0);
2031
+ function Mr(e, t) {
2032
+ return Er(e, t, "__md_iev__`__msg_type__", "", 0);
1778
2033
  }
1779
- function vr(e, t, n) {
1780
- void 0 !== n && Un(n) || (n = "");
2034
+ function Wr(e, t, n) {
2035
+ void 0 !== n && er(n) || (n = "");
1781
2036
  for (let r of Object.keys(e)) {
1782
2037
  if (!e.hasOwnProperty(r)) continue;
1783
2038
  let l = (n.length ? "`" : "") + r;
@@ -1786,10 +2041,10 @@
1786
2041
  r,
1787
2042
  e[r],
1788
2043
  n
1789
- ]), Cn(e[r]) && vr(e[r], t, n), n = n.slice(0, -l.length);
2044
+ ]), Xn(e[r]) && Wr(e[r], t, n), n = n.slice(0, -l.length);
1790
2045
  }
1791
2046
  }
1792
- function jr(e, t, n, r) {
2047
+ function xr(e, t, n, r) {
1793
2048
  if (!e) return null;
1794
2049
  let l, o = e.length;
1795
2050
  for (l = 0; l < o; l++) {
@@ -1797,15 +2052,15 @@
1797
2052
  if (o) {
1798
2053
  let e = o.id;
1799
2054
  if (e && e === n) return o;
1800
- if (r && Hn(o, t)) {
1801
- let e = jr(o[t], t, n, r);
2055
+ if (r && fr(o, t)) {
2056
+ let e = xr(o[t], t, n, r);
1802
2057
  if (e) return e;
1803
2058
  }
1804
2059
  }
1805
2060
  }
1806
2061
  return null;
1807
2062
  }
1808
- function Sr(e) {
2063
+ function Kr(e) {
1809
2064
  function t(e) {
1810
2065
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
1811
2066
  switch (t.length % 4) {
@@ -1836,36 +2091,36 @@
1836
2091
  signature: t(n[2])
1837
2092
  };
1838
2093
  }
1839
- function Or(e) {
2094
+ function Yr(e) {
1840
2095
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
1841
2096
  }
1842
- function Nr(e) {
2097
+ function Br(e) {
1843
2098
  const t = document.createElement("template");
1844
2099
  return t.innerHTML = e.trim(), t.content.firstChild;
1845
2100
  }
1846
- function wr(e) {
2101
+ function Jr(e) {
1847
2102
  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), l = e.getTimezoneOffset();
1848
2103
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
1849
2104
  }
1850
- function Rr(e, t) {
2105
+ function qr(e, t) {
1851
2106
  if (!e) throw "ERROR: index_in_list() list empty";
1852
2107
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
1853
2108
  return -1;
1854
2109
  }
1855
- function Dr() {
2110
+ function Hr() {
1856
2111
  let e = "";
1857
2112
  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;
1858
2113
  }
1859
- function $r(e) {
2114
+ function zr(e) {
1860
2115
  let t = null;
1861
2116
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
1862
2117
  }
1863
- var Ar = 256, kr = 1e5;
1864
- function Ir(e) {
2118
+ var Qr = 256, Xr = 1e5;
2119
+ function Zr(e) {
1865
2120
  const t = String(e).replace(/`/g, "``");
1866
2121
  return "[" === t[0] ? "[" + t : t;
1867
2122
  }
1868
- function Cr(e) {
2123
+ function el(e) {
1869
2124
  if ("string" != typeof e) return null;
1870
2125
  let t = [], n = "";
1871
2126
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -1886,17 +2141,17 @@
1886
2141
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
1887
2142
  });
1888
2143
  }
1889
- function Lr(e, t) {
2144
+ function tl(e, t) {
1890
2145
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
1891
2146
  }
1892
- function Ur(e) {
2147
+ function nl(e) {
1893
2148
  return "persistent-attrs-" + et(e);
1894
2149
  }
1895
- function Pr(e, t) {
1896
- if (Un(t)) {
2150
+ function rl(e, t) {
2151
+ if (er(t)) {
1897
2152
  if (-1 === t.indexOf("^")) {
1898
2153
  let n, r, l = e.fkey;
1899
- if (1 !== An(l)) return dn("bad fkey 1"), dn(e), dn(t), null;
2154
+ if (1 !== Hn(l)) return mn("bad fkey 1"), mn(e), mn(t), null;
1900
2155
  for (const e of Object.keys(l)) {
1901
2156
  n = e, r = l[e];
1902
2157
  break;
@@ -1909,20 +2164,20 @@
1909
2164
  }
1910
2165
  {
1911
2166
  let n = t.split("^");
1912
- return 3 !== n.length ? (dn("bad fkey 2"), dn(e), dn(t), null) : {
2167
+ return 3 !== n.length ? (mn("bad fkey 2"), mn(e), mn(t), null) : {
1913
2168
  topic_name: n[0],
1914
2169
  id: n[1],
1915
2170
  hook_name: n[2]
1916
2171
  };
1917
2172
  }
1918
2173
  }
1919
- return Cn(t) ? {
2174
+ return Xn(t) ? {
1920
2175
  topic_name: t.topic_name,
1921
2176
  id: t.id,
1922
2177
  hook_name: t.hook_name
1923
- } : (dn("bad fkey 3"), dn(e), dn(t), null);
2178
+ } : (mn("bad fkey 3"), mn(e), mn(t), null);
1924
2179
  }
1925
- var Fr = [
2180
+ var ll = [
1926
2181
  "string",
1927
2182
  "integer",
1928
2183
  "object",
@@ -1932,7 +2187,7 @@
1932
2187
  "real",
1933
2188
  "boolean",
1934
2189
  "blob"
1935
- ], Gr = [
2190
+ ], ol = [
1936
2191
  "persistent",
1937
2192
  "required",
1938
2193
  "notnull",
@@ -1944,7 +2199,7 @@
1944
2199
  "stats",
1945
2200
  "rstats",
1946
2201
  "pstats"
1947
- ], Vr = [
2202
+ ], sl = [
1948
2203
  "hook",
1949
2204
  "fkey",
1950
2205
  "enum",
@@ -1973,7 +2228,7 @@
1973
2228
  "coordinates",
1974
2229
  "gbuffer"
1975
2230
  ];
1976
- function Mr(e) {
2231
+ function il(e) {
1977
2232
  let t = {
1978
2233
  name: e.id,
1979
2234
  header: e.header,
@@ -1992,7 +2247,7 @@
1992
2247
  if (!e.flag) return t;
1993
2248
  for (let n = 0; n < e.flag.length; n++) {
1994
2249
  let r = e.flag[n];
1995
- if (br(Vr, r)) {
2250
+ if (Lr(sl, r)) {
1996
2251
  switch (r) {
1997
2252
  case "enum":
1998
2253
  t.enum_list = e.enum;
@@ -2006,7 +2261,7 @@
2006
2261
  case "file": t.is_file = !0;
2007
2262
  }
2008
2263
  t.type = r;
2009
- } else if (br(Gr, r)) switch (r) {
2264
+ } else if (Lr(ol, r)) switch (r) {
2010
2265
  case "writable":
2011
2266
  t.is_writable = !0;
2012
2267
  break;
@@ -2019,37 +2274,37 @@
2019
2274
  }
2020
2275
  return t.is_file && (t.type = "file"), t;
2021
2276
  }
2022
- var Wr = [
2277
+ var _l = [
2023
2278
  j(E.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2024
2279
  j(E.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2025
2280
  j(E.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2026
2281
  v()
2027
- ], xr = {
2282
+ ], al = {
2028
2283
  periodic: !1,
2029
2284
  msec: 0,
2030
2285
  timer_id: -1
2031
- }, Kr = null;
2032
- function Yr(e, t, n, r) {
2286
+ }, ul = null;
2287
+ function cl(e, t, n, r) {
2033
2288
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2034
2289
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
2035
2290
  Ft(e, "EV_TIMEOUT", {}, e);
2036
- }, l.msec) : l.timer_id = -1, lt(e) ? Ft(nt(e), o, {}, e) : qt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ge(e), 0;
2291
+ }, l.msec) : l.timer_id = -1, lt(e) ? Ft(nt(e), o, {}, e) : Qt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ve(e), 0;
2037
2292
  }
2038
- var Br = {
2293
+ var fl = {
2039
2294
  mt_create: function(e) {
2040
2295
  let t = e.priv;
2041
- const n = St(e, "subscriber");
2042
- n && Yt(e, null, {}, n), t.periodic = yt(e, "periodic"), t.msec = vt(e, "msec");
2296
+ const n = Ot(e, "subscriber");
2297
+ n && Jt(e, null, {}, n), t.periodic = Tt(e, "periodic"), t.msec = vt(e, "msec");
2043
2298
  },
2044
2299
  mt_writing: function(e, t) {
2045
2300
  let n = e.priv;
2046
2301
  switch (t) {
2047
2302
  case "periodic":
2048
- n.periodic = yt(e, "periodic");
2303
+ n.periodic = Tt(e, "periodic");
2049
2304
  break;
2050
2305
  case "msec": n.msec = vt(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
2051
2306
  Ft(e, "EV_TIMEOUT", {}, e);
2052
- }, n.msec)), n.msec > 0 ? Ke(e) || Ue(e) : Ke(e) && Ge(e);
2307
+ }, n.msec)), n.msec > 0 ? Ke(e) || Pe(e) : Ke(e) && Ve(e);
2053
2308
  }
2054
2309
  },
2055
2310
  mt_start: function(e) {
@@ -2060,16 +2315,16 @@
2060
2315
  },
2061
2316
  mt_destroy: function(e) {}
2062
2317
  };
2063
- function Jr(e, t) {
2064
- return e instanceof O ? "C_TIMER" !== Ze(e) ? (dn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !1), void Rt(e, "msec", t)) : (dn("not GObj TYPE"), -1);
2318
+ function gl(e, t) {
2319
+ return e instanceof S ? "C_TIMER" !== Ze(e) ? (mn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void Rt(e, "msec", t)) : (mn("not GObj TYPE"), -1);
2065
2320
  }
2066
- function Hr(e, t) {
2067
- return e instanceof O ? "C_TIMER" !== Ze(e) ? (dn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !0), void Rt(e, "msec", t)) : (dn("not GObj TYPE"), -1);
2321
+ function dl(e, t) {
2322
+ return e instanceof S ? "C_TIMER" !== Ze(e) ? (mn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void Rt(e, "msec", t)) : (mn("not GObj TYPE"), -1);
2068
2323
  }
2069
- function qr(e) {
2070
- return e instanceof O ? "C_TIMER" !== Ze(e) ? (dn("not C_TIMER GObj"), -1) : void Rt(e, "msec", -1) : (dn("not GObj TYPE"), -1);
2324
+ function bl(e) {
2325
+ return e instanceof S ? "C_TIMER" !== Ze(e) ? (mn("not C_TIMER GObj"), -1) : void Rt(e, "msec", -1) : (mn("not GObj TYPE"), -1);
2071
2326
  }
2072
- var zr = [
2327
+ var pl = [
2073
2328
  j(E.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2074
2329
  j(E.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2075
2330
  j(E.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2083,77 +2338,78 @@
2083
2338
  j(E.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
2084
2339
  j(E.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
2085
2340
  j(E.DTP_LIST, "required_services", 0, "[]", "Required services"),
2086
- j(E.DTP_DICT, "trace_levels", T.SDF_PERSIST, "{}", "Trace levels"),
2087
- j(E.DTP_DICT, "no_trace_levels", T.SDF_PERSIST, "{}", "No trace levels"),
2341
+ j(E.DTP_DICT, "trace_levels", y.SDF_PERSIST, "{}", "Trace levels"),
2342
+ j(E.DTP_DICT, "no_trace_levels", y.SDF_PERSIST, "{}", "No trace levels"),
2088
2343
  j(E.DTP_POINTER, "trace_ievent_callback", 0, null, "Where the traffic trace goes (C_IEVENT_CLI levels ievents/ievents2); console when null"),
2089
2344
  j(E.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2090
2345
  j(E.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2091
2346
  v()
2092
- ], Qr = { gobj_timer: null }, Xr = null;
2093
- function Zr(e, t, n, r) {
2347
+ ], ml = { gobj_timer: null }, hl = null;
2348
+ function El(e, t, n, r) {
2094
2349
  let l = Et(e, t);
2095
- return Cn(l) || (l = {}), l[n] = r, Ot(e, t, l), $e(e, t);
2350
+ return Xn(l) || (l = {}), l[n] = r, St(e, t, l), $e(e, t);
2096
2351
  }
2097
- function el(e) {
2352
+ function yl(e) {
2098
2353
  if (!0 === e || !1 === e) return e;
2099
2354
  let t = String(null == e ? "" : e).toLowerCase();
2100
2355
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2101
2356
  }
2102
- function tl() {
2103
- return `${ze()}^${qe()}`;
2357
+ function Tl() {
2358
+ return `${ze()}^${He()}`;
2104
2359
  }
2105
- function nl(e, t, n, r) {
2106
- return qt(e, t, n), 0;
2360
+ function vl(e, t, n, r) {
2361
+ return Qt(e, t, n), 0;
2107
2362
  }
2108
- var rl = {
2363
+ var jl = {
2109
2364
  mt_create: function(e) {
2110
2365
  let t = e.priv;
2111
- Dt(e, "start_date", wr()), Dt(e, "node_uuid", Dr()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = Et(e, "periodic_timeout"), function(e) {
2366
+ Dt(e, "start_date", Jr()), Dt(e, "node_uuid", Hr()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = Et(e, "periodic_timeout"), function(e) {
2112
2367
  let t = Et(e, "trace_levels");
2113
- if (!Cn(t)) return 0;
2368
+ if (!Xn(t)) return 0;
2114
2369
  let n = t.__global_trace__;
2115
- if (Ln(n)) {
2370
+ if (Zn(n)) {
2116
2371
  Z(4294967295, !1);
2117
2372
  for (let e of n) Q(e, !0);
2118
2373
  }
2119
2374
  for (const [n, r] of Object.entries(t)) {
2120
- let t = Se(n);
2121
- if (t) if (Ln(r)) {
2375
+ let t = Oe(n);
2376
+ if (t) if (Zn(r)) {
2122
2377
  se(t, null, !1);
2123
2378
  for (let e of r) se(t, e, !0);
2124
- } else dn(`${Xe(e)}: trace_levels of ${n} MUST be a list`);
2379
+ } else mn(`${Xe(e)}: trace_levels of ${n} MUST be a list`);
2125
2380
  }
2126
2381
  }(e), function(e) {
2127
2382
  let t = Et(e, "no_trace_levels");
2128
- if (!Cn(t)) return 0;
2383
+ if (!Xn(t)) return 0;
2129
2384
  let n = t.__global_no_trace__;
2130
- if (Ln(n)) {
2385
+ if (Zn(n)) {
2131
2386
  ee(4294967295, !1);
2132
2387
  for (let e of n) X(e, !0);
2133
2388
  }
2134
2389
  for (const [n, r] of Object.entries(t)) {
2135
- let t = Se(n);
2136
- if (t) if (Ln(r)) {
2390
+ let t = Oe(n);
2391
+ if (t) if (Zn(r)) {
2137
2392
  ie(t, null, !1);
2138
2393
  for (let e of r) ie(t, e, !0);
2139
- } else dn(`${Xe(e)}: no_trace_levels of ${n} MUST be a list`);
2394
+ } else mn(`${Xe(e)}: no_trace_levels of ${n} MUST be a list`);
2140
2395
  }
2141
2396
  }(e);
2142
2397
  },
2143
2398
  mt_writing: function(e, t) {},
2144
2399
  mt_start: function(e) {
2145
- return Hr(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2400
+ return dl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2146
2401
  },
2147
2402
  mt_stop: function(e) {
2148
- return qr(e.priv.gobj_timer), Me(e), 0;
2403
+ return bl(e.priv.gobj_timer), Me(e), 0;
2149
2404
  },
2150
2405
  mt_destroy: function(e) {},
2151
2406
  mt_play: function(e) {
2152
- let t = Oe();
2153
- return Ke(t) || Ue(t), Je(t) || We(t), 0;
2407
+ let t = Se();
2408
+ return t ? (Ke(t) || Pe(t), Je(t) || We(t), 0) : 0;
2154
2409
  },
2155
2410
  mt_pause: function(e) {
2156
- return xe(Oe()), 0;
2411
+ let t = Se();
2412
+ return t && Je(t) && xe(t), 0;
2157
2413
  },
2158
2414
  mt_command_parser: function(e, t, n, r) {
2159
2415
  switch (n = n || {}, t) {
@@ -2161,49 +2417,49 @@
2161
2417
  case "get-global-no-trace": return l(0, 0, null, null, ne());
2162
2418
  case "set-global-trace":
2163
2419
  case "set-global-no-trace": {
2164
- let r = "set-global-no-trace" === t, o = n.level, s = el(n.set);
2165
- return o ? null === s ? l(0, -1, `${tl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${tl()}: global trace level not found: ${o}`, null, null) : r ? (Zr(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (Zr(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${tl()}: what level?`, null, null);
2420
+ let r = "set-global-no-trace" === t, o = n.level, s = yl(n.set);
2421
+ return o ? null === s ? l(0, -1, `${Tl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${Tl()}: global trace level not found: ${o}`, null, null) : r ? (El(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (El(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${Tl()}: what level?`, null, null);
2166
2422
  }
2167
2423
  case "get-gclass-trace":
2168
2424
  case "get-gclass-no-trace":
2169
2425
  case "set-gclass-trace":
2170
2426
  case "set-gclass-no-trace": {
2171
- let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Se(o);
2172
- if (!s) return l(0, -1, `${tl()}: what gclass is '${o}'?`, null, null);
2427
+ let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Oe(o);
2428
+ if (!s) return l(0, -1, `${Tl()}: what gclass is '${o}'?`, null, null);
2173
2429
  if (0 === t.indexOf("get-")) return l(0, 0, null, null, r ? oe(s) : re(s));
2174
- let i = n.level, _ = el(n.set);
2175
- return i ? null === _ ? l(0, -1, `${tl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${tl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (Zr(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (Zr(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${tl()}: what level?`, null, null);
2430
+ let i = n.level, _ = yl(n.set);
2431
+ return i ? null === _ ? l(0, -1, `${Tl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${Tl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (El(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (El(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${Tl()}: what level?`, null, null);
2176
2432
  }
2177
- default: return l(0, -1, `${tl()}: command not available: ${t}`, null, null);
2433
+ default: return l(0, -1, `${Tl()}: command not available: ${t}`, null, null);
2178
2434
  }
2179
2435
  }
2180
2436
  };
2181
- var ll = "ievent_gate_stack", ol = [
2182
- j(E.DTP_STRING, "wanted_yuno_role", T.SDF_RD, "", "wanted yuno role"),
2183
- j(E.DTP_STRING, "wanted_yuno_name", T.SDF_RD, "", "wanted yuno name"),
2184
- j(E.DTP_STRING, "wanted_yuno_service", T.SDF_RD, "", "wanted yuno service"),
2185
- j(E.DTP_STRING, "remote_yuno_role", T.SDF_RD, "", "confirmed remote yuno role"),
2186
- j(E.DTP_STRING, "remote_yuno_name", T.SDF_RD, "", "confirmed remote yuno name"),
2187
- j(E.DTP_STRING, "remote_yuno_service", T.SDF_RD, "", "confirmed remote yuno service"),
2188
- j(E.DTP_STRING, "url", T.SDF_RD, "", "Url to connect"),
2189
- j(E.DTP_STRING, "jwt", T.SDF_PERSIST, "", "JWT"),
2190
- j(E.DTP_STRING, "cert_pem", T.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2191
- j(E.DTP_JSON, "extra_info", T.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2192
- j(E.DTP_LIST, "required_services", T.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."),
2193
- j(E.DTP_INTEGER, "timeout_retry", T.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"),
2194
- j(E.DTP_INTEGER, "timeout_retry_max", T.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2195
- j(E.DTP_INTEGER, "timeout_idack", T.SDF_RD, "5000", "timeout waiting idAck"),
2437
+ var Ol = "ievent_gate_stack", Sl = [
2438
+ j(E.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
2439
+ j(E.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
2440
+ j(E.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
2441
+ j(E.DTP_STRING, "remote_yuno_role", y.SDF_RD, "", "confirmed remote yuno role"),
2442
+ j(E.DTP_STRING, "remote_yuno_name", y.SDF_RD, "", "confirmed remote yuno name"),
2443
+ j(E.DTP_STRING, "remote_yuno_service", y.SDF_RD, "", "confirmed remote yuno service"),
2444
+ j(E.DTP_STRING, "url", y.SDF_RD, "", "Url to connect"),
2445
+ j(E.DTP_STRING, "jwt", y.SDF_PERSIST, "", "JWT"),
2446
+ j(E.DTP_STRING, "cert_pem", y.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2447
+ j(E.DTP_JSON, "extra_info", y.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2448
+ j(E.DTP_LIST, "required_services", y.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."),
2449
+ j(E.DTP_INTEGER, "timeout_retry", y.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"),
2450
+ j(E.DTP_INTEGER, "timeout_retry_max", y.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2451
+ j(E.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
2196
2452
  j(E.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2197
2453
  v()
2198
- ], sl = [
2454
+ ], wl = [
2199
2455
  ["ievents", "Trace inter-events with metadata of kw"],
2200
2456
  ["ievents2", "Trace inter-events with full kw"],
2201
2457
  ["identity-card", "Trace identity_card messages"]
2202
2458
  ];
2203
- function il(e) {
2459
+ function Nl(e) {
2204
2460
  return !!(3 & x(e));
2205
2461
  }
2206
- var _l = {
2462
+ var Rl = {
2207
2463
  url: null,
2208
2464
  remote_yuno_name: null,
2209
2465
  remote_yuno_role: null,
@@ -2213,91 +2469,99 @@
2213
2469
  websocket: null,
2214
2470
  inside_on_open: !1,
2215
2471
  retry_ms: 0
2216
- }, al = null;
2217
- function ul(e) {
2218
- e.priv.websocket && dn("Websocket ALREADY setup");
2472
+ }, Dl = null;
2473
+ function $l(e) {
2474
+ e.priv.websocket && mn("Websocket ALREADY setup");
2219
2475
  const t = jt(e, "url");
2220
2476
  let n;
2221
- pn(`====> Starting WebSocket to '${t}' (${et(e)})`);
2477
+ En(`====> Starting WebSocket to '${t}' (${et(e)})`);
2222
2478
  try {
2223
2479
  n = new WebSocket(t);
2224
2480
  } catch (n) {
2225
- return dn(`${et(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2481
+ return mn(`${et(e)}: Cannot open WebSocket to '${t}', Error: ${n.message}`), null;
2226
2482
  }
2227
- return n ? (n.onopen = () => {
2228
- Ft(e, "EV_ON_OPEN", { url: t }, e);
2483
+ if (!n) return mn(`${et(e)}: Failed to initialize WebSocket.`), null;
2484
+ const r = ++e.priv.ws_seq;
2485
+ return n.onopen = () => {
2486
+ r !== e.priv.ws_seq || ot(e) || Ft(e, "EV_ON_OPEN", {
2487
+ url: t,
2488
+ ws_seq: r
2489
+ }, e);
2229
2490
  }, n.onmessage = (n) => {
2230
- Ft(e, "EV_ON_MESSAGE", {
2491
+ r !== e.priv.ws_seq || ot(e) || Ft(e, "EV_ON_MESSAGE", {
2231
2492
  url: t,
2232
2493
  data: n.data
2233
2494
  }, e);
2234
2495
  }, n.onclose = (n) => {
2235
- ot(e) || (yt(He(), "browser_beforeunload") ? bn("Close websocket by unload page") : Ft(e, "EV_ON_CLOSE", {
2496
+ ot(e) || r === e.priv.ws_seq && (Tt(qe(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ft(e, "EV_ON_CLOSE", {
2236
2497
  url: t,
2237
- e: n
2498
+ ws_seq: r,
2499
+ code: n.code,
2500
+ reason: n.reason,
2501
+ was_clean: n.wasClean
2238
2502
  }, e));
2239
- }, n) : (dn(`${et(e)}: Failed to initialize WebSocket.`), null);
2503
+ }, n;
2240
2504
  }
2241
- function cl(e, t = 1e3, n = "") {
2505
+ function kl(e, t = 1e3, n = "") {
2242
2506
  let r = e.priv, l = r.websocket;
2243
2507
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
2244
- pn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2508
+ En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2245
2509
  try {
2246
2510
  l.close(t, n);
2247
- } catch (e) {
2248
- dn("Error closing WebSocket:", e.message);
2511
+ } catch (t) {
2512
+ mn(`${et(e)}: Error closing WebSocket: ${t.message}`);
2249
2513
  }
2250
- } else bn("WebSocket is already closed or in the process of closing.");
2514
+ } else hn("WebSocket is already closed or in the process of closing.");
2251
2515
  }
2252
- function fl(e, t, n) {
2253
- let r = wr();
2516
+ function Al(e, t, n) {
2517
+ let r = Jr();
2254
2518
  try {
2255
- pn("\n" + r + " " + t + "\n"), hn(n);
2519
+ En("\n" + r + " " + t + "\n"), Pn(n);
2256
2520
  } catch (e) {
2257
- pn("ERROR in trace_inter_event: " + e);
2521
+ En("ERROR in trace_inter_event: " + e);
2258
2522
  }
2259
2523
  }
2260
- var gl = class {
2524
+ var Il = class {
2261
2525
  constructor(e, t) {
2262
2526
  this.event = e, this.kw = t || {};
2263
2527
  }
2264
2528
  };
2265
- function dl(e, t, n, r) {
2529
+ function Cl(e, t, n, r) {
2266
2530
  return function(e, t) {
2267
2531
  let n = e.priv, r = JSON.stringify(t);
2268
- if (il(e)) {
2269
- let n = jt(e, "url"), l = Xe(He()) + " ==> " + n, o = Et(He(), "trace_ievent_callback");
2270
- o ? o(l, t, 1, r.length) : fl(0, l, t);
2532
+ if (Nl(e)) {
2533
+ let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o = Et(qe(), "trace_ievent_callback");
2534
+ o ? o(l, t, 1, r.length) : Al(0, l, t);
2271
2535
  }
2272
- if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return bn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
2536
+ if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return hn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
2273
2537
  try {
2274
2538
  n.websocket.send(r);
2275
2539
  } catch (t) {
2276
- dn(`${et(e)}: send_iev(): ${t}`);
2540
+ mn(`${et(e)}: send_iev(): ${t}`);
2277
2541
  }
2278
2542
  return 0;
2279
2543
  }(e, function(e, t) {
2280
- return Wn(e) ? (dn("iev_create() event NULL"), null) : new gl(e, t);
2544
+ return sr(e) ? (mn("iev_create() event NULL"), null) : new Il(e, t);
2281
2545
  }(t, n));
2282
2546
  }
2283
- function bl(e, t, n) {
2284
- return Wn(n) && (n = jt(e, "wanted_yuno_service")), {
2547
+ function Ll(e, t, n) {
2548
+ return sr(n) && (n = jt(e, "wanted_yuno_service")), {
2285
2549
  dst_yuno: jt(e, "wanted_yuno_name"),
2286
2550
  dst_role: jt(e, "wanted_yuno_role"),
2287
2551
  dst_service: n,
2288
- src_yuno: qe(),
2552
+ src_yuno: He(),
2289
2553
  src_role: ze(),
2290
2554
  src_service: t,
2291
- host: Dr()
2555
+ host: Hr()
2292
2556
  };
2293
2557
  }
2294
- function pl(e) {
2295
- let t = e.priv, n = Je(He()), r = jt(He(), "yuno_version"), l = jt(He(), "yuno_release"), o = jt(He(), "yuno_tag"), i = Et(e, "required_services");
2296
- i && i.length || (i = Et(He(), "required_services"));
2558
+ function Pl(e) {
2559
+ let t = e.priv, n = Je(qe()), r = jt(qe(), "yuno_version"), l = jt(qe(), "yuno_release"), o = jt(qe(), "yuno_tag"), i = Et(e, "required_services");
2560
+ i && i.length || (i = Et(qe(), "required_services"));
2297
2561
  let _ = {
2298
2562
  yuno_role: ze(),
2299
2563
  yuno_id: Qe(),
2300
- yuno_name: qe(),
2564
+ yuno_name: He(),
2301
2565
  yuno_tag: o,
2302
2566
  yuno_version: r,
2303
2567
  yuno_release: l,
@@ -2306,45 +2570,45 @@
2306
2570
  pid: 0,
2307
2571
  watcher_pid: 0,
2308
2572
  jwt: jt(e, "jwt"),
2309
- username: jt(He(), "__username__"),
2573
+ username: jt(qe(), "__username__"),
2310
2574
  launch_id: 0,
2311
- yuno_startdate: jt(He(), "start_date"),
2312
- id: Dr(),
2575
+ yuno_startdate: jt(qe(), "start_date"),
2576
+ id: Hr(),
2313
2577
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2314
2578
  language: "undefined" != typeof window ? window.navigator.language : "",
2315
2579
  required_services: i
2316
2580
  };
2317
- return hr(e, _, ll, bl(e, Xe(nt(e)), null)), Tr(e, _, "__identity__"), Jr(t.gobj_timer, vt(e, "timeout_idack")), dl(e, "EV_IDENTITY_CARD", _);
2581
+ return Fr(e, _, Ol, Ll(e, Xe(nt(e)), null)), Gr(e, _, "__identity__"), gl(t.gobj_timer, vt(e, "timeout_idack")), Cl(e, "EV_IDENTITY_CARD", _);
2318
2582
  }
2319
- function ml(e, t) {
2320
- if (Wn(t.event)) return -1;
2583
+ function Ul(e, t) {
2584
+ if (sr(t.event)) return -1;
2321
2585
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, s = t.__service__, i = t.subscriber;
2322
2586
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
2323
- return hr(e, n, ll, bl(e, Xe(i), s)), Tr(e, n, "__subscribing__"), dl(e, t.event, n);
2587
+ return Fr(e, n, Ol, Ll(e, Xe(i), s)), Gr(e, n, "__subscribing__"), Cl(e, t.event, n);
2324
2588
  }
2325
- function hl(e, t, n, r) {
2589
+ function Fl(e, t, n, r) {
2326
2590
  let l = e.priv;
2327
- return Ke(e) && (l.websocket = ul(e)), 0;
2591
+ return Ke(e) && (l.websocket = $l(e)), 0;
2328
2592
  }
2329
- function El(e, t, n, r) {
2330
- return pn("Websocket opened: " + e.priv.url), pl(e), 0;
2593
+ function Vl(e, t, n, r) {
2594
+ return En("Websocket opened: " + e.priv.url), Pl(e), 0;
2331
2595
  }
2332
- function Tl(e, t, n, r) {
2333
- let l = e.priv, o = n.e, s = n.url;
2334
- return fn(), bn(`${et(e)}: WebSocket closed ${s} (Code: ${o.code}, Reason: "${o.reason}", Clean: ${o.wasClean})`), l.websocket && (l.websocket.onopen = null, l.websocket.onmessage = null, l.websocket.onerror = null, l.websocket.onclose = null, l.websocket = null), l.inform_on_close ? (l.inform_on_close = !1, qt(e, "EV_ON_CLOSE", {
2335
- url: s,
2596
+ function Gl(e, t, n, r) {
2597
+ let l = e.priv, o = n.url;
2598
+ return dn(), hn(`${et(e)}: WebSocket closed ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), l.websocket && (l.websocket.onopen = null, l.websocket.onmessage = null, l.websocket.onerror = null, l.websocket.onclose = null, l.websocket = null), l.inform_on_close ? (l.inform_on_close = !1, Qt(e, "EV_ON_CLOSE", {
2599
+ url: o,
2336
2600
  remote_yuno_name: l.remote_yuno_name,
2337
2601
  remote_yuno_role: l.remote_yuno_role,
2338
2602
  remote_yuno_service: l.remote_yuno_service
2339
- })) : (bn(`${et(e)}: EV_ON_OPEN_ERROR cannot open ${s} (Code: ${o.code}, Reason: "${o.reason}", Clean: ${o.wasClean})`), qt(e, "EV_ON_OPEN_ERROR", {
2340
- url: s,
2603
+ })) : (hn(`${et(e)}: EV_ON_OPEN_ERROR cannot open ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), Qt(e, "EV_ON_OPEN_ERROR", {
2604
+ url: o,
2341
2605
  remote_yuno_name: l.remote_yuno_name,
2342
2606
  remote_yuno_role: l.remote_yuno_role,
2343
2607
  remote_yuno_service: l.remote_yuno_service,
2344
- code: o.code,
2345
- reason: o.reason,
2346
- was_clean: o.wasClean
2347
- })), Ke(e) && Jr(l.gobj_timer, function(e) {
2608
+ code: n.code,
2609
+ reason: n.reason,
2610
+ was_clean: n.was_clean
2611
+ })), Ke(e) && gl(l.gobj_timer, function(e) {
2348
2612
  let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2349
2613
  r < n && (r = n);
2350
2614
  t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
@@ -2352,17 +2616,17 @@
2352
2616
  return Math.max(1, Math.round(o));
2353
2617
  }(e)), 0;
2354
2618
  }
2355
- function yl(e, t, n, r) {
2356
- return pl(e), 0;
2619
+ function Ml(e, t, n, r) {
2620
+ return Pl(e), 0;
2357
2621
  }
2358
- function vl(e, t, n, r) {
2622
+ function Wl(e, t, n, r) {
2359
2623
  let l = e.priv;
2360
- qr(l.gobj_timer);
2361
- let o = Er(e, n, ll, !0), s = Zn(e, o, "src_yuno", ""), i = Zn(e, o, "src_role", ""), _ = Zn(e, o, "src_service", "");
2624
+ bl(l.gobj_timer);
2625
+ let o = Vr(e, n, Ol, !0), s = Er(e, o, "src_yuno", ""), i = Er(e, o, "src_role", ""), _ = Er(e, o, "src_service", "");
2362
2626
  Dt(e, "remote_yuno_name", s), Dt(e, "remote_yuno_role", i), Dt(e, "remote_yuno_service", _);
2363
- let a = Xn(e, n, "result", -1, 0), u = Zn(e, n, "comment", "", 0), c = Zn(e, n, "username", "", 0), f = nr(e, n, "services_roles", {});
2627
+ let a = hr(e, n, "result", -1, 0), u = Er(e, n, "comment", "", 0), c = Er(e, n, "username", "", 0), f = vr(e, n, "services_roles", {});
2364
2628
  if (a < 0) {
2365
- cl(e);
2629
+ kl(e);
2366
2630
  let t = {
2367
2631
  url: jt(e, "url"),
2368
2632
  result: a,
@@ -2372,7 +2636,7 @@
2372
2636
  remote_yuno_role: i,
2373
2637
  remote_yuno_service: _
2374
2638
  };
2375
- lt(e) ? Ft(nt(e), "EV_ON_ID_NAK", t, e) : qt(e, "EV_ON_ID_NAK", t);
2639
+ lt(e) ? Ft(nt(e), "EV_ON_ID_NAK", t, e) : Qt(e, "EV_ON_ID_NAK", t);
2376
2640
  } else {
2377
2641
  if ($t(e, "ST_SESSION"), l.inside_on_open = !0, l.retry_ms = 0, !l.inform_on_close) {
2378
2642
  l.inform_on_close = !0;
@@ -2383,69 +2647,70 @@
2383
2647
  remote_yuno_service: _,
2384
2648
  services_roles: f
2385
2649
  };
2386
- lt(e) ? Ft(nt(e), "EV_ON_OPEN", t, e) : qt(e, "EV_ON_OPEN", t);
2650
+ lt(e) ? Ft(nt(e), "EV_ON_OPEN", t, e) : Qt(e, "EV_ON_OPEN", t);
2387
2651
  }
2388
2652
  l.inside_on_open = !1, function(e) {
2389
- let t = Jt(e, null, null, null);
2390
- for (let n = 0; n < t.length; n++) ml(e, t[n]);
2653
+ let t = Ht(e, null, null, null);
2654
+ for (let n = 0; n < t.length; n++) Ul(e, t[n]);
2391
2655
  }(e);
2392
2656
  }
2393
2657
  return 0;
2394
2658
  }
2395
- function jl(e, t, n, r) {
2659
+ function xl(e, t, n, r) {
2396
2660
  let l = e.priv.url, o = function(e, t) {
2397
2661
  let n;
2398
2662
  try {
2399
2663
  n = JSON.parse(t);
2400
- } catch (e) {
2401
- return dn("parsing inter_event json: " + e), null;
2664
+ } catch (t) {
2665
+ return hn(`${et(e)}: parsing inter_event json: ${t}`), null;
2402
2666
  }
2403
- if (!(n instanceof Object)) return dn("parsing inter_event: websocket data not a json object"), null;
2667
+ if (!(n instanceof Object)) return hn(`${et(e)}: parsing inter_event: websocket data not a json object`), null;
2404
2668
  let r = n.event;
2405
- if (!r) return dn("parsing inter_event: no event"), null;
2406
- if ("string" != typeof r) return dn("parsing inter_event: event not a string"), null;
2669
+ if (!r) return hn(`${et(e)}: parsing inter_event: no event`), null;
2670
+ if ("string" != typeof r) return hn(`${et(e)}: parsing inter_event: event not a string`), null;
2407
2671
  let l = n.kw;
2408
2672
  return l ? l instanceof Object ? {
2409
2673
  event: r,
2410
2674
  kw: l || {}
2411
- } : (dn("parsing inter_event: kw not a json object"), null) : (dn("parsing inter_kw: no kw"), null);
2412
- }(0, n.data);
2413
- if (il(e)) {
2414
- let e = Xe(He()) + " <== " + l, t = n.data.length, r = Et(He(), "trace_ievent_callback");
2415
- r ? r(e, o, 2, t) : fl(0, e, o);
2675
+ } : (hn(`${et(e)}: parsing inter_event: kw not a json object`), null) : (hn(`${et(e)}: parsing inter_kw: no kw`), null);
2676
+ }(e, n.data);
2677
+ if (!o) return hn(`${et(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
2678
+ if (Nl(e)) {
2679
+ let e = Xe(qe()) + " <== " + l, t = n.data.length, r = Et(qe(), "trace_ievent_callback");
2680
+ r ? r(e, o, 2, t) : Al(0, e, o);
2416
2681
  }
2417
2682
  let s = o.event, i = o.kw;
2418
- if ("ST_SESSION" !== At(e)) {
2683
+ if ("ST_SESSION" !== kt(e)) {
2419
2684
  if (It(e, s, D.EVF_PUBLIC_EVENT)) {
2420
2685
  if (!(Ft(e, s, i, e) < 0)) return 0;
2421
- } else dn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
2422
- return cl(e), -1;
2686
+ } else mn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
2687
+ return kl(e), -1;
2423
2688
  }
2424
2689
  o = null;
2425
- let _ = yr(e, i), a = Er(e, i, ll), u = Zn(e, a, "dst_role", "");
2426
- if (u.toLowerCase() !== ze().toLowerCase()) return dn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2427
- let c = Zn(e, a, "dst_service", "");
2428
- if ("__subscribing__" === _) return -1;
2429
- if ("__unsubscribing__" === _) return -1;
2690
+ let _ = Mr(e, i), a = Vr(e, i, Ol), u = Er(e, a, "dst_role", "");
2691
+ if (u.toLowerCase() !== ze().toLowerCase()) return mn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2692
+ let c = Er(e, a, "dst_service", "");
2693
+ if ("__subscribing__" === _) return hn(`${et(e)}: subscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
2694
+ if ("__unsubscribing__" === _) return hn(`${et(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
2430
2695
  if (It(e, s, D.EVF_PUBLIC_EVENT)) return Ft(e, s, i, e), 0;
2431
- if (!Wn(c)) {
2432
- let t = Ne(c, !1);
2433
- return t ? It(t, s, D.EVF_PUBLIC_EVENT) ? (Ft(t, s, i, e), 0) : (dn(`${et(e)}: Service found but no event or not public, service '${et(t)}', ev '${s}'`), -1) : (bn(`${et(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${s}'`), 0);
2696
+ if (!sr(c)) {
2697
+ let t = we(c, !1);
2698
+ return t ? It(t, s, D.EVF_PUBLIC_EVENT) ? (Ft(t, s, i, e), 0) : (mn(`${et(e)}: Service found but no event or not public, service '${et(t)}', ev '${s}'`), -1) : (hn(`${et(e)}: event for a service that is gone, DROPPED: service '${c}', ev '${s}'`), 0);
2434
2699
  }
2435
- return lt(e) ? Ft(nt(e), s, i, e) : qt(e, s, i), 0;
2700
+ return lt(e) ? Ft(nt(e), s, i, e) : Qt(e, s, i), 0;
2436
2701
  }
2437
- function Sl(e, t, n, r) {
2702
+ function Kl(e, t, n, r) {
2438
2703
  return 0;
2439
2704
  }
2440
- function Ol(e, t, n, r) {
2705
+ function Yl(e, t, n, r) {
2441
2706
  return 0;
2442
2707
  }
2443
- var Nl = {
2708
+ var Bl = {
2444
2709
  mt_create: function(e) {
2445
2710
  let t = e.priv;
2446
- t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"), Dt(e, "wanted_yuno_name", t.remote_yuno_name), Dt(e, "wanted_yuno_role", t.remote_yuno_role), Dt(e, "wanted_yuno_service", t.remote_yuno_service);
2447
- const n = St(e, "subscriber");
2448
- n && Yt(e, null, {}, n);
2711
+ t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"), Dt(e, "wanted_yuno_name", t.remote_yuno_name), Dt(e, "wanted_yuno_role", t.remote_yuno_role), Dt(e, "wanted_yuno_service", t.remote_yuno_service);
2712
+ const n = Ot(e, "subscriber");
2713
+ n && Jt(e, null, {}, n);
2449
2714
  },
2450
2715
  mt_writing: function(e, t) {
2451
2716
  let n = e.priv;
@@ -2464,55 +2729,61 @@
2464
2729
  },
2465
2730
  mt_start: function(e) {
2466
2731
  let t = e.priv;
2467
- return t.retry_ms = 0, t.websocket = ul(e), 0;
2732
+ return t.retry_ms = 0, "ST_DISCONNECTED" !== kt(e) && (Ft(e, "EV_ON_CLOSE", {
2733
+ url: t.url,
2734
+ ws_seq: t.ws_seq,
2735
+ code: 1e3,
2736
+ reason: "restarted",
2737
+ was_clean: !0
2738
+ }, e), bl(t.gobj_timer)), t.websocket = $l(e), 0;
2468
2739
  },
2469
2740
  mt_stop: function(e) {
2470
2741
  let t = e.priv;
2471
- return qr(t.gobj_timer), t.websocket && cl(e), 0;
2742
+ return bl(t.gobj_timer), t.websocket && kl(e), 0;
2472
2743
  },
2473
2744
  mt_destroy: function(e) {},
2474
2745
  mt_stats: function(e, t, n, r) {
2475
- if ("ST_SESSION" !== At(e)) return dn("Not in session"), null;
2746
+ if ("ST_SESSION" !== kt(e)) return mn("Not in session"), null;
2476
2747
  n || (n = {});
2477
- let l = bl(e, Xe(r), Zn(e, n, "service", null, 0)), o = nr(e, n, "__md_stats__", null, zt.KW_EXTRACT);
2478
- return o || (o = {}), hr(e, n, "stats_stack", {
2748
+ let l = Ll(e, Xe(r), Er(e, n, "service", null, 0)), o = vr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2749
+ return o || (o = {}), Fr(e, n, "stats_stack", {
2479
2750
  stats: t,
2480
2751
  kw: o
2481
- }), hr(e, n, ll, l), n.__stats__ = t, Tr(e, n, "__stats__"), dl(e, "EV_MT_STATS", n, r), null;
2752
+ }), Fr(e, n, Ol, l), n.__stats__ = t, Gr(e, n, "__stats__"), Cl(e, "EV_MT_STATS", n, r), null;
2482
2753
  },
2483
2754
  mt_command_parser: function(e, t, n, r) {
2484
- if ("ST_SESSION" !== At(e)) return dn("Not in session"), null;
2755
+ if ("ST_SESSION" !== kt(e)) return mn("Not in session"), null;
2485
2756
  n || (n = {});
2486
- let l = bl(e, Xe(r), Zn(e, n, "service", "", 0)), o = nr(e, n, "__md_command__", null, zt.KW_EXTRACT);
2487
- return o || (o = {}), hr(e, n, "command_stack", {
2757
+ let l = Ll(e, Xe(r), Er(e, n, "service", "", 0)), o = vr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2758
+ return o || (o = {}), Fr(e, n, "command_stack", {
2488
2759
  command: t,
2489
2760
  kw: o
2490
- }), hr(e, n, ll, l), n.__command__ = t, Tr(e, n, "__command__"), dl(e, "EV_MT_COMMAND", n, r), null;
2761
+ }), Fr(e, n, Ol, l), n.__command__ = t, Gr(e, n, "__command__"), Cl(e, "EV_MT_COMMAND", n, r), null;
2491
2762
  },
2492
2763
  mt_inject_event: function(e, t, n, r) {
2493
- if ("ST_SESSION" !== At(e)) return window.console.error("Not in session"), -1;
2494
- if (n = Object.assign({}, Cn(n) ? n : {}), Cn(n.__md_iev__) && (n.__md_iev__ = En(n.__md_iev__)), Er(e, n, ll));
2764
+ if ("ST_SESSION" !== kt(e)) return window.console.error("Not in session"), -1;
2765
+ if (n = Object.assign({}, Xn(n) ? n : {}), Xn(n.__md_iev__) && (n.__md_iev__ = Un(n.__md_iev__)), Vr(e, n, Ol));
2495
2766
  else {
2496
- let l = bl(e, Xe(r), Zn(e, n, "__service__", 0, 0));
2497
- On(n, "__service__"), hr(e, n, "__message__", t), hr(e, n, ll, l);
2767
+ let l = Ll(e, Xe(r), Er(e, n, "__service__", 0, 0));
2768
+ xn(n, "__service__"), Fr(e, n, "__message__", t), Fr(e, n, Ol, l);
2498
2769
  }
2499
- return Tr(e, n, "__message__"), dl(e, t, n, r);
2770
+ return Gr(e, n, "__message__"), Cl(e, t, n, r);
2500
2771
  },
2501
2772
  mt_subscription_added: function(e, t) {
2502
2773
  let n = e.priv;
2503
- return "ST_SESSION" === At(e) && n.websocket ? n.inside_on_open ? 0 : ml(e, t) : 0;
2774
+ return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Ul(e, t) : 0;
2504
2775
  },
2505
2776
  mt_subscription_deleted: function(e, t) {
2506
2777
  let n = e.priv;
2507
- if ("ST_SESSION" !== At(e) || !n.websocket) return 0;
2778
+ if ("ST_SESSION" !== kt(e) || !n.websocket) return 0;
2508
2779
  if (n.inside_on_open) return 0;
2509
- if (Wn(t.event)) return 0;
2780
+ if (sr(t.event)) return 0;
2510
2781
  let r = {}, l = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, _ = t.subscriber;
2511
2782
  o && (r.__config__ = o), l && (r.__global__ = l), s && (r.__filter__ = s);
2512
- return hr(e, r, ll, bl(e, Xe(_), i)), Tr(e, r, "__unsubscribing__"), dl(e, t.event, r, e);
2783
+ return Fr(e, r, Ol, Ll(e, Xe(_), i)), Gr(e, r, "__unsubscribing__"), Cl(e, t.event, r, e);
2513
2784
  }
2514
2785
  };
2515
- e.GObj = O, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, l, o) => new y(e, t, n, null, o, r, null, 0, null, l, null), e.SDATACM = (e, t, n, r, l, o) => new y(e, t, 0, null, o, n, null, 0, l, r, null), e.SDATACM2 = (e, t, n, r, l, o, s) => new y(e, t, n, null, s, r, null, 0, o, l, null), e.SDATADF = (e, t, n, r, l, o) => new y(e, t, n, null, o, null, r, l), e.SDATAPM = (e, t, n, r, l) => new y(e, t, n, r, l), e.SDATAPM0 = (e, t, n, r, l) => new y(e, t, n, null, l, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = y, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
2786
+ e.GObj = S, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, l, o) => new T(e, t, n, null, o, r, null, 0, null, l, null), e.SDATACM = (e, t, n, r, l, o) => new T(e, t, 0, null, o, n, null, 0, l, r, null), e.SDATACM2 = (e, t, n, r, l, o, s) => new T(e, t, n, null, s, r, null, 0, o, l, null), e.SDATADF = (e, t, n, r, l, o) => new T(e, t, n, null, o, null, r, l), e.SDATAPM = (e, t, n, r, l) => new T(e, t, n, r, l), e.SDATAPM0 = (e, t, n, r, l) => new T(e, t, n, null, l, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
2516
2787
  enumerable: !0,
2517
2788
  get: function() {
2518
2789
  return p;
@@ -2523,50 +2794,50 @@
2523
2794
  return t;
2524
2795
  }, e.build_stats_response = o, e.clean_name = function(e) {
2525
2796
  return e.replace(/[?# ^:]/g, "_");
2526
- }, e.clear_timeout = qr, e.cmp_two_simple_json = Bn, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2797
+ }, e.clear_timeout = bl, e.cmp_two_simple_json = ur, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2527
2798
  let [r, l, o, s] = t;
2528
- if (!r) return void dn("Tag must be a valid HTML element.");
2799
+ if (!r) return void mn("Tag must be a valid HTML element.");
2529
2800
  let i = document.createElement(r), _ = "";
2530
2801
  if (l && "object" == typeof l) for (let e of Object.keys(l)) if ("style" === e && "object" == typeof l[e]) {
2531
2802
  let t = "";
2532
2803
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2533
2804
  i.style.cssText = t;
2534
2805
  } else "style" === e ? i.style.cssText = l[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== l[e] && void 0 !== l[e] && (_ = l[e], i.setAttribute("data-i18n", _)) : i.setAttribute(e, l[e]);
2535
- if (Un(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Nr(o));
2806
+ if (er(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Br(o));
2536
2807
  else if (n && _) i.textContent = n(_) || o;
2537
2808
  else i.textContent = o;
2538
- else if (Ln(o)) {
2539
- if (o.length > 0) if (Un(o[0])) i.appendChild(e(o, n));
2809
+ else if (Zn(o)) {
2810
+ if (o.length > 0) if (er(o[0])) i.appendChild(e(o, n));
2540
2811
  else for (let t of o) Array.isArray(t) && t.length > 0 ? i.appendChild(e(t, n)) : t instanceof HTMLElement && i.appendChild(t);
2541
- } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (dn("content ignored"), hn(o));
2812
+ } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (mn("content ignored"), Tn(o));
2542
2813
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
2543
2814
  return i;
2544
- }, e.createOneHtml = Nr, e.create_json_record = function(e, t) {
2545
- let n = En(e);
2546
- return vn(n, t), n;
2815
+ }, e.createOneHtml = Br, e.create_json_record = function(e, t) {
2816
+ let n = Un(e);
2817
+ return Gn(n, t), n;
2547
2818
  }, e.create_template_record = function(e, t) {
2548
2819
  let n = {};
2549
2820
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2550
2821
  let l;
2551
- Cn(r) && (l = r.default);
2552
- let o = nr(null, t, e, l);
2822
+ Xn(r) && (l = r.default);
2823
+ let o = vr(null, t, e, l);
2553
2824
  n[e] = o;
2554
2825
  }), n;
2555
- }, e.current_timestamp = wr, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2556
- let n = ar(Ur(e), null, !1), r = {};
2557
- return n && Cn(n) && (r = ir(e, n, t, !1)), r;
2826
+ }, e.current_timestamp = Jr, e.data_type_t = E, e.db_list_persistent_attrs = function(e, t) {
2827
+ let n = Dr(nl(e), null, !1), r = {};
2828
+ return n && Xn(n) && (r = Nr(e, n, t, !1)), r;
2558
2829
  }, e.db_load_persistent_attrs = function(e, t) {
2559
- let n = Tt(e, T.SDF_PERSIST), r = ar(Ur(e), null, !1);
2560
- if (r && Cn(r)) {
2561
- let l = ir(e, r, t, !1);
2562
- l = ir(e, l, n, !1), Nt(e, l, T.SDF_PERSIST);
2830
+ let n = yt(e, y.SDF_PERSIST), r = Dr(nl(e), null, !1);
2831
+ if (r && Xn(r)) {
2832
+ let l = Nr(e, r, t, !1);
2833
+ l = Nr(e, l, n, !1), wt(e, l, y.SDF_PERSIST);
2563
2834
  }
2564
2835
  }, e.db_remove_persistent_attrs = function(e, t) {
2565
- let n = _r(e, ar(Ur(e), null, !1), t, !1);
2566
- 0 === An(n) ? cr(Ur(e)) : ur(Ur(e), n);
2836
+ let n = Rr(e, Dr(nl(e), null, !1), t, !1);
2837
+ 0 === Hn(n) ? kr(nl(e)) : $r(nl(e), n);
2567
2838
  }, e.db_save_persistent_attrs = function(e, t) {
2568
- let n = ir(e, Tt(e, T.SDF_PERSIST), t, !1), r = ar(Ur(e), null, !1);
2569
- return r && Cn(r) && jn(n, r), ur(Ur(e), n);
2839
+ let n = Nr(e, yt(e, y.SDF_PERSIST), t, !1), r = Dr(nl(e), null, !1);
2840
+ return r && Xn(r) && Mn(n, r), $r(nl(e), n);
2570
2841
  }, e.debounce = function(e, t = 0, n = !1) {
2571
2842
  let r = null, l = null, o = null;
2572
2843
  const s = (...s) => {
@@ -2592,21 +2863,21 @@
2592
2863
  }
2593
2864
  return t;
2594
2865
  }, e.empty_json = function(e) {
2595
- return 0 === In(e);
2596
- }, e.empty_string = Wn, e.escapeHtml = Or, e.event_flag_t = D, e.flat2json = function(e) {
2866
+ return 0 === Qn(e);
2867
+ }, e.empty_string = sr, e.escapeHtml = Yr, e.event_flag_t = D, e.flat2json = function(e) {
2597
2868
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2598
2869
  let t = null;
2599
2870
  for (const n of Object.keys(e)) {
2600
- const r = Cr(n);
2871
+ const r = el(n);
2601
2872
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2602
- if (r.length > Ar) throw new Error(`flat2json: '${n}' deeper than 256`);
2873
+ if (r.length > Qr) throw new Error(`flat2json: '${n}' deeper than 256`);
2603
2874
  const l = "number" == typeof r[0];
2604
2875
  if (null === t) t = l ? [] : {};
2605
2876
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2606
2877
  let o = t;
2607
2878
  for (let t = 0; t < r.length; t++) {
2608
2879
  const l = r[t], s = "number" == typeof l, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2609
- if (s && l > kr) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2880
+ if (s && l > Xr) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2610
2881
  if (s !== Array.isArray(o)) throw new Error(`flat2json: '${n}' uses a ${s ? "array index" : "key"} where the tree already has a ${Array.isArray(o) ? "array" : "object"}`);
2611
2882
  if (i) {
2612
2883
  if (Array.isArray(o)) {
@@ -2614,7 +2885,7 @@
2614
2885
  o[l] = e[n];
2615
2886
  } else {
2616
2887
  if (Object.prototype.hasOwnProperty.call(o, l)) throw new Error(`flat2json: '${n}' is written twice, or once as a value and once as a container`);
2617
- o[l] = e[n];
2888
+ dr(o, l, e[n]);
2618
2889
  }
2619
2890
  break;
2620
2891
  }
@@ -2622,7 +2893,7 @@
2622
2893
  if (Array.isArray(o)) {
2623
2894
  for (; o.length <= l;) o.push(null);
2624
2895
  a = o[l], null == a && (a = _ ? [] : {}, o[l] = a);
2625
- } else a = o[l], void 0 === a && (a = _ ? [] : {}, o[l] = a);
2896
+ } else a = gr(o, l) ? void 0 : o[l], void 0 === a && (a = _ ? [] : {}, dr(o, l, a));
2626
2897
  if (null === a || "object" != typeof a) throw new Error(`flat2json: '${n}' walks through a value: the same id is a leaf and a container at once`);
2627
2898
  if (_ !== Array.isArray(a)) throw new Error(`flat2json: '${n}' needs a ${_ ? "array" : "object"} where the tree already has a ${Array.isArray(a) ? "array" : "object"}`);
2628
2899
  o = a;
@@ -2646,15 +2917,15 @@
2646
2917
  removed: {},
2647
2918
  changed: {}
2648
2919
  };
2649
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? Lr(n[e], r[e]) || (l.changed[e] = {
2920
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? tl(n[e], r[e]) || (l.changed[e] = {
2650
2921
  from: n[e],
2651
2922
  to: r[e]
2652
2923
  }) : l.removed[e] = n[e];
2653
2924
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || (l.added[e] = r[e]);
2654
2925
  return l;
2655
2926
  }, e.flat_key_join = function(e) {
2656
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Ir(e)).join("`") : "";
2657
- }, e.flat_key_split = Cr, e.gclass_add_ev_action = Ee, e.gclass_add_event_type = ye, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Se, e.gclass_flag_t = N, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2927
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : Zr(e)).join("`") : "";
2928
+ }, e.flat_key_split = el, e.gclass_add_ev_action = Ee, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2658
2929
  if (!e) return {
2659
2930
  top: 0,
2660
2931
  left: 0,
@@ -2673,55 +2944,60 @@
2673
2944
  right: n + i + r,
2674
2945
  bottom: t + s + l
2675
2946
  };
2676
- }, e.get_function_name = $r, e.get_now = function() {
2947
+ }, e.get_function_name = zr, e.get_now = function() {
2677
2948
  return Math.floor(Date.now() / 1e3);
2678
2949
  }, e.gobj_bottom_gobj = st, e.gobj_change_parent = function(e, t) {
2679
- return ot(e) ? (dn("gobj NULL or DESTROYED"), null) : t instanceof O ? (e.parent && e.parent.mt_child_removed && e.parent.mt_child_removed(e.parent, e), e.parent && (De(e.parent, e), e.parent = null), Re(t, e), t.mt_child_added && (Y(e) && pn(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.mt_child_added(t, e)), 0) : (dn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2950
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), null) : t instanceof S ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && (De(e.parent, e), e.parent = null), Re(t, e), t.gclass.gmt.mt_child_added && (Y(e) && En(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.gclass.gmt.mt_child_added(t, e)), 0) : (mn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
2680
2951
  }, e.gobj_change_state = $t, e.gobj_command = function(e, t, r, o) {
2681
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : ((function(e) {
2682
- return V > 1 || !!e && !!(x(e) & U.TRACE_COMMANDS);
2683
- }(e) || q(e, null) && !z(o, null)) && (L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ke(e) ? "" : "!!", et(e), t, et(o))), H(e) && hn(r)), e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, o) : e.gclass.command_table ? c ? c(e, t, r, o) : l(0, -1, n("%s: global command parser not available", et(e)), 0, 0) : l(0, -1, n("%s: command table not available", et(e)), 0, 0));
2952
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
2953
+ if (function(e) {
2954
+ return G > 1 || !!e && !!(x(e) & P.TRACE_COMMANDS);
2955
+ }(e) || H(e, null) && !z(o, null)) {
2956
+ let l = $n(t);
2957
+ L(n("🌀🌀 mach(%s%s), cmd: %s, src: %s", Ke(e) ? "" : "!!", et(e), null !== l ? l : t, et(o))), q(e) && Pn(r);
2958
+ }
2959
+ return e.gclass.gmt.mt_command_parser ? e.gclass.gmt.mt_command_parser(e, t, r, o) : e.gclass.command_table ? c ? c(e, t, r, o) : l(0, -1, n("%s: global command parser not available", et(e)), 0, 0) : l(0, -1, n("%s: command table not available", et(e)), 0, 0);
2684
2960
  }, e.gobj_create = function(e, t, n, r) {
2685
2961
  return Ie(e, t, n, r, 0);
2686
2962
  }, e.gobj_create2 = Ie, e.gobj_create_default_service = function(e, t, n, r) {
2687
- return Ie(e, t, n, r, w.gobj_flag_default_service | w.gobj_flag_autostart);
2963
+ return Ie(e, t, n, r, N.gobj_flag_default_service | N.gobj_flag_autostart);
2688
2964
  }, e.gobj_create_pure_child = Ce, e.gobj_create_service = function(e, t, n, r) {
2689
- return Ie(e, t, n, r, w.gobj_flag_service);
2965
+ return Ie(e, t, n, r, N.gobj_flag_service);
2690
2966
  }, e.gobj_create_volatil = function(e, t, n, r) {
2691
- return Ie(e, t, n, r, w.gobj_flag_volatil);
2967
+ return Ie(e, t, n, r, N.gobj_flag_volatil);
2692
2968
  }, e.gobj_create_yuno = function(e, t, n) {
2693
- return Ie(e, t, n, null, w.gobj_flag_yuno);
2694
- }, e.gobj_current_state = At, e.gobj_default_service = Oe, e.gobj_deliver_posted_events = Pt, e.gobj_destroy = Le, e.gobj_find_child = pt, e.gobj_find_gobj = function(e, t) {
2695
- if (Wn(t)) return null;
2969
+ return Ie(e, t, n, null, N.gobj_flag_yuno);
2970
+ }, e.gobj_current_state = kt, e.gobj_default_service = Se, e.gobj_deliver_posted_events = Ut, e.gobj_destroy = Le, e.gobj_find_child = pt, e.gobj_find_gobj = function(e, t) {
2971
+ if (sr(t)) return null;
2696
2972
  const n = t.toLowerCase();
2697
2973
  return "__default_service__" === n ? m : "__yuno__" === n || "__root__" === n ? p : mt(p, t);
2698
- }, e.gobj_find_service = Ne, e.gobj_find_subscribings = Ht, e.gobj_find_subscriptions = Jt, e.gobj_flag_t = w, e.gobj_full_name = tt, e.gobj_gclass_name = Ze, e.gobj_get_gclass_trace_level = re, e.gobj_get_gclass_trace_level2 = le, e.gobj_get_gclass_trace_no_level = oe, e.gobj_get_global_trace_level = te, e.gobj_get_global_trace_no_level = ne, e.gobj_global_trace_level = function() {
2974
+ }, e.gobj_find_service = we, e.gobj_find_subscribings = zt, e.gobj_find_subscriptions = Ht, e.gobj_flag_t = N, e.gobj_full_name = tt, e.gobj_gclass_name = Ze, e.gobj_get_gclass_trace_level = re, e.gobj_get_gclass_trace_level2 = le, e.gobj_get_gclass_trace_no_level = oe, e.gobj_get_global_trace_level = te, e.gobj_get_global_trace_no_level = ne, e.gobj_global_trace_level = function() {
2699
2975
  return F;
2700
2976
  }, e.gobj_global_trace_no_level = function() {
2701
- return G;
2977
+ return V;
2702
2978
  }, e.gobj_has_attr = ht, e.gobj_has_event = It, e.gobj_has_output_event = Ct, e.gobj_hsdata = ce, e.gobj_is_destroying = ot, e.gobj_is_playing = Je, e.gobj_is_pure_child = lt, e.gobj_is_running = Ke, e.gobj_is_service = Be, e.gobj_is_volatil = rt, e.gobj_list_persistent_attrs = function(e, t) {
2703
2979
  return u ? u(e, t) : null;
2704
2980
  }, e.gobj_list_subscriptions = function(e) {
2705
- let t = Jt(e, null, null, null);
2981
+ let t = Ht(e, null, null, null);
2706
2982
  for (let n = 0; n < t.length; n++) {
2707
- let r = t[n], l = er(e, r, "publisher", null, zt.KW_REQUIRED), o = er(e, r, "subscriber", null, zt.KW_REQUIRED);
2708
- wn(r, "s_event", Zn(e, r, "event", "", zt.KW_REQUIRED)), wn(r, "s_publisher", et(l)), wn(r, "s_subscriber", et(o));
2983
+ let r = t[n], l = yr(e, r, "publisher", null, Xt.KW_REQUIRED), o = yr(e, r, "subscriber", null, Xt.KW_REQUIRED);
2984
+ Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", et(l)), Yn(r, "s_subscriber", et(o));
2709
2985
  }
2710
- let n = Ht(e, 0, null, 0);
2986
+ let n = zt(e, 0, null, 0);
2711
2987
  for (let t = 0; t < n.length; t++) {
2712
- let r = n[t], l = er(e, r, "publisher", null, zt.KW_REQUIRED), o = er(e, r, "subscriber", null, zt.KW_REQUIRED);
2713
- wn(r, "s_event", Zn(e, r, "event", "", zt.KW_REQUIRED)), wn(r, "s_publisher", et(l)), wn(r, "s_subscriber", et(o));
2988
+ let r = n[t], l = yr(e, r, "publisher", null, Xt.KW_REQUIRED), o = yr(e, r, "subscriber", null, Xt.KW_REQUIRED);
2989
+ Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", et(l)), Yn(r, "s_subscriber", et(o));
2714
2990
  }
2715
2991
  return {
2716
2992
  subscriptions: t,
2717
2993
  subscribings: n,
2718
- "total subscriptions": kn(t),
2719
- total_subscribings: kn(n)
2994
+ "total subscriptions": zn(t),
2995
+ total_subscribings: zn(n)
2720
2996
  };
2721
2997
  }, e.gobj_load_persistent_attrs = function(e, t) {
2722
- return Be(e) ? i ? i(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
2998
+ return Be(e) ? i ? i(e, t) : -1 : (mn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
2723
2999
  }, e.gobj_match_children = function(e, t) {
2724
- if (ot(e)) return dn("gobj NULL or DESTROYED"), null;
3000
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), null;
2725
3001
  t = t || {};
2726
3002
  let n = [];
2727
3003
  const r = e.dl_children;
@@ -2741,18 +3017,18 @@
2741
3017
  }
2742
3018
  }(n, e), n;
2743
3019
  }, e.gobj_match_gobj = bt, e.gobj_name = Xe, e.gobj_parent = nt, e.gobj_pause = xe, e.gobj_play = We, e.gobj_post_event = function(e, t, r, l) {
2744
- return e && e instanceof O ? e.obflag & (R.obflag_destroyed | R.obflag_destroying) ? (dn(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : Wn(t) ? (dn("gobj_post_event(): event EMPTY"), -1) : It(e, t, 0) ? Lt.length >= 1e4 ? (dn(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${Lt.length}`), -1) : (Lt.push({
3020
+ return e && e instanceof S ? e.obflag & (R.obflag_destroyed | R.obflag_destroying) ? (mn(`gobj_post_event(): gobj dst DESTROYING, event ${t}`), -1) : sr(t) ? (mn("gobj_post_event(): event EMPTY"), -1) : It(e, t, 0) ? Lt.length >= 1e4 ? (mn(`gobj_post_event(): too many posted events, this is NOT a work queue, event ${t}, pending ${Lt.length}`), -1) : (Lt.push({
2745
3021
  dst: e,
2746
3022
  event: t,
2747
3023
  kw: r,
2748
3024
  src: l
2749
- }), q(e, t) && !z(l, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", et(e), t, Lt.length)), Ut || (Ut = !0, setTimeout(Pt, 0)), 0) : (dn(`gobj_post_event(): event NOT DEFINED in gclass ${Ze(e)}, event ${t}`), -1) : (dn(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
3025
+ }), H(e, t) && !z(l, t) && L(n("📬 posted(%s%s), ev: %s, pending: %d", e.running ? "" : "!!", et(e), t, Lt.length)), Pt || (Pt = !0, setTimeout(Ut, 0)), 0) : (mn(`gobj_post_event(): event NOT DEFINED in gclass ${Ze(e)}, event ${t}`), -1) : (mn(`gobj_post_event(): gobj dst NULL, event ${t}`), -1);
2750
3026
  }, e.gobj_posted_events_size = function() {
2751
3027
  return Lt.length;
2752
- }, e.gobj_publish_event = qt, e.gobj_read_attr = Et, e.gobj_read_attrs = Tt, e.gobj_read_bool_attr = yt, e.gobj_read_integer_attr = vt, e.gobj_read_pointer_attr = St, e.gobj_read_str_attr = jt, e.gobj_remove_persistent_attrs = function(e, t) {
2753
- return Be(e) ? a ? a(e, t) : -1 : (dn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
3028
+ }, e.gobj_publish_event = Qt, e.gobj_read_attr = Et, e.gobj_read_attrs = yt, e.gobj_read_bool_attr = Tt, e.gobj_read_integer_attr = vt, e.gobj_read_pointer_attr = Ot, e.gobj_read_str_attr = jt, e.gobj_remove_persistent_attrs = function(e, t) {
3029
+ return Be(e) ? a ? a(e, t) : -1 : (mn(`${et(e)}: Only gobj services can load/save writable-persistent`), -1);
2754
3030
  }, e.gobj_repr_global_trace_levels = function() {
2755
- return P.map(([e, t, n]) => ({
3031
+ return U.map(([e, t, n]) => ({
2756
3032
  name: e,
2757
3033
  bit: t,
2758
3034
  description: n,
@@ -2760,54 +3036,51 @@
2760
3036
  }));
2761
3037
  }, e.gobj_reset_volatil_attrs = function(e) {
2762
3038
  return function(e, t, n) {
2763
- if (ot(e)) return dn("gobj NULL or DESTROYED"), -1;
3039
+ if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
2764
3040
  let r = e.gclass.attrs_table;
2765
3041
  for (let l = 0; l < r.length; l++) {
2766
3042
  const o = r[l];
2767
- if (o.name && !(n && o.flag & n) && (-1 === t || o.flag & t)) {
2768
- const t = ae(e, e.jn_attrs, o);
2769
- Cn(e.priv) && e.priv.hasOwnProperty(o.name) && (e.priv[o.name] = t), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o.name);
2770
- }
3043
+ o.name && (n && o.flag & n || (-1 === t || o.flag & t) && (ae(e, e.jn_attrs, o), Xn(e.priv) && e.priv.hasOwnProperty(o.name) && (e.priv[o.name] = e.jn_attrs[o.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, o.name)));
2771
3044
  }
2772
3045
  return 0;
2773
- }(e, T.SDF_VOLATIL, 0);
3046
+ }(e, y.SDF_VOLATIL, 0);
2774
3047
  }, e.gobj_save_persistent_attrs = $e, e.gobj_search_path = mt, e.gobj_send_event = Ft, e.gobj_services = function() {
2775
3048
  let e = [];
2776
- for (const t of Object.keys(b)) Dn(e, t);
3049
+ for (const t of Object.keys(b)) Jn(e, t);
2777
3050
  return e;
2778
3051
  }, e.gobj_set_bottom_gobj = it, e.gobj_set_deep_trace = function(e) {
2779
- return V = Number(e) || 0, 0;
3052
+ return G = Number(e) || 0, 0;
2780
3053
  }, e.gobj_set_gclass_no_trace = ie, e.gobj_set_gclass_trace = se, e.gobj_set_global_no_trace = X, e.gobj_set_global_no_trace2 = ee, e.gobj_set_global_trace = Q, e.gobj_set_global_trace2 = Z, e.gobj_set_gobj_no_trace = function(e, t, n) {
2781
- if (!e) return dn("gobj_set_gobj_no_trace: gobj NULL"), -1;
3054
+ if (!e) return mn("gobj_set_gobj_no_trace: gobj NULL"), -1;
2782
3055
  const r = W(t, "gobj_set_gobj_no_trace", e.gclass && e.gclass.s_user_trace_level || null);
2783
3056
  return r ? (n ? e.no_trace_level |= r : e.no_trace_level &= ~r, 0) : -1;
2784
3057
  }, e.gobj_set_gobj_trace = function(e, t, n) {
2785
- if (!e) return dn("gobj_set_gobj_trace: gobj NULL"), -1;
3058
+ if (!e) return mn("gobj_set_gobj_trace: gobj NULL"), -1;
2786
3059
  const r = W(t, "gobj_set_gobj_trace", e.gclass && e.gclass.s_user_trace_level || null);
2787
3060
  return r ? (n ? e.trace_level |= r : e.trace_level &= ~r, 0) : -1;
2788
3061
  }, e.gobj_set_trace_machine_format = function(e) {
2789
3062
  C = 1 === Number(e) ? 1 : 0;
2790
- }, e.gobj_short_name = et, e.gobj_start = Ue, e.gobj_start_children = function(e) {
2791
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : at(e, $.WALK_FIRST2LAST, Pe, 0, 0);
3063
+ }, e.gobj_short_name = et, e.gobj_start = Pe, e.gobj_start_children = function(e) {
3064
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : at(e, $.WALK_FIRST2LAST, Ue, 0, 0);
2792
3065
  }, e.gobj_start_tree = function(e) {
2793
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & N.gcflag_manual_start || e.disabled ? 0 : (e.running || Ue(e), ut(e, $.WALK_TOP2BOTTOM, Fe, 0, 0)));
3066
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏺ ⏺ ⏺ ⏺ start_tree: %s", tt(e))), e.gclass.gclass_flag & w.gcflag_manual_start || e.disabled ? 0 : (e.running || Pe(e), ut(e, $.WALK_TOP2BOTTOM, Fe, 0, 0)));
2794
3067
  }, e.gobj_start_up = function(e, t, n, r, l, o, s) {
2795
3068
  i = t, _ = n, a = r, u = l, c = o, f = s;
2796
3069
  const d = [["EV_STATE_CHANGED", D.EVF_SYSTEM_EVENT | D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]];
2797
3070
  for (let e = 0; e < d.length; e++) {
2798
3071
  let t = d[e][0], n = d[e][1];
2799
- Te(g, t, n);
3072
+ ye(g, t, n);
2800
3073
  }
2801
3074
  return 0;
2802
3075
  }, e.gobj_stats = function(e, t, r, l) {
2803
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, l) : f ? f(e, t, r, l) : o(0, -1, n("%s, stats parser not available", et(e)), 0, 0);
2804
- }, e.gobj_stop = Ge, e.gobj_stop_children = Me, e.gobj_stop_tree = function(e) {
2805
- return ot(e) ? (dn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", tt(e))), Ke(e) && Ge(e), ut(e, $.WALK_TOP2BOTTOM, Ve, 0, 0));
2806
- }, e.gobj_subscribe_event = Yt, e.gobj_trace_level = x, e.gobj_trace_machine_format = function() {
3076
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : e.gclass.gmt.mt_stats ? e.gclass.gmt.mt_stats(e, t, r, l) : f ? f(e, t, r, l) : o(0, -1, n("%s, stats parser not available", et(e)), 0, 0);
3077
+ }, e.gobj_stop = Ve, e.gobj_stop_children = Me, e.gobj_stop_tree = function(e) {
3078
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), -1) : (J(e) && L(n("⏹ ⏹ ⏹ ⏹ stop_tree: %s", tt(e))), Ke(e) && Ve(e), ut(e, $.WALK_TOP2BOTTOM, Ge, 0, 0));
3079
+ }, e.gobj_subscribe_event = Jt, e.gobj_trace_level = x, e.gobj_trace_machine_format = function() {
2807
3080
  return C;
2808
3081
  }, e.gobj_trace_no_level = K, e.gobj_unsubscribe_event = function(e, t, n, r) {
2809
- if (null == n && (n = {}), !e) return dn(`publisher NULL: ev ${t}`), 0;
2810
- if (!r) return dn(`subscriber NULL: ev ${t}`), 0;
3082
+ if (null == n && (n = {}), !e) return mn(`publisher NULL: ev ${t}`), 0;
3083
+ if (!r) return mn(`subscriber NULL: ev ${t}`), 0;
2811
3084
  const l = /* @__PURE__ */ new Set([
2812
3085
  "__config__",
2813
3086
  "__global__",
@@ -2816,80 +3089,80 @@
2816
3089
  "__service__"
2817
3090
  ]);
2818
3091
  if (Object.keys(n).forEach((n) => {
2819
- l.has(n) || dn(`${et(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
2820
- }), Wn(t)) t = "";
2821
- else if (!(Ct(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & N.gcflag_no_check_output_events)) return dn(`event NOT in output event list: ${et(e)}, ev ${t}`), 0;
2822
- let o = Wt(e.dl_subscriptions, e, t, n, r), s = 0;
2823
- for (let t = 0; t < o.length; t++) {
2824
- let n = o[t];
2825
- Kt(e, n, !1, !1), s++;
2826
- }
2827
- return s || (bn(`${et(e)}: No subscription found`), hn(n, "No subscription found")), 0;
2828
- }, e.gobj_unsubscribe_list = Bt, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = Ot, e.gobj_write_attrs = Nt, e.gobj_write_bool_attr = wt, e.gobj_write_integer_attr = Rt, e.gobj_write_str_attr = Dt, e.gobj_yuno = He, e.gobj_yuno_id = Qe, e.gobj_yuno_name = qe, e.gobj_yuno_role = ze, e.id_index_in_obj_list = dr, e.index_in_list = Rr, e.is_array = Ln, e.is_boolean = Fn, e.is_date = function(e) {
3092
+ l.has(n) || mn(`${et(e)}: key ignored in subscription (key: ${n}, event: ${t})`);
3093
+ }), sr(t)) t = "";
3094
+ else if (!(Ct(e, t, D.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${et(e)}, ev ${t}`), 0;
3095
+ let o = Wt(n, t), s = Kt(e.dl_subscriptions, e, t, o.renamed_event, o.kw, r), i = 0, _ = 0, a = 0;
3096
+ for (let t = 0; t < s.length; t++) {
3097
+ let n = s[t], r = Bt(e, n, !1, !1);
3098
+ 0 === r ? i++ : r < 0 ? _++ : a++;
3099
+ }
3100
+ return _ ? hn(`${et(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (hn(`${et(e)}: No subscription found`), Pn(n, "No subscription found")), 0;
3101
+ }, e.gobj_unsubscribe_list = qt, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr = Rt, e.gobj_write_str_attr = Dt, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.id_index_in_obj_list = Cr, e.index_in_list = qr, e.is_array = Zn, e.is_boolean = nr, e.is_date = function(e) {
2829
3102
  return e instanceof Date && !isNaN(e);
2830
- }, e.is_function = Vn, e.is_gobj = Mn, e.is_metadata_key = function(e) {
2831
- if (!Un(e)) return !1;
2832
- let t;
2833
- for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
3103
+ }, e.is_function = lr, e.is_gobj = or, e.is_metadata_key = function(e) {
3104
+ if (!er(e)) return !1;
3105
+ let t = 0;
3106
+ for (; t < e.length && "_" === e[t] && !(t > 2); t++);
2834
3107
  return 2 === t;
2835
- }, e.is_null = Gn, e.is_number = Pn, e.is_object = Cn, e.is_private_key = function(e) {
2836
- if (!Un(e)) return !1;
2837
- let t;
2838
- for (t = 0; t < e.length && "_" === e[t] && !(t > 2); t++);
3108
+ }, e.is_null = rr, e.is_number = tr, e.is_object = Xn, e.is_private_key = function(e) {
3109
+ if (!er(e)) return !1;
3110
+ let t = 0;
3111
+ for (; t < e.length && "_" === e[t] && !(t > 2); t++);
2839
3112
  return 1 === t;
2840
3113
  }, e.is_pure_number = function(e) {
2841
- if (Pn(e)) return !0;
2842
- if (!Un(e)) return !1;
3114
+ if (tr(e)) return !0;
3115
+ if (!er(e)) return !1;
2843
3116
  const t = Number(e);
2844
3117
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
2845
- }, e.is_string = Un, e.jdb_delete = function(e, t, n, r) {
2846
- let l = nr(null, nr(null, e, "topics", null, 0), t, null, 0);
2847
- if (!l) return dn("jdb_delete: topic not found: " + t), null;
2848
- if (Wn(r.id)) return dn("jdb_delete: record without id: " + r), mn(r), null;
3118
+ }, e.is_secret_name = Sn, e.is_string = er, e.jdb_delete = function(e, t, n, r) {
3119
+ let l = vr(null, vr(null, e, "topics", null, 0), t, null, 0);
3120
+ if (!l) return mn("jdb_delete: topic not found: " + t), null;
3121
+ if (sr(r.id)) return mn("jdb_delete: record without id: " + r), yn(r), null;
2849
3122
  let o, s = n.split("`"), i = l;
2850
- for (; (o = s.shift()) && !Wn(o) && i;) Cn(i) && (i = nr(null, i, e.hook, null, 0)), i = jr(i, null, o, !1);
2851
- if (0 === s.length && i) if (Ln(i)) {
2852
- let e = dr(i, r.id);
3123
+ for (; (o = s.shift()) && !sr(o) && i;) Xn(i) && (i = vr(null, i, e.hook, null, 0)), i = xr(i, null, o, !1);
3124
+ if (0 === s.length && i) if (Zn(i)) {
3125
+ let e = Cr(i, r.id);
2853
3126
  e >= 0 && i.splice(e, 1);
2854
3127
  } else {
2855
- let t = nr(null, i, e.hook, null, 0), n = dr(t, r.id);
3128
+ let t = vr(null, i, e.hook, null, 0), n = Cr(t, r.id);
2856
3129
  n >= 0 && t.splice(n, 1);
2857
3130
  }
2858
3131
  return l;
2859
3132
  }, e.jdb_get = function(e, t, n, r) {
2860
- let l = nr(null, nr(null, e, "topics", null, 0), t, null, 0);
2861
- return l ? (void 0 === r && (r = !0), jr(l, e.hook, n, r)) : (dn("jdb_get: topic not found: " + t), null);
3133
+ let l = vr(null, vr(null, e, "topics", null, 0), t, null, 0);
3134
+ return l ? (void 0 === r && (r = !0), xr(l, e.hook, n, r)) : (mn("jdb_get: topic not found: " + t), null);
2862
3135
  }, e.jdb_get_by_idx = function(e, t, n) {
2863
- let r = nr(null, nr(null, e, "topics", null, 0), t, null, 0);
2864
- return r ? n < r.length ? r[n] : {} : (dn("jdb_get_by_idx: topic not found: " + t), null);
3136
+ let r = vr(null, vr(null, e, "topics", null, 0), t, null, 0);
3137
+ return r ? n < r.length ? r[n] : {} : (mn("jdb_get_by_idx: topic not found: " + t), null);
2865
3138
  }, e.jdb_get_topic = function(e, t) {
2866
- let n = nr(null, e, "topics", null, 0);
2867
- if (!n) return dn("jdb topics section not found"), mn(e), null;
2868
- return nr(null, n, t, null, 0) || (dn("jdb topic not found: " + t), mn(n), null);
3139
+ let n = vr(null, e, "topics", null, 0);
3140
+ if (!n) return mn("jdb topics section not found"), yn(e), null;
3141
+ return vr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), yn(n), null);
2869
3142
  }, e.jdb_init = function(e, t, n) {
2870
- n && (e = En(e));
2871
- let r = nr(null, e, "type", [], 1);
2872
- Zn(null, e, "hook", "data", 1);
2873
- let l = nr(null, e, "schema", {}, 1), o = nr(null, e, "topics", {}, 1);
2874
- return vr(l, function(e, t, n, l) {
2875
- "__" !== t.substring(0, 2) && nr(null, o, l, En(r), 1);
3143
+ n && (e = Un(e));
3144
+ let r = vr(null, e, "type", [], 1);
3145
+ Er(null, e, "hook", "data", 1);
3146
+ let l = vr(null, e, "schema", {}, 1), o = vr(null, e, "topics", {}, 1);
3147
+ return Wr(l, function(e, t, n, l) {
3148
+ "__" !== t.substring(0, 2) && vr(null, o, l, Un(r), 1);
2876
3149
  }, t), e;
2877
3150
  }, e.jdb_update = function(e, t, n, r) {
2878
- let l = nr(null, nr(null, e, "topics", null, 0), t, null, 0);
2879
- if (!l) return dn("jdb_update: topic not found: " + t), null;
2880
- if (Wn(r.id)) return dn("jdb_update: record without id: " + r), mn(r), null;
3151
+ let l = vr(null, vr(null, e, "topics", null, 0), t, null, 0);
3152
+ if (!l) return mn("jdb_update: topic not found: " + t), null;
3153
+ if (sr(r.id)) return mn("jdb_update: record without id: " + r), yn(r), null;
2881
3154
  let o, s = n.split("`"), i = l;
2882
- for (; (o = s.shift()) && !Wn(o) && i;) Cn(i) && (i = nr(null, i, e.hook, [], 1)), i = jr(i, null, o, !1);
2883
- if (0 === s.length && i) if (Ln(i)) i.push(r);
3155
+ for (; (o = s.shift()) && !sr(o) && i;) Xn(i) && (i = vr(null, i, e.hook, [], 1)), i = xr(i, null, o, !1);
3156
+ if (0 === s.length && i) if (Zn(i)) i.push(r);
2884
3157
  else if (i.id === r.id) Object.assign(i, r);
2885
3158
  else {
2886
- let t = nr(null, i, e.hook, [], 1), n = jr(t, e.hook, r.id, !1);
3159
+ let t = vr(null, i, e.hook, [], 1), n = xr(t, e.hook, r.id, !1);
2887
3160
  n ? Object.assign(n, r) : t.push(r);
2888
3161
  }
2889
3162
  return l;
2890
3163
  }, e.json2flat = function(e) {
2891
3164
  const t = {}, n = (e, r, l) => {
2892
- if (l > Ar) throw new Error("json2flat: deeper than 256");
3165
+ if (l > Qr) throw new Error("json2flat: deeper than 256");
2893
3166
  if (null === e || "object" != typeof e || Array.isArray(e)) {
2894
3167
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
2895
3168
  const o = `[${t}]`;
@@ -2899,7 +3172,7 @@
2899
3172
  const t = Object.keys(e);
2900
3173
  if (t.length > 0) {
2901
3174
  for (const o of t) {
2902
- const t = Ir(o);
3175
+ const t = Zr(o);
2903
3176
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
2904
3177
  }
2905
3178
  return;
@@ -2908,11 +3181,11 @@
2908
3181
  0 !== l && (t[r] = e);
2909
3182
  };
2910
3183
  return null == e || n(e, "", 0), t;
2911
- }, e.json_array_append = Rn, e.json_array_append_new = Dn, e.json_array_extend = function(e, t) {
3184
+ }, e.json_array_append = Bn, e.json_array_append_new = Jn, e.json_array_extend = function(e, t) {
2912
3185
  return t ? (Array.prototype.push.apply(e, t), e) : e;
2913
- }, e.json_array_remove = $n, e.json_array_size = kn, e.json_deep_copy = En, e.json_is_identical = Tn, e.json_object_del = On, e.json_object_get = Sn, e.json_object_set = Nn, e.json_object_set_new = wn, e.json_object_size = An, e.json_object_update = yn, e.json_object_update_existing = vn, e.json_object_update_missing = jn, e.json_size = In, e.jwt2json = function(e, t) {
3186
+ }, e.json_array_remove = qn, e.json_array_size = zn, e.json_deep_copy = Un, e.json_is_identical = Fn, e.json_mask_secrets = Ln, e.json_object_del = xn, e.json_object_get = Wn, e.json_object_set = Kn, e.json_object_set_new = Yn, e.json_object_size = Hn, e.json_object_update = Vn, e.json_object_update_existing = Gn, e.json_object_update_missing = Mn, e.json_size = Qn, e.jwt2json = function(e, t) {
2914
3187
  try {
2915
- let n = Sr(e);
3188
+ let n = Kr(e);
2916
3189
  switch (t) {
2917
3190
  case "header": return JSON.parse(n.header);
2918
3191
  case "signature": return JSON.parse(n.signature);
@@ -2921,137 +3194,137 @@
2921
3194
  } catch (e) {
2922
3195
  return null;
2923
3196
  }
2924
- }, e.jwtDecode = Sr, e.kw_clone_by_keys = ir, e.kw_clone_by_not_keys = _r, e.kw_collect = function(e, t, n, r) {
2925
- if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return null;
2926
- r || (r = sr);
3197
+ }, e.jwtDecode = Kr, e.kw_clone_by_keys = Nr, e.kw_clone_by_not_keys = Rr, e.kw_collect = function(e, t, n, r) {
3198
+ if (e && !or(e) && mn("GObj bad instanceof"), !t) return null;
3199
+ r || (r = wr);
2927
3200
  let l = [];
2928
- if (Ln(t)) for (let e = 0; e < t.length; e++) {
3201
+ if (Zn(t)) for (let e = 0; e < t.length; e++) {
2929
3202
  let o = t[e];
2930
3203
  r(o, n) && l.push(o);
2931
3204
  }
2932
3205
  else {
2933
- if (!Cn(t)) return dn("kw_select() BAD kw parameter"), null;
3206
+ if (!Xn(t)) return mn("kw_select() BAD kw parameter"), null;
2934
3207
  r(t, n) && l.push(t);
2935
3208
  }
2936
3209
  return l;
2937
- }, e.kw_delete = zn, e.kw_find_json_in_list = function(e, t, n, r) {
2938
- if (!n || !Ln(t)) return r && dn("item NULL or kw_list is not a list"), -1;
2939
- for (let e = 0; e < t.length; e++) if (Tn(n, t[e])) return e;
2940
- return r && dn("item not found in this list"), -1;
2941
- }, e.kw_find_path = qn, e.kw_flag_t = zt, e.kw_get_bool = Qn, e.kw_get_dict = tr, e.kw_get_dict_value = nr, e.kw_get_int = Xn, e.kw_get_list = function(e, t, n, r, l) {
2942
- e && !Mn(e) && dn("GObj bad instanceof");
2943
- let o = qn(e, t, n, !1);
2944
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT;
2945
- return void 0 === o ? i && Ln(r) && t ? (rr(e, t, n, r), r) : (s && (dn(`path not found: '${n}'`), hn(t)), r) : Ln(o) ? (_ && zn(e, t, n), o) : (s && (dn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), hn(t)), r);
2946
- }, e.kw_get_local_storage_value = ar, e.kw_get_pointer = er, e.kw_get_real = function(e, t, n, r, l) {
2947
- e && !Mn(e) && dn("GObj bad instanceof");
2948
- let o = qn(e, t, n, !1);
2949
- const s = l && l & zt.KW_REQUIRED, i = l && l & zt.KW_CREATE, _ = l && l & zt.KW_EXTRACT, a = l && l & zt.KW_WILD_NUMBER;
3210
+ }, e.kw_delete = pr, e.kw_find_json_in_list = function(e, t, n, r) {
3211
+ if (!n || !Zn(t)) return r && mn("item NULL or kw_list is not a list"), -1;
3212
+ for (let e = 0; e < t.length; e++) if (Fn(n, t[e])) return e;
3213
+ return r && mn("item not found in this list"), -1;
3214
+ }, e.kw_find_path = br, e.kw_flag_t = Xt, e.kw_get_bool = mr, e.kw_get_dict = Tr, e.kw_get_dict_value = vr, e.kw_get_int = hr, e.kw_get_list = function(e, t, n, r, l) {
3215
+ e && !or(e) && mn("GObj bad instanceof");
3216
+ let o = br(e, t, n, !1);
3217
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT;
3218
+ return void 0 === o ? i && Zn(r) && t ? (jr(e, t, n, r), r) : (s && (mn(`path not found: '${n}'`), Pn(t)), r) : Zn(o) ? (_ && pr(e, t, n), o) : (s && (mn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), Pn(t)), r);
3219
+ }, e.kw_get_local_storage_value = Dr, e.kw_get_pointer = yr, e.kw_get_real = function(e, t, n, r, l) {
3220
+ e && !or(e) && mn("GObj bad instanceof");
3221
+ let o = br(e, t, n, !1);
3222
+ const s = l && l & Xt.KW_REQUIRED, i = l && l & Xt.KW_CREATE, _ = l && l & Xt.KW_EXTRACT, a = l && l & Xt.KW_WILD_NUMBER;
2950
3223
  if (void 0 === o) {
2951
3224
  if (i && t) {
2952
3225
  let l = Number(r);
2953
- return rr(e, t, n, l), l;
3226
+ return jr(e, t, n, l), l;
2954
3227
  }
2955
- return s && (dn(`path not found: '${n}'`), hn(t)), Number(r);
3228
+ return s && (mn(`path not found: '${n}'`), Pn(t)), Number(r);
2956
3229
  }
2957
3230
  let u;
2958
- if (Pn(o)) u = o;
3231
+ if (tr(o)) u = o;
2959
3232
  else {
2960
- if (!a) return dn(`${e ? et(e) + ": " : ""}path MUST BE a json real: '${n}'`), hn(t), Number(r);
2961
- if (Fn(o)) u = o ? 1 : 0;
2962
- else if (Un(o)) u = parseFloat(o), Number.isNaN(u) && (u = 0);
3233
+ if (!a) return mn(`${e ? et(e) + ": " : ""}path MUST BE a json real: '${n}'`), Pn(t), Number(r);
3234
+ if (nr(o)) u = o ? 1 : 0;
3235
+ else if (er(o)) u = parseFloat(o), Number.isNaN(u) && (u = 0);
2963
3236
  else {
2964
- if (null !== o) return dn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), hn(t), 0;
3237
+ if (null !== o) return mn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Pn(t), 0;
2965
3238
  u = 0;
2966
3239
  }
2967
3240
  }
2968
- return _ && zn(e, t, n), u;
2969
- }, e.kw_get_str = Zn, e.kw_has_key = Hn, e.kw_match_simple = sr, e.kw_pop = Jn, e.kw_remove_local_storage_value = cr, e.kw_select = function(e, t, n, r) {
2970
- if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return null;
2971
- r || (r = sr);
3241
+ return _ && pr(e, t, n), u;
3242
+ }, e.kw_get_str = Er, e.kw_has_key = fr, e.kw_match_simple = wr, e.kw_pop = cr, e.kw_remove_local_storage_value = kr, e.kw_select = function(e, t, n, r) {
3243
+ if (e && !or(e) && mn("GObj bad instanceof"), !t) return null;
3244
+ r || (r = wr);
2972
3245
  let l = [];
2973
- if (Ln(t)) for (let e = 0; e < t.length; e++) {
3246
+ if (Zn(t)) for (let e = 0; e < t.length; e++) {
2974
3247
  let o = t[e];
2975
- r(o, n) && l.push(En(o));
3248
+ r(o, n) && l.push(Un(o));
2976
3249
  }
2977
3250
  else {
2978
- if (!Cn(t)) return dn("kw_select() BAD kw parameter"), null;
2979
- r(t, n) && l.push(En(t));
3251
+ if (!Xn(t)) return mn("kw_select() BAD kw parameter"), null;
3252
+ r(t, n) && l.push(Un(t));
2980
3253
  }
2981
3254
  return l;
2982
- }, e.kw_set_dict_value = rr, e.kw_set_local_storage_value = ur, e.kw_set_subdict_value = lr, e.kwid_collect = gr, e.kwid_find_one_record = function(e, t, n, r, l) {
2983
- e && !Mn(e) && dn("GObj bad instanceof");
2984
- let o = gr(e, t, n, r, l);
3255
+ }, e.kw_set_dict_value = jr, e.kw_set_local_storage_value = $r, e.kw_set_subdict_value = Or, e.kwid_collect = Ir, e.kwid_find_one_record = function(e, t, n, r, l) {
3256
+ e && !or(e) && mn("GObj bad instanceof");
3257
+ let o = Ir(e, t, n, r, l);
2985
3258
  return o && 0 !== o.length ? o[0] : null;
2986
3259
  }, e.kwid_get_ids = function(e, t) {
2987
- if (e && !Mn(e) && dn("GObj bad instanceof"), !t) return [];
3260
+ if (e && !or(e) && mn("GObj bad instanceof"), !t) return [];
2988
3261
  let n = [];
2989
- if (Un(t)) n.push(t);
2990
- else if (Cn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
2991
- else Ln(t) && t.forEach(function(t) {
2992
- if (Un(t)) Wn(t) || n.push(t);
2993
- else if (Cn(t)) {
2994
- let r = Zn(e, t, "id", 0, 0);
3262
+ if (er(t)) n.push(t);
3263
+ else if (Xn(t)) for (let e in t) t.hasOwnProperty(e) && n.push(e);
3264
+ else Zn(t) && t.forEach(function(t) {
3265
+ if (er(t)) sr(t) || n.push(t);
3266
+ else if (Xn(t)) {
3267
+ let r = Er(e, t, "id", 0, 0);
2995
3268
  r && n.push(r);
2996
3269
  }
2997
3270
  });
2998
3271
  return n;
2999
- }, e.kwid_match_id = fr, e.kwid_new_dict = function(e, t, n) {
3000
- e && !Mn(e) && dn("GObj bad instanceof");
3272
+ }, e.kwid_match_id = Ar, e.kwid_new_dict = function(e, t, n) {
3273
+ e && !or(e) && mn("GObj bad instanceof");
3001
3274
  let r = {};
3002
- if (Wn(n) || (t = qn(e, t, n)), Cn(t)) r = t;
3003
- else if (Ln(t)) for (let n = 0; n < t.length; n++) {
3004
- let l = t[n], o = Zn(e, l, "id", "", zt.KW_REQUIRED);
3005
- Wn(o) || (r[o] = l);
3275
+ if (sr(n) || (t = br(e, t, n)), Xn(t)) r = t;
3276
+ else if (Zn(t)) for (let n = 0; n < t.length; n++) {
3277
+ let l = t[n], o = Er(e, l, "id", "", Xt.KW_REQUIRED);
3278
+ sr(o) || (r[o] = l);
3006
3279
  }
3007
- else dn(`${et(e)} kwid_new_dict: data type unknown`);
3280
+ else mn(`${et(e)} kwid_new_dict: data type unknown`);
3008
3281
  return r;
3009
3282
  }, e.kwid_new_list = function(e, t, n) {
3010
- if (e && !Mn(e) && dn("GObj bad instanceof"), Wn(n) || (t = qn(e, t, n)), Ln(t)) return t;
3011
- if (Cn(t)) {
3283
+ if (e && !or(e) && mn("GObj bad instanceof"), sr(n) || (t = br(e, t, n)), Zn(t)) return t;
3284
+ if (Xn(t)) {
3012
3285
  let n = [];
3013
3286
  for (let r of Object.keys(t)) {
3014
3287
  let l = t[r];
3015
- Cn(l) ? (l.id = r, n.push(l)) : dn(`${et(e)} kwid_new_list: not a record: '${r}'`);
3288
+ Xn(l) ? (l.id = r, n.push(l)) : mn(`${et(e)} kwid_new_list: not a record: '${r}'`);
3016
3289
  }
3017
3290
  return n;
3018
3291
  }
3019
- return dn(`${et(e)} kwid_new_list: wrong type for list`), [];
3292
+ return mn(`${et(e)} kwid_new_list: wrong type for list`), [];
3020
3293
  }, e.list2options = function(e, t, n) {
3021
3294
  t = t || "id", n = n || "value";
3022
3295
  let r = [];
3023
- if (Ln(e)) for (let l = 0; l < e.length; l++) {
3296
+ if (Zn(e)) for (let l = 0; l < e.length; l++) {
3024
3297
  let o = e[l];
3025
- if (Un(o)) r.push({
3298
+ if (er(o)) r.push({
3026
3299
  id: e[l],
3027
3300
  value: e[l]
3028
3301
  });
3029
- else if (Cn(o)) {
3302
+ else if (Xn(o)) {
3030
3303
  let e = {};
3031
- if (Hn(o, t)) {
3032
- if (!Hn(o, n)) {
3033
- if (!(In(o) > 0)) {
3034
- dn("list2options(): object without field value: " + n);
3304
+ if (fr(o, t)) {
3305
+ if (!fr(o, n)) {
3306
+ if (!(Qn(o) > 0)) {
3307
+ mn("list2options(): object without field value: " + n);
3035
3308
  continue;
3036
3309
  }
3037
3310
  n = Object.keys(o)[0];
3038
3311
  }
3039
3312
  e.id = o[t], e.value = o[n];
3040
3313
  } else {
3041
- if (!(In(o) > 0)) {
3042
- dn("list2options(): object without field id: " + t);
3314
+ if (!(Qn(o) > 0)) {
3315
+ mn("list2options(): object without field id: " + t);
3043
3316
  continue;
3044
3317
  }
3045
3318
  t = Object.keys(o)[0], e.id = t, e.value = o[t];
3046
3319
  }
3047
3320
  r.push(e);
3048
- } else dn("list2options(): case1 not implemented");
3321
+ } else mn("list2options(): case1 not implemented");
3049
3322
  }
3050
- else if (Cn(e)) for (let t of Object.keys(e)) r.push({
3323
+ else if (Xn(e)) for (let t of Object.keys(e)) r.push({
3051
3324
  id: t,
3052
3325
  value: t
3053
3326
  });
3054
- else dn("list2options(): case2 not implemented");
3327
+ else mn("list2options(): case2 not implemented");
3055
3328
  return r;
3056
3329
  }, e.load_json_file = function(e, t, n) {
3057
3330
  let r = new XMLHttpRequest();
@@ -3059,18 +3332,18 @@
3059
3332
  if (4 === r.readyState) if (200 === r.status || 0 === (e = r).status && e.responseText && e.responseURL.startsWith("file:")) try {
3060
3333
  t(JSON.parse(r.responseText));
3061
3334
  } catch (e) {
3062
- n && (dn(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
3335
+ n && (mn(`JSON parse status ${r.status}, error: ${e.message}`), n(r.status));
3063
3336
  }
3064
3337
  else n && n(r.status);
3065
3338
  var e;
3066
3339
  }, r.send();
3067
- }, e.log_debug = pn, e.log_error = dn, e.log_info = function(e) {
3068
- let t = gn(e), n = wr();
3069
- en && _n("info", t) && en("%c" + n + " INFO: " + String(t), "color:cyan"), un("info", t, n);
3070
- }, e.log_warning = bn, e.msg_iev_get_msg_type = yr, e.msg_iev_get_stack = Er, e.msg_iev_push_stack = hr, e.msg_iev_read_key = pr, e.msg_iev_set_msg_type = Tr, e.msg_iev_write_key = mr, e.node_uuid = Dr, e.parseBoolean = xn, e.parseSVG = function(e) {
3340
+ }, e.log_debug = En, e.log_error = mn, e.log_info = function(e, ...t) {
3341
+ let n = pn(e, ...t), r = Jr();
3342
+ nn && un("info", n) && nn("%c" + r + " INFO: " + String(n), "color:cyan"), fn("info", n, r);
3343
+ }, e.log_warning = hn, e.mask_secrets_inline = $n, e.msg_iev_get_msg_type = Mr, e.msg_iev_get_stack = Vr, e.msg_iev_push_stack = Fr, e.msg_iev_read_key = Pr, e.msg_iev_set_msg_type = Gr, e.msg_iev_write_key = Ur, e.node_uuid = Hr, e.parseBoolean = ir, e.parseSVG = function(e) {
3071
3344
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3072
3345
  }, e.refresh_language = function(e, t) {
3073
- if (!Vn(t)) return void dn("You must supply a translation function");
3346
+ if (!lr(t)) return void mn("You must supply a translation function");
3074
3347
  e || (e = document);
3075
3348
  const n = (t) => {
3076
3349
  let n = [];
@@ -3094,22 +3367,22 @@
3094
3367
  });
3095
3368
  }, e.register_c_ievent_cli = function() {
3096
3369
  return function(e) {
3097
- if (al) return dn(`GClass ALREADY created: ${e}`), -1;
3370
+ if (Dl) return mn(`GClass ALREADY created: ${e}`), -1;
3098
3371
  const t = [
3099
3372
  ["ST_DISCONNECTED", [
3100
3373
  [
3101
3374
  "EV_ON_OPEN",
3102
- El,
3375
+ Vl,
3103
3376
  "ST_WAIT_IDENTITY_CARD_ACK"
3104
3377
  ],
3105
3378
  [
3106
3379
  "EV_ON_CLOSE",
3107
- Tl,
3380
+ Gl,
3108
3381
  null
3109
3382
  ],
3110
3383
  [
3111
3384
  "EV_TIMEOUT",
3112
- hl,
3385
+ Fl,
3113
3386
  null
3114
3387
  ],
3115
3388
  [
@@ -3121,22 +3394,22 @@
3121
3394
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3122
3395
  [
3123
3396
  "EV_ON_MESSAGE",
3124
- jl,
3397
+ xl,
3125
3398
  null
3126
3399
  ],
3127
3400
  [
3128
3401
  "EV_IDENTITY_CARD_ACK",
3129
- vl,
3402
+ Wl,
3130
3403
  null
3131
3404
  ],
3132
3405
  [
3133
3406
  "EV_ON_CLOSE",
3134
- Tl,
3407
+ Gl,
3135
3408
  "ST_DISCONNECTED"
3136
3409
  ],
3137
3410
  [
3138
3411
  "EV_TIMEOUT",
3139
- yl,
3412
+ Ml,
3140
3413
  null
3141
3414
  ],
3142
3415
  [
@@ -3148,22 +3421,22 @@
3148
3421
  ["ST_SESSION", [
3149
3422
  [
3150
3423
  "EV_ON_MESSAGE",
3151
- jl,
3424
+ xl,
3152
3425
  null
3153
3426
  ],
3154
3427
  [
3155
3428
  "EV_MT_STATS",
3156
- Sl,
3429
+ Kl,
3157
3430
  null
3158
3431
  ],
3159
3432
  [
3160
3433
  "EV_MT_COMMAND",
3161
- Ol,
3434
+ Yl,
3162
3435
  null
3163
3436
  ],
3164
3437
  [
3165
3438
  "EV_ON_CLOSE",
3166
- Tl,
3439
+ Gl,
3167
3440
  "ST_DISCONNECTED"
3168
3441
  ],
3169
3442
  [
@@ -3174,7 +3447,7 @@
3174
3447
  ]],
3175
3448
  [null, null]
3176
3449
  ];
3177
- return (al = de(e, [
3450
+ return (Dl = de(e, [
3178
3451
  ["EV_ON_MESSAGE", D.EVF_OUTPUT_EVENT],
3179
3452
  ["EV_IDENTITY_CARD_ACK", D.EVF_PUBLIC_EVENT],
3180
3453
  ["EV_ON_ID_NAK", D.EVF_PUBLIC_EVENT | D.EVF_OUTPUT_EVENT],
@@ -3185,65 +3458,65 @@
3185
3458
  ["EV_ON_OPEN_ERROR", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS],
3186
3459
  ["EV_TIMEOUT", 0],
3187
3460
  [null, 0]
3188
- ], t, Nl, 0, ol, _l, 0, 0, sl, N.gcflag_no_check_output_events)) ? 0 : -1;
3461
+ ], t, Bl, 0, Sl, Rl, 0, 0, wl, w.gcflag_no_check_output_events)) ? 0 : -1;
3189
3462
  }("C_IEVENT_CLI");
3190
3463
  }, e.register_c_timer = function() {
3191
3464
  return function(e) {
3192
- if (Kr) return dn(`GClass ALREADY created: ${e}`), -1;
3465
+ if (ul) return mn(`GClass ALREADY created: ${e}`), -1;
3193
3466
  const t = [["ST_IDLE", [[
3194
3467
  "EV_TIMEOUT",
3195
- Yr,
3468
+ cl,
3196
3469
  null
3197
3470
  ]]]];
3198
- return (Kr = de(e, [
3471
+ return (ul = de(e, [
3199
3472
  ["EV_TIMEOUT", D.EVF_OUTPUT_EVENT],
3200
3473
  ["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT],
3201
3474
  [0, 0]
3202
- ], t, Br, 0, Wr, xr, 0, 0, 0, N.gcflag_manual_start)) ? 0 : -1;
3475
+ ], t, fl, 0, _l, al, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3203
3476
  }("C_TIMER");
3204
3477
  }, e.register_c_yuno = function() {
3205
3478
  return function(e) {
3206
- if (Xr) return dn(`GClass ALREADY created: ${e}`), -1;
3479
+ if (hl) return mn(`GClass ALREADY created: ${e}`), -1;
3207
3480
  const t = [["ST_IDLE", [[
3208
3481
  "EV_TIMEOUT_PERIODIC",
3209
- nl,
3482
+ vl,
3210
3483
  null
3211
3484
  ]]]];
3212
- return (Xr = de(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, rl, 0, zr, Qr, 0, 0, 0, 0)) ? 0 : -1;
3485
+ return (hl = de(e, [["EV_TIMEOUT_PERIODIC", D.EVF_OUTPUT_EVENT | D.EVF_NO_WARN_SUBS], [0, 0]], t, jl, 0, pl, ml, 0, 0, 0, 0)) ? 0 : -1;
3213
3486
  }("C_YUNO");
3214
3487
  }, e.safeSrc = function(e) {
3215
3488
  if (!e) return "";
3216
3489
  const t = String(e).trim();
3217
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Or(t);
3218
- }, e.sdata_flag_t = T, e.send_http_json_post = function(e, t, n) {
3490
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Yr(t);
3491
+ }, e.sdata_flag_t = y, e.send_http_json_post = function(e, t, n) {
3219
3492
  let r = new XMLHttpRequest();
3220
3493
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
3221
3494
  4 === r.readyState && n(r.status, r.responseText);
3222
3495
  }, r.send(t);
3223
3496
  }, e.set_console_log_enabled = function(e) {
3224
- on = !!e;
3497
+ _n = !!e;
3225
3498
  }, e.set_console_log_filter = function(e) {
3226
- sn = "function" == typeof e ? e : null;
3499
+ an = "function" == typeof e ? e : null;
3227
3500
  }, e.set_log_callback = function(e) {
3228
- if ((e = "function" == typeof e ? e : null) && e !== nn) {
3229
- nn = e;
3230
- for (const [e, t, n] of ln.slice()) {
3501
+ if ((e = "function" == typeof e ? e : null) && e !== ln) {
3502
+ ln = e;
3503
+ for (const [e, t, n] of sn.slice()) {
3231
3504
  let r = t;
3232
3505
  if ("json" === e) try {
3233
3506
  r = JSON.parse(t);
3234
3507
  } catch (e) {
3235
3508
  r = t;
3236
3509
  }
3237
- cn(e, r, n);
3510
+ gn(e, r, n);
3238
3511
  }
3239
- } else nn = e;
3240
- }, e.set_remote_log_functions = fn, e.set_timeout = Jr, e.set_timeout_periodic = Hr, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = br, e.strcasecmp = Yn, e.strcmp = Kn, e.strncmp = function(e, t, n) {
3512
+ } else ln = e;
3513
+ }, e.set_remote_log_functions = dn, e.set_timeout = gl, e.set_timeout_periodic = dl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Lr, e.strcasecmp = ar, e.strcmp = _r, e.strncmp = function(e, t, n) {
3241
3514
  var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
3242
3515
  return r === l ? 0 : r > l ? 1 : -1;
3243
3516
  }, e.strs_in_list = function(e, t, n) {
3244
- if (!e) return dn("ERROR: strs_in_list() list empty"), !1;
3245
- if (!t) return dn("ERROR: strs_in_list() str empty"), !1;
3246
- for (let r = 0; r < t.length; r++) if (br(e, t[r], n)) return !0;
3517
+ if (!e) return mn("ERROR: strs_in_list() list empty"), !1;
3518
+ if (!t) return mn("ERROR: strs_in_list() str empty"), !1;
3519
+ for (let r = 0; r < t.length; r++) if (Lr(e, t[r], n)) return !0;
3247
3520
  return !1;
3248
3521
  }, e.strstr = function(e, t, n) {
3249
3522
  var r;
@@ -3262,13 +3535,13 @@
3262
3535
  placeholder: void 0,
3263
3536
  fkey: null
3264
3537
  };
3265
- if (Un(t)) {
3538
+ if (er(t)) {
3266
3539
  let e = t.split(".");
3267
3540
  for (let t = 0; t < e.length; t++) {
3268
3541
  let r = e[t];
3269
- if (br(Fr, r)) n.real_type || (n.real_type = r);
3270
- else if (br(Vr, r)) n.type || (n.type = r);
3271
- else if (br(Gr, r)) switch (r) {
3542
+ if (Lr(ll, r)) n.real_type || (n.real_type = r);
3543
+ else if (Lr(sl, r)) n.type || (n.type = r);
3544
+ else if (Lr(ol, r)) switch (r) {
3272
3545
  case "writable":
3273
3546
  n.is_writable = !0;
3274
3547
  break;
@@ -3280,23 +3553,23 @@
3280
3553
  }
3281
3554
  }
3282
3555
  n.real_type || (n.real_type = "string");
3283
- } else Cn(t) ? (n = Mr(t), n.name || (n.name = e), n.header || (n.header = e)) : Ln(t) && (n.real_type = "array", n.enum_list = t);
3556
+ } else Xn(t) ? (n = il(t), n.name || (n.name = e), n.header || (n.header = e)) : Zn(t) && (n.real_type = "array", n.enum_list = t);
3284
3557
  return n.type || (n.type = n.real_type), n;
3285
3558
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
3286
3559
  const n = e, r = performance.now();
3287
3560
  let l = r;
3288
- return t && bn(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", o = "") => {
3561
+ return t && hn(`--\x3e ${n} - starting`), { mark: (e = "Intermediate", o = "") => {
3289
3562
  const s = performance.now(), i = (s - l) / 1e3, _ = (s - r) / 1e3;
3290
- return t && bn(`--\x3e ${n} ${e} - partial: ${i} sec, total: ${_} sec, ${o}`), l = s, {
3563
+ return t && hn(`--\x3e ${n} ${e} - partial: ${i} sec, total: ${_} sec, ${o}`), l = s, {
3291
3564
  partial: i,
3292
3565
  total: _
3293
3566
  };
3294
3567
  } };
3295
- }, e.trace_json = hn, e.trace_level_t = U, e.trace_msg = mn, e.treedb_decoder_fkey = Pr, e.treedb_decoder_hook = function(e, t) {
3296
- if (Un(t)) {
3568
+ }, e.trace_json = Tn, e.trace_json_masked = Pn, e.trace_level_t = P, e.trace_msg = yn, e.treedb_decoder_fkey = rl, e.treedb_decoder_hook = function(e, t) {
3569
+ if (er(t)) {
3297
3570
  if (-1 === t.indexOf("^")) {
3298
3571
  let n, r = e.hook;
3299
- if (1 !== An(r)) return dn("bad hook 1"), dn(e), dn(t), null;
3572
+ if (1 !== Hn(r)) return mn("bad hook 1"), mn(e), mn(t), null;
3300
3573
  for (let e of Object.keys(r)) {
3301
3574
  n = e, r[e];
3302
3575
  break;
@@ -3308,25 +3581,25 @@
3308
3581
  }
3309
3582
  {
3310
3583
  let n = t.split("^");
3311
- return 2 !== n.length ? (dn("bad hook 2"), dn(e), dn(t), null) : {
3584
+ return 2 !== n.length ? (mn("bad hook 2"), mn(e), mn(t), null) : {
3312
3585
  topic_name: n[0],
3313
3586
  id: n[1]
3314
3587
  };
3315
3588
  }
3316
3589
  }
3317
- return Cn(t) ? {
3590
+ return Xn(t) ? {
3318
3591
  topic_name: t.topic_name,
3319
3592
  id: t.id
3320
- } : (dn("bad hook 3"), dn(e), dn(t), null);
3593
+ } : (mn("bad hook 3"), mn(e), mn(t), null);
3321
3594
  }, e.treedb_encoder_fkey = function(e, t) {
3322
- let n = Pr(e, t);
3595
+ let n = rl(e, t);
3323
3596
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3324
- }, e.treedb_get_field_desc = Mr, e.treedb_hook_data_size = function(e) {
3325
- if (Ln(e) && 1 === In(e)) {
3597
+ }, e.treedb_get_field_desc = il, e.treedb_hook_data_size = function(e) {
3598
+ if (Zn(e) && 1 === Qn(e)) {
3326
3599
  let t = e[0];
3327
- return Hn(t, "size") ? t.size : 1;
3600
+ return fr(t, "size") ? t.size : 1;
3328
3601
  }
3329
- return In(e);
3602
+ return Qn(e);
3330
3603
  }, e.vsprintf = function(e, t) {
3331
3604
  return n.apply(null, [e].concat(t || []));
3332
3605
  }, e.walk_type_t = $;