@genome-spy/app 0.82.0 → 0.83.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.
@@ -233,7 +233,7 @@ function Me(e) {
233
233
  return e && (_e(e.px) || _e(e.grow) || _e(e.minPx) || _e(e.maxPx));
234
234
  }
235
235
  function Ne(e) {
236
- if (ym(e)) throw Error("parseSizeDef does not accept step-based sizes.");
236
+ if (Tm(e)) throw Error("parseSizeDef does not accept step-based sizes.");
237
237
  if (Me(e)) return Ie(e), He(e);
238
238
  if (_e(e)) return {
239
239
  px: e,
@@ -3214,11 +3214,11 @@ function F(e) {
3214
3214
  }
3215
3215
  function Ys(e, t, n) {
3216
3216
  if ("select" in e) {
3217
- let t = Wu(e.select);
3218
- if (Gu(t)) return t.toggle ? Lu() : Iu(null);
3219
- if (Ku(t)) {
3217
+ let t = Gu(e.select);
3218
+ if (Ku(t)) return t.toggle ? Ru() : Lu(null);
3219
+ if (qu(t)) {
3220
3220
  if (!t.encodings) throw Error("Interval selection \"" + e.name + "\" must have encodings defined!");
3221
- return Ru(t.encodings);
3221
+ return zu(t.encodings);
3222
3222
  }
3223
3223
  throw Error("Unknown selection config for parameter \"" + e.name + "\".");
3224
3224
  }
@@ -4246,7 +4246,14 @@ var Su = {
4246
4246
  },
4247
4247
  smoothstep: _u
4248
4248
  };
4249
- function Cu(e, t) {
4249
+ function Cu(e) {
4250
+ let t = !1, n = ju(e, {}, { resolveScaleResolution: () => (t = !0, { channel: "analysis" }) });
4251
+ return {
4252
+ usesScaleHelper: t,
4253
+ globals: n.globals
4254
+ };
4255
+ }
4256
+ function wu(e, t) {
4250
4257
  let n = mu(e);
4251
4258
  for (let e in Su) n[e] = `this.${e}`;
4252
4259
  for (let r of [
@@ -4256,24 +4263,24 @@ function Cu(e, t) {
4256
4263
  "range",
4257
4264
  "bandwidth",
4258
4265
  "linearize"
4259
- ]) n[r] = (n) => wu(e, t, r, n);
4266
+ ]) n[r] = (n) => Tu(e, t, r, n);
4260
4267
  return n;
4261
4268
  }
4262
- function wu(e, t, n, r) {
4269
+ function Tu(e, t, n, r) {
4263
4270
  if (r.length === 0) throw Error(`Scale helper "${n}" requires a literal channel name.`);
4264
4271
  if ((n === "scale" || n === "invert" || n === "linearize") && r.length < 2) throw Error(`Scale helper "${n}" requires a channel name and a value.`);
4265
- let i = Tu(r[0]);
4272
+ let i = Eu(r[0]);
4266
4273
  if (!i) throw Error(`Scale helper "${n}" requires a literal channel name.`);
4267
4274
  let a = t.resolveScaleResolution?.(i);
4268
4275
  if (!a) throw Error(`Unknown scale channel "${i}" in expression helper "${n}".`);
4269
4276
  let o = t.getScaleHelper(n, i, a), s = r.slice(1).map((t) => e(t)).join(",");
4270
4277
  return `${t.globalvar}["${o.codeName}"](${s})`;
4271
4278
  }
4272
- function Tu(e) {
4279
+ function Eu(e) {
4273
4280
  return e?.type === "Literal" && typeof e.value == "string" ? e.value : void 0;
4274
4281
  }
4275
- function Eu(e, t) {
4276
- let n = (n) => Ou(t, e, n);
4282
+ function Du(e, t) {
4283
+ let n = (n) => ku(t, e, n);
4277
4284
  if (e === "domain") return () => n(() => t.getDomain());
4278
4285
  if (e === "range") return () => n(() => t.getScale().range());
4279
4286
  if (e === "bandwidth") return () => n(() => {
@@ -4286,17 +4293,17 @@ function Eu(e, t) {
4286
4293
  if (e === "linearize") return (e) => n(() => e == null ? null : typeof t.fromComplex == "function" ? t.fromComplex(e) : e);
4287
4294
  throw Error("Unknown scale helper: " + e);
4288
4295
  }
4289
- var Du = /* @__PURE__ */ new WeakSet();
4290
- function Ou(e, t, n) {
4291
- if (Du.has(e)) throw Error(`Scale helper cycle detected while evaluating ${t}("${e.channel}").`);
4292
- Du.add(e);
4296
+ var Ou = /* @__PURE__ */ new WeakSet();
4297
+ function ku(e, t, n) {
4298
+ if (Ou.has(e)) throw Error(`Scale helper cycle detected while evaluating ${t}("${e.channel}").`);
4299
+ Ou.add(e);
4293
4300
  try {
4294
4301
  return n();
4295
4302
  } finally {
4296
- Du.delete(e);
4303
+ Ou.delete(e);
4297
4304
  }
4298
4305
  }
4299
- function ku(e, t, n, r) {
4306
+ function Au(e, t, n, r) {
4300
4307
  let i = /* @__PURE__ */ new Set(), a = () => {
4301
4308
  for (let e of i) e();
4302
4309
  }, o = () => {
@@ -4309,6 +4316,7 @@ function ku(e, t, n, r) {
4309
4316
  name: `scale(${t})`,
4310
4317
  kind: "derived",
4311
4318
  rank: 0,
4319
+ propagation: "sync",
4312
4320
  get() {
4313
4321
  return n.getScale();
4314
4322
  },
@@ -4320,7 +4328,7 @@ function ku(e, t, n, r) {
4320
4328
  }
4321
4329
  };
4322
4330
  }
4323
- function Au(e, t = {}, n = {}) {
4331
+ function ju(e, t = {}, n = {}) {
4324
4332
  try {
4325
4333
  let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = 1, o = {
4326
4334
  ...n,
@@ -4330,19 +4338,19 @@ function Au(e, t = {}, n = {}) {
4330
4338
  let s = e + ":" + n, c = i.get(s);
4331
4339
  if (c) return c;
4332
4340
  let l = r.get(s);
4333
- l || (l = ku(e, n, o, "__scale_dependency_" + a++), r.set(s, l));
4341
+ l || (l = Au(e, n, o, "__scale_dependency_" + a++), r.set(s, l));
4334
4342
  let u = "__scale_helper_" + a++, d = {
4335
4343
  codeName: u,
4336
4344
  dependency: l
4337
4345
  };
4338
- return i.set(s, d), t[u] = Eu(e, o), d;
4346
+ return i.set(s, d), t[u] = Du(e, o), d;
4339
4347
  }
4340
4348
  }, s = gu({
4341
4349
  forbidden: [],
4342
4350
  allowed: ["datum", "undefined"],
4343
4351
  globalvar: "globalObject",
4344
4352
  fieldvar: "datum",
4345
- functions: (e) => Cu(e, o)
4353
+ functions: (e) => wu(e, o)
4346
4354
  })(fu(e)), c = Function("datum", "globalObject", `"use strict";
4347
4355
  try {
4348
4356
  return (${s.code});
@@ -4354,14 +4362,14 @@ function Au(e, t = {}, n = {}) {
4354
4362
  throw Error(`Invalid expression: ${e}, ${t.message}`, { cause: t });
4355
4363
  }
4356
4364
  }
4357
- var ju = gu({
4365
+ var Mu = gu({
4358
4366
  forbidden: [],
4359
4367
  allowed: ["event"],
4360
4368
  globalvar: "globalObject"
4361
4369
  });
4362
- function Mu(e) {
4370
+ function Nu(e) {
4363
4371
  try {
4364
- let t = ju(fu(e));
4372
+ let t = Mu(fu(e));
4365
4373
  return Function("event", "globalObject", `"use strict";
4366
4374
  try {
4367
4375
  return !!(${t.code});
@@ -4374,7 +4382,7 @@ function Mu(e) {
4374
4382
  }
4375
4383
  //#endregion
4376
4384
  //#region ../core/src/utils/interactionConfig.js
4377
- function Nu(e) {
4385
+ function Pu(e) {
4378
4386
  if (typeof e == "string") {
4379
4387
  let t = e.match(/^([a-zA-Z]+)(?:\[(.+)\])?$/);
4380
4388
  if (!t) throw Error(`Invalid event type string: ${e}`);
@@ -4382,35 +4390,35 @@ function Nu(e) {
4382
4390
  return r && (i.filter = r), i;
4383
4391
  } else return e;
4384
4392
  }
4385
- function Pu(e) {
4386
- return e?.filter ? Mu(e.filter) : () => !0;
4393
+ function Fu(e) {
4394
+ return e?.filter ? Nu(e.filter) : () => !0;
4387
4395
  }
4388
- function Fu(e, t, n) {
4396
+ function Iu(e, t, n) {
4389
4397
  if (!t.includes(e.type)) throw Error(n);
4390
4398
  return e;
4391
4399
  }
4392
4400
  //#endregion
4393
4401
  //#region ../core/src/selection/selection.js
4394
- function Iu(e) {
4402
+ function Lu(e) {
4395
4403
  return {
4396
4404
  type: "single",
4397
4405
  datum: e,
4398
4406
  uniqueId: e?.[Bs]
4399
4407
  };
4400
4408
  }
4401
- function Lu(e) {
4409
+ function Ru(e) {
4402
4410
  return e ??= [], {
4403
4411
  type: "multi",
4404
4412
  data: new Map(e.map((e) => [e[Bs], e]))
4405
4413
  };
4406
4414
  }
4407
- function Ru(e) {
4415
+ function zu(e) {
4408
4416
  return {
4409
4417
  type: "interval",
4410
4418
  intervals: Object.fromEntries(e.map((e) => [e, null]))
4411
4419
  };
4412
4420
  }
4413
- function zu(e, { add: t, remove: n, toggle: r }) {
4421
+ function Bu(e, { add: t, remove: n, toggle: r }) {
4414
4422
  let i = e.data;
4415
4423
  for (let e of t ?? []) i.set(e[Bs], e);
4416
4424
  for (let e of n ?? []) i.delete(e[Bs]);
@@ -4423,55 +4431,55 @@ function zu(e, { add: t, remove: n, toggle: r }) {
4423
4431
  data: i
4424
4432
  };
4425
4433
  }
4426
- function Bu(e, t) {
4434
+ function Vu(e, t) {
4427
4435
  let n = !!(e.empty ?? !0), r = F(e.param), i = e.fields ?? {};
4428
- if (Hu(t)) return `${r}.uniqueId == null ? ${n} : ${r}.uniqueId === datum[${JSON.stringify(Bs)}]`;
4429
- if (Uu(t)) return `${r}.data.size == 0 ? ${n} : mapHasKey(${r}.data, datum[${JSON.stringify(Bs)}])`;
4430
- if (Vu(t)) {
4431
- let a = Object.keys(t.intervals), o = Object.keys(i).filter(wd);
4436
+ if (Uu(t)) return `${r}.uniqueId == null ? ${n} : ${r}.uniqueId === datum[${JSON.stringify(Bs)}]`;
4437
+ if (Wu(t)) return `${r}.data.size == 0 ? ${n} : mapHasKey(${r}.data, datum[${JSON.stringify(Bs)}])`;
4438
+ if (Hu(t)) {
4439
+ let a = Object.keys(t.intervals), o = Object.keys(i).filter(Dd);
4432
4440
  if (o.length === 0) throw Error("Filtering using interval selections requires at least one primary positional channel in the config! " + JSON.stringify(e));
4433
4441
  if (o.some((e) => !a.includes(e))) throw Error(`Selection channels (${a.join(", ")}) do not match the fields: ${JSON.stringify(e)}!`);
4434
4442
  let s = (e) => `datum[${JSON.stringify(e)}]`;
4435
4443
  return a.map((e) => {
4436
- let t = kd(e), a = i[e], o = i[t] ?? i[e], c = `${r}.intervals.${e}[0] <= ${s(o)}`, l = `${s(a)} <= ${r}.intervals.${e}[1]`;
4444
+ let t = Fd(e), a = i[e], o = i[t] ?? i[e], c = `${r}.intervals.${e}[0] <= ${s(o)}`, l = `${s(a)} <= ${r}.intervals.${e}[1]`;
4437
4445
  return `(${r}.intervals.${e} ? (${c} && ${l}) : ${n})`;
4438
4446
  }).join(" && ");
4439
4447
  } else throw Error(`Unrecognized selection type : ${JSON.stringify(t)}`);
4440
4448
  }
4441
- function Vu(e) {
4449
+ function Hu(e) {
4442
4450
  return e.type === "interval";
4443
4451
  }
4444
- function Hu(e) {
4452
+ function Uu(e) {
4445
4453
  return e.type === "single";
4446
4454
  }
4447
- function Uu(e) {
4455
+ function Wu(e) {
4448
4456
  return e.type === "multi";
4449
4457
  }
4450
- function Wu(e) {
4458
+ function Gu(e) {
4451
4459
  let t = typeof e == "string" ? { type: e } : { ...e };
4452
- return t.on = t.on ? Nu(t.on) : Gu(t) ? { type: "click" } : void 0, t.clear = t.clear === !1 ? void 0 : t.clear === !0 || t.clear == null ? { type: "dblclick" } : Nu(t.clear), Gu(t) && t.on.type === "click" && (t.toggle = !0), t;
4460
+ return t.on = t.on ? Pu(t.on) : Ku(t) ? { type: "click" } : void 0, t.clear = t.clear === !1 ? void 0 : t.clear === !0 || t.clear == null ? { type: "dblclick" } : Pu(t.clear), Ku(t) && t.on.type === "click" && (t.toggle = !0), t;
4453
4461
  }
4454
- function Gu(e) {
4462
+ function Ku(e) {
4455
4463
  return e && e.type == "point";
4456
4464
  }
4457
- function Ku(e) {
4465
+ function qu(e) {
4458
4466
  return e && e.type == "interval";
4459
4467
  }
4460
- function qu(e) {
4468
+ function Ju(e) {
4461
4469
  return Object.values(e.intervals).some((e) => e && e.length === 2);
4462
4470
  }
4463
- function Ju(e, t) {
4471
+ function Yu(e, t) {
4464
4472
  return Object.entries(e.intervals).every(([e, n]) => (e == "x" || e == "y") && n && n[0] <= t[e] && n[1] >= t[e]);
4465
4473
  }
4466
4474
  //#endregion
4467
4475
  //#region ../core/src/encoder/accessor.js
4468
- function Yu(e, t, n) {
4476
+ function Xu(e, t, n) {
4469
4477
  if (!e) throw Error("Cannot create an accessor without a channel.");
4470
4478
  function r(n) {
4471
4479
  let r = n;
4472
- return r.fields ??= [], r.constant = r.fields.length === 0, r.channelDef = t, r.channel = e, r.sourceKey = Qu(t), r.scaleChannel = ((md(t) && t.resolutionChannel) ?? (Nd(e) && e)) || void 0, r.scaleChannel !== void 0 && (r.domainKeyBase = $u({
4480
+ return r.fields ??= [], r.constant = r.fields.length === 0, r.channelDef = t, r.channel = e, r.sourceKey = $u(t), r.scaleChannel = ((hd(t) && t.resolutionChannel) ?? (zd(e) && e)) || void 0, r.scaleChannel !== void 0 && (r.domainKeyBase = ed({
4473
4481
  scaleChannel: r.scaleChannel,
4474
- source: Zu(t)
4482
+ source: Qu(t)
4475
4483
  }).domainKeyBase), r.equals = (e) => e ? r === e || r.sourceKey !== void 0 && r.sourceKey === e.sourceKey : !1, r.asNumberAccessor = () => r, r;
4476
4484
  }
4477
4485
  function i(e) {
@@ -4484,89 +4492,89 @@ function Yu(e, t, n) {
4484
4492
  return r(() => t);
4485
4493
  }
4486
4494
  }
4487
- if (fd(t)) try {
4495
+ if (pd(t)) try {
4488
4496
  return r($s(t.field));
4489
4497
  } catch (e) {
4490
4498
  throw Error(`Invalid field definition: ${e.message}`, { cause: e });
4491
4499
  }
4492
- else if (vd(t)) return r(n.createExpression(t.expr));
4493
- else if (pd(t)) return i(t.datum);
4494
- else if (dd(t)) return i(t.value);
4500
+ else if (bd(t)) return r(n.createExpression(t.expr));
4501
+ else if (md(t)) return i(t.datum);
4502
+ else if (fd(t)) return i(t.value);
4495
4503
  else throw Error(`Invalid channel definition: "${e}": ${JSON.stringify(t)}! The channel definition must contain one of the following properties: "field", "datum", "value" or "expr".`);
4496
4504
  }
4497
- function Xu(e) {
4505
+ function Zu(e) {
4498
4506
  return e.scaleChannel !== void 0;
4499
4507
  }
4500
- function Zu(e) {
4501
- if (fd(e)) return {
4508
+ function Qu(e) {
4509
+ if (pd(e)) return {
4502
4510
  kind: "field",
4503
4511
  value: e.field
4504
4512
  };
4505
- if (vd(e)) return {
4513
+ if (bd(e)) return {
4506
4514
  kind: "expr",
4507
4515
  value: e.expr
4508
4516
  };
4509
- if (pd(e)) return {
4517
+ if (md(e)) return {
4510
4518
  kind: "datum",
4511
4519
  value: e.datum
4512
4520
  };
4513
- if (dd(e)) return {
4521
+ if (fd(e)) return {
4514
4522
  kind: "value",
4515
4523
  value: e.value
4516
4524
  };
4517
4525
  throw Error("Cannot derive a domain key from channel definition: " + JSON.stringify(e));
4518
4526
  }
4519
- function Qu(e) {
4520
- let t = Zu(e);
4521
- return t.kind === "datum" || t.kind === "value" ? "constant|" + nd(t.value) : t.kind + "|" + td(t);
4527
+ function $u(e) {
4528
+ let t = Qu(e);
4529
+ return t.kind === "datum" || t.kind === "value" ? "constant|" + rd(t.value) : t.kind + "|" + nd(t);
4522
4530
  }
4523
- function $u({ scaleChannel: e, source: t, type: n }) {
4531
+ function ed({ scaleChannel: e, source: t, type: n }) {
4524
4532
  if (!e) throw Error("Cannot build a domain key without a scale channel.");
4525
- let r = e + "|" + t.kind + "|" + td(t);
4533
+ let r = e + "|" + t.kind + "|" + nd(t);
4526
4534
  return {
4527
4535
  domainKeyBase: r,
4528
4536
  domainKey: n ? n + "|" + r : void 0
4529
4537
  };
4530
4538
  }
4531
- function ed(e, t) {
4532
- let { domainKey: n, domainKeyBase: r } = $u({
4539
+ function td(e, t) {
4540
+ let { domainKey: n, domainKeyBase: r } = ed({
4533
4541
  scaleChannel: e.scaleChannel,
4534
- source: Zu(e.channelDef),
4542
+ source: Qu(e.channelDef),
4535
4543
  type: t
4536
4544
  });
4537
4545
  if (!n) throw Error("Cannot finalize a domain key without a resolved type.");
4538
4546
  return e.domainKeyBase = r, e.domainKey = n, n;
4539
4547
  }
4540
- function td(e) {
4548
+ function nd(e) {
4541
4549
  switch (e.kind) {
4542
4550
  case "field":
4543
4551
  case "expr": return e.value;
4544
4552
  case "datum":
4545
- case "value": return nd(e.value);
4553
+ case "value": return rd(e.value);
4546
4554
  default: throw Error("Unknown domain key source.");
4547
4555
  }
4548
4556
  }
4549
- function nd(e) {
4557
+ function rd(e) {
4550
4558
  return P(e) ? "expr:" + e.expr : e === void 0 ? "undefined" : JSON.stringify(e);
4551
4559
  }
4552
4560
  //#endregion
4553
4561
  //#region ../core/src/encoder/encoder.js
4554
- function rd(e, t, n, r) {
4562
+ function id(e, t, n, r) {
4555
4563
  let i, a = Qs(!1), o = () => {
4556
4564
  if (i) return i;
4557
4565
  let o = n.findValue(e);
4558
4566
  if (!o) return a;
4559
4567
  let s = {};
4560
- if (Vu(o)) {
4568
+ if (Hu(o)) {
4561
4569
  let n = Object.keys(o.intervals);
4562
4570
  for (let r of n) {
4563
4571
  let n = t[r];
4564
- if (fd(n)) {
4572
+ if (pd(n)) {
4565
4573
  s[r] = n.field;
4566
4574
  continue;
4567
4575
  } else if (n && "condition" in n) {
4568
4576
  let e = n.condition;
4569
- if (fd(e)) {
4577
+ if (pd(e)) {
4570
4578
  s[r] = e.field;
4571
4579
  continue;
4572
4580
  }
@@ -4574,7 +4582,7 @@ function rd(e, t, n, r) {
4574
4582
  throw Error(`Selection "${e}" has an interval for "${r}" channel, but could not find a fieldDef: ${JSON.stringify(t[r])}`);
4575
4583
  }
4576
4584
  }
4577
- let c = Bu({
4585
+ let c = Vu({
4578
4586
  type: "filter",
4579
4587
  param: e,
4580
4588
  fields: s,
@@ -4587,41 +4595,41 @@ function rd(e, t, n, r) {
4587
4595
  empty: r ?? !0
4588
4596
  });
4589
4597
  }
4590
- function id(e, t, n, r) {
4591
- let i = yd(t) || bd(t) ? Array.isArray(t.condition) ? t.condition : [t.condition] : [], a = [...i, t], o = a.map((t, o) => {
4598
+ function ad(e, t, n, r) {
4599
+ let i = xd(t) || Sd(t) ? Array.isArray(t.condition) ? t.condition : [t.condition] : [], a = [...i, t], o = a.map((t, o) => {
4592
4600
  let s = i[o];
4593
4601
  return {
4594
- accessor: Yu(e, t, r),
4595
- predicate: s?.param ? rd(s.param, n, r, s.empty) : Object.assign(Qs(o === a.length - 1), { empty: !1 })
4602
+ accessor: Xu(e, t, r),
4603
+ predicate: s?.param ? id(s.param, n, r, s.empty) : Object.assign(Qs(o === a.length - 1), { empty: !1 })
4596
4604
  };
4597
4605
  });
4598
4606
  if (o.filter((e) => !e.accessor.constant).length > 1) throw Error("Only one accessor can be non-constant. Channel: " + e);
4599
4607
  return o;
4600
4608
  }
4601
- function ad(e, t) {
4609
+ function od(e, t) {
4602
4610
  let n = {}, r = (t) => e.getScaleResolution(t)?.getScale();
4603
4611
  for (let [i, a] of Object.entries(t)) {
4604
4612
  if (!a) continue;
4605
4613
  let o = i;
4606
- od(o) || (n[o] = ld(id(o, a, t, e.paramRuntime), r));
4614
+ sd(o) || (n[o] = ud(ad(o, a, t, e.paramRuntime), r));
4607
4615
  }
4608
4616
  return n;
4609
4617
  }
4610
- function od(e) {
4618
+ function sd(e) {
4611
4619
  return e === "key" || e === "search" || e === "tooltip";
4612
4620
  }
4613
- function sd(e) {
4621
+ function cd(e) {
4614
4622
  return e.branches.map((e) => e.accessor);
4615
4623
  }
4616
- function cd(e) {
4624
+ function ld(e) {
4617
4625
  return e.branches.find((e) => !e.accessor.constant)?.accessor;
4618
4626
  }
4619
- function ld(e, t) {
4627
+ function ud(e, t) {
4620
4628
  if (e.length === 1) {
4621
- let n = ud(e[0].accessor, t);
4629
+ let n = dd(e[0].accessor, t);
4622
4630
  return Object.assign(n, { branches: e });
4623
4631
  }
4624
- let n = e.map((e) => e.predicate), r = e.map((e) => ud(e.accessor, t));
4632
+ let n = e.map((e) => e.predicate), r = e.map((e) => dd(e.accessor, t));
4625
4633
  return Object.assign((e) => {
4626
4634
  for (let t = 0; t < r.length; t++) if (n[t](e)) return r[t](e);
4627
4635
  }, {
@@ -4631,7 +4639,7 @@ function ld(e, t) {
4631
4639
  channelDef: e.at(-1).accessor.channelDef
4632
4640
  });
4633
4641
  }
4634
- function ud(e, t) {
4642
+ function dd(e, t) {
4635
4643
  let { channel: n, scaleChannel: r, channelDef: i } = e, a = e.scaleChannel ? t(r) : void 0;
4636
4644
  if (r && !a) throw Error(`Missing scale! "${n}": ${JSON.stringify(i)}`);
4637
4645
  return Object.assign(a ? (t) => a(e(t)) : (t) => e(t), {
@@ -4644,83 +4652,98 @@ function ud(e, t) {
4644
4652
  channelDef: i
4645
4653
  });
4646
4654
  }
4647
- function dd(e) {
4648
- return e && "value" in e;
4649
- }
4650
4655
  function fd(e) {
4651
- return e && "field" in e;
4656
+ return e && "value" in e;
4652
4657
  }
4653
4658
  function pd(e) {
4654
- return e && "datum" in e;
4659
+ return e && "field" in e;
4655
4660
  }
4656
4661
  function md(e) {
4657
- return fd(e) || pd(e) || vd(e) || _d(e);
4662
+ return e && "datum" in e;
4658
4663
  }
4659
4664
  function hd(e) {
4660
- if (bd(e)) {
4665
+ return pd(e) || md(e) || bd(e) || yd(e);
4666
+ }
4667
+ function gd(e) {
4668
+ if (Sd(e)) {
4661
4669
  let t = e.condition;
4662
- return (Array.isArray(t) ? t : [t]).find((e) => md(e));
4663
- } else if (md(e)) return e;
4670
+ return (Array.isArray(t) ? t : [t]).find((e) => hd(e));
4671
+ } else if (hd(e)) return e;
4672
+ }
4673
+ function _d(e) {
4674
+ let t = e && gd(e);
4675
+ return t != null && t.type != "quantitative" && t.scale !== null;
4664
4676
  }
4665
- function gd(e, t) {
4677
+ function vd(e, t) {
4666
4678
  let n = e.mark.encoding[t];
4667
4679
  if (Array.isArray(n)) throw Error("Not a channel def with scale!");
4668
4680
  {
4669
- let e = hd(n);
4681
+ let e = gd(n);
4670
4682
  if (e) return e;
4671
4683
  }
4672
4684
  throw Error("Not a channel def with scale!");
4673
4685
  }
4674
- function _d(e) {
4686
+ function yd(e) {
4675
4687
  return e && "chrom" in e;
4676
4688
  }
4677
- function vd(e) {
4689
+ function bd(e) {
4678
4690
  return e && "expr" in e;
4679
4691
  }
4680
- function yd(e) {
4681
- return (fd(e) || pd(e)) && "condition" in e;
4682
- }
4683
- function bd(e) {
4684
- return dd(e) && "condition" in e;
4692
+ function xd(e) {
4693
+ return (pd(e) || md(e)) && "condition" in e;
4685
4694
  }
4686
- var xd = ["x", "y"], Sd = ["x2", "y2"], Cd = [...xd, ...Sd];
4687
- function wd(e) {
4688
- return xd.includes(e);
4695
+ function Sd(e) {
4696
+ return fd(e) && "condition" in e;
4689
4697
  }
4690
- function Td(e) {
4698
+ var Cd = ["x", "y"], wd = ["x2", "y2"], Td = ["xOffset", "yOffset"], Ed = [...Cd, ...wd];
4699
+ function Dd(e) {
4691
4700
  return Cd.includes(e);
4692
4701
  }
4693
- var Ed = {
4694
- x: "x2",
4695
- y: "y2"
4696
- }, Dd = Object.fromEntries(Object.entries(Ed).map((e) => [e[1], e[0]]));
4697
4702
  function Od(e) {
4698
- return e in Dd;
4703
+ return Ed.includes(e);
4699
4704
  }
4700
4705
  function kd(e) {
4701
- let t = Ed[e];
4706
+ return Td.includes(e);
4707
+ }
4708
+ function Ad(e) {
4709
+ return Id(e) == "x" ? "xOffset" : "yOffset";
4710
+ }
4711
+ function jd(e, t, n) {
4712
+ return t ?? (n ? 0 : e);
4713
+ }
4714
+ var Md = {
4715
+ x: "x2",
4716
+ y: "y2"
4717
+ }, Nd = Object.fromEntries(Object.entries(Md).map((e) => [e[1], e[0]]));
4718
+ function Pd(e) {
4719
+ return e in Nd;
4720
+ }
4721
+ function Fd(e) {
4722
+ let t = Md[e];
4702
4723
  if (t) return t;
4703
4724
  throw Error(`${e} has no secondary channel!`);
4704
4725
  }
4705
- function Ad(e) {
4706
- return Dd[e] ?? e;
4726
+ function Id(e) {
4727
+ return Nd[e] ?? e;
4707
4728
  }
4708
- function jd(e) {
4729
+ function Ld(e) {
4709
4730
  return [
4710
4731
  "color",
4711
4732
  "fill",
4712
4733
  "stroke"
4713
- ].includes(Ad(e));
4734
+ ].includes(Id(e));
4714
4735
  }
4715
- function Md(e) {
4736
+ function Rd(e) {
4716
4737
  return ["shape", "direction"].includes(e);
4717
4738
  }
4718
- function Nd(e) {
4739
+ function zd(e) {
4719
4740
  return [
4720
4741
  "x",
4721
4742
  "y",
4722
4743
  "x2",
4723
4744
  "y2",
4745
+ "xOffset",
4746
+ "yOffset",
4724
4747
  "color",
4725
4748
  "fill",
4726
4749
  "stroke",
@@ -4737,7 +4760,7 @@ function Nd(e) {
4737
4760
  "sample"
4738
4761
  ].includes(e);
4739
4762
  }
4740
- function Pd(e) {
4763
+ function Bd(e) {
4741
4764
  switch (e) {
4742
4765
  case "shape": return [
4743
4766
  "circle",
@@ -4751,15 +4774,17 @@ function Pd(e) {
4751
4774
  "tick-up",
4752
4775
  "tick-right",
4753
4776
  "tick-down",
4754
- "tick-left"
4777
+ "tick-left",
4778
+ "x",
4779
+ "+"
4755
4780
  ];
4756
4781
  case "direction": return ["forward", "reverse"];
4757
4782
  default:
4758
4783
  }
4759
4784
  }
4760
- function Fd(e) {
4761
- if (!Md(e)) throw Error("Not a discrete channel: " + e);
4762
- let t = new Map(Pd(e).map((e, t) => [e, t]));
4785
+ function Vd(e) {
4786
+ if (!Rd(e)) throw Error("Not a discrete channel: " + e);
4787
+ let t = new Map(Bd(e).map((e, t) => [e, t]));
4763
4788
  return (n) => {
4764
4789
  let r = t.get(n);
4765
4790
  if (r !== void 0) return r;
@@ -4768,16 +4793,16 @@ function Fd(e) {
4768
4793
  }
4769
4794
  //#endregion
4770
4795
  //#region ../core/src/utils/url.js
4771
- var Id = /^([A-Za-z]+:)?\/\//;
4772
- function Ld(e, t) {
4773
- if (t && Id.test(t)) return t;
4796
+ var Hd = /^([A-Za-z]+:)?\/\//;
4797
+ function Ud(e, t) {
4798
+ if (t && Hd.test(t)) return t;
4774
4799
  let n = typeof e == "function" ? e() : e;
4775
4800
  if (!n) return t;
4776
4801
  if (!t) return n;
4777
4802
  if (/[#?]/.test(n)) throw Error(`Cannot append to a url with query or hash. Append: ${t}, base: ${n}`);
4778
- return zd(n) + t;
4803
+ return Gd(n) + t;
4779
4804
  }
4780
- function Rd(e, t, n = Bd()) {
4805
+ function Wd(e, t, n = Kd()) {
4781
4806
  let r = typeof e == "function" ? e() : e;
4782
4807
  if (!t) return r;
4783
4808
  try {
@@ -4786,106 +4811,106 @@ function Rd(e, t, n = Bd()) {
4786
4811
  return new URL(t, e).href;
4787
4812
  } else if (n) return new URL(t, n).href;
4788
4813
  } catch {}
4789
- return Ld(r, t);
4814
+ return Ud(r, t);
4790
4815
  }
4791
- function zd(e) {
4816
+ function Gd(e) {
4792
4817
  let t = e.replace(/[^/]*$/, "");
4793
4818
  return t === "" ? void 0 : t.endsWith("://") ? e + "/" : t;
4794
4819
  }
4795
- function Bd() {
4820
+ function Kd() {
4796
4821
  if (typeof document < "u" && document.baseURI) return document.baseURI;
4797
4822
  if (typeof window < "u" && window.location?.href) return window.location.href;
4798
4823
  }
4799
4824
  //#endregion
4800
4825
  //#region ../../node_modules/d3-scale-chromatic/src/colors.js
4801
- function Vd(e) {
4826
+ function qd(e) {
4802
4827
  for (var t = e.length / 6 | 0, n = Array(t), r = 0; r < t;) n[r] = "#" + e.slice(r * 6, ++r * 6);
4803
4828
  return n;
4804
4829
  }
4805
4830
  //#endregion
4806
4831
  //#region ../../node_modules/d3-scale-chromatic/src/categorical/category10.js
4807
- var Hd = Vd("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), Ud = Vd("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), Wd = Vd("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), Gd = Vd("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"), Kd = Vd("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), qd = Vd("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), Jd = Vd("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), Yd = Vd("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), Xd = Vd("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), Zd = Vd("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"), Qd = "year", $d = "quarter", ef = "month", tf = "week", nf = "date", rf = "dayofyear", af = "hours", of = "minutes", sf = "seconds", cf = "milliseconds";
4832
+ var Jd = qd("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), Yd = qd("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), Xd = qd("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), Zd = qd("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"), Qd = qd("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), $d = qd("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), ef = qd("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), tf = qd("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), nf = qd("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), rf = qd("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"), af = "year", of = "quarter", sf = "month", cf = "week", lf = "date", uf = "dayofyear", df = "hours", ff = "minutes", pf = "seconds", mf = "milliseconds";
4808
4833
  [
4809
- Qd,
4810
- $d,
4811
- ef,
4812
- tf,
4813
- nf,
4814
- "day",
4815
- rf,
4816
4834
  af,
4817
4835
  of,
4818
4836
  sf,
4819
- cf
4820
- ].reduce((e, t, n) => (e[t] = 1 + n, e), {}), `${Qd}${ef}`, `${Qd}${ef}${nf}`, `${af}${of}`;
4821
- var lf = {
4822
- [Qd]: j,
4823
- [$d]: Ia.every(3),
4824
- [ef]: Ia,
4825
- [tf]: xa,
4826
- [nf]: _a,
4837
+ cf,
4838
+ lf,
4839
+ "day",
4840
+ uf,
4841
+ df,
4842
+ ff,
4843
+ pf,
4844
+ mf
4845
+ ].reduce((e, t, n) => (e[t] = 1 + n, e), {}), `${af}${sf}`, `${af}${sf}${lf}`, `${df}${ff}`;
4846
+ var hf = {
4847
+ [af]: j,
4848
+ [of]: Ia.every(3),
4849
+ [sf]: Ia,
4850
+ [cf]: xa,
4851
+ [lf]: _a,
4827
4852
  day: _a,
4828
- [rf]: _a,
4829
- [af]: ha,
4830
- [of]: pa,
4831
- [sf]: fa,
4832
- [cf]: aa
4833
- }, uf = {
4834
- [Qd]: Ra,
4835
- [$d]: La.every(3),
4836
- [ef]: La,
4837
- [tf]: ka,
4838
- [nf]: va,
4853
+ [uf]: _a,
4854
+ [df]: ha,
4855
+ [ff]: pa,
4856
+ [pf]: fa,
4857
+ [mf]: aa
4858
+ }, gf = {
4859
+ [af]: Ra,
4860
+ [of]: La.every(3),
4861
+ [sf]: La,
4862
+ [cf]: ka,
4863
+ [lf]: va,
4839
4864
  day: va,
4840
- [rf]: va,
4841
- [af]: ga,
4842
- [of]: ma,
4843
- [sf]: fa,
4844
- [cf]: aa
4865
+ [uf]: va,
4866
+ [df]: ga,
4867
+ [ff]: ma,
4868
+ [pf]: fa,
4869
+ [mf]: aa
4845
4870
  };
4846
- function df(e) {
4847
- return lf[e];
4848
- }
4849
- function ff(e) {
4850
- return uf[e];
4851
- }
4852
- var pf = 1e3, mf = pf * 60, hf = mf * 60, gf = hf * 24;
4853
- gf * 7;
4854
- var _f = gf * 30;
4855
- gf * 365, [
4856
- Qd,
4857
- ef,
4858
- nf,
4871
+ function _f(e) {
4872
+ return hf[e];
4873
+ }
4874
+ function vf(e) {
4875
+ return gf[e];
4876
+ }
4877
+ var yf = 1e3, bf = yf * 60, xf = bf * 60, Sf = xf * 24;
4878
+ Sf * 7;
4879
+ var Cf = Sf * 30;
4880
+ Sf * 365, [
4859
4881
  af,
4860
- of,
4861
4882
  sf,
4862
- cf
4863
- ].slice(0, -1).slice(0, -1).slice(0, -1).slice(0, -1), 5 * pf, 15 * pf, 30 * pf, 5 * mf, 15 * mf, 30 * mf, 3 * hf, 6 * hf, 12 * hf, 3 * _f;
4883
+ lf,
4884
+ df,
4885
+ ff,
4886
+ pf,
4887
+ mf
4888
+ ].slice(0, -1).slice(0, -1).slice(0, -1).slice(0, -1), 5 * yf, 15 * yf, 30 * yf, 5 * bf, 15 * bf, 30 * bf, 3 * xf, 6 * xf, 12 * xf, 3 * Cf;
4864
4889
  //#endregion
4865
4890
  //#region ../../node_modules/vega-scale/build/vega-scale.js
4866
- function vf(e, t, n) {
4891
+ function wf(e, t, n) {
4867
4892
  let r = e - t + n * 2;
4868
4893
  return e ? r > 0 ? r : 1 : 0;
4869
4894
  }
4870
- var yf = "identity", bf = "linear", xf = "sqrt", Sf = "symlog", Cf = "time", wf = "sequential", Tf = "diverging", Ef = "quantile", Df = "quantize", Of = "threshold", kf = "ordinal", Af = "point", jf = "band", Mf = "bin-ordinal", X = "continuous", Nf = "discrete", Pf = "discretizing", Z = "interpolating", Ff = "temporal";
4871
- function If(e) {
4895
+ var Tf = "identity", Ef = "linear", Df = "sqrt", Of = "symlog", kf = "time", Af = "sequential", jf = "diverging", Mf = "quantile", Nf = "quantize", Pf = "threshold", Ff = "ordinal", If = "point", Lf = "band", Rf = "bin-ordinal", X = "continuous", zf = "discrete", Bf = "discretizing", Z = "interpolating", Vf = "temporal";
4896
+ function Hf(e) {
4872
4897
  return function(t) {
4873
4898
  let n = t[0], r = t[1], i;
4874
4899
  return r < n && (i = n, n = r, r = i), [e.invert(n), e.invert(r)];
4875
4900
  };
4876
4901
  }
4877
- function Lf(e) {
4902
+ function Uf(e) {
4878
4903
  return function(t) {
4879
4904
  let n = e.range(), r = t[0], i = t[1], a = -1, o, s, c, l;
4880
4905
  for (i < r && (s = r, r = i, i = s), c = 0, l = n.length; c < l; ++c) n[c] >= r && n[c] <= i && (a < 0 && (a = c), o = c);
4881
4906
  if (!(a < 0)) return r = e.invertExtent(n[a]), i = e.invertExtent(n[o]), [r[0] === void 0 ? r[1] : r[0], i[1] === void 0 ? i[0] : i[1]];
4882
4907
  };
4883
4908
  }
4884
- function Rf() {
4909
+ function Wf() {
4885
4910
  let e = Mt().unknown(void 0), t = e.domain, n = e.range, r = [0, 1], i, a, o = !1, s = 0, c = 0, l = .5;
4886
4911
  delete e.unknown;
4887
4912
  function u() {
4888
- let e = t().length, u = r[1] < r[0], d = r[1 - u], f = vf(e, s, c), p = r[u - 0];
4913
+ let e = t().length, u = r[1] < r[0], d = r[1 - u], f = wf(e, s, c), p = r[u - 0];
4889
4914
  i = (d - p) / (f || 1), o && (i = Math.floor(i)), p += (d - p - i * (e - s)) * l, a = i * (1 - s), o && (p = Math.round(p), a = Math.round(a));
4890
4915
  let m = kt(e).map((e) => p + i * e);
4891
4916
  return n(u ? m.reverse() : m);
@@ -4918,105 +4943,105 @@ function Rf() {
4918
4943
  let n = e.invertRange([t, t]);
4919
4944
  return n && n[0];
4920
4945
  }, e.copy = function() {
4921
- return Rf().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(c).align(l);
4946
+ return Wf().domain(t()).range(r).round(o).paddingInner(s).paddingOuter(c).align(l);
4922
4947
  }, u();
4923
4948
  }
4924
- function zf(e) {
4949
+ function Gf(e) {
4925
4950
  let t = e.copy;
4926
4951
  return e.padding = e.paddingOuter, delete e.paddingInner, e.copy = function() {
4927
- return zf(t());
4952
+ return Gf(t());
4928
4953
  }, e;
4929
4954
  }
4930
- function Bf() {
4931
- return zf(Rf().paddingInner(1));
4955
+ function Kf() {
4956
+ return Gf(Wf().paddingInner(1));
4932
4957
  }
4933
- var Vf = Array.prototype.map;
4934
- function Hf(e) {
4935
- return Vf.call(e, fc);
4958
+ var qf = Array.prototype.map;
4959
+ function Jf(e) {
4960
+ return qf.call(e, fc);
4936
4961
  }
4937
- var Uf = Array.prototype.slice;
4938
- function Wf() {
4962
+ var Yf = Array.prototype.slice;
4963
+ function Xf() {
4939
4964
  let e = [], t = [];
4940
4965
  function n(n) {
4941
4966
  return n == null || n !== n ? void 0 : t[(at(e, n) - 1) % t.length];
4942
4967
  }
4943
4968
  return n.domain = function(t) {
4944
- return arguments.length ? (e = Hf(t), n) : e.slice();
4969
+ return arguments.length ? (e = Jf(t), n) : e.slice();
4945
4970
  }, n.range = function(e) {
4946
- return arguments.length ? (t = Uf.call(e), n) : t.slice();
4971
+ return arguments.length ? (t = Yf.call(e), n) : t.slice();
4947
4972
  }, n.tickFormat = function(t, n) {
4948
4973
  return ki(e[0], dc(e), t ?? 10, n);
4949
4974
  }, n.copy = function() {
4950
- return Wf().domain(n.domain()).range(n.range());
4975
+ return Xf().domain(n.domain()).range(n.range());
4951
4976
  }, n;
4952
4977
  }
4953
- var Gf = /* @__PURE__ */ new Map(), Kf = Symbol("vega_scale");
4954
- function qf(e) {
4955
- return e[Kf] = !0, e;
4978
+ var Zf = /* @__PURE__ */ new Map(), Qf = Symbol("vega_scale");
4979
+ function $f(e) {
4980
+ return e[Qf] = !0, e;
4956
4981
  }
4957
- function Jf(e, t, n) {
4982
+ function ep(e, t, n) {
4958
4983
  let r = function() {
4959
4984
  let n = t();
4960
- return n.invertRange ||= n.invert ? If(n) : n.invertExtent ? Lf(n) : void 0, n.type = e, qf(n);
4985
+ return n.invertRange ||= n.invert ? Hf(n) : n.invertExtent ? Uf(n) : void 0, n.type = e, $f(n);
4961
4986
  };
4962
4987
  return r.metadata = vc(pc(n)), r;
4963
4988
  }
4964
4989
  function Q(e, t, n) {
4965
- return arguments.length > 1 ? (Gf.set(e, Jf(e, t, n)), this) : Yf(e) ? Gf.get(e) : void 0;
4990
+ return arguments.length > 1 ? (Zf.set(e, ep(e, t, n)), this) : tp(e) ? Zf.get(e) : void 0;
4966
4991
  }
4967
- Q(yf, Mi), Q(bf, ji, X), Q("log", Ui, [X, "log"]), Q("pow", Qi, X), Q(xf, $i, X), Q(Sf, qi, X), Q(Cf, ys, [X, Ff]), Q("utc", bs, [X, Ff]), Q(wf, Cs, [X, Z]), Q(`${wf}-${bf}`, Cs, [X, Z]), Q(`${wf}-log`, ws, [
4992
+ Q(Tf, Mi), Q(Ef, ji, X), Q("log", Ui, [X, "log"]), Q("pow", Qi, X), Q(Df, $i, X), Q(Of, qi, X), Q(kf, ys, [X, Vf]), Q("utc", bs, [X, Vf]), Q(Af, Cs, [X, Z]), Q(`${Af}-${Ef}`, Cs, [X, Z]), Q(`${Af}-log`, ws, [
4968
4993
  X,
4969
4994
  Z,
4970
4995
  "log"
4971
- ]), Q(`${wf}-pow`, Es, [X, Z]), Q(`${wf}-${xf}`, Ds, [X, Z]), Q(`${wf}-${Sf}`, Ts, [X, Z]), Q(`${Tf}-${bf}`, ks, [X, Z]), Q(`${Tf}-log`, As, [
4996
+ ]), Q(`${Af}-pow`, Es, [X, Z]), Q(`${Af}-${Df}`, Ds, [X, Z]), Q(`${Af}-${Of}`, Ts, [X, Z]), Q(`${jf}-${Ef}`, ks, [X, Z]), Q(`${jf}-log`, As, [
4972
4997
  X,
4973
4998
  Z,
4974
4999
  "log"
4975
- ]), Q(`${Tf}-pow`, Ms, [X, Z]), Q(`${Tf}-${xf}`, Ns, [X, Z]), Q(`${Tf}-${Sf}`, js, [X, Z]), Q(Ef, ea, [Pf, Ef]), Q(Df, ta, Pf), Q(Of, na, Pf), Q(Mf, Wf, [Nf, Pf]), Q(kf, Mt, Nf), Q(jf, Rf, Nf), Q(Af, Bf, Nf);
4976
- function Yf(e) {
4977
- return Gf.has(e);
5000
+ ]), Q(`${jf}-pow`, Ms, [X, Z]), Q(`${jf}-${Df}`, Ns, [X, Z]), Q(`${jf}-${Of}`, js, [X, Z]), Q(Mf, ea, [Bf, Mf]), Q(Nf, ta, Bf), Q(Pf, na, Bf), Q(Rf, Xf, [zf, Bf]), Q(Ff, Mt, zf), Q(Lf, Wf, zf), Q(If, Kf, zf);
5001
+ function tp(e) {
5002
+ return Zf.has(e);
4978
5003
  }
4979
- function Xf(e, t) {
4980
- let n = Gf.get(e);
5004
+ function np(e, t) {
5005
+ let n = Zf.get(e);
4981
5006
  return n && n.metadata[t];
4982
5007
  }
4983
- function Zf(e) {
4984
- return Xf(e, X);
5008
+ function rp(e) {
5009
+ return np(e, X);
4985
5010
  }
4986
- function Qf(e) {
4987
- return Xf(e, Nf);
5011
+ function ip(e) {
5012
+ return np(e, zf);
4988
5013
  }
4989
- function $f(e) {
4990
- return Xf(e, Pf);
5014
+ function ap(e) {
5015
+ return np(e, Bf);
4991
5016
  }
4992
- function ep(e) {
4993
- return Xf(e, "log");
5017
+ function op(e) {
5018
+ return np(e, "log");
4994
5019
  }
4995
- function tp(e) {
4996
- return Xf(e, Z);
5020
+ function sp(e) {
5021
+ return np(e, Z);
4997
5022
  }
4998
- function np(e, t) {
5023
+ function cp(e, t) {
4999
5024
  let n = t[0], r = dc(t) - n;
5000
5025
  return function(t) {
5001
5026
  return e(n + t * r);
5002
5027
  };
5003
5028
  }
5004
- function rp(e, t, n) {
5005
- return Kr(ap(t || "rgb", n), e);
5029
+ function lp(e, t, n) {
5030
+ return Kr(dp(t || "rgb", n), e);
5006
5031
  }
5007
- function ip(e, t) {
5032
+ function up(e, t) {
5008
5033
  let n = Array(t), r = t + 1;
5009
5034
  for (let i = 0; i < t;) n[i] = e(++i / r);
5010
5035
  return n;
5011
5036
  }
5012
- function ap(e, t) {
5013
- let n = Jr[op(e)];
5037
+ function dp(e, t) {
5038
+ let n = Jr[fp(e)];
5014
5039
  return t != null && n && n.gamma ? n.gamma(t) : n;
5015
5040
  }
5016
- function op(e) {
5041
+ function fp(e) {
5017
5042
  return "interpolate" + e.toLowerCase().split("-").map((e) => e[0].toUpperCase() + e.slice(1)).join("");
5018
5043
  }
5019
- var sp = {
5044
+ var pp = {
5020
5045
  blues: "cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",
5021
5046
  greens: "d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",
5022
5047
  greys: "e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",
@@ -5070,49 +5095,49 @@ var sp = {
5070
5095
  darkGreen: "3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",
5071
5096
  darkMulti: "3737371f5287197d8c29a86995ce3fffe800ffffff",
5072
5097
  darkRed: "3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"
5073
- }, cp = {
5074
- accent: Ud,
5075
- category10: Hd,
5098
+ }, mp = {
5099
+ accent: Yd,
5100
+ category10: Jd,
5076
5101
  category20: "1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",
5077
5102
  category20b: "393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",
5078
5103
  category20c: "3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",
5079
- dark2: Wd,
5080
- observable10: Gd,
5081
- paired: Kd,
5082
- pastel1: qd,
5083
- pastel2: Jd,
5084
- set1: Yd,
5085
- set2: Xd,
5086
- set3: Zd,
5104
+ dark2: Xd,
5105
+ observable10: Zd,
5106
+ paired: Qd,
5107
+ pastel1: $d,
5108
+ pastel2: ef,
5109
+ set1: tf,
5110
+ set2: nf,
5111
+ set3: rf,
5087
5112
  tableau10: "4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",
5088
5113
  tableau20: "4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"
5089
5114
  };
5090
- function lp(e) {
5115
+ function hp(e) {
5091
5116
  if (lc(e)) return e;
5092
5117
  let t = e.length / 6 | 0, n = Array(t);
5093
5118
  for (let r = 0; r < t;) n[r] = "#" + e.slice(r * 6, ++r * 6);
5094
5119
  return n;
5095
5120
  }
5096
- function up(e, t) {
5097
- for (let n in e) fp(n, t(e[n]));
5121
+ function gp(e, t) {
5122
+ for (let n in e) vp(n, t(e[n]));
5098
5123
  }
5099
- var dp = {};
5100
- up(cp, lp), up(sp, (e) => rp(lp(e)));
5101
- function fp(e, t) {
5102
- return e &&= e.toLowerCase(), arguments.length > 1 ? (dp[e] = t, this) : dp[e];
5124
+ var _p = {};
5125
+ gp(mp, hp), gp(pp, (e) => lp(hp(e)));
5126
+ function vp(e, t) {
5127
+ return e &&= e.toLowerCase(), arguments.length > 1 ? (_p[e] = t, this) : _p[e];
5103
5128
  }
5104
5129
  //#endregion
5105
5130
  //#region ../core/src/utils/arrayUtils.js
5106
- function pp(e, t) {
5131
+ function yp(e, t) {
5107
5132
  return e.length == t.length && e.every((n, r) => e[r] === t[r]);
5108
5133
  }
5109
- function mp(e) {
5134
+ function bp(e) {
5110
5135
  return Array.isArray(e) ? e : e === void 0 ? [] : [e];
5111
5136
  }
5112
- function hp(e) {
5137
+ function xp(e) {
5113
5138
  return e[e.length - 1];
5114
5139
  }
5115
- function gp(e, t, n) {
5140
+ function Sp(e, t, n) {
5116
5141
  if (t < 0 || t >= e.length) throw Error("Source index out of range.");
5117
5142
  if (n < 0 || n > e.length - 1) throw Error("Destination index out of range.");
5118
5143
  let [r] = e.splice(t, 1);
@@ -5124,7 +5149,7 @@ var $ = class extends Error {
5124
5149
  constructor(e, t) {
5125
5150
  super(e), this.name = "ViewError", this.view = t;
5126
5151
  }
5127
- }, _p = class {
5152
+ }, Cp = class {
5128
5153
  constructor(e = Infinity, t = Float64Array, n = Uint32Array) {
5129
5154
  let r = e !== Infinity;
5130
5155
  this.ids = r ? new n(e) : [], this.values = r ? new t(e) : [], this.capacity = e, this.length = 0;
@@ -5165,13 +5190,13 @@ var $ = class extends Error {
5165
5190
  shrink() {
5166
5191
  Array.isArray(this.ids) && (this.ids.length = this.length), Array.isArray(this.values) && (this.values.length = this.length);
5167
5192
  }
5168
- }, vp = Symbol("runtimeNode"), yp = 1e6;
5169
- function bp(e) {
5193
+ }, wp = Symbol("runtimeNode"), Tp = 1e6;
5194
+ function Ep(e) {
5170
5195
  return e ? (t, n) => {
5171
5196
  e.addDisposer(t, n);
5172
5197
  } : () => void 0;
5173
5198
  }
5174
- function xp(e, t) {
5199
+ function Dp(e, t) {
5175
5200
  let n = {
5176
5201
  id: e.id,
5177
5202
  name: e.name,
@@ -5185,7 +5210,7 @@ function xp(e, t) {
5185
5210
  };
5186
5211
  }
5187
5212
  };
5188
- return Object.defineProperty(n, vp, {
5213
+ return Object.defineProperty(n, wp, {
5189
5214
  enumerable: !1,
5190
5215
  configurable: !1,
5191
5216
  writable: !1,
@@ -5194,18 +5219,18 @@ function xp(e, t) {
5194
5219
  t(e);
5195
5220
  } }) : n;
5196
5221
  }
5197
- function Sp(e) {
5198
- let t = e[vp];
5222
+ function Op(e) {
5223
+ let t = e[wp];
5199
5224
  if (!t) throw Error("ParamRef is not bound to this graph runtime. Expected runtime-created ref.");
5200
5225
  return t;
5201
5226
  }
5202
- function Cp(e) {
5203
- return typeof e.rank == "number" ? e.rank : Sp(e).rank;
5227
+ function kp(e) {
5228
+ return typeof e.rank == "number" ? e.rank : Op(e).rank;
5204
5229
  }
5205
- function wp(e) {
5230
+ function Ap(e) {
5206
5231
  for (let t of e) t();
5207
5232
  }
5208
- var Tp = class {
5233
+ var jp = class {
5209
5234
  #e = 1;
5210
5235
  #t = 1;
5211
5236
  #n = 0;
@@ -5213,12 +5238,12 @@ var Tp = class {
5213
5238
  #i = !1;
5214
5239
  #a = /* @__PURE__ */ new Set();
5215
5240
  #o = /* @__PURE__ */ new Set();
5216
- #s = new _p();
5217
- #c = new _p();
5241
+ #s = new Cp();
5242
+ #c = new Cp();
5218
5243
  #l = /* @__PURE__ */ new Set();
5219
5244
  #u;
5220
5245
  constructor(e = {}) {
5221
- this.#u = bp(e.lifecycleRegistry);
5246
+ this.#u = Ep(e.lifecycleRegistry);
5222
5247
  }
5223
5248
  createWritable(e, t, n, r, i = {}) {
5224
5249
  let a = "n" + this.#e++, o = i.notify ?? !0, s = {
@@ -5237,13 +5262,13 @@ var Tp = class {
5237
5262
  };
5238
5263
  return this.#u(e, () => {
5239
5264
  s.disposed = !0, s.listeners.clear();
5240
- }), xp(s, (e) => {
5265
+ }), Dp(s, (e) => {
5241
5266
  if (s.disposed) throw Error("Cannot set disposed parameter \"" + t + "\" (" + a + ").");
5242
- e !== s.value && (s.value = e, o && (wp(s.listeners), this.#m()));
5267
+ e !== s.value && (s.value = e, o && (Ap(s.listeners), this.#m()));
5243
5268
  });
5244
5269
  }
5245
5270
  computed(e, t, n, r) {
5246
- let i = n.reduce((e, t) => Math.max(e, Cp(t)), 0), a = {
5271
+ let i = n.reduce((e, t) => Math.max(e, kp(t)), 0), a = {
5247
5272
  id: "n" + this.#e++,
5248
5273
  name: t,
5249
5274
  kind: "derived",
@@ -5257,15 +5282,15 @@ var Tp = class {
5257
5282
  a.listeners.delete(e);
5258
5283
  };
5259
5284
  }
5260
- }, o = () => {
5261
- a.disposed || this.#d(a);
5262
- }, s = n.map((e) => e.subscribe(o));
5285
+ }, o = n.map((e) => e.subscribe(() => {
5286
+ a.disposed || (this.#d(a), e.propagation === "sync" && this.flushNow());
5287
+ }));
5263
5288
  return this.#u(e, () => {
5264
- a.disposed || (a.disposed = !0, s.forEach((e) => e()), a.listeners.clear(), this.#a.delete(a));
5265
- }), xp(a);
5289
+ a.disposed || (a.disposed = !0, o.forEach((e) => e()), a.listeners.clear(), this.#a.delete(a));
5290
+ }), Dp(a);
5266
5291
  }
5267
5292
  effect(e, t, n) {
5268
- let r = t.reduce((e, t) => Math.max(e, Cp(t)), 0), i = {
5293
+ let r = t.reduce((e, t) => Math.max(e, kp(t)), 0), i = {
5269
5294
  id: "n" + this.#e++,
5270
5295
  rank: r + 1,
5271
5296
  disposed: !1,
@@ -5296,7 +5321,7 @@ var Tp = class {
5296
5321
  let t = this.#s.pop();
5297
5322
  if (this.#a.delete(t), t.disposed) continue;
5298
5323
  let n = t.value, r = t.fn();
5299
- r !== n && (t.value = r, wp(t.listeners));
5324
+ r !== n && (t.value = r, Ap(t.listeners));
5300
5325
  }
5301
5326
  for (; this.#c.length > 0;) {
5302
5327
  e = !0;
@@ -5331,8 +5356,8 @@ var Tp = class {
5331
5356
  this.#o.has(e) || (this.#o.add(e), this.#c.push(e, this.#p(e.rank)), this.#m());
5332
5357
  }
5333
5358
  #p(e) {
5334
- let t = this.#t % yp;
5335
- return this.#t += 1, e * yp + t;
5359
+ let t = this.#t % Tp;
5360
+ return this.#t += 1, e * Tp + t;
5336
5361
  }
5337
5362
  #m() {
5338
5363
  this.#n > 0 || this.#r || this.#i || (this.#r = !0, queueMicrotask(() => {
@@ -5348,7 +5373,7 @@ var Tp = class {
5348
5373
  this.#l.clear();
5349
5374
  }
5350
5375
  }
5351
- }, Ep = class {
5376
+ }, Mp = class {
5352
5377
  #e = 1;
5353
5378
  #t = /* @__PURE__ */ new Map();
5354
5379
  createOwner(e, t) {
@@ -5367,7 +5392,7 @@ var Tp = class {
5367
5392
  t.clear(), this.#t.delete(e);
5368
5393
  }
5369
5394
  }
5370
- }, Dp = class {
5395
+ }, Np = class {
5371
5396
  #e = 1;
5372
5397
  #t = /* @__PURE__ */ new Map();
5373
5398
  createRootScope(e) {
@@ -5417,13 +5442,13 @@ var Tp = class {
5417
5442
  };
5418
5443
  //#endregion
5419
5444
  //#region ../core/src/paramRuntime/expressionCompiler.js
5420
- function Op(e, t = {}, n = {}) {
5421
- return Au(e, t, n);
5445
+ function Pp(e, t = {}, n = {}) {
5446
+ return ju(e, t, n);
5422
5447
  }
5423
5448
  //#endregion
5424
5449
  //#region ../core/src/paramRuntime/expressionRef.js
5425
- function kp(e, t, n = {}) {
5426
- let r = {}, i = Op(e, r, n), a = /* @__PURE__ */ new Map();
5450
+ function Fp(e, t, n = {}) {
5451
+ let r = {}, i = Pp(e, r, n), a = /* @__PURE__ */ new Map();
5427
5452
  for (let n of i.globals) {
5428
5453
  if (a.has(n)) continue;
5429
5454
  let i = t(n);
@@ -5454,10 +5479,10 @@ function kp(e, t, n = {}) {
5454
5479
  }
5455
5480
  //#endregion
5456
5481
  //#region ../core/src/paramRuntime/paramRuntime.js
5457
- var Ap = class {
5458
- #e = new Ep();
5459
- #t = new Tp({ lifecycleRegistry: this.#e });
5460
- #n = new Dp();
5482
+ var Ip = class {
5483
+ #e = new Mp();
5484
+ #t = new jp({ lifecycleRegistry: this.#e });
5485
+ #n = new Np();
5461
5486
  createScope(e) {
5462
5487
  let t = this.#e.createOwner("scope", e ?? "root");
5463
5488
  return e ? this.#n.createChildScope(t, e) : this.#n.createRootScope(t);
@@ -5479,11 +5504,11 @@ var Ap = class {
5479
5504
  return this.#n.register(e, t, a);
5480
5505
  }
5481
5506
  registerDerived(e, t, n, r) {
5482
- let { expression: i, dependencies: a } = kp(n, (t) => this.resolve(e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
5507
+ let { expression: i, dependencies: a } = Fp(n, (t) => this.resolve(e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
5483
5508
  return this.#n.register(e, t, s);
5484
5509
  }
5485
5510
  createExpression(e, t, n) {
5486
- let { expression: r } = kp(t, (t) => this.resolve(e, t), n);
5511
+ let { expression: r } = Fp(t, (t) => this.resolve(e, t), n);
5487
5512
  return r;
5488
5513
  }
5489
5514
  resolve(e, t) {
@@ -5498,11 +5523,11 @@ var Ap = class {
5498
5523
  whenPropagated(e) {
5499
5524
  return this.#t.whenPropagated(e);
5500
5525
  }
5501
- }, jp = (e) => new Promise((t) => setTimeout(t, e));
5502
- function Mp() {
5526
+ }, Lp = (e) => new Promise((t) => setTimeout(t, e));
5527
+ function Rp() {
5503
5528
  return { canceled: !1 };
5504
5529
  }
5505
- function Np(e) {
5530
+ function zp(e) {
5506
5531
  let t = e.requestAnimationFrame || window.requestAnimationFrame, n = e.signal, r = e.cancelToken, i = () => new Promise((i, a) => {
5507
5532
  if (r?.canceled) return i();
5508
5533
  if (n?.aborted) return a("aborted");
@@ -5515,11 +5540,11 @@ function Np(e) {
5515
5540
  };
5516
5541
  t(m);
5517
5542
  });
5518
- return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : jp(e.delay).then(i) : i();
5543
+ return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : Lp(e.delay).then(i) : i();
5519
5544
  }
5520
5545
  //#endregion
5521
5546
  //#region ../core/src/utils/animator.js
5522
- var Pp = class {
5547
+ var Bp = class {
5523
5548
  constructor(e) {
5524
5549
  this._renderCallback = e, this._renderRequested = !1, this._warn = !1, this.transitions = [], this.transitionsEnabled = !0;
5525
5550
  }
@@ -5541,13 +5566,13 @@ var Pp = class {
5541
5566
  }));
5542
5567
  }
5543
5568
  transition(e) {
5544
- return Np({
5569
+ return zp({
5545
5570
  requestAnimationFrame: (e) => this.requestTransition(e),
5546
5571
  ...e
5547
5572
  });
5548
5573
  }
5549
5574
  };
5550
- function Fp(e, t, n, r, i) {
5575
+ function Vp(e, t, n, r, i) {
5551
5576
  let a = 0, o = !0, s = !1, c = structuredClone(i), l = c;
5552
5577
  function u(e, t, n, r) {
5553
5578
  return t + (e - t) * 2 ** (-n / r);
@@ -5566,7 +5591,7 @@ function Fp(e, t, n, r, i) {
5566
5591
  s || (s = !0, e.requestTransition(d));
5567
5592
  }
5568
5593
  function p(n) {
5569
- l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a = Ip(), d(a));
5594
+ l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a = Hp(), d(a));
5570
5595
  }
5571
5596
  return p.stop = () => {
5572
5597
  o = !0, s = !1, e.cancelTransition(d);
@@ -5574,13 +5599,13 @@ function Fp(e, t, n, r, i) {
5574
5599
  l = e, c = e, p.stop(), t(c);
5575
5600
  }, p;
5576
5601
  }
5577
- function Ip() {
5602
+ function Hp() {
5578
5603
  let e = globalThis.document?.timeline?.currentTime;
5579
5604
  return typeof e == "number" ? e : performance.now();
5580
5605
  }
5581
5606
  //#endregion
5582
5607
  //#region ../core/src/paramRuntime/viewParamRuntime.js
5583
- var Lp = class {
5608
+ var Up = class {
5584
5609
  #e;
5585
5610
  #t;
5586
5611
  #n = /* @__PURE__ */ new Map();
@@ -5595,12 +5620,12 @@ var Lp = class {
5595
5620
  constructor(e, t, n, r = {}) {
5596
5621
  this.#o = e ?? (() => void 0), this.#s = t ?? (() => void 0), this.#c = n, this.#l = r.snapTransitionedUpdates ?? !1;
5597
5622
  let i = this.#o();
5598
- i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new Ap(), this.#t = this.#e.createScope());
5623
+ i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new Ip(), this.#t = this.#e.createScope());
5599
5624
  }
5600
5625
  registerParam(e) {
5601
5626
  let t = e.name;
5602
5627
  if (F(t), this.#i.has(t)) throw Error("Parameter \"" + t + "\" already registered in this scope.");
5603
- zp(e);
5628
+ Gp(e);
5604
5629
  let n, r;
5605
5630
  if (e.push == "outer") {
5606
5631
  let i = this.findRuntimeForParam(t);
@@ -5686,7 +5711,7 @@ var Lp = class {
5686
5711
  let r = this.#i.get(t);
5687
5712
  e.push({
5688
5713
  name: t,
5689
- kind: Rp(r),
5714
+ kind: Wp(r),
5690
5715
  value: n.get(),
5691
5716
  writable: this.#n.has(t),
5692
5717
  configured: !!r,
@@ -5728,11 +5753,11 @@ var Lp = class {
5728
5753
  this.#e.addScopeDisposer(this.#t, a);
5729
5754
  }
5730
5755
  #m(e, t, n) {
5731
- let r = Bp(e, t), i = this.#e.registerBase(this.#t, e, r);
5756
+ let r = Kp(e, t), i = this.#e.registerBase(this.#t, e, r);
5732
5757
  this.#r.set(e, i);
5733
5758
  let a = this.#c;
5734
5759
  if (!a) throw Error(`The parameter "${e}" uses transition but no animator is available.`);
5735
- let o = Fp(a, ({ value: e }) => {
5760
+ let o = Vp(a, ({ value: e }) => {
5736
5761
  i.set(e), this.#e.flushNow();
5737
5762
  }, n.halfLife ?? 80, n.epsilon ?? .01, { value: i.get() }), s = {
5738
5763
  target: i.get(),
@@ -5744,7 +5769,7 @@ var Lp = class {
5744
5769
  return this.#a.set(e, s), this.#e.addScopeDisposer(this.#t, s.dispose), s;
5745
5770
  }
5746
5771
  #h(e, t, n, r = {}) {
5747
- let i = Bp(e, n);
5772
+ let i = Kp(e, n);
5748
5773
  t.target = i, r.animate === !1 ? t.smoother.snap({ value: i }) : t.smoother({ value: i });
5749
5774
  }
5750
5775
  evaluateAndGet(e) {
@@ -5775,10 +5800,10 @@ var Lp = class {
5775
5800
  return !1;
5776
5801
  }
5777
5802
  };
5778
- function Rp(e) {
5803
+ function Wp(e) {
5779
5804
  return e ? e.push === "outer" ? "push" : "select" in e ? "selection" : "ruler" in e ? "ruler" : "expr" in e ? "derived" : "base" : "auto";
5780
5805
  }
5781
- function zp(e) {
5806
+ function Gp(e) {
5782
5807
  let t = e.name;
5783
5808
  if ("value" in e && "expr" in e) throw Error(`The parameter "${t}" must not have both value and expr properties!`);
5784
5809
  if ("expr" in e && "bind" in e) throw Error(`The parameter "${t}" must not have both expr and bind properties!`);
@@ -5791,49 +5816,49 @@ function zp(e) {
5791
5816
  if (n.halfLife != null && (!Number.isFinite(n.halfLife) || n.halfLife <= 0)) throw Error(`The transition halfLife for parameter "${t}" must be a positive finite number.`);
5792
5817
  if (n.epsilon != null && (!Number.isFinite(n.epsilon) || n.epsilon < 0)) throw Error(`The transition epsilon for parameter "${t}" must be a non-negative finite number.`);
5793
5818
  }
5794
- function Bp(e, t) {
5819
+ function Kp(e, t) {
5795
5820
  if (typeof t != "number" || !Number.isFinite(t)) throw Error(`Transitioned parameter "${e}" must have a finite numeric value.`);
5796
5821
  return t;
5797
5822
  }
5798
5823
  //#endregion
5799
5824
  //#region ../core/src/utils/addBaseUrl.js
5800
- function Vp(e, t) {
5825
+ function qp(e, t) {
5801
5826
  return !t || /^(data:|([A-Za-z]+:)?\/\/)/.test(e) || e.startsWith("/") ? e : (t.endsWith("/") || (t += "/"), t + e);
5802
5827
  }
5803
- function Hp(e) {
5828
+ function Jp(e) {
5804
5829
  if (!e) return e;
5805
5830
  if (/[?#]/.test(e)) throw Error(`Invalid base URL: ${e} - cannot contain query or hash.`);
5806
5831
  return e.endsWith("/") ? e : e + "/";
5807
5832
  }
5808
5833
  //#endregion
5809
5834
  //#region ../core/src/config/mergeConfig.js
5810
- function Up(e) {
5835
+ function Yp(e) {
5811
5836
  return f(e) && !Array.isArray(e);
5812
5837
  }
5813
- function Wp(e) {
5838
+ function Xp(e) {
5814
5839
  let t = {};
5815
- for (let [n, r] of Object.entries(e)) t[n] = Gp(r);
5840
+ for (let [n, r] of Object.entries(e)) t[n] = Zp(r);
5816
5841
  return t;
5817
5842
  }
5818
- function Gp(e) {
5819
- return Array.isArray(e) ? e.map(Gp) : Up(e) ? Wp(e) : e;
5843
+ function Zp(e) {
5844
+ return Array.isArray(e) ? e.map(Zp) : Yp(e) ? Xp(e) : e;
5820
5845
  }
5821
- function Kp(e, t) {
5846
+ function Qp(e, t) {
5822
5847
  for (let [n, r] of Object.entries(t)) {
5823
5848
  if (r === void 0) continue;
5824
5849
  let t = e[n];
5825
- Up(r) && Up(t) ? Kp(t, r) : e[n] = Gp(r);
5850
+ Yp(r) && Yp(t) ? Qp(t, r) : e[n] = Zp(r);
5826
5851
  }
5827
5852
  return e;
5828
5853
  }
5829
- function qp(e) {
5854
+ function $p(e) {
5830
5855
  let t = {};
5831
- for (let n of e) n && Kp(t, n);
5856
+ for (let n of e) n && Qp(t, n);
5832
5857
  return t;
5833
5858
  }
5834
5859
  //#endregion
5835
5860
  //#region ../core/src/view/renderingContext/clipOptions.js
5836
- function Jp(e) {
5861
+ function em(e) {
5837
5862
  if (e.clip) return e.clip;
5838
5863
  if (e.clipRect) return {
5839
5864
  rect: e.clipRect,
@@ -5841,54 +5866,54 @@ function Jp(e) {
5841
5866
  clipY: !0
5842
5867
  };
5843
5868
  }
5844
- function Yp(e, t) {
5869
+ function tm(e, t) {
5845
5870
  return e === t ? !0 : !e || !t ? !1 : e.clipX === t.clipX && e.clipY === t.clipY && e.rect.equals(t.rect);
5846
5871
  }
5847
- function Xp(e, t, n) {
5872
+ function nm(e, t, n) {
5848
5873
  return t || n ? {
5849
5874
  rect: e,
5850
5875
  clipX: t,
5851
5876
  clipY: n
5852
5877
  } : void 0;
5853
5878
  }
5854
- function Zp(e, t) {
5879
+ function rm(e, t) {
5855
5880
  return t ? t.clipX && t.clipY ? e.intersect(t.rect) : t.clipX ? e.intersectX(t.rect) : t.clipY ? e.intersectY(t.rect) : e : e;
5856
5881
  }
5857
- function Qp(e, t) {
5882
+ function im(e, t) {
5858
5883
  if (!e) return t;
5859
5884
  if (!t) return e;
5860
5885
  let n = e.clipX || t.clipX, r = e.clipY || t.clipY, i = e.clipX && t.clipX ? e.rect.intersectX(t.rect) : t.clipX ? t.rect : e.rect, a = e.clipY && t.clipY ? e.rect.intersectY(t.rect) : t.clipY ? t.rect : e.rect;
5861
- return Xp(e.rect.modify({
5886
+ return nm(e.rect.modify({
5862
5887
  x: () => i.x,
5863
5888
  y: () => a.y,
5864
5889
  width: () => i.width,
5865
5890
  height: () => a.height
5866
5891
  }), n, r);
5867
5892
  }
5868
- function $p(e, t) {
5869
- if (e === !0) return Xp(t, !0, !0);
5870
- if (e === "x") return Xp(t, !0, !1);
5871
- if (e === "y") return Xp(t, !1, !0);
5893
+ function am(e, t) {
5894
+ if (e === !0) return nm(t, !0, !0);
5895
+ if (e === "x") return nm(t, !0, !1);
5896
+ if (e === "y") return nm(t, !1, !0);
5872
5897
  }
5873
- function em(e, t, n) {
5874
- if (t !== "never") return Qp(e, $p(t, n));
5898
+ function om(e, t, n) {
5899
+ if (t !== "never") return im(e, am(t, n));
5875
5900
  }
5876
5901
  //#endregion
5877
5902
  //#region ../core/src/view/viewChrome.js
5878
- var tm = /* @__PURE__ */ new WeakMap();
5879
- function nm(e, t) {
5880
- tm.set(e, t);
5903
+ var sm = /* @__PURE__ */ new WeakMap();
5904
+ function cm(e, t) {
5905
+ sm.set(e, t);
5881
5906
  }
5882
- function rm(e) {
5883
- return tm.get(e);
5907
+ function lm(e) {
5908
+ return sm.get(e);
5884
5909
  }
5885
- function im(e) {
5886
- return tm.has(e);
5910
+ function um(e) {
5911
+ return sm.has(e);
5887
5912
  }
5888
- function am(e) {
5913
+ function dm(e) {
5889
5914
  let t = e;
5890
5915
  for (; t;) {
5891
- let n = tm.get(t);
5916
+ let n = sm.get(t);
5892
5917
  if (n === "excludeSubtree" || t === e && n === "exclude") return !0;
5893
5918
  t = t.layoutParent;
5894
5919
  }
@@ -5896,30 +5921,38 @@ function am(e) {
5896
5921
  }
5897
5922
  //#endregion
5898
5923
  //#region ../core/src/view/postScaleParams.js
5899
- var om = /* @__PURE__ */ new WeakMap();
5900
- function sm(e, t) {
5901
- om.set(e, t);
5924
+ var fm = /* @__PURE__ */ new WeakMap();
5925
+ function pm(e, t) {
5926
+ fm.set(e, t);
5902
5927
  }
5903
- function cm(e) {
5904
- return om.get(e);
5928
+ function mm(e) {
5929
+ return fm.get(e);
5905
5930
  }
5906
5931
  //#endregion
5907
5932
  //#region ../core/src/data/namedDataScope.js
5908
- var lm = class {
5933
+ var hm = class {
5909
5934
  name;
5910
5935
  owner;
5911
5936
  getDefaultData;
5912
5937
  #e;
5913
5938
  #t = !1;
5914
- #n = !1;
5939
+ #n = 0;
5940
+ #r = !1;
5915
5941
  constructor(e, t, n) {
5916
5942
  this.name = e, this.owner = t, this.getDefaultData = n;
5917
5943
  }
5918
5944
  get disposed() {
5919
- return this.#n;
5945
+ return this.#r;
5946
+ }
5947
+ beginUpdate() {
5948
+ if (this.#r) throw Error(`Named dataset "${this.name}" has been disposed.`);
5949
+ return ++this.#n;
5950
+ }
5951
+ isCurrentUpdate(e) {
5952
+ return !this.#r && e === this.#n;
5920
5953
  }
5921
5954
  getData() {
5922
- if (this.#n) throw Error(`Named dataset "${this.name}" has been disposed.`);
5955
+ if (this.#r) throw Error(`Named dataset "${this.name}" has been disposed.`);
5923
5956
  let e = this.#t ? this.#e : this.getDefaultData();
5924
5957
  if (e === void 0) return [];
5925
5958
  if (!Array.isArray(e)) throw Error(`Named data "${this.name}" is not an array!`);
@@ -5933,15 +5966,15 @@ var lm = class {
5933
5966
  this.#e = void 0, this.#t = !1;
5934
5967
  }
5935
5968
  dispose() {
5936
- this.#e = void 0, this.#t = !1, this.#n = !0;
5969
+ this.#e = void 0, this.#t = !1, this.#n++, this.#r = !0;
5937
5970
  }
5938
- }, um = class {
5971
+ }, gm = class {
5939
5972
  view;
5940
5973
  #e = /* @__PURE__ */ new Map();
5941
5974
  #t = /* @__PURE__ */ new Map();
5942
5975
  constructor(e) {
5943
5976
  this.view = e;
5944
- for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new lm(t, e, () => n));
5977
+ for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new hm(t, e, () => n));
5945
5978
  }
5946
5979
  getLocalBinding(e) {
5947
5980
  return this.#e.get(e);
@@ -5955,7 +5988,7 @@ var lm = class {
5955
5988
  let n = this.view.dataParent?.namedDataScope;
5956
5989
  if (n) return n.resolve(e);
5957
5990
  let r = this.#t.get(e);
5958
- return r || (r = new lm(e, void 0, () => this.view.context.getNamedDataFromProvider(e)), this.#t.set(e, r)), r;
5991
+ return r || (r = new hm(e, void 0, () => this.view.context.getNamedDataFromProvider(e)), this.#t.set(e, r)), r;
5959
5992
  }
5960
5993
  dispose() {
5961
5994
  for (let e of this.#e.values()) e.dispose();
@@ -5963,7 +5996,7 @@ var lm = class {
5963
5996
  for (let e of this.#t.values()) e.dispose();
5964
5997
  this.#t.clear();
5965
5998
  }
5966
- }, dm = "VISIT_SKIP", fm = "VISIT_STOP", pm = (e) => e, mm = class {
5999
+ }, _m = "VISIT_SKIP", vm = "VISIT_STOP", ym = (e) => e, bm = class {
5967
6000
  spec;
5968
6001
  namedDataScope;
5969
6002
  #e;
@@ -5977,14 +6010,15 @@ var lm = class {
5977
6010
  #c = !1;
5978
6011
  #l = void 0;
5979
6012
  #u = !1;
5980
- opacityFunction = pm;
5981
6013
  #d = [];
5982
- #f = "none";
5983
- #p = /* @__PURE__ */ new Map();
6014
+ opacityFunction = ym;
6015
+ #f = [];
6016
+ #p = "none";
6017
+ #m = /* @__PURE__ */ new Map();
5984
6018
  facetCoords = new st([], JSON.stringify);
5985
6019
  constructor(e, t, n, r, i, a = {}) {
5986
6020
  if (!e) throw Error("View spec must be defined!");
5987
- if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new um(this), r && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
6021
+ if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new gm(this), r && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
5988
6022
  let o = r ? r.getConfigScopes() : [t.getBaseConfig()], s = e.config;
5989
6023
  if (this.#e = [...o, s].filter((e) => !!e), this.resolutions = {
5990
6024
  scale: {},
@@ -5997,10 +6031,22 @@ var lm = class {
5997
6031
  }, this.flowHandle = void 0, this.needsAxes = {
5998
6032
  x: !1,
5999
6033
  y: !1
6000
- }, this.paramRuntime = new Lp(() => this.dataParent?.paramRuntime, (e) => this.getScaleResolution(e), t.animator, { snapTransitionedUpdates: !0 }), e.params) for (let t of e.params) this.paramRuntime.registerParam(t);
6001
- this.options.layoutSizeParams !== "inherit" && (this.#a = this.#m("width"), this.#o = this.#m("height"));
6034
+ }, this.paramRuntime = new Up(() => this.dataParent?.paramRuntime, (e) => this.getScaleResolution(e), t.animator, { snapTransitionedUpdates: !0 }), e.params) {
6035
+ let t = /* @__PURE__ */ new Set();
6036
+ for (let n of e.params) {
6037
+ if ("expr" in n) {
6038
+ let { usesScaleHelper: e, globals: r } = Cu(n.expr), i = r.some((e) => t.has(e));
6039
+ if (e || i) {
6040
+ t.add(n.name), this.#d.push(n);
6041
+ continue;
6042
+ }
6043
+ }
6044
+ this.paramRuntime.registerParam(n);
6045
+ }
6046
+ }
6047
+ this.options.layoutSizeParams !== "inherit" && (this.#a = this.#h("width"), this.#o = this.#h("height"));
6002
6048
  }
6003
- #m(e) {
6049
+ #h(e) {
6004
6050
  if (!(this.paramRuntime.hasLocalParam(e) || this.options.layoutSizeParams != "force" && this.paramRuntime.hasConfiguredParamInScopeChain(e))) return this.paramRuntime.allocateSetter(e, 0);
6005
6051
  }
6006
6052
  get name() {
@@ -6013,7 +6059,7 @@ var lm = class {
6013
6059
  return this.#t;
6014
6060
  }
6015
6061
  getConfig() {
6016
- return qp(this.#e);
6062
+ return $p(this.#e);
6017
6063
  }
6018
6064
  getCursorSpec() {
6019
6065
  return this.spec.cursor;
@@ -6045,29 +6091,36 @@ var lm = class {
6045
6091
  return this.spec.viewportWidth != null || this.spec.viewportHeight != null;
6046
6092
  }
6047
6093
  getSize() {
6048
- return this._cache("size/size", () => this.isConfiguredVisible() ? new De(this.#h("width"), this.#h("height")) : ke);
6094
+ return this._cache("size/size", () => this.isConfiguredVisible() ? new De(this.#g("width"), this.#g("height")) : ke);
6049
6095
  }
6050
6096
  getViewportSize() {
6051
6097
  if (!this.isScrollable()) return this.getSize();
6052
6098
  if (!this.isConfiguredVisible()) return ke;
6053
6099
  let e = this.getSize();
6054
- return new De(this.#h("viewportWidth") ?? e.width, this.#h("viewportHeight") ?? e.height);
6100
+ return new De(this.#g("viewportWidth") ?? e.width, this.#g("viewportHeight") ?? e.height);
6055
6101
  }
6056
- #h(e) {
6057
- let { value: t, implicit: n } = this.#g(e), r = this.resolveSizeValue(e, t), i = ym(r), a = e == "viewportWidth" || e == "viewportHeight";
6102
+ #g(e) {
6103
+ let { value: t, implicit: n } = this.#_(e), r = this.resolveSizeValue(e, t), i = Tm(r), a = e == "viewportWidth" || e == "viewportHeight";
6058
6104
  if (i) {
6059
6105
  if (a) throw new $(`Cannot use step-based size with "${e}"!`, this);
6060
- let t = this.#b(e, r), i = this.getScaleResolution(e == "width" ? "x" : "y")?.getScale();
6106
+ let t = this.#x(e, r), i = this.getScaleResolution(e == "width" ? "x" : "y")?.getScale();
6061
6107
  if (i) {
6062
- let e;
6063
- if (Qf(i.type)) e = i.domain().length;
6108
+ let n;
6109
+ if (ip(i.type)) n = i.domain().length;
6064
6110
  else if (["locus", "index"].includes(i.type)) {
6065
- let t = i.domain();
6066
- e = hp(t) - t[0];
6111
+ let e = i.domain();
6112
+ n = xp(e) - e[0];
6067
6113
  } else throw new $(`Cannot use step-based size with "${i.type}" scale!`, this);
6068
- let n = i;
6069
- return e = vf(e, n.paddingInner(), n.paddingOuter()), {
6070
- px: e * t,
6114
+ let a = i;
6115
+ n = wf(n, a.paddingInner(), a.paddingOuter());
6116
+ let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s && ip(s.type) ? "offset" : "position"), l = t;
6117
+ if (c == "offset") {
6118
+ if (!s || !ip(s.type)) throw new $(`Cannot use ${e}.step.for = "offset" without a discrete ${o} scale!`, this);
6119
+ let t = s, n = wf(s.domain().length, t.paddingInner(), t.paddingOuter());
6120
+ l *= n / (1 - a.paddingInner());
6121
+ }
6122
+ return {
6123
+ px: n * l,
6071
6124
  grow: 0
6072
6125
  };
6073
6126
  } else if (n) return {
@@ -6080,35 +6133,35 @@ var lm = class {
6080
6133
  grow: 1
6081
6134
  });
6082
6135
  }
6083
- #g(e) {
6136
+ #_(e) {
6084
6137
  let t = this.spec[e];
6085
6138
  return t != null || e == "viewportWidth" || e == "viewportHeight" ? {
6086
6139
  value: t,
6087
6140
  implicit: !1
6088
6141
  } : {
6089
- value: this.#_(e),
6142
+ value: this.#v(e),
6090
6143
  implicit: !0
6091
6144
  };
6092
6145
  }
6093
- #_(e) {
6094
- if (am(this)) return;
6146
+ #v(e) {
6147
+ if (dm(this)) return;
6095
6148
  let t = this.getConfig().view;
6096
6149
  if (!t) return;
6097
6150
  let n = e == "width" ? "x" : "y", r = this.getScaleResolution(n)?.getResolvedScaleType();
6098
- return r && !Qf(r) ? e == "width" ? t.continuousWidth : t.continuousHeight : (e == "width" ? t.discreteWidth : t.discreteHeight) ?? (t.step === void 0 ? void 0 : { step: t.step });
6151
+ return r && !ip(r) ? e == "width" ? t.continuousWidth : t.continuousHeight : (e == "width" ? t.discreteWidth : t.discreteHeight) ?? (t.step === void 0 ? void 0 : { step: t.step });
6099
6152
  }
6100
6153
  resolveSizeValue(e, t) {
6101
6154
  if (!P(t)) return t;
6102
- let n = this.#S(e)();
6103
- if (bm(n) || n === "container") return n;
6155
+ let n = this.#C(e)();
6156
+ if (Em(n) || n === "container") return n;
6104
6157
  throw new $(`"${e}" ExprRef must resolve to a finite number or "container"!`, this);
6105
6158
  }
6106
6159
  registerSizeInvalidation() {
6107
- this.#v("width", "x"), this.#v("height", "y"), this.#y("width"), this.#y("height"), this.#y("viewportWidth"), this.#y("viewportHeight");
6160
+ this.#y("width", "x"), this.#y("height", "y"), this.#b("width"), this.#b("height"), this.#b("viewportWidth"), this.#b("viewportHeight");
6108
6161
  }
6109
- #v(e, t) {
6110
- let { value: n, implicit: r } = this.#g(e);
6111
- if (!ym(n)) return;
6162
+ #y(e, t) {
6163
+ let { value: n, implicit: r } = this.#_(e);
6164
+ if (!Tm(n)) return;
6112
6165
  let i = this.getScaleResolution(t);
6113
6166
  if (!i) {
6114
6167
  if (r) return;
@@ -6120,27 +6173,30 @@ var lm = class {
6120
6173
  let n = this.getSize()[e];
6121
6174
  je(t, n) || this.context.requestLayoutReflow();
6122
6175
  };
6123
- i.addEventListener("domain", a), this.registerDisposer(() => i.removeEventListener("domain", a));
6176
+ if (i.addEventListener("domain", a), this.registerDisposer(() => i.removeEventListener("domain", a)), n.for != "position") {
6177
+ let t = e == "width" ? "xOffset" : "yOffset", n = this.getScaleResolution(t);
6178
+ n && ip(n.getResolvedScaleType()) && (n.addEventListener("domain", a), this.registerDisposer(() => n.removeEventListener("domain", a)));
6179
+ }
6124
6180
  }
6125
- #y(e) {
6126
- let { value: t } = this.#g(e);
6127
- P(t) ? this.#x(e, t.expr) : ym(t) && P(t.step) && this.#x(e + ".step", t.step.expr);
6181
+ #b(e) {
6182
+ let { value: t } = this.#_(e);
6183
+ P(t) ? this.#S(e, t.expr) : Tm(t) && P(t.step) && this.#S(e + ".step", t.step.expr);
6128
6184
  }
6129
- #b(e, t) {
6130
- let n = P(t.step) ? this.#S(e + ".step")() : t.step;
6131
- if (bm(n)) return n;
6185
+ #x(e, t) {
6186
+ let n = P(t.step) ? this.#C(e + ".step")() : t.step;
6187
+ if (Em(n)) return n;
6132
6188
  throw new $(`"${e}.step" ExprRef must resolve to a finite number!`, this);
6133
6189
  }
6134
- #x(e, t) {
6135
- if (!this.#p.has(e)) {
6190
+ #S(e, t) {
6191
+ if (!this.#m.has(e)) {
6136
6192
  let n = this.paramRuntime.watchExpression(t, () => {
6137
6193
  this.invalidateSizeCache(), this.context.requestLayoutReflow();
6138
6194
  });
6139
- this.#p.set(e, n);
6195
+ this.#m.set(e, n);
6140
6196
  }
6141
6197
  }
6142
- #S(e) {
6143
- let t = this.#p.get(e);
6198
+ #C(e) {
6199
+ let t = this.#m.get(e);
6144
6200
  if (!t) throw new $(`"${e}" ExprRef was not registered before layout!`, this);
6145
6201
  return t;
6146
6202
  }
@@ -6159,13 +6215,13 @@ var lm = class {
6159
6215
  return e ? e.isDomainInert() : !1;
6160
6216
  }
6161
6217
  getDataInitializationState() {
6162
- return this.#f;
6218
+ return this.#p;
6163
6219
  }
6164
6220
  _setDataInitializationState(e) {
6165
- this.#f = e;
6221
+ this.#p = e;
6166
6222
  }
6167
6223
  isDataInitialized() {
6168
- return this.#f === "ready";
6224
+ return this.#p === "ready";
6169
6225
  }
6170
6226
  getEffectiveOpacity() {
6171
6227
  return this.opacityFunction(this.layoutParent?.getEffectiveOpacity() ?? 1);
@@ -6173,7 +6229,7 @@ var lm = class {
6173
6229
  getPathString() {
6174
6230
  return this.getLayoutAncestors().map((e) => e.name).reverse().join("/");
6175
6231
  }
6176
- #C(e) {
6232
+ #w(e) {
6177
6233
  let t = [], n = this;
6178
6234
  do
6179
6235
  t.push(n), n = n[e];
@@ -6181,10 +6237,10 @@ var lm = class {
6181
6237
  return t;
6182
6238
  }
6183
6239
  getLayoutAncestors() {
6184
- return this.#C("layoutParent");
6240
+ return this.#w("layoutParent");
6185
6241
  }
6186
6242
  getDataAncestors() {
6187
- return this.#C("dataParent");
6243
+ return this.#w("dataParent");
6188
6244
  }
6189
6245
  handleBroadcast(e) {
6190
6246
  for (let t of this.#n[e.type] || []) t(e);
@@ -6228,13 +6284,13 @@ var lm = class {
6228
6284
  }), e;
6229
6285
  }
6230
6286
  dispose() {
6231
- for (let e of this.#d) e();
6232
- this.#d.length = 0;
6287
+ for (let e of this.#f) e();
6288
+ this.#f.length = 0;
6233
6289
  let e = this.flowHandle;
6234
6290
  e?.collector && (this.context.dataFlow.pruneCollectorBranch(e.collector), this.context.dataFlow.removeCollector(e.collector)), e?.dataSource && e.dataSource.view === this && !e.dataSource.shareKey && this.context.dataFlow.removeDataSource(e.dataSource), this.paramRuntime.dispose(), this.namedDataScope.dispose(), this.context.dataFlow.loadingStatusRegistry.delete(this), this.flowHandle = void 0;
6235
6291
  }
6236
6292
  registerDisposer(e) {
6237
- this.#d.push(e);
6293
+ this.#f.push(e);
6238
6294
  }
6239
6295
  disposeSubtree() {
6240
6296
  let e = () => void 0;
@@ -6243,20 +6299,20 @@ var lm = class {
6243
6299
  }, this.visit(e);
6244
6300
  }
6245
6301
  configurePostScaleParams() {
6246
- let e = cm(this.spec);
6247
- if (e && !this.#u) {
6302
+ let e = [...this.#d, ...mm(this.spec) ?? []];
6303
+ if (e.length && !this.#u) {
6248
6304
  this.#u = !0, this.#l = !1;
6249
6305
  for (let t of e) this.paramRuntime.registerParam(t);
6250
6306
  this.registerDisposer(this._addBroadcastHandler("subtreeDataReady", () => {
6251
- this.#l = !0, this.#w();
6307
+ this.#l = !0, this.#T();
6252
6308
  }));
6253
6309
  }
6254
6310
  }
6255
6311
  configureViewOpacity() {
6256
- (!this.opacityFunction || this.opacityFunction === pm) && (this.opacityFunction = gm(this));
6312
+ (!this.opacityFunction || this.opacityFunction === ym) && (this.opacityFunction = Sm(this));
6257
6313
  }
6258
6314
  finalizeParamRuntimeInitialization() {
6259
- this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#w();
6315
+ this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#T();
6260
6316
  }
6261
6317
  onBeforeRender() {
6262
6318
  this.#s ||= !0;
@@ -6265,9 +6321,13 @@ var lm = class {
6265
6321
  return this.#s;
6266
6322
  }
6267
6323
  render(e, t, n = {}) {
6268
- n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, Zp(t, Jp(n))), this.#a?.(t.width), this.#o?.(t.height), this.#c = !0, this.#w();
6324
+ if (n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, rm(t, em(n))), this.#a || this.#o) {
6325
+ let e = this.getOverhang(), n = this.layoutParent ? Ue.zero() : this.getPadding();
6326
+ this.#a?.(t.width - e.width - n.width), this.#o?.(t.height - e.height - n.height);
6327
+ }
6328
+ this.#c = !0, this.#T();
6269
6329
  }
6270
- #w() {
6330
+ #T() {
6271
6331
  this.#l && this.#c && (this.#l = void 0, this.paramRuntime.finalizeInitialization());
6272
6332
  }
6273
6333
  getEncoding() {
@@ -6283,7 +6343,7 @@ var lm = class {
6283
6343
  }
6284
6344
  getFacetFields(e) {
6285
6345
  let t = this.getEncoding().sample;
6286
- return fd(t) ? [t.field] : this.options.inheritEncoding ? this.layoutParent?.getFacetFields(this) : [];
6346
+ return pd(t) ? [t.field] : this.options.inheritEncoding ? this.layoutParent?.getFacetFields(this) : [];
6287
6347
  }
6288
6348
  getSampleFacetTexture() {}
6289
6349
  getParentGridChromePolicy() {
@@ -6293,15 +6353,15 @@ var lm = class {
6293
6353
  };
6294
6354
  }
6295
6355
  getScaleResolution(e) {
6296
- let t = Ad(e);
6356
+ let t = Id(e);
6297
6357
  return this.getDataAncestors().map((e) => e.resolutions.scale[t]).find((e) => e);
6298
6358
  }
6299
6359
  getAxisResolution(e) {
6300
- let t = Ad(e);
6360
+ let t = Id(e);
6301
6361
  return this.getDataAncestors().map((e) => e.resolutions.axis[t]).find((e) => e);
6302
6362
  }
6303
6363
  getLegendResolution(e) {
6304
- let t = Ad(e);
6364
+ let t = Id(e);
6305
6365
  return this.getDataAncestors().map((e) => e.resolutions.legend[t]).find((e) => e);
6306
6366
  }
6307
6367
  getConfiguredResolution(e, t) {
@@ -6314,7 +6374,7 @@ var lm = class {
6314
6374
  return "independent";
6315
6375
  }
6316
6376
  getBaseUrl() {
6317
- return Ld(() => this.dataParent?.getBaseUrl(), Hp(this.spec.baseUrl));
6377
+ return Ud(() => this.dataParent?.getBaseUrl(), Jp(this.spec.baseUrl));
6318
6378
  }
6319
6379
  isPickingSupported() {
6320
6380
  return !0;
@@ -6345,14 +6405,14 @@ var lm = class {
6345
6405
  }
6346
6406
  propagateInteraction(e) {}
6347
6407
  };
6348
- function hm(e) {
6408
+ function xm(e) {
6349
6409
  return "unitsPerPixel" in e;
6350
6410
  }
6351
- function gm(e) {
6411
+ function Sm(e) {
6352
6412
  let t = "opacity" in e.spec ? e.spec.opacity : void 0;
6353
6413
  if (t !== void 0) {
6354
6414
  if (_e(t)) return (e) => e * t;
6355
- if (hm(t)) {
6415
+ if (xm(t)) {
6356
6416
  let n = (t) => {
6357
6417
  let n = e.getScaleResolution(t), r = n?.getScale();
6358
6418
  if ([
@@ -6363,10 +6423,10 @@ function gm(e) {
6363
6423
  scale: r,
6364
6424
  scaleResolution: n
6365
6425
  };
6366
- }, r = vm(t.values, "opacity.values", e);
6426
+ }, r = wm(t.values, "opacity.values", e);
6367
6427
  if (!d(t.unitsPerPixel)) throw new $("\"opacity.unitsPerPixel\" must be an array.", e);
6368
6428
  let i = () => 1, a = [], o = () => {
6369
- let t = _m(vm(a.map((e) => e()), "opacity.unitsPerPixel", e), r, e), n = Ui().domain(t.unitsPerPixel).range(t.values).clamp(!0);
6429
+ let t = Cm(wm(a.map((e) => e()), "opacity.unitsPerPixel", e), r, e), n = Ui().domain(t.unitsPerPixel).range(t.values).clamp(!0);
6370
6430
  i = (e) => n(e);
6371
6431
  };
6372
6432
  a = t.unitsPerPixel.map((t) => {
@@ -6400,7 +6460,7 @@ function gm(e) {
6400
6460
  }
6401
6461
  return (e) => e;
6402
6462
  }
6403
- function _m(e, t, n) {
6463
+ function Cm(e, t, n) {
6404
6464
  if (!e.length) throw new $("\"opacity.unitsPerPixel\" must contain at least one stop.", n);
6405
6465
  if (e.length !== t.length) throw new $("\"opacity.unitsPerPixel\" and \"opacity.values\" must have the same length.", n);
6406
6466
  e.forEach((e, t) => {
@@ -6418,155 +6478,155 @@ function _m(e, t, n) {
6418
6478
  values: a
6419
6479
  };
6420
6480
  }
6421
- function vm(e, t, n) {
6481
+ function wm(e, t, n) {
6422
6482
  if (!d(e)) throw new $("\"" + t + "\" must evaluate to an array.", n);
6423
6483
  return e.map((e, r) => {
6424
6484
  if (!_e(e) || !Number.isFinite(e)) throw new $("Invalid " + t + " value at index " + r + ". Expected a finite number.", n);
6425
6485
  return e;
6426
6486
  });
6427
6487
  }
6428
- var ym = (e) => !!e && typeof e == "object" && "step" in e;
6429
- function bm(e) {
6488
+ var Tm = (e) => !!e && typeof e == "object" && "step" in e;
6489
+ function Em(e) {
6430
6490
  return typeof e == "number" && Number.isFinite(e);
6431
6491
  }
6432
- var xm = /* @__PURE__ */ new WeakMap(), Sm = /* @__PURE__ */ new WeakMap();
6433
- function Cm(e, t) {
6434
- Tm(e, t, "Import");
6492
+ var Dm = /* @__PURE__ */ new WeakMap(), Om = /* @__PURE__ */ new WeakMap();
6493
+ function km(e, t) {
6494
+ jm(e, t, "Import");
6435
6495
  }
6436
- function wm(e, t) {
6437
- Tm(e, t, "View");
6496
+ function Am(e, t) {
6497
+ jm(e, t, "View");
6438
6498
  }
6439
- function Tm(e, t, n) {
6499
+ function jm(e, t, n) {
6440
6500
  if (t !== null && typeof t != "string") throw Error(n + " scope name must be a string or null.");
6441
- xm.set(e, { name: t });
6501
+ Dm.set(e, { name: t });
6442
6502
  }
6443
- function Em(e) {
6444
- return xm.get(e);
6503
+ function Mm(e) {
6504
+ return Dm.get(e);
6445
6505
  }
6446
- function Dm(e, t = {}) {
6506
+ function Nm(e, t = {}) {
6447
6507
  let n = t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude";
6448
- Sm.set(e, n);
6508
+ Om.set(e, n);
6449
6509
  }
6450
- function Om(e, t = {}) {
6451
- nm(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
6510
+ function Pm(e, t = {}) {
6511
+ cm(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
6452
6512
  }
6453
- function km(e) {
6454
- return e.getLayoutAncestors().some(im);
6513
+ function Fm(e) {
6514
+ return e.getLayoutAncestors().some(um);
6455
6515
  }
6456
- function Am(e) {
6516
+ function Im(e) {
6457
6517
  let t = e.getDataAncestors(), n = [];
6458
6518
  for (let e = t.length - 1; e >= 0; --e) {
6459
- let r = xm.get(t[e]);
6519
+ let r = Dm.get(t[e]);
6460
6520
  r && typeof r.name == "string" && n.push(r.name);
6461
6521
  }
6462
6522
  return n;
6463
6523
  }
6464
- function jm(e) {
6524
+ function Lm(e) {
6465
6525
  let t = e.explicitName;
6466
6526
  if (!t) throw Error("Cannot build a selector for a view without a name.");
6467
6527
  return {
6468
- scope: Am(e),
6528
+ scope: Im(e),
6469
6529
  view: t
6470
6530
  };
6471
6531
  }
6472
- function Mm(e, t) {
6532
+ function Rm(e, t) {
6473
6533
  if (!t) throw Error("Cannot build a selector for a parameter without a name.");
6474
6534
  return {
6475
- scope: Am(e),
6535
+ scope: Im(e),
6476
6536
  param: t
6477
6537
  };
6478
6538
  }
6479
- function Nm(e) {
6480
- return Vm(e), "p:" + JSON.stringify({
6539
+ function zm(e) {
6540
+ return qm(e), "p:" + JSON.stringify({
6481
6541
  scope: e.scope,
6482
6542
  param: e.param
6483
6543
  });
6484
6544
  }
6485
- function Pm(e, t) {
6545
+ function Bm(e, t) {
6486
6546
  e.visit((e) => {
6487
- let n = rm(e);
6488
- if (n === "excludeSubtree") return dm;
6547
+ let n = lm(e);
6548
+ if (n === "excludeSubtree") return _m;
6489
6549
  if (n !== "exclude") return t(e);
6490
6550
  });
6491
6551
  }
6492
- function Fm(e, t) {
6552
+ function Vm(e, t) {
6493
6553
  e.visit((e) => {
6494
- let n = Sm.get(e);
6495
- if (n === "excludeSubtree") return dm;
6554
+ let n = Om.get(e);
6555
+ if (n === "excludeSubtree") return _m;
6496
6556
  if (n !== "exclude") return t(e);
6497
6557
  });
6498
6558
  }
6499
- function Im(e, t) {
6500
- if (Hm(t), !Zm(e, t.scope)) return;
6559
+ function Hm(e, t) {
6560
+ if (Jm(t), !rh(e, t.scope)) return;
6501
6561
  let n = [];
6502
- if (Qm(e, t.scope, (e) => {
6562
+ if (ih(e, t.scope, (e) => {
6503
6563
  e.explicitName === t.view && n.push(e);
6504
6564
  }, { includeNamedImportRoots: !0 }), n.length === 1) return n[0];
6505
6565
  if (n.length !== 0) throw Error("View selector is ambiguous for view \"" + t.view + "\" in scope " + JSON.stringify(t.scope));
6506
6566
  }
6507
- function Lm(e, t) {
6508
- if (Vm(t), !Zm(e, t.scope)) return;
6567
+ function Um(e, t) {
6568
+ if (qm(t), !rh(e, t.scope)) return;
6509
6569
  let n = [];
6510
- if (Qm(e, t.scope, (e) => {
6511
- for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Um(i) && n.push({
6570
+ if (ih(e, t.scope, (e) => {
6571
+ for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Ym(i) && n.push({
6512
6572
  view: e,
6513
6573
  param: i
6514
6574
  });
6515
6575
  }), n.length === 1) return n[0];
6516
6576
  if (n.length !== 0) throw Error("Param selector is ambiguous for param \"" + t.param + "\" in scope " + JSON.stringify(t.scope));
6517
6577
  }
6518
- function Rm(e, t) {
6578
+ function Wm(e, t) {
6519
6579
  e.visit((e) => {
6520
- let n = Sm.get(e);
6521
- if (n === "excludeSubtree") return dm;
6522
- if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs) Um(r) && t({
6580
+ let n = Om.get(e);
6581
+ if (n === "excludeSubtree") return _m;
6582
+ if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs) Ym(r) && t({
6523
6583
  view: e,
6524
6584
  param: r,
6525
- selector: Mm(e, n)
6585
+ selector: Rm(e, n)
6526
6586
  });
6527
6587
  });
6528
6588
  }
6529
- function zm(e) {
6589
+ function Gm(e) {
6530
6590
  let t = [];
6531
- return Rm(e, (e) => t.push(e)), t;
6591
+ return Wm(e, (e) => t.push(e)), t;
6532
6592
  }
6533
- function Bm(e) {
6593
+ function Km(e) {
6534
6594
  let t = [];
6535
- for (let n of Wm(e)) {
6536
- let r = Gm(n);
6537
- qm(e, r, t), Jm(e, r, t);
6595
+ for (let n of Xm(e)) {
6596
+ let r = Zm(n);
6597
+ $m(e, r, t), eh(e, r, t);
6538
6598
  }
6539
6599
  return t;
6540
6600
  }
6541
- function Vm(e) {
6601
+ function qm(e) {
6542
6602
  if (!e || !Array.isArray(e.scope)) throw Error("Param selector scope must be an array.");
6543
6603
  if (typeof e.param != "string" || !e.param.length) throw Error("Param selector param must be a non-empty string.");
6544
6604
  }
6545
- function Hm(e) {
6605
+ function Jm(e) {
6546
6606
  if (!e || !Array.isArray(e.scope)) throw Error("View selector scope must be an array.");
6547
6607
  if (typeof e.view != "string" || !e.view.length) throw Error("View selector view must be a non-empty string.");
6548
6608
  }
6549
- function Um(e) {
6609
+ function Ym(e) {
6550
6610
  return e.persist === !1 ? !1 : qs(e) ? !0 : Ks(e) ? !!e.bind : !1;
6551
6611
  }
6552
- function Wm(e) {
6612
+ function Xm(e) {
6553
6613
  let t = /* @__PURE__ */ new Set([e]);
6554
6614
  return e.visit((e) => {
6555
- let n = xm.get(e);
6615
+ let n = Dm.get(e);
6556
6616
  n && typeof n.name == "string" && t.add(e);
6557
6617
  }), Array.from(t);
6558
6618
  }
6559
- function Gm(e) {
6560
- return Am(e);
6619
+ function Zm(e) {
6620
+ return Im(e);
6561
6621
  }
6562
- function Km(e) {
6622
+ function Qm(e) {
6563
6623
  return e.length ? "import scope [" + e.join(" / ") + "]" : "import scope (root)";
6564
6624
  }
6565
- function qm(e, t, n) {
6625
+ function $m(e, t, n) {
6566
6626
  let r = /* @__PURE__ */ new Map();
6567
- Qm(e, t, (e) => {
6627
+ ih(e, t, (e) => {
6568
6628
  for (let [t, n] of e.paramRuntime.paramConfigs) {
6569
- if (!Um(n)) continue;
6629
+ if (!Ym(n)) continue;
6570
6630
  let i = r.get(t);
6571
6631
  i ? i.push(e) : r.set(t, [e]);
6572
6632
  }
@@ -6575,53 +6635,53 @@ function qm(e, t, n) {
6575
6635
  if (i.length <= 1) continue;
6576
6636
  let r = i.map((e) => e.getPathString()).join(", ");
6577
6637
  n.push({
6578
- message: "Bookmarkable parameter \"" + e + "\" is not unique within " + Km(t) + ". Found in: " + r + ".",
6638
+ message: "Bookmarkable parameter \"" + e + "\" is not unique within " + Qm(t) + ". Found in: " + r + ".",
6579
6639
  scope: t
6580
6640
  });
6581
6641
  }
6582
6642
  }
6583
- function Jm(e, t, n) {
6584
- let r = Ym(e, t);
6643
+ function eh(e, t, n) {
6644
+ let r = th(e, t);
6585
6645
  if (!r.length) return;
6586
- let i = r.filter((e) => Xm(e));
6646
+ let i = r.filter((e) => nh(e));
6587
6647
  if (i.length <= 1) return;
6588
6648
  let a = /* @__PURE__ */ new Map();
6589
6649
  for (let e of i) {
6590
- let t = xm.get(e), n = t ? t.name : void 0;
6650
+ let t = Dm.get(e), n = t ? t.name : void 0;
6591
6651
  typeof n != "string" || !n.length || a.set(n, (a.get(n) ?? 0) + 1);
6592
6652
  }
6593
6653
  for (let [e, r] of a) r > 1 && n.push({
6594
- message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " + Km(t) + ".",
6654
+ message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " + Qm(t) + ".",
6595
6655
  scope: t
6596
6656
  });
6597
6657
  }
6598
- function Ym(e, t) {
6658
+ function th(e, t) {
6599
6659
  let n = [];
6600
- return Qm(e, t, (e) => {
6601
- if (Am(e).length !== t.length + 1) return;
6602
- let r = xm.get(e);
6660
+ return ih(e, t, (e) => {
6661
+ if (Im(e).length !== t.length + 1) return;
6662
+ let r = Dm.get(e);
6603
6663
  !r || typeof r.name != "string" || n.push(e);
6604
6664
  }, { includeNamedImportRoots: !0 }), n;
6605
6665
  }
6606
- function Xm(e) {
6666
+ function nh(e) {
6607
6667
  let t = !1;
6608
6668
  return e.visit((e) => {
6609
- let n = Sm.get(e);
6610
- if (n === "excludeSubtree") return dm;
6669
+ let n = Om.get(e);
6670
+ if (n === "excludeSubtree") return _m;
6611
6671
  if (n !== "exclude") {
6612
- for (let n of e.paramRuntime.paramConfigs.values()) if (Um(n)) return t = !0, fm;
6672
+ for (let n of e.paramRuntime.paramConfigs.values()) if (Ym(n)) return t = !0, vm;
6613
6673
  }
6614
6674
  }), t;
6615
6675
  }
6616
- function Zm(e, t) {
6676
+ function rh(e, t) {
6617
6677
  let n = e, r = [];
6618
6678
  for (let i of t) {
6619
6679
  if (typeof i != "string" || !i.length) throw Error("Scope names must be non-empty strings.");
6620
6680
  let t, a = !1;
6621
- if (Qm(e, r, (e) => {
6622
- let n = xm.get(e);
6623
- if (!(!n || n.name !== i) && Am(e).length === r.length + 1) {
6624
- if (t) return a = !0, fm;
6681
+ if (ih(e, r, (e) => {
6682
+ let n = Dm.get(e);
6683
+ if (!(!n || n.name !== i) && Im(e).length === r.length + 1) {
6684
+ if (t) return a = !0, vm;
6625
6685
  t = e;
6626
6686
  }
6627
6687
  }, { includeNamedImportRoots: !0 }), a) throw Error("Multiple import instances named \"" + i + "\" in scope.");
@@ -6630,32 +6690,32 @@ function Zm(e, t) {
6630
6690
  }
6631
6691
  return n;
6632
6692
  }
6633
- function Qm(e, t, n, r = {}) {
6693
+ function ih(e, t, n, r = {}) {
6634
6694
  let i = r.includeNamedImportRoots ?? !1;
6635
6695
  e.visit((e) => {
6636
- let r = xm.get(e), a = Sm.get(e);
6637
- if (a === "excludeSubtree") return dm;
6638
- if (a !== "exclude" && $m(e, t, r, i)) return n(e);
6696
+ let r = Dm.get(e), a = Om.get(e);
6697
+ if (a === "excludeSubtree") return _m;
6698
+ if (a !== "exclude" && ah(e, t, r, i)) return n(e);
6639
6699
  });
6640
6700
  }
6641
- function $m(e, t, n, r) {
6642
- let i = Am(e);
6643
- return eh(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : th(t, i);
6701
+ function ah(e, t, n, r) {
6702
+ let i = Im(e);
6703
+ return oh(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : sh(t, i);
6644
6704
  }
6645
- function eh(e, t) {
6646
- return e.length === t.length && th(e, t);
6705
+ function oh(e, t) {
6706
+ return e.length === t.length && sh(e, t);
6647
6707
  }
6648
- function th(e, t) {
6708
+ function sh(e, t) {
6649
6709
  if (e.length > t.length) return !1;
6650
6710
  for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
6651
6711
  return !0;
6652
6712
  }
6653
6713
  //#endregion
6654
6714
  //#region ../core/src/encoder/metadataChannels.js
6655
- function nh(e) {
6656
- return rh(e?.search, "search");
6715
+ function ch(e) {
6716
+ return lh(e?.search, "search");
6657
6717
  }
6658
- function rh(e, t) {
6718
+ function lh(e, t) {
6659
6719
  if (!e) return;
6660
6720
  let n = Array.isArray(e) ? e : [e];
6661
6721
  if (n.length === 0) throw Error("The " + t + " channel array must not be empty.");
@@ -6669,4 +6729,4 @@ function rh(e, t) {
6669
6729
  return r;
6670
6730
  }
6671
6731
  //#endregion
6672
- export { vf as $, jt as $n, qu as $t, Lp as A, Gs as An, d as Ar, cd as At, jf as B, fs as Bn, p as Br, fd as Bt, Yp as C, Xs as Cn, Ne as Cr, zd as Ct, em as D, Ks as Dn, ce as Dr, gd as Dt, Jp as E, qs as En, n as Er, hd as Et, $ as F, Ps as Fn, ye as Fr, _d as Ft, Af as G, Di as Gn, x as Gr, xd as Gt, Tf as H, ms as Hn, c as Hr, wd as Ht, mp as I, Is as In, be as Ir, jd as It, wf as J, wi as Jn, Xu as Jt, Ef as K, Ei as Kn, ae as Kr, Yu as Kt, gp as L, Rs as Ln, ne as Lr, pd as Lt, Fp as M, Us as Mn, le as Mr, kd as Mt, Mp as N, Bs as Nn, _e as Nr, md as Nt, qp as O, Zs as On, de as Or, Fd as Ot, _p as P, zs as Pn, f as Pr, Nd as Pt, Cf as Q, $t as Qn, Iu as Qt, hp as R, Ls as Rn, y as Rr, Md as Rt, Zp as S, $s as Sn, we as Sr, Ld as St, Xp as T, Js as Tn, Se as Tr, ad as Tt, bf as U, qa as Un, Ce as Ur, Od as Ut, Mf as V, ps as Vn, xe as Vr, Td as Vt, kf as W, Oi as Wn, ie as Wr, dd as Wt, Sf as X, xr as Xn, Ru as Xt, xf as Y, di as Yn, Wu as Yt, Of as Z, vr as Zn, Lu as Zt, dm as _, uc as _n, De as _r, sf as _t, jm as a, Bu as an, St as ar, $f as at, sm as b, oc as bn, ze as br, df as bt, Om as c, Nu as cn, st as cr, ip as ct, wm as d, vu as dn, et as dr, nf as dt, Vu as en, kt as er, ap as et, Lm as f, _c as fn, qe as fr, af as ft, Pm as g, fc as gn, We as gr, $d as gt, Fm as h, mc as hn, Ue as hr, ef as ht, Am as i, Hu as in, Ct as ir, Qf as it, Pp as j, Ws as jn, ge as jr, Ad as jt, Vp as k, F as kn, s as kr, sd as kt, Dm as l, Pu as ln, ot as lr, Q as lt, Bm as m, hc as mn, Ye as mr, of as mt, zm as n, Uu as nn, Ot as nr, np as nt, km as o, Ju as on, bt as or, tp as ot, Im as p, gc as pn, Je as pr, cf as pt, Df as q, Ci as qn, oe as qr, ed as qt, Em as r, Gu as rn, wt as rr, Zf as rt, Nm as s, zu as sn, pt as sr, ep as st, nh as t, Ku as tn, Dt as tr, rp as tt, Cm as u, Fu as un, at as ur, fp as ut, fm as v, lc as vn, Oe as vr, tf as vt, Qp as w, P as wn, Ee as wr, Rd as wt, im as x, I as xn, Re as xr, ff as xt, mm as y, sc as yn, Te as yr, Qd as yt, pp as z, ds as zn, re as zr, vd as zt };
6732
+ export { wf as $, di as $n, Gu as $t, Up as A, qs as An, n as Ar, ld as At, Lf as B, Is as Bn, be as Br, bd as Bt, tm as C, sc as Cn, Te as Cr, Gd as Ct, om as D, Xs as Dn, Ne as Dr, vd as Dt, em as E, $s as En, we as Er, gd as Et, $ as F, Ws as Fn, ge as Fr, zd as Ft, If as G, ps as Gn, xe as Gr, Dd as Gt, jf as H, Ls as Hn, y as Hr, _d as Ht, bp as I, Us as In, le as Ir, yd as It, Af as J, Oi as Jn, ie as Jr, Cd as Jt, Mf as K, ms as Kn, c as Kr, Pd as Kt, Sp as L, Bs as Ln, _e as Lr, Ld as Lt, Vp as M, Zs as Mn, de as Mr, Id as Mt, Rp as N, F as Nn, s as Nr, Fd as Nt, $p as O, P as On, Ee as Or, Vd as Ot, Cp as P, Gs as Pn, d as Pr, hd as Pt, kf as Q, wi as Qn, Zu as Qt, xp as R, zs as Rn, f as Rr, md as Rt, rm as S, lc as Sn, Oe as Sr, Ud as St, nm as T, I as Tn, Re as Tr, od as Tt, Ef as U, ds as Un, re as Ur, kd as Ut, Rf as V, Rs as Vn, ne as Vr, pd as Vt, Ff as W, fs as Wn, p as Wr, Od as Wt, Of as X, Ei as Xn, ae as Xr, Xu as Xt, Df as Y, Di as Yn, x as Yr, jd as Yt, Pf as Z, Ci as Zn, oe as Zr, td as Zt, _m as _, gc as _n, Je as _r, pf as _t, Lm as a, qu as an, Dt as ar, ap as at, pm as b, fc as bn, We as br, _f as bt, Pm as c, Uu as cn, Ct as cr, up as ct, Am as d, Bu as dn, pt as dr, lf as dt, zu as en, xr as er, dp as et, Um as f, Pu as fn, st as fr, df as ft, Bm as g, _c as gn, qe as gr, of as gt, Vm as h, vu as hn, et as hr, sf as ht, Im as i, Hu as in, kt as ir, ip as it, Bp as j, Ks as jn, ce as jr, Ad as jt, qp as k, Js as kn, Se as kr, cd as kt, Nm as l, Vu as ln, St as lr, Q as lt, Km as m, Iu as mn, at as mr, ff as mt, Gm as n, Lu as nn, $t as nr, cp as nt, Fm as o, Wu as on, Ot as or, sp as ot, Hm as p, Fu as pn, ot as pr, mf as pt, Nf as q, qa as qn, Ce as qr, fd as qt, Mm as r, Ju as rn, jt as rr, rp as rt, zm as s, Ku as sn, wt as sr, op as st, ch as t, Ru as tn, vr as tr, lp as tt, km as u, Yu as un, bt as ur, vp as ut, vm as v, hc as vn, Ye as vr, cf as vt, im as w, oc as wn, ze as wr, Wd as wt, um as x, uc as xn, De as xr, vf as xt, bm as y, mc as yn, Ue as yr, af as yt, yp as z, Ps as zn, ye as zr, Rd as zt };