@pie-element/mc-populated-blank 0.2.13-next.3 → 0.2.13

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.
Files changed (57) hide show
  1. package/dist/author/index.d.ts +1 -0
  2. package/dist/author/index.d.ts.map +1 -0
  3. package/dist/author/index.js +171 -292
  4. package/dist/author/index.js.map +1 -1
  5. package/dist/controller/defaults.d.ts +1 -0
  6. package/dist/controller/defaults.d.ts.map +1 -0
  7. package/dist/controller/index.d.ts +1 -0
  8. package/dist/controller/index.d.ts.map +1 -0
  9. package/dist/controller/index.js.map +1 -1
  10. package/dist/delivery/computeAudioMode.d.ts +1 -0
  11. package/dist/delivery/computeAudioMode.d.ts.map +1 -0
  12. package/dist/delivery/computeChoiceCorrectness.d.ts +1 -0
  13. package/dist/delivery/computeChoiceCorrectness.d.ts.map +1 -0
  14. package/dist/delivery/computeDisplayState.d.ts +1 -0
  15. package/dist/delivery/computeDisplayState.d.ts.map +1 -0
  16. package/dist/delivery/computeLayoutProfile.d.ts +1 -0
  17. package/dist/delivery/computeLayoutProfile.d.ts.map +1 -0
  18. package/dist/delivery/computeLayoutStyle.d.ts +1 -0
  19. package/dist/delivery/computeLayoutStyle.d.ts.map +1 -0
  20. package/dist/delivery/index.d.ts +1 -0
  21. package/dist/delivery/index.d.ts.map +1 -0
  22. package/dist/delivery/index.js +299 -418
  23. package/dist/delivery/index.js.map +1 -1
  24. package/dist/delivery/variant-css-map.d.ts +1 -0
  25. package/dist/delivery/variant-css-map.d.ts.map +1 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.iife.d.ts +1 -0
  29. package/dist/index.iife.d.ts.map +1 -0
  30. package/dist/index.iife.js +97 -21
  31. package/dist/index.js +299 -418
  32. package/dist/index.js.map +1 -1
  33. package/dist/print/index.d.ts +1 -0
  34. package/dist/print/index.d.ts.map +1 -0
  35. package/dist/print/index.js +238 -363
  36. package/dist/print/index.js.map +1 -1
  37. package/dist/shared/layoutLimits.d.ts +1 -0
  38. package/dist/shared/layoutLimits.d.ts.map +1 -0
  39. package/dist/shared/types.d.ts +1 -0
  40. package/dist/shared/types.d.ts.map +1 -0
  41. package/package.json +5 -31
  42. package/configure.js +0 -2
  43. package/dist/browser/author/index.js +0 -50
  44. package/dist/browser/author/index.js.map +0 -1
  45. package/dist/browser/client-B0miu8E8.js +0 -2414
  46. package/dist/browser/client-B0miu8E8.js.map +0 -1
  47. package/dist/browser/controller/index.js +0 -221
  48. package/dist/browser/controller/index.js.map +0 -1
  49. package/dist/browser/delivery/index.js +0 -1234
  50. package/dist/browser/delivery/index.js.map +0 -1
  51. package/dist/browser/layoutLimits-ATKOwLHb.js +0 -42
  52. package/dist/browser/layoutLimits-ATKOwLHb.js.map +0 -1
  53. package/dist/browser/print/index.js +0 -125
  54. package/dist/browser/print/index.js.map +0 -1
  55. package/dist/runtime-support.d.ts +0 -12
  56. package/dist/runtime-support.js +0 -14
  57. package/dist/runtime-support.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/disclose-version.js
1
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/disclose-version.js
2
2
  if (typeof window !== "undefined") {
3
3
  var _window$__svelte, _window;
4
4
  ((_window$__svelte = (_window = window).__svelte ?? (_window.__svelte = {})).v ?? (_window$__svelte.v = /* @__PURE__ */ new Set())).add("5");
5
5
  }
6
6
  //#endregion
7
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/constants.js
7
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/constants.js
8
8
  var HYDRATION_ERROR = {};
9
- var UNINITIALIZED = Symbol("uninitialized");
9
+ var UNINITIALIZED = Symbol();
10
10
  var NAMESPACE_SVG = "http://www.w3.org/2000/svg";
11
11
  var NAMESPACE_MATHML = "http://www.w3.org/1998/Math/MathML";
12
12
  //#endregion
13
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/shared/utils.js
13
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/shared/utils.js
14
14
  var is_array = Array.isArray;
15
15
  var index_of = Array.prototype.indexOf;
16
16
  var includes = Array.prototype.includes;
@@ -47,7 +47,7 @@ function deferred() {
47
47
  };
48
48
  }
49
49
  //#endregion
50
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/typeof.js
50
+ //#region \0@oxc-project+runtime@0.129.0/helpers/typeof.js
51
51
  function _typeof(o) {
52
52
  "@babel/helpers - typeof";
53
53
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -57,7 +57,7 @@ function _typeof(o) {
57
57
  }, _typeof(o);
58
58
  }
59
59
  //#endregion
60
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/toPrimitive.js
60
+ //#region \0@oxc-project+runtime@0.129.0/helpers/toPrimitive.js
61
61
  function toPrimitive(t, r) {
62
62
  if ("object" != _typeof(t) || !t) return t;
63
63
  var e = t[Symbol.toPrimitive];
@@ -69,13 +69,13 @@ function toPrimitive(t, r) {
69
69
  return ("string" === r ? String : Number)(t);
70
70
  }
71
71
  //#endregion
72
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/toPropertyKey.js
72
+ //#region \0@oxc-project+runtime@0.129.0/helpers/toPropertyKey.js
73
73
  function toPropertyKey(t) {
74
74
  var i = toPrimitive(t, "string");
75
75
  return "symbol" == _typeof(i) ? i : i + "";
76
76
  }
77
77
  //#endregion
78
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/defineProperty.js
78
+ //#region \0@oxc-project+runtime@0.129.0/helpers/defineProperty.js
79
79
  function _defineProperty(e, r, t) {
80
80
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
81
81
  value: t,
@@ -114,11 +114,6 @@ var ERROR_VALUE = 1 << 23;
114
114
  var STATE_SYMBOL = Symbol("$state");
115
115
  var LEGACY_PROPS = Symbol("legacy props");
116
116
  var LOADING_ATTR_SYMBOL = Symbol("");
117
- var ATTRIBUTES_CACHE = Symbol("attributes");
118
- var CLASS_CACHE = Symbol("class");
119
- var STYLE_CACHE = Symbol("style");
120
- var TEXT_CACHE = Symbol("text");
121
- var FORM_RESET_HANDLER = Symbol("form reset");
122
117
  /** allow users to ignore aborted signal errors if `reason.name === 'StaleReactionError` */
123
118
  var STALE_REACTION = new class StaleReactionError extends Error {
124
119
  constructor(..._args) {
@@ -129,7 +124,7 @@ var STALE_REACTION = new class StaleReactionError extends Error {
129
124
  }();
130
125
  var IS_XHTML = !!globalThis.document?.contentType && /* @__PURE__ */ globalThis.document.contentType.includes("xml");
131
126
  //#endregion
132
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/errors.js
127
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/errors.js
133
128
  /**
134
129
  * Cannot create a `$derived(...)` with an `await` expression outside of an effect tree
135
130
  * @returns {never}
@@ -240,7 +235,7 @@ function svelte_boundary_reset_noop() {
240
235
  console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);
241
236
  }
242
237
  //#endregion
243
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/hydration.js
238
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/hydration.js
244
239
  /** @import { TemplateNode } from '#client' */
245
240
  /**
246
241
  * Use this variable to guard everything related to hydration code so it can be treeshaken out
@@ -319,7 +314,7 @@ function read_hydration_instruction(node) {
319
314
  return node.data;
320
315
  }
321
316
  //#endregion
322
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/equality.js
317
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/equality.js
323
318
  /** @import { Equals } from '#client' */
324
319
  /** @type {Equals} */
325
320
  function equals(value) {
@@ -338,13 +333,13 @@ function safe_equals(value) {
338
333
  return !safe_not_equal(value, this.v);
339
334
  }
340
335
  //#endregion
341
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/flags/index.js
336
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/flags/index.js
342
337
  /** True if experimental.async=true */
343
338
  var async_mode_flag = false;
344
339
  /** True if we're not certain that we only have Svelte 5 code in the compilation */
345
340
  var legacy_mode_flag = false;
346
341
  //#endregion
347
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/context.js
342
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/context.js
348
343
  /** @import { ComponentContext, DevStackEntry, Effect } from '#client' */
349
344
  /** @type {ComponentContext | null} */
350
345
  var component_context = null;
@@ -396,7 +391,7 @@ function is_runes() {
396
391
  return !legacy_mode_flag || component_context !== null && component_context.l === null;
397
392
  }
398
393
  //#endregion
399
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/task.js
394
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/task.js
400
395
  /** @type {Array<() => void>} */
401
396
  var micro_tasks = [];
402
397
  function run_micro_tasks() {
@@ -454,7 +449,7 @@ function invoke_error_boundary(error, effect) {
454
449
  throw error;
455
450
  }
456
451
  //#endregion
457
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/status.js
452
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/status.js
458
453
  /** @import { Derived, Signal } from '#client' */
459
454
  var STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);
460
455
  /**
@@ -473,7 +468,7 @@ function update_derived_status(derived) {
473
468
  else set_signal_status(derived, MAYBE_DIRTY);
474
469
  }
475
470
  //#endregion
476
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/utils.js
471
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/utils.js
477
472
  /** @import { Derived, Effect, Value } from '#client' */
478
473
  /**
479
474
  * @param {Value[] | null} deps
@@ -501,7 +496,7 @@ function defer_effect(effect, dirty_effects, maybe_dirty_effects) {
501
496
  set_signal_status(effect, CLEAN);
502
497
  }
503
498
  //#endregion
504
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/store.js
499
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/store.js
505
500
  /**
506
501
  * We set this to `true` when updating a store so that we correctly
507
502
  * schedule effects if the update takes place inside a `$:` effect
@@ -531,53 +526,46 @@ function capture_store_binding(fn) {
531
526
  }
532
527
  }
533
528
  //#endregion
534
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/checkPrivateRedeclaration.js
529
+ //#region \0@oxc-project+runtime@0.129.0/helpers/checkPrivateRedeclaration.js
535
530
  function _checkPrivateRedeclaration(e, t) {
536
531
  if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
537
532
  }
538
533
  //#endregion
539
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/classPrivateMethodInitSpec.js
534
+ //#region \0@oxc-project+runtime@0.129.0/helpers/classPrivateMethodInitSpec.js
540
535
  function _classPrivateMethodInitSpec(e, a) {
541
536
  _checkPrivateRedeclaration(e, a), a.add(e);
542
537
  }
543
538
  //#endregion
544
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/classPrivateFieldInitSpec.js
539
+ //#region \0@oxc-project+runtime@0.129.0/helpers/classPrivateFieldInitSpec.js
545
540
  function _classPrivateFieldInitSpec(e, t, a) {
546
541
  _checkPrivateRedeclaration(e, t), t.set(e, a);
547
542
  }
548
543
  //#endregion
549
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/assertClassBrand.js
544
+ //#region \0@oxc-project+runtime@0.129.0/helpers/assertClassBrand.js
550
545
  function _assertClassBrand(e, t, n) {
551
546
  if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
552
547
  throw new TypeError("Private element is not present on this object");
553
548
  }
554
549
  //#endregion
555
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/classPrivateFieldSet2.js
556
- function _classPrivateFieldSet2(s, a, r) {
557
- return s.set(_assertClassBrand(s, a), r), r;
558
- }
559
- //#endregion
560
- //#region \0@oxc-project+runtime@0.133.0/helpers/esm/classPrivateFieldGet2.js
550
+ //#region \0@oxc-project+runtime@0.129.0/helpers/classPrivateFieldGet2.js
561
551
  function _classPrivateFieldGet2(s, a) {
562
552
  return s.get(_assertClassBrand(s, a));
563
553
  }
564
554
  //#endregion
565
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/batch.js
555
+ //#region \0@oxc-project+runtime@0.129.0/helpers/classPrivateFieldSet2.js
556
+ function _classPrivateFieldSet2(s, a, r) {
557
+ return s.set(_assertClassBrand(s, a), r), r;
558
+ }
559
+ //#endregion
560
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/batch.js
566
561
  /** @import { Fork } from 'svelte' */
567
562
  /** @import { Derived, Effect, Reaction, Source, Value } from '#client' */
568
563
  var _Batch;
569
- /** @type {Batch | null} */
570
- var first_batch = null;
571
- /** @type {Batch | null} */
572
- var last_batch = null;
564
+ /** @type {Set<Batch>} */
565
+ var batches = /* @__PURE__ */ new Set();
573
566
  /** @type {Batch | null} */
574
567
  var current_batch = null;
575
568
  /**
576
- * This is needed to avoid overwriting inputs
577
- * @type {Batch | null}
578
- */
579
- var previous_batch = null;
580
- /**
581
569
  * When time travelling (i.e. working in one batch, while other batches
582
570
  * still have ongoing work), we ignore the real values of affected
583
571
  * signals in favour of their values within the batch
@@ -605,11 +593,9 @@ var collected_effects = null;
605
593
  var legacy_updates = null;
606
594
  var flush_count = 0;
607
595
  var uid = 1;
608
- var _started = /* @__PURE__ */ new WeakMap();
609
- var _prev = /* @__PURE__ */ new WeakMap();
610
- var _next = /* @__PURE__ */ new WeakMap();
611
596
  var _commit_callbacks = /* @__PURE__ */ new WeakMap();
612
597
  var _discard_callbacks = /* @__PURE__ */ new WeakMap();
598
+ var _fork_commit_callbacks = /* @__PURE__ */ new WeakMap();
613
599
  var _pending = /* @__PURE__ */ new WeakMap();
614
600
  var _blocking_pending = /* @__PURE__ */ new WeakMap();
615
601
  var _deferred = /* @__PURE__ */ new WeakMap();
@@ -620,21 +606,12 @@ var _maybe_dirty_effects$1 = /* @__PURE__ */ new WeakMap();
620
606
  var _skipped_branches = /* @__PURE__ */ new WeakMap();
621
607
  var _unskipped_branches = /* @__PURE__ */ new WeakMap();
622
608
  var _decrement_queued = /* @__PURE__ */ new WeakMap();
609
+ var _blockers = /* @__PURE__ */ new WeakMap();
623
610
  var _Batch_brand = /* @__PURE__ */ new WeakSet();
624
611
  var Batch = class Batch {
625
612
  constructor() {
626
613
  _classPrivateMethodInitSpec(this, _Batch_brand);
627
614
  _defineProperty(this, "id", uid++);
628
- _classPrivateFieldInitSpec(this, _started, false);
629
- _defineProperty(this, "linked", true);
630
- _classPrivateFieldInitSpec(this, _prev, null);
631
- _classPrivateFieldInitSpec(this, _next, null);
632
- _defineProperty(
633
- this,
634
- /** @type {Map<Effect, ReturnType<typeof deferred<any>>>} */
635
- "async_deriveds",
636
- /* @__PURE__ */ new Map()
637
- );
638
615
  _defineProperty(
639
616
  this,
640
617
  /**
@@ -658,7 +635,8 @@ var Batch = class Batch {
658
635
  );
659
636
  _classPrivateFieldInitSpec(this, _commit_callbacks, /* @__PURE__ */ new Set());
660
637
  _classPrivateFieldInitSpec(this, _discard_callbacks, /* @__PURE__ */ new Set());
661
- _classPrivateFieldInitSpec(this, _pending, 0);
638
+ _classPrivateFieldInitSpec(this, _fork_commit_callbacks, /* @__PURE__ */ new Set());
639
+ _classPrivateFieldInitSpec(this, _pending, /* @__PURE__ */ new Map());
662
640
  _classPrivateFieldInitSpec(this, _blocking_pending, /* @__PURE__ */ new Map());
663
641
  _classPrivateFieldInitSpec(this, _deferred, null);
664
642
  _classPrivateFieldInitSpec(this, _roots, []);
@@ -669,12 +647,7 @@ var Batch = class Batch {
669
647
  _classPrivateFieldInitSpec(this, _unskipped_branches, /* @__PURE__ */ new Set());
670
648
  _defineProperty(this, "is_fork", false);
671
649
  _classPrivateFieldInitSpec(this, _decrement_queued, false);
672
- if (last_batch === null) first_batch = last_batch = this;
673
- else {
674
- _classPrivateFieldSet2(_next, last_batch, this);
675
- _classPrivateFieldSet2(_prev, this, last_batch);
676
- }
677
- last_batch = this;
650
+ _classPrivateFieldInitSpec(this, _blockers, /* @__PURE__ */ new Set());
678
651
  }
679
652
  /**
680
653
  * Add an effect to the #skipped_branches map and reset its children
@@ -749,8 +722,8 @@ var Batch = class Batch {
749
722
  discard() {
750
723
  for (const fn of _classPrivateFieldGet2(_discard_callbacks, this)) fn(this);
751
724
  _classPrivateFieldGet2(_discard_callbacks, this).clear();
752
- _assertClassBrand(_Batch_brand, this, _unlink).call(this);
753
- _classPrivateFieldGet2(_deferred, this)?.resolve();
725
+ _classPrivateFieldGet2(_fork_commit_callbacks, this).clear();
726
+ batches.delete(this);
754
727
  }
755
728
  /**
756
729
  * @param {Effect} effect
@@ -763,7 +736,8 @@ var Batch = class Batch {
763
736
  * @param {Effect} effect
764
737
  */
765
738
  increment(blocking, effect) {
766
- _classPrivateFieldSet2(_pending, this, _classPrivateFieldGet2(_pending, this) + 1);
739
+ let pending_count = _classPrivateFieldGet2(_pending, this).get(effect) ?? 0;
740
+ _classPrivateFieldGet2(_pending, this).set(effect, pending_count + 1);
767
741
  if (blocking) {
768
742
  let blocking_pending_count = _classPrivateFieldGet2(_blocking_pending, this).get(effect) ?? 0;
769
743
  _classPrivateFieldGet2(_blocking_pending, this).set(effect, blocking_pending_count + 1);
@@ -772,19 +746,22 @@ var Batch = class Batch {
772
746
  /**
773
747
  * @param {boolean} blocking
774
748
  * @param {Effect} effect
749
+ * @param {boolean} skip - whether to skip updates (because this is triggered by a stale reaction)
775
750
  */
776
- decrement(blocking, effect) {
777
- _classPrivateFieldSet2(_pending, this, _classPrivateFieldGet2(_pending, this) - 1);
751
+ decrement(blocking, effect, skip) {
752
+ let pending_count = _classPrivateFieldGet2(_pending, this).get(effect) ?? 0;
753
+ if (pending_count === 1) _classPrivateFieldGet2(_pending, this).delete(effect);
754
+ else _classPrivateFieldGet2(_pending, this).set(effect, pending_count - 1);
778
755
  if (blocking) {
779
756
  let blocking_pending_count = _classPrivateFieldGet2(_blocking_pending, this).get(effect) ?? 0;
780
757
  if (blocking_pending_count === 1) _classPrivateFieldGet2(_blocking_pending, this).delete(effect);
781
758
  else _classPrivateFieldGet2(_blocking_pending, this).set(effect, blocking_pending_count - 1);
782
759
  }
783
- if (_classPrivateFieldGet2(_decrement_queued, this)) return;
760
+ if (_classPrivateFieldGet2(_decrement_queued, this) || skip) return;
784
761
  _classPrivateFieldSet2(_decrement_queued, this, true);
785
762
  queue_micro_task(() => {
786
763
  _classPrivateFieldSet2(_decrement_queued, this, false);
787
- if (this.linked) this.flush();
764
+ this.flush();
788
765
  });
789
766
  }
790
767
  /**
@@ -805,38 +782,48 @@ var Batch = class Batch {
805
782
  ondiscard(fn) {
806
783
  _classPrivateFieldGet2(_discard_callbacks, this).add(fn);
807
784
  }
785
+ /** @param {(batch: Batch) => void} fn */
786
+ on_fork_commit(fn) {
787
+ _classPrivateFieldGet2(_fork_commit_callbacks, this).add(fn);
788
+ }
789
+ run_fork_commit_callbacks() {
790
+ for (const fn of _classPrivateFieldGet2(_fork_commit_callbacks, this)) fn(this);
791
+ _classPrivateFieldGet2(_fork_commit_callbacks, this).clear();
792
+ }
808
793
  settled() {
809
794
  return (_classPrivateFieldGet2(_deferred, this) ?? _classPrivateFieldSet2(_deferred, this, deferred())).promise;
810
795
  }
811
796
  static ensure() {
812
797
  if (current_batch === null) {
813
798
  const batch = current_batch = new Batch();
814
- if (!is_processing && !is_flushing_sync) queue_micro_task(() => {
815
- if (!_classPrivateFieldGet2(_started, batch)) batch.flush();
816
- });
799
+ if (!is_processing) {
800
+ batches.add(current_batch);
801
+ if (!is_flushing_sync) queue_micro_task(() => {
802
+ if (current_batch !== batch) return;
803
+ batch.flush();
804
+ });
805
+ }
817
806
  }
818
807
  return current_batch;
819
808
  }
820
809
  apply() {
821
- if (!async_mode_flag || !this.is_fork && _classPrivateFieldGet2(_prev, this) === null && _classPrivateFieldGet2(_next, this) === null) {
810
+ if (!async_mode_flag || !this.is_fork && batches.size === 1) {
822
811
  batch_values = null;
823
812
  return;
824
813
  }
825
814
  batch_values = /* @__PURE__ */ new Map();
826
815
  for (const [source, [value]] of this.current) batch_values.set(source, value);
827
- for (let batch = first_batch; batch !== null; batch = _classPrivateFieldGet2(_next, batch)) {
816
+ for (const batch of batches) {
828
817
  if (batch === this || batch.is_fork) continue;
829
818
  var intersects = false;
819
+ var differs = false;
830
820
  if (batch.id < this.id) for (const [source, [, is_derived]] of batch.current) {
831
821
  if (is_derived) continue;
832
- if (this.current.has(source)) {
833
- intersects = true;
834
- break;
835
- }
836
- }
837
- if (!intersects) {
838
- for (const [source, previous] of batch.previous) if (!batch_values.has(source)) batch_values.set(source, previous);
822
+ intersects || (intersects = this.current.has(source));
823
+ differs || (differs = !this.current.has(source));
839
824
  }
825
+ if (intersects && differs) _classPrivateFieldGet2(_blockers, this).add(batch);
826
+ else for (const [source, previous] of batch.previous) if (!batch_values.has(source)) batch_values.set(source, previous);
840
827
  }
841
828
  }
842
829
  /**
@@ -867,10 +854,12 @@ var Batch = class Batch {
867
854
  };
868
855
  _Batch = Batch;
869
856
  function _is_deferred() {
870
- if (this.is_fork) return true;
871
- for (const effect of _classPrivateFieldGet2(_blocking_pending, this).keys()) {
872
- var e = effect;
857
+ return this.is_fork || _classPrivateFieldGet2(_blocking_pending, this).size > 0;
858
+ }
859
+ function _is_blocked() {
860
+ for (const batch of _classPrivateFieldGet2(_blockers, this)) for (const effect of _classPrivateFieldGet2(_blocking_pending, batch).keys()) {
873
861
  var skipped = false;
862
+ var e = effect;
874
863
  while (e.parent !== null) {
875
864
  if (_classPrivateFieldGet2(_skipped_branches, this).has(e)) {
876
865
  skipped = true;
@@ -883,19 +872,20 @@ function _is_deferred() {
883
872
  return false;
884
873
  }
885
874
  function _process() {
886
- _classPrivateFieldSet2(_started, this, true);
887
875
  if (flush_count++ > 1e3) {
888
- _assertClassBrand(_Batch_brand, this, _unlink).call(this);
876
+ batches.delete(this);
889
877
  infinite_loop_guard();
890
878
  }
891
- for (const e of _classPrivateFieldGet2(_dirty_effects$1, this)) {
892
- _classPrivateFieldGet2(_maybe_dirty_effects$1, this).delete(e);
893
- set_signal_status(e, DIRTY);
894
- this.schedule(e);
895
- }
896
- for (const e of _classPrivateFieldGet2(_maybe_dirty_effects$1, this)) {
897
- set_signal_status(e, MAYBE_DIRTY);
898
- this.schedule(e);
879
+ if (!_assertClassBrand(_Batch_brand, this, _is_deferred).call(this)) {
880
+ for (const e of _classPrivateFieldGet2(_dirty_effects$1, this)) {
881
+ _classPrivateFieldGet2(_maybe_dirty_effects$1, this).delete(e);
882
+ set_signal_status(e, DIRTY);
883
+ this.schedule(e);
884
+ }
885
+ for (const e of _classPrivateFieldGet2(_maybe_dirty_effects$1, this)) {
886
+ set_signal_status(e, MAYBE_DIRTY);
887
+ this.schedule(e);
888
+ }
899
889
  }
900
890
  const roots = _classPrivateFieldGet2(_roots, this);
901
891
  _classPrivateFieldSet2(_roots, this, []);
@@ -913,7 +903,6 @@ function _process() {
913
903
  _assertClassBrand(_Batch_brand, this, _traverse).call(this, root, effects, render_effects);
914
904
  } catch (e) {
915
905
  reset_all(root);
916
- if (!_assertClassBrand(_Batch_brand, this, _is_deferred).call(this)) this.discard();
917
906
  throw e;
918
907
  }
919
908
  current_batch = null;
@@ -923,43 +912,30 @@ function _process() {
923
912
  }
924
913
  collected_effects = null;
925
914
  legacy_updates = null;
926
- if (_assertClassBrand(_Batch_brand, this, _is_deferred).call(this)) {
915
+ if (_assertClassBrand(_Batch_brand, this, _is_deferred).call(this) || _assertClassBrand(_Batch_brand, this, _is_blocked).call(this)) {
927
916
  _assertClassBrand(_Batch_brand, this, _defer_effects).call(this, render_effects);
928
917
  _assertClassBrand(_Batch_brand, this, _defer_effects).call(this, effects);
929
918
  for (const [e, t] of _classPrivateFieldGet2(_skipped_branches, this)) reset_branch(e, t);
930
- if (updates.length > 0)
931
- /** @type {Batch} */ _assertClassBrand(_Batch_brand, current_batch, _process).call(current_batch);
932
- return;
933
- }
934
- const earlier_batch = _assertClassBrand(_Batch_brand, this, _find_earlier_batch).call(this);
935
- if (earlier_batch) {
936
- _assertClassBrand(_Batch_brand, this, _defer_effects).call(this, render_effects);
937
- _assertClassBrand(_Batch_brand, this, _defer_effects).call(this, effects);
938
- _assertClassBrand(_Batch_brand, earlier_batch, _merge).call(earlier_batch, this);
939
- return;
919
+ } else {
920
+ if (_classPrivateFieldGet2(_pending, this).size === 0) batches.delete(this);
921
+ _classPrivateFieldGet2(_dirty_effects$1, this).clear();
922
+ _classPrivateFieldGet2(_maybe_dirty_effects$1, this).clear();
923
+ for (const fn of _classPrivateFieldGet2(_commit_callbacks, this)) fn(this);
924
+ _classPrivateFieldGet2(_commit_callbacks, this).clear();
925
+ flush_queued_effects(render_effects);
926
+ flush_queued_effects(effects);
927
+ _classPrivateFieldGet2(_deferred, this)?.resolve();
940
928
  }
941
- _classPrivateFieldGet2(_dirty_effects$1, this).clear();
942
- _classPrivateFieldGet2(_maybe_dirty_effects$1, this).clear();
943
- for (const fn of _classPrivateFieldGet2(_commit_callbacks, this)) fn(this);
944
- _classPrivateFieldGet2(_commit_callbacks, this).clear();
945
- previous_batch = this;
946
- flush_queued_effects(render_effects);
947
- flush_queued_effects(effects);
948
- previous_batch = null;
949
- _classPrivateFieldGet2(_deferred, this)?.resolve();
950
929
  var next_batch = current_batch;
951
- if (_classPrivateFieldGet2(_pending, this) === 0 && (_classPrivateFieldGet2(_roots, this).length === 0 || next_batch !== null)) {
952
- _assertClassBrand(_Batch_brand, this, _unlink).call(this);
953
- if (async_mode_flag) {
954
- _assertClassBrand(_Batch_brand, this, _commit$1).call(this);
955
- current_batch = next_batch;
956
- }
957
- }
958
- if (_classPrivateFieldGet2(_roots, this).length > 0) if (next_batch !== null) {
959
- const batch = next_batch;
930
+ if (_classPrivateFieldGet2(_roots, this).length > 0) {
931
+ const batch = next_batch ?? (next_batch = this);
960
932
  _classPrivateFieldGet2(_roots, batch).push(..._classPrivateFieldGet2(_roots, this).filter((r) => !_classPrivateFieldGet2(_roots, batch).includes(r)));
961
- } else next_batch = this;
962
- if (next_batch !== null) _assertClassBrand(_Batch_brand, next_batch, _process).call(next_batch);
933
+ }
934
+ if (next_batch !== null) {
935
+ batches.add(next_batch);
936
+ _assertClassBrand(_Batch_brand, next_batch, _process).call(next_batch);
937
+ }
938
+ if (async_mode_flag && !batches.has(this)) _assertClassBrand(_Batch_brand, this, _commit$1).call(this);
963
939
  }
964
940
  /**
965
941
  * Traverse the effect tree, executing effects or stashing
@@ -998,59 +974,6 @@ function _traverse(root, effects, render_effects) {
998
974
  }
999
975
  }
1000
976
  }
1001
- function _find_earlier_batch() {
1002
- var batch = _classPrivateFieldGet2(_prev, this);
1003
- while (batch !== null) {
1004
- if (!batch.is_fork) {
1005
- for (const [value, [, is_derived]] of this.current) if (batch.current.has(value) && !is_derived) return batch;
1006
- }
1007
- batch = _classPrivateFieldGet2(_prev, batch);
1008
- }
1009
- return null;
1010
- }
1011
- /**
1012
- * @param {Batch} batch
1013
- */
1014
- function _merge(batch) {
1015
- for (const [source, value] of batch.current) {
1016
- if (!this.previous.has(source) && batch.previous.has(source)) this.previous.set(source, batch.previous.get(source));
1017
- this.current.set(source, value);
1018
- }
1019
- for (const [effect, deferred] of batch.async_deriveds) {
1020
- const d = this.async_deriveds.get(effect);
1021
- if (d) deferred.promise.then(d.resolve).catch(d.reject);
1022
- }
1023
- this.transfer_effects(_classPrivateFieldGet2(_dirty_effects$1, batch), _classPrivateFieldGet2(_maybe_dirty_effects$1, batch));
1024
- /**
1025
- * mark all effects that depend on `batch.current`, except the
1026
- * async effects that we just resolved (TODO unless they depend
1027
- * on values in this batch that are NOT in the later batch?).
1028
- * Through this we also will populate the correct #skipped_branches,
1029
- * oncommit callbacks etc, so we don't need to merge them separately.
1030
- * @param {Value} value
1031
- */
1032
- const mark = (value) => {
1033
- var reactions = value.reactions;
1034
- if (reactions === null) return;
1035
- for (const reaction of reactions) {
1036
- var flags = reaction.f;
1037
- if ((flags & 2) !== 0) mark(reaction);
1038
- else {
1039
- var effect = reaction;
1040
- if (flags & 4194320 && !this.async_deriveds.has(effect)) {
1041
- _classPrivateFieldGet2(_maybe_dirty_effects$1, this).delete(effect);
1042
- set_signal_status(effect, DIRTY);
1043
- this.schedule(effect);
1044
- }
1045
- }
1046
- }
1047
- };
1048
- for (const source of this.current.keys()) mark(source);
1049
- this.oncommit(() => batch.discard());
1050
- _assertClassBrand(_Batch_brand, batch, _unlink).call(batch);
1051
- current_batch = this;
1052
- _assertClassBrand(_Batch_brand, this, _process).call(this);
1053
- }
1054
977
  /**
1055
978
  * @param {Effect[]} effects
1056
979
  */
@@ -1058,7 +981,7 @@ function _defer_effects(effects) {
1058
981
  for (var i = 0; i < effects.length; i += 1) defer_effect(effects[i], _classPrivateFieldGet2(_dirty_effects$1, this), _classPrivateFieldGet2(_maybe_dirty_effects$1, this));
1059
982
  }
1060
983
  function _commit$1() {
1061
- for (let batch = first_batch; batch !== null; batch = _classPrivateFieldGet2(_next, batch)) {
984
+ for (const batch of batches) {
1062
985
  var is_earlier = batch.id < this.id;
1063
986
  /** @type {Source[]} */
1064
987
  var sources = [];
@@ -1070,12 +993,7 @@ function _commit$1() {
1070
993
  }
1071
994
  sources.push(source);
1072
995
  }
1073
- if (is_earlier) for (const [effect, deferred] of this.async_deriveds) {
1074
- const d = batch.async_deriveds.get(effect);
1075
- if (d) deferred.promise.then(d.resolve).catch(d.reject);
1076
- }
1077
- if (!_classPrivateFieldGet2(_started, batch)) continue;
1078
- var others = [...batch.current.keys()].filter((s) => !batch.current.get(s)[1] && !this.current.has(s));
996
+ var others = [...batch.current.keys()].filter((s) => !this.current.has(s));
1079
997
  if (others.length === 0) {
1080
998
  if (is_earlier) batch.discard();
1081
999
  } else if (sources.length > 0) {
@@ -1090,18 +1008,12 @@ function _commit$1() {
1090
1008
  var checked = /* @__PURE__ */ new Map();
1091
1009
  for (var source of sources) mark_effects(source, others, marked, checked);
1092
1010
  checked = /* @__PURE__ */ new Map();
1093
- var current_unequal = [...batch.current].filter(([c, v1]) => {
1094
- const v2 = this.current.get(c);
1095
- if (!v2) return true;
1096
- return v2[0] !== v1[0] || v2[1] !== v1[1];
1097
- }).map(([c]) => c);
1098
- if (current_unequal.length > 0) {
1099
- for (const effect of _classPrivateFieldGet2(_new_effects, this)) if ((effect.f & 155648) === 0 && depends_on(effect, current_unequal, checked)) if ((effect.f & 4194320) !== 0) {
1100
- set_signal_status(effect, DIRTY);
1101
- batch.schedule(effect);
1102
- } else _classPrivateFieldGet2(_dirty_effects$1, batch).add(effect);
1103
- }
1104
- if (_classPrivateFieldGet2(_roots, batch).length > 0 && !_classPrivateFieldGet2(_decrement_queued, batch)) {
1011
+ var current_unequal = [...batch.current.keys()].filter((c) => this.current.has(c) ? this.current.get(c)[0] !== c : true);
1012
+ for (const effect of _classPrivateFieldGet2(_new_effects, this)) if ((effect.f & 155648) === 0 && depends_on(effect, current_unequal, checked)) if ((effect.f & 4194320) !== 0) {
1013
+ set_signal_status(effect, DIRTY);
1014
+ batch.schedule(effect);
1015
+ } else _classPrivateFieldGet2(_dirty_effects$1, batch).add(effect);
1016
+ if (_classPrivateFieldGet2(_roots, batch).length > 0) {
1105
1017
  batch.apply();
1106
1018
  for (var root of _classPrivateFieldGet2(_roots, batch)) _assertClassBrand(_Batch_brand, batch, _traverse).call(batch, root, [], []);
1107
1019
  _classPrivateFieldSet2(_roots, batch, []);
@@ -1109,16 +1021,13 @@ function _commit$1() {
1109
1021
  batch.deactivate();
1110
1022
  }
1111
1023
  }
1112
- }
1113
- function _unlink() {
1114
- if (!this.linked) return;
1115
- var prev = _classPrivateFieldGet2(_prev, this);
1116
- var next = _classPrivateFieldGet2(_next, this);
1117
- if (prev === null) first_batch = next;
1118
- else _classPrivateFieldSet2(_next, prev, next);
1119
- if (next === null) last_batch = prev;
1120
- else _classPrivateFieldSet2(_prev, next, prev);
1121
- this.linked = false;
1024
+ for (const batch of batches) if (_classPrivateFieldGet2(_blockers, batch).has(this)) {
1025
+ _classPrivateFieldGet2(_blockers, batch).delete(this);
1026
+ if (_classPrivateFieldGet2(_blockers, batch).size === 0 && !_assertClassBrand(_Batch_brand, batch, _is_deferred).call(batch)) {
1027
+ batch.activate();
1028
+ _assertClassBrand(_Batch_brand, batch, _process).call(batch);
1029
+ }
1030
+ }
1122
1031
  }
1123
1032
  /**
1124
1033
  * Synchronously flush any pending updates.
@@ -1271,7 +1180,7 @@ function reset_all(effect) {
1271
1180
  }
1272
1181
  }
1273
1182
  //#endregion
1274
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/reactivity/create-subscriber.js
1183
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/reactivity/create-subscriber.js
1275
1184
  /**
1276
1185
  * Returns a `subscribe` function that integrates external event-based systems with Svelte's reactivity.
1277
1186
  * It's particularly useful for integrating with web APIs like `MediaQuery`, `IntersectionObserver`, or `WebSocket`.
@@ -1344,13 +1253,13 @@ function createSubscriber(start) {
1344
1253
  };
1345
1254
  }
1346
1255
  //#endregion
1347
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/blocks/boundary.js
1256
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/blocks/boundary.js
1348
1257
  /** @import { Effect, Source, TemplateNode, } from '#client' */
1349
1258
  /**
1350
1259
  * @typedef {{
1351
- * onerror?: ((error: unknown, reset: () => void) => void) | null;
1352
- * failed?: ((anchor: Node, error: () => unknown, reset: () => () => void) => void) | null;
1353
- * pending?: ((anchor: Node) => void) | null;
1260
+ * onerror?: (error: unknown, reset: () => void) => void;
1261
+ * failed?: (anchor: Node, error: () => unknown, reset: () => () => void) => void;
1262
+ * pending?: (anchor: Node) => void;
1354
1263
  * }} BoundaryProps
1355
1264
  */
1356
1265
  var flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED;
@@ -1497,7 +1406,7 @@ var Boundary = class {
1497
1406
  if (_classPrivateFieldGet2(_main_effect, this)) current_batch.skip_effect(_classPrivateFieldGet2(_main_effect, this));
1498
1407
  if (_classPrivateFieldGet2(_pending_effect, this)) current_batch.skip_effect(_classPrivateFieldGet2(_pending_effect, this));
1499
1408
  if (_classPrivateFieldGet2(_failed_effect, this)) current_batch.skip_effect(_classPrivateFieldGet2(_failed_effect, this));
1500
- current_batch.oncommit(() => {
1409
+ current_batch.on_fork_commit(() => {
1501
1410
  _assertClassBrand(_Boundary_brand, this, _handle_error).call(this, error);
1502
1411
  });
1503
1412
  } else _assertClassBrand(_Boundary_brand, this, _handle_error).call(this, error);
@@ -1697,8 +1606,8 @@ function _handle_error(error) {
1697
1606
  });
1698
1607
  }
1699
1608
  //#endregion
1700
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/async.js
1701
- /** @import { Blocker, Effect, Source, Value } from '#client' */
1609
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/async.js
1610
+ /** @import { Blocker, Effect, Value } from '#client' */
1702
1611
  /**
1703
1612
  * @param {Blocker[]} blockers
1704
1613
  * @param {Array<() => any>} sync
@@ -1708,34 +1617,30 @@ function _handle_error(error) {
1708
1617
  function flatten(blockers, sync, async, fn) {
1709
1618
  const d = is_runes() ? derived : derived_safe_equal;
1710
1619
  var pending = blockers.filter((b) => !b.settled);
1711
- var deriveds = sync.map(d);
1712
1620
  if (async.length === 0 && pending.length === 0) {
1713
- fn(deriveds);
1621
+ fn(sync.map(d));
1714
1622
  return;
1715
1623
  }
1716
1624
  var parent = active_effect;
1717
1625
  var restore = capture();
1718
1626
  var blocker_promise = pending.length === 1 ? pending[0].promise : pending.length > 1 ? Promise.all(pending.map((b) => b.promise)) : null;
1719
- /**
1720
- * @param {Source[]} async
1721
- */
1722
- function finish(async) {
1723
- if ((parent.f & 16384) !== 0) return;
1627
+ /** @param {Value[]} values */
1628
+ function finish(values) {
1724
1629
  restore();
1725
1630
  try {
1726
- fn([...deriveds, ...async]);
1631
+ fn(values);
1727
1632
  } catch (error) {
1728
- invoke_error_boundary(error, parent);
1633
+ if ((parent.f & 16384) === 0) invoke_error_boundary(error, parent);
1729
1634
  }
1730
1635
  unset_context();
1731
1636
  }
1732
- var decrement_pending = increment_pending();
1733
1637
  if (async.length === 0) {
1734
- /** @type {Promise<any>} */ blocker_promise.then(() => finish([])).finally(decrement_pending);
1638
+ /** @type {Promise<any>} */ blocker_promise.then(() => finish(sync.map(d)));
1735
1639
  return;
1736
1640
  }
1641
+ var decrement_pending = increment_pending();
1737
1642
  function run() {
1738
- Promise.all(async.map((expression) => /* @__PURE__ */ async_derived(expression))).then(finish).catch((error) => invoke_error_boundary(error, parent)).finally(decrement_pending);
1643
+ Promise.all(async.map((expression) => /* @__PURE__ */ async_derived(expression))).then((result) => finish([...sync.map(d), ...result])).catch((error) => invoke_error_boundary(error, parent)).finally(() => decrement_pending());
1739
1644
  }
1740
1645
  if (blocker_promise) blocker_promise.then(() => {
1741
1646
  restore();
@@ -1777,12 +1682,12 @@ function increment_pending() {
1777
1682
  var effect = active_effect;
1778
1683
  var boundary = effect.b;
1779
1684
  var batch = current_batch;
1780
- var blocking = !!boundary?.is_rendered();
1781
- boundary?.update_pending_count(1, batch);
1685
+ var blocking = boundary.is_rendered();
1686
+ boundary.update_pending_count(1, batch);
1782
1687
  batch.increment(blocking, effect);
1783
- return () => {
1784
- boundary?.update_pending_count(-1, batch);
1785
- batch.decrement(blocking, effect);
1688
+ return (skip = false) => {
1689
+ boundary.update_pending_count(-1, batch);
1690
+ batch.decrement(blocking, effect, skip);
1786
1691
  };
1787
1692
  }
1788
1693
  /**
@@ -1790,7 +1695,7 @@ function increment_pending() {
1790
1695
  * @param {() => V} fn
1791
1696
  * @returns {Derived<V>}
1792
1697
  */
1793
- /*#__NO_SIDE_EFFECTS__*/
1698
+ /* @__NO_SIDE_EFFECTS__ */
1794
1699
  function derived(fn) {
1795
1700
  var flags = 2 | DIRTY;
1796
1701
  if (active_effect !== null) active_effect.f |= EFFECT_PRESERVED;
@@ -1809,7 +1714,6 @@ function derived(fn) {
1809
1714
  ac: null
1810
1715
  };
1811
1716
  }
1812
- var OBSOLETE = Symbol("obsolete");
1813
1717
  /**
1814
1718
  * @template V
1815
1719
  * @param {() => V | Promise<V>} fn
@@ -1817,24 +1721,22 @@ var OBSOLETE = Symbol("obsolete");
1817
1721
  * @param {string} [location] If provided, print a warning if the value is not read immediately after update
1818
1722
  * @returns {Promise<Source<V>>}
1819
1723
  */
1820
- /*#__NO_SIDE_EFFECTS__*/
1724
+ /* @__NO_SIDE_EFFECTS__ */
1821
1725
  function async_derived(fn, label, location) {
1822
1726
  let parent = active_effect;
1823
1727
  if (parent === null) async_derived_orphan();
1824
1728
  var promise = void 0;
1825
1729
  var signal = source(UNINITIALIZED);
1826
1730
  var should_suspend = !active_reaction;
1827
- /** @type {Set<ReturnType<typeof deferred<V>>>} */
1828
- var deferreds = /* @__PURE__ */ new Set();
1731
+ /** @type {Map<Batch, ReturnType<typeof deferred<V>>>} */
1732
+ var deferreds = /* @__PURE__ */ new Map();
1829
1733
  async_effect(() => {
1830
1734
  var effect = active_effect;
1831
1735
  /** @type {ReturnType<typeof deferred<V>>} */
1832
1736
  var d = deferred();
1833
1737
  promise = d.promise;
1834
1738
  try {
1835
- Promise.resolve(fn()).then(d.resolve, (e) => {
1836
- if (e !== STALE_REACTION) d.reject(e);
1837
- }).finally(unset_context);
1739
+ Promise.resolve(fn()).then(d.resolve, d.reject).finally(unset_context);
1838
1740
  } catch (error) {
1839
1741
  d.reject(error);
1840
1742
  unset_context();
@@ -1842,19 +1744,22 @@ function async_derived(fn, label, location) {
1842
1744
  var batch = current_batch;
1843
1745
  if (should_suspend) {
1844
1746
  if ((effect.f & 32768) !== 0) var decrement_pending = increment_pending();
1845
- if (parent.b?.is_rendered()) batch.async_deriveds.get(effect)?.reject(OBSOLETE);
1846
- else for (const d of deferreds.values()) d.reject(OBSOLETE);
1847
- deferreds.add(d);
1848
- batch.async_deriveds.set(effect, d);
1747
+ if (parent.b.is_rendered()) {
1748
+ deferreds.get(batch)?.reject(STALE_REACTION);
1749
+ deferreds.delete(batch);
1750
+ } else {
1751
+ for (const d of deferreds.values()) d.reject(STALE_REACTION);
1752
+ deferreds.clear();
1753
+ }
1754
+ deferreds.set(batch, d);
1849
1755
  }
1850
1756
  /**
1851
1757
  * @param {any} value
1852
1758
  * @param {unknown} error
1853
1759
  */
1854
1760
  const handler = (value, error = void 0) => {
1855
- decrement_pending?.();
1856
- deferreds.delete(d);
1857
- if (error === OBSOLETE) return;
1761
+ if (decrement_pending) decrement_pending(error === STALE_REACTION);
1762
+ if (error === STALE_REACTION || (effect.f & 16384) !== 0) return;
1858
1763
  batch.activate();
1859
1764
  if (error) {
1860
1765
  signal.f |= ERROR_VALUE;
@@ -1862,13 +1767,18 @@ function async_derived(fn, label, location) {
1862
1767
  } else {
1863
1768
  if ((signal.f & 8388608) !== 0) signal.f ^= ERROR_VALUE;
1864
1769
  internal_set(signal, value);
1770
+ for (const [b, d] of deferreds) {
1771
+ deferreds.delete(b);
1772
+ if (b === batch) break;
1773
+ d.reject(STALE_REACTION);
1774
+ }
1865
1775
  }
1866
1776
  batch.deactivate();
1867
1777
  };
1868
1778
  d.promise.then(handler, (e) => handler(null, e || "unknown"));
1869
1779
  });
1870
1780
  teardown(() => {
1871
- for (const d of deferreds) d.reject(OBSOLETE);
1781
+ for (const d of deferreds.values()) d.reject(STALE_REACTION);
1872
1782
  });
1873
1783
  return new Promise((fulfil) => {
1874
1784
  /** @param {Promise<V>} p */
@@ -1887,7 +1797,7 @@ function async_derived(fn, label, location) {
1887
1797
  * @param {() => V} fn
1888
1798
  * @returns {Derived<V>}
1889
1799
  */
1890
- /*#__NO_SIDE_EFFECTS__*/
1800
+ /* @__NO_SIDE_EFFECTS__ */
1891
1801
  function user_derived(fn) {
1892
1802
  const d = /* @__PURE__ */ derived(fn);
1893
1803
  if (!async_mode_flag) push_reaction_value(d);
@@ -1898,7 +1808,7 @@ function user_derived(fn) {
1898
1808
  * @param {() => V} fn
1899
1809
  * @returns {Derived<V>}
1900
1810
  */
1901
- /*#__NO_SIDE_EFFECTS__*/
1811
+ /* @__NO_SIDE_EFFECTS__ */
1902
1812
  function derived_safe_equal(fn) {
1903
1813
  const signal = /* @__PURE__ */ derived(fn);
1904
1814
  signal.equals = safe_equals;
@@ -1924,7 +1834,7 @@ function execute_derived(derived) {
1924
1834
  var value;
1925
1835
  var prev_active_effect = active_effect;
1926
1836
  var parent = derived.parent;
1927
- if (!is_destroying_effect && parent !== null && derived.v !== UNINITIALIZED && (parent.f & 24576) !== 0) {
1837
+ if (!is_destroying_effect && parent !== null && (parent.f & 24576) !== 0) {
1928
1838
  derived_inert();
1929
1839
  return derived.v;
1930
1840
  }
@@ -1947,10 +1857,8 @@ function update_derived(derived) {
1947
1857
  if (!derived.equals(value)) {
1948
1858
  derived.wv = increment_write_version();
1949
1859
  if (!current_batch?.is_fork || derived.deps === null) {
1950
- if (current_batch !== null) {
1951
- current_batch.capture(derived, value, true);
1952
- previous_batch?.capture(derived, value, true);
1953
- } else derived.v = value;
1860
+ if (current_batch !== null) current_batch.capture(derived, value, true);
1861
+ else derived.v = value;
1954
1862
  if (derived.deps === null) {
1955
1863
  set_signal_status(derived, CLEAN);
1956
1864
  return;
@@ -1970,7 +1878,7 @@ function freeze_derived_effects(derived) {
1970
1878
  for (const e of derived.effects) if (e.teardown || e.ac) {
1971
1879
  e.teardown?.();
1972
1880
  e.ac?.abort(STALE_REACTION);
1973
- if (e.fn !== null) e.teardown = noop;
1881
+ e.teardown = noop;
1974
1882
  e.ac = null;
1975
1883
  remove_reactions(e, 0);
1976
1884
  destroy_effect_children(e);
@@ -1981,12 +1889,12 @@ function freeze_derived_effects(derived) {
1981
1889
  */
1982
1890
  function unfreeze_derived_effects(derived) {
1983
1891
  if (derived.effects === null) return;
1984
- for (const e of derived.effects) if (e.teardown && e.fn !== null) update_effect(e);
1892
+ for (const e of derived.effects) if (e.teardown) update_effect(e);
1985
1893
  }
1986
1894
  //#endregion
1987
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/sources.js
1895
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/sources.js
1988
1896
  /** @import { Derived, Effect, Source, Value } from '#client' */
1989
- /** @type {Set<Effect>} */
1897
+ /** @type {Set<any>} */
1990
1898
  var eager_effects = /* @__PURE__ */ new Set();
1991
1899
  /** @type {Map<Source, any>} */
1992
1900
  var old_values = /* @__PURE__ */ new Map();
@@ -2012,7 +1920,7 @@ function source(v, stack) {
2012
1920
  * @param {V} v
2013
1921
  * @param {Error | null} [stack]
2014
1922
  */
2015
- /*#__NO_SIDE_EFFECTS__*/
1923
+ /* @__NO_SIDE_EFFECTS__ */
2016
1924
  function state(v, stack) {
2017
1925
  const s = source(v, stack);
2018
1926
  push_reaction_value(s);
@@ -2024,7 +1932,7 @@ function state(v, stack) {
2024
1932
  * @param {boolean} [immutable]
2025
1933
  * @returns {Source<V>}
2026
1934
  */
2027
- /*#__NO_SIDE_EFFECTS__*/
1935
+ /* @__NO_SIDE_EFFECTS__ */
2028
1936
  function mutable_source(initial_value, immutable = false, trackable = true) {
2029
1937
  const s = source(initial_value);
2030
1938
  if (!immutable) s.equals = safe_equals;
@@ -2042,7 +1950,7 @@ function mutable_source(initial_value, immutable = false, trackable = true) {
2042
1950
  * @returns {V}
2043
1951
  */
2044
1952
  function set(source, value, should_proxy = false) {
2045
- if (active_reaction !== null && (!untracking || (active_reaction.f & 131072) !== 0) && is_runes() && (active_reaction.f & 4325394) !== 0 && (current_sources === null || !current_sources.has(source))) state_unsafe_mutation();
1953
+ if (active_reaction !== null && (!untracking || (active_reaction.f & 131072) !== 0) && is_runes() && (active_reaction.f & 4325394) !== 0 && (current_sources === null || !includes.call(current_sources, source))) state_unsafe_mutation();
2046
1954
  return internal_set(source, should_proxy ? proxy(value) : value, legacy_updates);
2047
1955
  }
2048
1956
  /**
@@ -2074,13 +1982,7 @@ function flush_eager_effects() {
2074
1982
  eager_effects_deferred = false;
2075
1983
  for (const effect of eager_effects) {
2076
1984
  if ((effect.f & 1024) !== 0) set_signal_status(effect, MAYBE_DIRTY);
2077
- let dirty;
2078
- try {
2079
- dirty = is_dirty(effect);
2080
- } catch {
2081
- dirty = true;
2082
- }
2083
- if (dirty) update_effect(effect);
1985
+ if (is_dirty(effect)) update_effect(effect);
2084
1986
  }
2085
1987
  eager_effects.clear();
2086
1988
  }
@@ -2108,8 +2010,7 @@ function mark_reactions(signal, status, updated_during_traversal) {
2108
2010
  if (!runes && reaction === active_effect) continue;
2109
2011
  var not_dirty = (flags & DIRTY) === 0;
2110
2012
  if (not_dirty) set_signal_status(reaction, status);
2111
- if ((flags & 131072) !== 0) eager_effects.add(reaction);
2112
- else if ((flags & 2) !== 0) {
2013
+ if ((flags & 2) !== 0) {
2113
2014
  var derived = reaction;
2114
2015
  batch_values?.delete(derived);
2115
2016
  if ((flags & 65536) === 0) {
@@ -2282,19 +2183,8 @@ function proxy(value) {
2282
2183
  }
2283
2184
  });
2284
2185
  }
2285
- new Set([
2286
- "copyWithin",
2287
- "fill",
2288
- "pop",
2289
- "push",
2290
- "reverse",
2291
- "shift",
2292
- "sort",
2293
- "splice",
2294
- "unshift"
2295
- ]);
2296
2186
  //#endregion
2297
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/operations.js
2187
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/operations.js
2298
2188
  /** @import { Effect, TemplateNode } from '#client' */
2299
2189
  /** @type {Window} */
2300
2190
  var $window;
@@ -2318,13 +2208,13 @@ function init_operations() {
2318
2208
  first_child_getter = get_descriptor(node_prototype, "firstChild").get;
2319
2209
  next_sibling_getter = get_descriptor(node_prototype, "nextSibling").get;
2320
2210
  if (is_extensible(element_prototype)) {
2321
- /** @type {any} */ element_prototype[CLASS_CACHE] = void 0;
2322
- /** @type {any} */ element_prototype[ATTRIBUTES_CACHE] = null;
2323
- /** @type {any} */ element_prototype[STYLE_CACHE] = void 0;
2211
+ element_prototype.__click = void 0;
2212
+ element_prototype.__className = void 0;
2213
+ element_prototype.__attributes = null;
2214
+ element_prototype.__style = void 0;
2324
2215
  element_prototype.__e = void 0;
2325
2216
  }
2326
- if (is_extensible(text_prototype))
2327
- /** @type {any} */ text_prototype[TEXT_CACHE] = void 0;
2217
+ if (is_extensible(text_prototype)) text_prototype.__t = void 0;
2328
2218
  }
2329
2219
  /**
2330
2220
  * @param {string} value
@@ -2337,7 +2227,7 @@ function create_text(value = "") {
2337
2227
  * @template {Node} N
2338
2228
  * @param {N} node
2339
2229
  */
2340
- /*@__NO_SIDE_EFFECTS__*/
2230
+ /* @__NO_SIDE_EFFECTS__ */
2341
2231
  function get_first_child(node) {
2342
2232
  return first_child_getter.call(node);
2343
2233
  }
@@ -2345,7 +2235,7 @@ function get_first_child(node) {
2345
2235
  * @template {Node} N
2346
2236
  * @param {N} node
2347
2237
  */
2348
- /*@__NO_SIDE_EFFECTS__*/
2238
+ /* @__NO_SIDE_EFFECTS__ */
2349
2239
  function get_next_sibling(node) {
2350
2240
  return next_sibling_getter.call(node);
2351
2241
  }
@@ -2441,12 +2331,6 @@ function should_defer_append() {
2441
2331
  return (active_effect.f & REACTION_RAN) !== 0;
2442
2332
  }
2443
2333
  /**
2444
- * Branching here is intentional and load-bearing for perf. `createElement(tag)`
2445
- * hits a fast path in Blink that `createElementNS(NAMESPACE_HTML, tag)` doesn't,
2446
- * and passing an explicit `undefined` as the trailing options arg measurably
2447
- * slows both APIs. Funnelling every case through a single `createElementNS(ns,
2448
- * tag, options)` call would be smaller but slower on the HTML path.
2449
- *
2450
2334
  * @template {keyof HTMLElementTagNameMap | string} T
2451
2335
  * @param {T} tag
2452
2336
  * @param {string} [namespace]
@@ -2454,8 +2338,8 @@ function should_defer_append() {
2454
2338
  * @returns {T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : Element}
2455
2339
  */
2456
2340
  function create_element(tag, namespace, is) {
2457
- if (namespace == null || namespace === "http://www.w3.org/1999/xhtml") return is ? document.createElement(tag, { is }) : document.createElement(tag);
2458
- return is ? document.createElementNS(namespace, tag, { is }) : document.createElementNS(namespace, tag);
2341
+ let options = is ? { is } : void 0;
2342
+ return document.createElementNS(namespace ?? "http://www.w3.org/1999/xhtml", tag, options);
2459
2343
  }
2460
2344
  /**
2461
2345
  * Browsers split text nodes larger than 65536 bytes when parsing.
@@ -2472,21 +2356,20 @@ function merge_text_nodes(text) {
2472
2356
  }
2473
2357
  }
2474
2358
  //#endregion
2475
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/misc.js
2359
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/misc.js
2476
2360
  var listening_to_form_reset = false;
2477
2361
  function add_form_reset_listener() {
2478
2362
  if (!listening_to_form_reset) {
2479
2363
  listening_to_form_reset = true;
2480
2364
  document.addEventListener("reset", (evt) => {
2481
2365
  Promise.resolve().then(() => {
2482
- if (!evt.defaultPrevented) for (const e of evt.target.elements)
2483
- /** @type {any} */ e[FORM_RESET_HANDLER]?.();
2366
+ if (!evt.defaultPrevented) for (const e of evt.target.elements) e.__on_r?.();
2484
2367
  });
2485
2368
  }, { capture: true });
2486
2369
  }
2487
2370
  }
2488
2371
  //#endregion
2489
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js
2372
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js
2490
2373
  /**
2491
2374
  * @template T
2492
2375
  * @param {() => T} fn
@@ -2504,7 +2387,7 @@ function without_reactive_context(fn) {
2504
2387
  }
2505
2388
  }
2506
2389
  //#endregion
2507
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/effects.js
2390
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/effects.js
2508
2391
  /** @import { Blocker, ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */
2509
2392
  /**
2510
2393
  * @param {'$effect' | '$effect.pre' | '$inspect'} rune
@@ -2604,7 +2487,7 @@ function teardown(fn) {
2604
2487
  function user_effect(fn) {
2605
2488
  validate_effect("$effect");
2606
2489
  var flags = active_effect.f;
2607
- if (!active_reaction && (flags & 32) !== 0 && component_context !== null && !component_context.i) {
2490
+ if (!active_reaction && (flags & 32) !== 0 && (flags & 32768) === 0) {
2608
2491
  var context = component_context;
2609
2492
  (context.e ?? (context.e = [])).push(fn);
2610
2493
  } else return create_user_effect(fn);
@@ -2677,9 +2560,7 @@ function render_effect(fn, flags = 0) {
2677
2560
  */
2678
2561
  function template_effect(fn, sync = [], async = [], blockers = []) {
2679
2562
  flatten(blockers, sync, async, (values) => {
2680
- create_effect(8, () => {
2681
- fn(...values.map(get));
2682
- });
2563
+ create_effect(8, () => fn(...values.map(get)));
2683
2564
  });
2684
2565
  }
2685
2566
  /**
@@ -2755,7 +2636,7 @@ function destroy_effect(effect, remove_dom = true) {
2755
2636
  remove_effect_dom(effect.nodes.start, effect.nodes.end);
2756
2637
  removed = true;
2757
2638
  }
2758
- effect.f |= DESTROYING;
2639
+ set_signal_status(effect, DESTROYING);
2759
2640
  destroy_effect_children(effect, remove_dom && !removed);
2760
2641
  remove_reactions(effect, 0);
2761
2642
  var transitions = effect.nodes && effect.nodes.t;
@@ -2890,14 +2771,14 @@ function move_effect(effect, fragment) {
2890
2771
  }
2891
2772
  }
2892
2773
  //#endregion
2893
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/legacy.js
2774
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/legacy.js
2894
2775
  /**
2895
2776
  * @type {Set<Value> | null}
2896
2777
  * @deprecated
2897
2778
  */
2898
2779
  var captured_signals = null;
2899
2780
  //#endregion
2900
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/runtime.js
2781
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/runtime.js
2901
2782
  /** @import { Derived, Effect, Reaction, Source, Value } from '#client' */
2902
2783
  var is_updating_effect = false;
2903
2784
  var is_destroying_effect = false;
@@ -2921,12 +2802,13 @@ function set_active_effect(effect) {
2921
2802
  /**
2922
2803
  * When sources are created within a reaction, reading and writing
2923
2804
  * them within that reaction should not cause a re-run
2924
- * @type {null | Set<Source>}
2805
+ * @type {null | Source[]}
2925
2806
  */
2926
2807
  var current_sources = null;
2927
2808
  /** @param {Value} value */
2928
2809
  function push_reaction_value(value) {
2929
- if (active_reaction !== null && (!async_mode_flag || (active_reaction.f & 2) !== 0)) (current_sources ?? (current_sources = /* @__PURE__ */ new Set())).add(value);
2810
+ if (active_reaction !== null && (!async_mode_flag || (active_reaction.f & 2) !== 0)) if (current_sources === null) current_sources = [value];
2811
+ else current_sources.push(value);
2930
2812
  }
2931
2813
  /**
2932
2814
  * The dependencies of the reaction that is currently being executed. In many cases,
@@ -2991,7 +2873,7 @@ function is_dirty(reaction) {
2991
2873
  function schedule_possible_effect_self_invalidation(signal, effect, root = true) {
2992
2874
  var reactions = signal.reactions;
2993
2875
  if (reactions === null) return;
2994
- if (!async_mode_flag && current_sources !== null && current_sources.has(signal)) return;
2876
+ if (!async_mode_flag && current_sources !== null && includes.call(current_sources, signal)) return;
2995
2877
  for (var i = 0; i < reactions.length; i++) {
2996
2878
  var reaction = reactions[i];
2997
2879
  if ((reaction.f & 2) !== 0) schedule_possible_effect_self_invalidation(reaction, effect, false);
@@ -3146,7 +3028,7 @@ function get(signal) {
3146
3028
  var is_derived = (signal.f & 2) !== 0;
3147
3029
  captured_signals?.add(signal);
3148
3030
  if (active_reaction !== null && !untracking) {
3149
- if (!(active_effect !== null && (active_effect.f & 16384) !== 0) && (current_sources === null || !current_sources.has(signal))) {
3031
+ if (!(active_effect !== null && (active_effect.f & 16384) !== 0) && (current_sources === null || !includes.call(current_sources, signal))) {
3150
3032
  var deps = active_reaction.deps;
3151
3033
  if ((active_reaction.f & 2097152) !== 0) {
3152
3034
  if (signal.rv < read_version) {
@@ -3157,8 +3039,7 @@ function get(signal) {
3157
3039
  }
3158
3040
  } else {
3159
3041
  var _active_reaction;
3160
- (_active_reaction = active_reaction).deps ?? (_active_reaction.deps = []);
3161
- if (!includes.call(active_reaction.deps, signal)) active_reaction.deps.push(signal);
3042
+ ((_active_reaction = active_reaction).deps ?? (_active_reaction.deps = [])).push(signal);
3162
3043
  var reactions = signal.reactions;
3163
3044
  if (reactions === null) signal.reactions = [active_reaction];
3164
3045
  else if (!includes.call(reactions, active_reaction)) reactions.push(active_reaction);
@@ -3241,7 +3122,7 @@ function untrack(fn) {
3241
3122
  }
3242
3123
  }
3243
3124
  //#endregion
3244
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/events.js
3125
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/events.js
3245
3126
  /**
3246
3127
  * Used on elements, as a map of event type -> event handler,
3247
3128
  * and on events themselves to track which element handled an event
@@ -3298,7 +3179,8 @@ function handle_event_propagation(event) {
3298
3179
  */
3299
3180
  var other_errors = [];
3300
3181
  while (current_target !== null) {
3301
- if (current_target === handler_element) break;
3182
+ /** @type {null | Element} */
3183
+ var parent_element = current_target.assignedSlot || current_target.parentNode || current_target.host || null;
3302
3184
  try {
3303
3185
  var delegated = current_target[event_symbol]?.[event_name];
3304
3186
  if (delegated != null && (!current_target.disabled || event.target === current_target)) delegated.call(current_target, event);
@@ -3306,9 +3188,8 @@ function handle_event_propagation(event) {
3306
3188
  if (throw_error) other_errors.push(error);
3307
3189
  else throw_error = error;
3308
3190
  }
3309
- if (event.cancelBubble) break;
3310
- path_idx++;
3311
- current_target = path_idx < path.length ? path[path_idx] : null;
3191
+ if (event.cancelBubble || parent_element === handler_element || parent_element === null) break;
3192
+ current_target = parent_element;
3312
3193
  }
3313
3194
  if (throw_error) {
3314
3195
  for (let error of other_errors) queueMicrotask(() => {
@@ -3324,7 +3205,7 @@ function handle_event_propagation(event) {
3324
3205
  }
3325
3206
  }
3326
3207
  //#endregion
3327
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/reconciler.js
3208
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/reconciler.js
3328
3209
  var policy = globalThis?.window?.trustedTypes && /* @__PURE__ */ globalThis.window.trustedTypes.createPolicy("svelte-trusted-html", {
3329
3210
  /** @param {string} html */
3330
3211
  createHTML: (html) => {
@@ -3343,7 +3224,7 @@ function create_fragment_from_html(html) {
3343
3224
  return elem.content;
3344
3225
  }
3345
3226
  //#endregion
3346
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/template.js
3227
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/template.js
3347
3228
  /** @import { Effect, EffectNodes, TemplateNode } from '#client' */
3348
3229
  /** @import { TemplateStructure } from './types' */
3349
3230
  /**
@@ -3364,7 +3245,7 @@ function assign_nodes(start, end) {
3364
3245
  * @param {number} flags
3365
3246
  * @returns {() => Node | Node[]}
3366
3247
  */
3367
- /*#__NO_SIDE_EFFECTS__*/
3248
+ /* @__NO_SIDE_EFFECTS__ */
3368
3249
  function from_html(content, flags) {
3369
3250
  var is_fragment = (flags & 1) !== 0;
3370
3251
  var use_import_node = (flags & 2) !== 0;
@@ -3399,7 +3280,7 @@ function from_html(content, flags) {
3399
3280
  * @param {'svg' | 'math'} ns
3400
3281
  * @returns {() => Node | Node[]}
3401
3282
  */
3402
- /*#__NO_SIDE_EFFECTS__*/
3283
+ /* @__NO_SIDE_EFFECTS__ */
3403
3284
  function from_namespace(content, flags, ns = "svg") {
3404
3285
  /**
3405
3286
  * Whether or not the first item is a text/element node. If not, we need to
@@ -3435,7 +3316,7 @@ function from_namespace(content, flags, ns = "svg") {
3435
3316
  * @param {string} content
3436
3317
  * @param {number} flags
3437
3318
  */
3438
- /*#__NO_SIDE_EFFECTS__*/
3319
+ /* @__NO_SIDE_EFFECTS__ */
3439
3320
  function from_svg(content, flags) {
3440
3321
  return /* @__PURE__ */ from_namespace(content, flags, "svg");
3441
3322
  }
@@ -3493,10 +3374,9 @@ function is_passive_event(name) {
3493
3374
  * @returns {void}
3494
3375
  */
3495
3376
  function set_text(text, value) {
3496
- var _text;
3497
3377
  var str = value == null ? "" : typeof value === "object" ? `${value}` : value;
3498
- if (str !== ((_text = text)[TEXT_CACHE] ?? (_text[TEXT_CACHE] = text.nodeValue))) {
3499
- /** @type {any} */ text[TEXT_CACHE] = str;
3378
+ if (str !== (text.__t ?? (text.__t = text.nodeValue))) {
3379
+ text.__t = str;
3500
3380
  text.nodeValue = `${str}`;
3501
3381
  }
3502
3382
  }
@@ -3676,7 +3556,7 @@ function unmount(component, options) {
3676
3556
  return Promise.resolve();
3677
3557
  }
3678
3558
  //#endregion
3679
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/blocks/branches.js
3559
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/blocks/branches.js
3680
3560
  /** @import { Effect, TemplateNode } from '#client' */
3681
3561
  var _batches = /* @__PURE__ */ new WeakMap();
3682
3562
  var _onscreen = /* @__PURE__ */ new WeakMap();
@@ -3718,7 +3598,6 @@ var BranchManager = class {
3718
3598
  } else {
3719
3599
  var offscreen = _classPrivateFieldGet2(_offscreen, this).get(key);
3720
3600
  if (offscreen) {
3721
- resume_effect(offscreen.effect);
3722
3601
  _classPrivateFieldGet2(_onscreen, this).set(key, offscreen.effect);
3723
3602
  _classPrivateFieldGet2(_offscreen, this).delete(key);
3724
3603
  /** @type {TemplateNode} */ offscreen.fragment.lastChild.remove();
@@ -3799,7 +3678,7 @@ var BranchManager = class {
3799
3678
  }
3800
3679
  };
3801
3680
  //#endregion
3802
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/blocks/if.js
3681
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/blocks/if.js
3803
3682
  /** @import { TemplateNode } from '#client' */
3804
3683
  /**
3805
3684
  * @param {TemplateNode} node
@@ -3845,7 +3724,7 @@ function if_block(node, fn, elseif = false) {
3845
3724
  }, flags);
3846
3725
  }
3847
3726
  //#endregion
3848
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/blocks/each.js
3727
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/blocks/each.js
3849
3728
  /** @import { EachItem, EachOutroGroup, EachState, Effect, EffectNodes, MaybeSource, Source, TemplateNode, TransitionManager, Value } from '#client' */
3850
3729
  /** @import { Batch } from '../../reactivity/batch.js'; */
3851
3730
  /**
@@ -4310,7 +4189,7 @@ function html(node, get_value, is_controlled = false, svg = false, mathml = fals
4310
4189
  });
4311
4190
  }
4312
4191
  //#endregion
4313
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/css.js
4192
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/css.js
4314
4193
  /**
4315
4194
  * @param {Node} anchor
4316
4195
  * @param {{ hash: string, code: string }} css
@@ -4328,7 +4207,7 @@ function append_styles$1(anchor, css) {
4328
4207
  });
4329
4208
  }
4330
4209
  //#endregion
4331
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/shared/attributes.js
4210
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/shared/attributes.js
4332
4211
  var whitespace = [..." \n\r\f\xA0\v"];
4333
4212
  /**
4334
4213
  * @param {any} value
@@ -4438,7 +4317,7 @@ function to_style(value, styles) {
4438
4317
  return value == null ? null : String(value);
4439
4318
  }
4440
4319
  //#endregion
4441
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/class.js
4320
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/class.js
4442
4321
  /**
4443
4322
  * @param {Element} dom
4444
4323
  * @param {boolean | number} is_html
@@ -4449,13 +4328,13 @@ function to_style(value, styles) {
4449
4328
  * @returns {Record<string, boolean> | undefined}
4450
4329
  */
4451
4330
  function set_class(dom, is_html, value, hash, prev_classes, next_classes) {
4452
- var prev = dom[CLASS_CACHE];
4331
+ var prev = dom.__className;
4453
4332
  if (hydrating || prev !== value || prev === void 0) {
4454
4333
  var next_class_name = to_class(value, hash, next_classes);
4455
4334
  if (!hydrating || next_class_name !== dom.getAttribute("class")) if (next_class_name == null) dom.removeAttribute("class");
4456
4335
  else if (is_html) dom.className = next_class_name;
4457
4336
  else dom.setAttribute("class", next_class_name);
4458
- /** @type {any} */ dom[CLASS_CACHE] = value;
4337
+ dom.__className = value;
4459
4338
  } else if (next_classes && prev_classes !== next_classes) for (var key in next_classes) {
4460
4339
  var is_present = !!next_classes[key];
4461
4340
  if (prev_classes == null || is_present !== !!prev_classes[key]) dom.classList.toggle(key, is_present);
@@ -4463,7 +4342,7 @@ function set_class(dom, is_html, value, hash, prev_classes, next_classes) {
4463
4342
  return next_classes;
4464
4343
  }
4465
4344
  //#endregion
4466
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/style.js
4345
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/style.js
4467
4346
  /**
4468
4347
  * @param {Element & ElementCSSInlineStyle} dom
4469
4348
  * @param {Record<string, any>} prev
@@ -4484,12 +4363,12 @@ function update_styles(dom, prev = {}, next, priority) {
4484
4363
  * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [next_styles]
4485
4364
  */
4486
4365
  function set_style(dom, value, prev_styles, next_styles) {
4487
- var prev = dom[STYLE_CACHE];
4366
+ var prev = dom.__style;
4488
4367
  if (hydrating || prev !== value) {
4489
4368
  var next_style_attr = to_style(value, next_styles);
4490
4369
  if (!hydrating || next_style_attr !== dom.getAttribute("style")) if (next_style_attr == null) dom.removeAttribute("style");
4491
4370
  else dom.style.cssText = next_style_attr;
4492
- /** @type {any} */ dom[STYLE_CACHE] = value;
4371
+ dom.__style = value;
4493
4372
  } else if (next_styles) if (Array.isArray(next_styles)) {
4494
4373
  update_styles(dom, prev_styles?.[0], next_styles[0]);
4495
4374
  update_styles(dom, prev_styles?.[1], next_styles[1], "important");
@@ -4497,7 +4376,7 @@ function set_style(dom, value, prev_styles, next_styles) {
4497
4376
  return next_styles;
4498
4377
  }
4499
4378
  //#endregion
4500
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/attributes.js
4379
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/attributes.js
4501
4380
  /** @import { Blocker, Effect } from '#client' */
4502
4381
  var IS_CUSTOM_ELEMENT = Symbol("is custom element");
4503
4382
  var IS_HTML = Symbol("is html");
@@ -4526,7 +4405,7 @@ function remove_input_defaults(input) {
4526
4405
  input.checked = checked;
4527
4406
  }
4528
4407
  };
4529
- /** @type {any} */ input[FORM_RESET_HANDLER] = remove_defaults;
4408
+ input.__on_r = remove_defaults;
4530
4409
  queue_micro_task(remove_defaults);
4531
4410
  add_form_reset_listener();
4532
4411
  }
@@ -4574,8 +4453,7 @@ function set_attribute(element, attribute, value, skip_warning) {
4574
4453
  * @param {Element} element
4575
4454
  */
4576
4455
  function get_attributes(element) {
4577
- var _element;
4578
- return (_element = element)[ATTRIBUTES_CACHE] ?? (_element[ATTRIBUTES_CACHE] = {
4456
+ return element.__attributes ?? (element.__attributes = {
4579
4457
  [IS_CUSTOM_ELEMENT]: element.nodeName.includes("-"),
4580
4458
  [IS_HTML]: element.namespaceURI === "http://www.w3.org/1999/xhtml"
4581
4459
  });
@@ -4593,13 +4471,13 @@ function get_setters(element) {
4593
4471
  var element_proto = Element.prototype;
4594
4472
  while (element_proto !== proto) {
4595
4473
  descriptors = get_descriptors(proto);
4596
- for (var key in descriptors) if (descriptors[key].set && key !== "innerHTML" && key !== "textContent" && key !== "innerText") setters.push(key);
4474
+ for (var key in descriptors) if (descriptors[key].set) setters.push(key);
4597
4475
  proto = get_prototype_of(proto);
4598
4476
  }
4599
4477
  return setters;
4600
4478
  }
4601
4479
  //#endregion
4602
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/bindings/size.js
4480
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/bindings/size.js
4603
4481
  var _ResizeObserverSingleton;
4604
4482
  var _listeners = /* @__PURE__ */ new WeakMap();
4605
4483
  var _observer = /* @__PURE__ */ new WeakMap();
@@ -4651,7 +4529,7 @@ function _getObserver() {
4651
4529
  }
4652
4530
  _defineProperty(ResizeObserverSingleton, "entries", /* @__PURE__ */ new WeakMap());
4653
4531
  //#endregion
4654
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/bindings/this.js
4532
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/bindings/this.js
4655
4533
  /** @import { ComponentContext, Effect } from '#client' */
4656
4534
  /**
4657
4535
  * @param {any} bound_value
@@ -4681,7 +4559,7 @@ function bind_this(element_or_component = {}, update, get_value, get_parts) {
4681
4559
  old_parts = parts;
4682
4560
  parts = get_parts?.() || [];
4683
4561
  untrack(() => {
4684
- if (!is_bound_this(get_value(...parts), element_or_component)) {
4562
+ if (element_or_component !== get_value(...parts)) {
4685
4563
  update(element_or_component, ...parts);
4686
4564
  if (old_parts && is_bound_this(get_value(...old_parts), element_or_component)) update(null, ...old_parts);
4687
4565
  }
@@ -4703,8 +4581,8 @@ function bind_this(element_or_component = {}, update, get_value, get_parts) {
4703
4581
  return element_or_component;
4704
4582
  }
4705
4583
  //#endregion
4706
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/reactivity/props.js
4707
- /** @import { Derived, Effect, Source } from './types.js' */
4584
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/reactivity/props.js
4585
+ /** @import { Effect, Source } from './types.js' */
4708
4586
  /**
4709
4587
  * This function is responsible for synchronizing a possibly bound prop with the inner component state.
4710
4588
  * It is used whenever the compiler sees that the component writes to the prop, or when it has a default prop_value.
@@ -4721,12 +4599,7 @@ function prop(props, key, flags, fallback) {
4721
4599
  var lazy = (flags & 16) !== 0;
4722
4600
  var fallback_value = fallback;
4723
4601
  var fallback_dirty = true;
4724
- var fallback_signal = void 0;
4725
4602
  var get_fallback = () => {
4726
- if (lazy && runes) {
4727
- fallback_signal ?? (fallback_signal = /* @__PURE__ */ derived(fallback));
4728
- return get(fallback_signal);
4729
- }
4730
4603
  if (fallback_dirty) {
4731
4604
  fallback_dirty = false;
4732
4605
  fallback_value = lazy ? untrack(fallback) : fallback;
@@ -4796,7 +4669,7 @@ function prop(props, key, flags, fallback) {
4796
4669
  });
4797
4670
  }
4798
4671
  //#endregion
4799
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/legacy/legacy-client.js
4672
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/legacy/legacy-client.js
4800
4673
  /** @import { ComponentConstructorOptions, ComponentType, SvelteComponent, Component } from 'svelte' */
4801
4674
  /**
4802
4675
  * Takes the same options as a Svelte 4 component and the component function and returns a Svelte 4 compatible component.
@@ -4915,7 +4788,7 @@ var Svelte4Component = class {
4915
4788
  }
4916
4789
  };
4917
4790
  //#endregion
4918
- //#region ../../../node_modules/.bun/svelte@5.56.1/node_modules/svelte/src/internal/client/dom/elements/custom-element.js
4791
+ //#region ../../../node_modules/.bun/svelte@5.55.5/node_modules/svelte/src/internal/client/dom/elements/custom-element.js
4919
4792
  /**
4920
4793
  * @typedef {Object} CustomElementPropDefinition
4921
4794
  * @property {string} [attribute]
@@ -5363,11 +5236,11 @@ function computeAudioMode(params) {
5363
5236
  }
5364
5237
  //#endregion
5365
5238
  //#region src/delivery/AudioPlayer.svelte
5366
- var root$3 = /* @__PURE__ */ from_html(`<audio class="sr-only pie-audio-player svelte-ypdwb3" preload="metadata" aria-hidden="true" tabindex="-1"></audio> <button class="listen-button pie-listen-button rli-feature-audio svelte-ypdwb3" type="button"><img/> <img/></button>`, 1);
5367
- var root_1$3 = /* @__PURE__ */ from_html(`<button class="mt-2 text-sm underline pie-audio-autoplay-enable" type="button"> </button>`);
5368
- var root_2$3 = /* @__PURE__ */ from_html(`<audio controls="" class="w-full max-w-md pie-audio-player" preload="metadata"><track kind="captions"/></audio> <!>`, 1);
5369
- var root_3$3 = /* @__PURE__ */ from_html(`<p class="text-sm text-red-700 pie-audio-error" role="alert"> </p>`);
5370
- var root_4$2 = /* @__PURE__ */ from_html(`<div class="mb-4 audio-container pie-audio-container"><!></div>`);
5239
+ var root_2$3 = /* @__PURE__ */ from_html(`<audio class="sr-only pie-audio-player svelte-ypdwb3" preload="metadata" aria-hidden="true" tabindex="-1"></audio> <button class="listen-button pie-listen-button rli-feature-audio svelte-ypdwb3" type="button"><img/> <img/></button>`, 1);
5240
+ var root_4$2 = /* @__PURE__ */ from_html(`<button class="mt-2 text-sm underline pie-audio-autoplay-enable" type="button"> </button>`);
5241
+ var root_3$3 = /* @__PURE__ */ from_html(`<audio controls="" class="w-full max-w-md pie-audio-player" preload="metadata"><track kind="captions"/></audio> <!>`, 1);
5242
+ var root_5$2 = /* @__PURE__ */ from_html(`<p class="text-sm text-red-700 pie-audio-error" role="alert"> </p>`);
5243
+ var root_1$3 = /* @__PURE__ */ from_html(`<div class="mb-4 audio-container pie-audio-container"><!></div>`);
5371
5244
  var $$css$3 = {
5372
5245
  hash: "svelte-ypdwb3",
5373
5246
  code: ".listen-button.svelte-ypdwb3 {width:var(--mpb-listen-button-size, 128px);height:var(--mpb-listen-button-size, 128px);border:0;padding:0;background-color:transparent;cursor:pointer;z-index:1;}.listen-button.svelte-ypdwb3:hover {background-color:#e2f1fe;}.listen-feature-icon.svelte-ypdwb3 {width:var(--mpb-listen-button-size, 128px);height:var(--mpb-listen-button-size, 128px);object-fit:contain;display:none;}.listen-feature-icon.listen-active.svelte-ypdwb3 {display:block;}.sr-only.svelte-ypdwb3 {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}"
@@ -5532,10 +5405,10 @@ function AudioPlayer($$anchor, $$props) {
5532
5405
  var fragment = comment();
5533
5406
  var node = first_child(fragment);
5534
5407
  var consequent_4 = ($$anchor) => {
5535
- var div = root_4$2();
5408
+ var div = root_1$3();
5536
5409
  var node_1 = child(div);
5537
5410
  var consequent = ($$anchor) => {
5538
- var fragment_1 = root$3();
5411
+ var fragment_1 = root_2$3();
5539
5412
  var audio = first_child(fragment_1);
5540
5413
  bind_this(audio, ($$value) => set(audioEl, $$value), () => get(audioEl));
5541
5414
  var button = sibling(audio, 2);
@@ -5560,12 +5433,12 @@ function AudioPlayer($$anchor, $$props) {
5560
5433
  append($$anchor, fragment_1);
5561
5434
  };
5562
5435
  var consequent_2 = ($$anchor) => {
5563
- var fragment_2 = root_2$3();
5436
+ var fragment_2 = root_3$3();
5564
5437
  var audio_1 = first_child(fragment_2);
5565
5438
  bind_this(audio_1, ($$value) => set(audioEl, $$value), () => get(audioEl));
5566
5439
  var node_2 = sibling(audio_1, 2);
5567
5440
  var consequent_1 = ($$anchor) => {
5568
- var button_1 = root_1$3();
5441
+ var button_1 = root_4$2();
5569
5442
  var text = child(button_1, true);
5570
5443
  reset(button_1);
5571
5444
  bind_this(button_1, ($$value) => set(autoplayEnableButtonEl, $$value), () => get(autoplayEnableButtonEl));
@@ -5582,7 +5455,7 @@ function AudioPlayer($$anchor, $$props) {
5582
5455
  append($$anchor, fragment_2);
5583
5456
  };
5584
5457
  var consequent_3 = ($$anchor) => {
5585
- var p = root_3$3();
5458
+ var p = root_5$2();
5586
5459
  var text_1 = child(p, true);
5587
5460
  reset(p);
5588
5461
  template_effect(() => set_text(text_1, get(audioErrorMessage)));
@@ -5618,10 +5491,10 @@ create_custom_element(AudioPlayer, {
5618
5491
  }, [], [], { mode: "open" });
5619
5492
  //#endregion
5620
5493
  //#region src/delivery/ClozeMarker.svelte
5621
- var root$2 = /* @__PURE__ */ from_html(`<img class="w-auto object-contain pie-blank-image" style="max-height:var(--mpb-selected-image-max-height, 4rem);"/>`);
5622
- var root_1$2 = /* @__PURE__ */ from_html(`<span class="cloze-marker-value pie-blank-value svelte-d9l5tb"></span>`);
5623
- var root_2$2 = /* @__PURE__ */ from_html(`<span class="cloze-marker-empty svelte-d9l5tb" aria-hidden="true">&nbsp;</span>`);
5624
- var root_3$2 = /* @__PURE__ */ from_html(`<span role="status" aria-live="polite" aria-atomic="true"><!></span>`);
5494
+ var root_1$2 = /* @__PURE__ */ from_html(`<img class="w-auto object-contain pie-blank-image" style="max-height:var(--mpb-selected-image-max-height, 4rem);"/>`);
5495
+ var root_2$2 = /* @__PURE__ */ from_html(`<span class="cloze-marker-value pie-blank-value svelte-d9l5tb"></span>`);
5496
+ var root_3$2 = /* @__PURE__ */ from_html(`<span class="cloze-marker-empty svelte-d9l5tb" aria-hidden="true">&nbsp;</span>`);
5497
+ var root$2 = /* @__PURE__ */ from_html(`<span role="status" aria-live="polite" aria-atomic="true"><!></span>`);
5625
5498
  var $$css$2 = {
5626
5499
  hash: "svelte-d9l5tb",
5627
5500
  code: ".cloze-marker.svelte-d9l5tb {display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:baseline;}.cloze-marker.svelte-d9l5tb:focus-within {outline:2px solid var(--pie-focus, #2563eb);outline-offset:2px;}.cloze-marker-standalone.svelte-d9l5tb {width:var(--mpb-blank-standalone-width, 7rem);}.cloze-marker-empty.svelte-d9l5tb {display:inline-block;min-width:4ch;}.cloze-marker-value.svelte-d9l5tb {width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center;}.cloze-marker-value.svelte-d9l5tb p {margin:0;}"
@@ -5681,10 +5554,10 @@ function ClozeMarker($$anchor, $$props) {
5681
5554
  flushSync();
5682
5555
  }
5683
5556
  };
5684
- var span = root_3$2();
5557
+ var span = root$2();
5685
5558
  var node = child(span);
5686
5559
  var consequent = ($$anchor) => {
5687
- var img = root$2();
5560
+ var img = root_1$2();
5688
5561
  template_effect(() => {
5689
5562
  set_attribute(img, "src", displayChoice().imageUrl);
5690
5563
  set_attribute(img, "alt", displayChoice().imageAlt || "Selected answer image");
@@ -5692,13 +5565,13 @@ function ClozeMarker($$anchor, $$props) {
5692
5565
  append($$anchor, img);
5693
5566
  };
5694
5567
  var consequent_1 = ($$anchor) => {
5695
- var span_1 = root_1$2();
5568
+ var span_1 = root_2$2();
5696
5569
  html(span_1, displayChoiceLabelHtml, true);
5697
5570
  reset(span_1);
5698
5571
  append($$anchor, span_1);
5699
5572
  };
5700
5573
  var alternate = ($$anchor) => {
5701
- append($$anchor, root_2$2());
5574
+ append($$anchor, root_3$2());
5702
5575
  };
5703
5576
  if_block(node, ($$render) => {
5704
5577
  if (choiceMode() === "image" && displayChoice()?.imageUrl) $$render(consequent);
@@ -5725,12 +5598,14 @@ create_custom_element(ClozeMarker, {
5725
5598
  }, [], [], { mode: "open" });
5726
5599
  //#endregion
5727
5600
  //#region src/delivery/ChoiceRow.svelte
5728
- var root$1 = /* @__PURE__ */ from_html(`<img class="object-contain pie-choice-image" style="max-height:var(--mpb-choice-image-max-height, 5rem);"/>`);
5729
- var root_1$1 = /* @__PURE__ */ from_html(`<span class="choice-html pie-choice-label svelte-8xu1pt"></span>`);
5730
- var root_2$1 = /* @__PURE__ */ from_html(`<label class="cursor-pointer choice-tile text-center pie-choice-tile svelte-8xu1pt"><span class="choice-tile-content pie-choice-tile-content svelte-8xu1pt"><!></span> <input type="radio" class="choice-radio-bottom pie-choice-radio pie-choice-radio-bottom svelte-8xu1pt"/></label>`);
5731
- var root_3$1 = /* @__PURE__ */ from_html(`<input type="radio" class="choice-radio-inline pie-choice-radio pie-choice-radio-inline svelte-8xu1pt"/> <label class="cursor-pointer flex-1 pie-choice-label-wrap svelte-8xu1pt"><!></label>`, 1);
5732
- var root_4$1 = /* @__PURE__ */ from_html(`<span aria-hidden="true"> </span>`);
5733
- var root_5$1 = /* @__PURE__ */ from_html(`<div style="gap:var(--mpb-choice-row-gap, 0.5rem);"><!> <!></div>`);
5601
+ var root_2$1 = /* @__PURE__ */ from_html(`<img class="object-contain pie-choice-image" style="max-height:var(--mpb-choice-image-max-height, 5rem);"/>`);
5602
+ var root_3$1 = /* @__PURE__ */ from_html(`<span class="choice-html pie-choice-label svelte-8xu1pt"></span>`);
5603
+ var root_1$1 = /* @__PURE__ */ from_html(`<label class="cursor-pointer choice-tile text-center pie-choice-tile svelte-8xu1pt"><span class="choice-tile-content pie-choice-tile-content svelte-8xu1pt"><!></span> <input type="radio" class="choice-radio-bottom pie-choice-radio pie-choice-radio-bottom svelte-8xu1pt"/></label>`);
5604
+ var root_5$1 = /* @__PURE__ */ from_html(`<img class="object-contain pie-choice-image" style="max-height:var(--mpb-choice-image-max-height, 5rem);"/>`);
5605
+ var root_6$1 = /* @__PURE__ */ from_html(`<span class="choice-html pie-choice-label svelte-8xu1pt"></span>`);
5606
+ var root_4$1 = /* @__PURE__ */ from_html(`<input type="radio" class="choice-radio-inline pie-choice-radio pie-choice-radio-inline svelte-8xu1pt"/> <label class="cursor-pointer flex-1 pie-choice-label-wrap svelte-8xu1pt"><!></label>`, 1);
5607
+ var root_7$1 = /* @__PURE__ */ from_html(`<span aria-hidden="true"> </span>`);
5608
+ var root$1 = /* @__PURE__ */ from_html(`<div style="gap:var(--mpb-choice-row-gap, 0.5rem);"><!> <!></div>`);
5734
5609
  var $$css$1 = {
5735
5610
  hash: "svelte-8xu1pt",
5736
5611
  code: ".choice-row-horizontal.svelte-8xu1pt {flex-direction:column;align-items:center;width:min(var(--mpb-choice-width-px, 170px), var(--mpb-choice-width-vw, 30vw));min-height:var(--mpb-choice-tile-min-height, 11rem);gap:0;}.choice-tile.svelte-8xu1pt {display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;min-height:var(--mpb-choice-tile-min-height, 11rem);padding:0.8rem 0.65rem 0.5rem;border-radius:8px;background:transparent;transition:background-color 120ms ease-in-out;}.choice-tile-content.svelte-8xu1pt {width:100%;display:flex;align-items:center;justify-content:center;min-height:var(--mpb-choice-content-min-height, 7.5rem);}.choice-row-horizontal.svelte-8xu1pt:hover .choice-tile:where(.svelte-8xu1pt) {background:var(--mpb-choice-hover-bg, var(--pie-correct-answer-choice-hover-bg, #f2f2f2));}.pie-choice-horizontal.svelte-8xu1pt:not(.is-selected):not(:hover) .pie-choice-tile:where(.svelte-8xu1pt) {background:transparent;}.choice-row-horizontal.is-selected.svelte-8xu1pt .choice-tile:where(.svelte-8xu1pt) {background:var(--mpb-choice-selected-bg, var(--pie-correct-answer-choice-selected-bg, #fcfcd3));}.choice-row-horizontal.is-selected.svelte-8xu1pt:hover .choice-tile:where(.svelte-8xu1pt) {background:var(--mpb-choice-selected-bg, var(--pie-correct-answer-choice-selected-bg, #fcfcd3));}.pie-choice.svelte-8xu1pt:not(.pie-choice-horizontal):hover .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:var(--pie-correct-answer-choice-hover-bg, #ececec);}.pie-choice.svelte-8xu1pt:not(.pie-choice-horizontal):not(.is-selected):not(:hover) .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:transparent;}.pie-choice:not(.pie-choice-horizontal).is-selected.svelte-8xu1pt .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:var(--pie-correct-answer-choice-selected-bg, #f1f1f1);border-radius:6px;}.pie-choice:not(.pie-choice-horizontal).is-selected.svelte-8xu1pt:hover .pie-choice-label-wrap:where(.svelte-8xu1pt) {background:var(--pie-correct-answer-choice-selected-bg, #f1f1f1);}.pie-choice.choice-correct.svelte-8xu1pt {border-left:3px solid var(--pie-correct-answer-choice-correct-border, #0ea449);}.pie-choice.choice-incorrect.svelte-8xu1pt {border-left:3px solid var(--pie-correct-answer-choice-incorrect-border, #bf0d00);}.pie-choice-horizontal.choice-correct.svelte-8xu1pt .choice-tile:where(.svelte-8xu1pt) {background:var(--pie-correct-answer-choice-correct-bg, #e8f5e9);}.pie-choice-horizontal.choice-incorrect.svelte-8xu1pt .choice-tile:where(.svelte-8xu1pt) {background:var(--pie-correct-answer-choice-incorrect-bg, #ffebee);}.pie-choice-feedback-badge.svelte-8xu1pt {margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:9999px;font-size:0.72rem;line-height:1;font-weight:700;color:var(--pie-correct-answer-feedback-glyph-color, #fff);}.pie-choice-feedback-correct.svelte-8xu1pt {background:var(--pie-correct-answer-feedback-correct-bg, #087d38);}.pie-choice-feedback-incorrect.svelte-8xu1pt {background:var(--pie-correct-answer-feedback-incorrect-bg, #bf0d00);}.choice-row-horizontal.svelte-8xu1pt p {margin:0;text-align:center;}.choice-html.svelte-8xu1pt p {margin:0;}.choice-html.svelte-8xu1pt {width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center;}.choice-radio-bottom.svelte-8xu1pt {margin-top:var(--mpb-horizontal-choice-radio-top-margin, 0.5rem);padding:var(--mpb-choice-radio-padding, 0px);}.choice-radio-inline.svelte-8xu1pt {margin-top:var(--mpb-horizontal-choice-radio-top-margin, 0.5rem);}"
@@ -5804,14 +5679,14 @@ function ChoiceRow($$anchor, $$props) {
5804
5679
  flushSync();
5805
5680
  }
5806
5681
  };
5807
- var div = root_5$1();
5682
+ var div = root$1();
5808
5683
  var node = child(div);
5809
5684
  var consequent_1 = ($$anchor) => {
5810
- var label = root_2$1();
5685
+ var label = root_1$1();
5811
5686
  var span = child(label);
5812
5687
  var node_1 = child(span);
5813
5688
  var consequent = ($$anchor) => {
5814
- var img = root$1();
5689
+ var img = root_2$1();
5815
5690
  template_effect(() => {
5816
5691
  set_attribute(img, "src", choice().imageUrl);
5817
5692
  set_attribute(img, "alt", choice().imageAlt || `Choice ${choice().id}`);
@@ -5819,7 +5694,7 @@ function ChoiceRow($$anchor, $$props) {
5819
5694
  append($$anchor, img);
5820
5695
  };
5821
5696
  var alternate = ($$anchor) => {
5822
- var span_1 = root_1$1();
5697
+ var span_1 = root_3$1();
5823
5698
  html(span_1, () => choice().labelHtml || "", true);
5824
5699
  reset(span_1);
5825
5700
  append($$anchor, span_1);
@@ -5843,13 +5718,13 @@ function ChoiceRow($$anchor, $$props) {
5843
5718
  append($$anchor, label);
5844
5719
  };
5845
5720
  var alternate_2 = ($$anchor) => {
5846
- var fragment = root_3$1();
5721
+ var fragment = root_4$1();
5847
5722
  var input_1 = first_child(fragment);
5848
5723
  remove_input_defaults(input_1);
5849
5724
  var label_1 = sibling(input_1, 2);
5850
5725
  var node_2 = child(label_1);
5851
5726
  var consequent_2 = ($$anchor) => {
5852
- var img_1 = root$1();
5727
+ var img_1 = root_5$1();
5853
5728
  template_effect(() => {
5854
5729
  set_attribute(img_1, "src", choice().imageUrl);
5855
5730
  set_attribute(img_1, "alt", choice().imageAlt || `Choice ${choice().id}`);
@@ -5857,7 +5732,7 @@ function ChoiceRow($$anchor, $$props) {
5857
5732
  append($$anchor, img_1);
5858
5733
  };
5859
5734
  var alternate_1 = ($$anchor) => {
5860
- var span_2 = root_1$1();
5735
+ var span_2 = root_6$1();
5861
5736
  html(span_2, () => choice().labelHtml || "", true);
5862
5737
  reset(span_2);
5863
5738
  append($$anchor, span_2);
@@ -5883,7 +5758,7 @@ function ChoiceRow($$anchor, $$props) {
5883
5758
  });
5884
5759
  var node_3 = sibling(node, 2);
5885
5760
  var consequent_3 = ($$anchor) => {
5886
- var span_3 = root_4$1();
5761
+ var span_3 = root_7$1();
5887
5762
  var text = child(span_3, true);
5888
5763
  reset(span_3);
5889
5764
  template_effect(() => {
@@ -6259,7 +6134,7 @@ function computeLegendText(params) {
6259
6134
  }
6260
6135
  //#endregion
6261
6136
  //#region src/delivery/cqt-css/sel-r1-base.css?raw
6262
- var sel_r1_base_default = "/* Shared base styles for all sel_r1-*_plusggg variants.\n Applied via the data-mpb-variant=\"sel-r1-base\" style element.\n Uses [class*=\"variant-sel-r1-\"] so it covers every r1 variant class.\n Source: web-ItemBankViewer/learnosity/templates/Renaissance/r1.scss */\n\n/* r1.scss: Starial font throughout */\n[class*=\"variant-sel-r1-\"] {\n font-family: Starial, Arial, sans-serif;\n}\n\n/* r1.scss: .rli-r1-audio-transcript { font-family:Roboto; font-size:16px } */\n[class*=\"variant-sel-r1-\"] .pie-audio-transcript {\n font-family: Roboto, Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n}\n\n/* r1.scss: .rli-r1-content-element { font-size: 1.9em } wraps all stem tokens.\n Makes inline font-size spans in the template multiply on top of this base. */\n[class*=\"variant-sel-r1-\"] .pie-template-line {\n font-size: 1.9em;\n}\n\n/* r1.scss: .rli-r1-stem { display:flex; flex-direction:row; justify-content:center }\n r1.scss: .rli-r1-content-element { margin-right:2px; margin-left:2px } — 4px total gap.\n column-gap:4px replicates the 2px+2px per-element margin. */\n[class*=\"variant-sel-r1-\"] .pie-template-line {\n display: flex;\n flex-direction: row;\n align-items: baseline;\n justify-content: center;\n column-gap: 4px;\n}\n\n[class*=\"variant-sel-r1-\"] .pie-template-line p {\n margin: 0;\n display: flex;\n flex-direction: row;\n align-items: baseline;\n gap: 4px;\n}\n\n/* r1.scss: .rli-r1-content-element { min-width:150px; max-width:150px; min-height:150px;\n line-height:89px } — every stem token (blank slot and adjacent spans) is a 150px box.\n Scoped to token_sequence layout so the audio_blank_only standalone blank (160px) is unaffected. */\n[class*=\"variant-sel-r1-\"].layout-token_sequence .pie-template-line span:not([class]),\n[class*=\"variant-sel-r1-\"].layout-token_sequence .pie-template-line .pie-blank-slot {\n min-width: 150px;\n max-width: 150px;\n min-height: 150px;\n line-height: 89px;\n}\n\n/* r1.scss: .rli-r1-content-element { font-size:1.9em; line-height:89px } on distractors */\n[class*=\"variant-sel-r1-\"] .pie-choice-label {\n font-size: 1.9em;\n line-height: 89px;\n}\n";
6137
+ var sel_r1_base_default = "/* Shared base styles for all sel_r1-*_plusggg variants.\n Applied via the data-mpb-variant=\"sel-r1-base\" style element.\n Uses [class*=\"variant-sel-r1-\"] so it covers every r1 variant class.\n Source: web-ItemBankViewer/learnosity/templates/Renaissance/r1.scss */\n\n/* r1.scss: Starial font throughout.\n font-size 14px mirrors the Learnosity host root (.lrn_widget) which sets the\n base for all em-scaled rules in r1.scss (e.g. .rli-r1-content-element { 1.9em })\n and any em-based author content (e.g. <span style=\"font-size:1.8em\">). Without\n this base PIE inherits the 16px browser default and renders ~14% larger than\n the LSY reference. See CONTOOL-2567. */\n[class*=\"variant-sel-r1-\"] {\n font-family: Starial, Arial, sans-serif;\n font-size: 14px;\n}\n\n/* r1.scss: .rli-r1-audio-transcript { font-family:Roboto; font-size:16px } */\n[class*=\"variant-sel-r1-\"] .pie-audio-transcript {\n font-family: Roboto, Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n}\n\n/* r1.scss: .rli-r1-content-element { font-size: 1.9em } wraps all stem tokens.\n Makes inline font-size spans in the template multiply on top of this base. */\n[class*=\"variant-sel-r1-\"] .pie-template-line {\n font-size: 1.9em;\n}\n\n/* r1.scss: .rli-r1-stem { display:flex; flex-direction:row; justify-content:center }\n r1.scss: .rli-r1-content-element { margin-right:2px; margin-left:2px } — 4px total gap.\n Apply the per-element margin to both classless tokens and the blank slot\n (which is the cloze equivalent) so the gap stacks with whitespace text-nodes\n between flex items the same way LSY does. Earlier this used column-gap:4px,\n but flex column-gap accumulates with the cloze-side mx-1 and the implicit\n whitespace, producing a wider gap than LSY shows. See CONTOOL-2569. */\n[class*=\"variant-sel-r1-\"] .pie-template-line {\n display: flex;\n flex-direction: row;\n align-items: baseline;\n justify-content: center;\n}\n\n[class*=\"variant-sel-r1-\"] .pie-template-line p {\n margin: 0;\n display: flex;\n flex-direction: row;\n align-items: baseline;\n}\n\n/* r1.scss: .rli-r1-content-element { min-width:150px; max-width:150px; min-height:150px;\n line-height:89px; margin-right:2px; margin-left:2px } — wraps every stem token\n (blank slot and adjacent inline spans) in LSY, giving each a 150px box with a\n 2px per-side margin. Apply to inline tokens in all r1 variants so trailing\n tokens in audio_blank_only (gplusggg) match the blank's height the way LSY does. */\n[class*=\"variant-sel-r1-\"] .pie-template-line span:not([class]) {\n min-width: 150px;\n max-width: 150px;\n min-height: 150px;\n line-height: 89px;\n margin-left: 2px;\n margin-right: 2px;\n}\n\n/* In token_sequence layouts the blank itself is also a content-element box (no\n surrounding .rli-r1-cloze container at 160px). audio_blank_only / stimulus_image_blank\n keep their own 160px min-height set on the blank slot in McPopulatedBlank.svelte to\n mirror LSY's .rli-r1-cloze height. The 2px per-side margin matches LSY's\n .rli-r1-content-element pattern (overriding the default Tailwind mx-1). */\n[class*=\"variant-sel-r1-\"].layout-token_sequence .pie-template-line .pie-blank-slot {\n min-width: 150px;\n max-width: 150px;\n min-height: 150px;\n line-height: 89px;\n margin-left: 2px;\n margin-right: 2px;\n}\n\n/* audio_blank_only / stimulus_image_blank keep the 160px wide blank slot, but\n still need the 2px per-side margin so the gap to the trailing token mirrors\n LSY's .rli-r1-content-element rhythm. Without this, Tailwind's mx-1 (4px)\n would dominate and the cloze→token gap diverges from LSY. See CONTOOL-2569. */\n[class*=\"variant-sel-r1-\"].layout-audio_blank_only .pie-template-line .pie-blank-slot,\n[class*=\"variant-sel-r1-\"].layout-stimulus_image_blank .pie-template-line .pie-blank-slot {\n margin-left: 2px;\n margin-right: 2px;\n}\n\n/* r1.scss: .rli-r1-content-element { font-size:1.9em; line-height:89px } on distractors */\n[class*=\"variant-sel-r1-\"] .pie-choice-label {\n font-size: 1.9em;\n line-height: 89px;\n}\n\n/* r1.scss: .rli-r1-content-element { min-width:150px; max-width:150px;\n min-height:150px } wraps every image (stem token + distractor) and forces\n the content box to 150×150. LSY's host also rewrites <img width/height>\n to 150 server-side. PIE keeps the authored attributes (typically 108×108),\n so without an explicit override images render ~28% smaller than LSY.\n See CONTOOL-2570. */\n[class*=\"variant-sel-r1-\"] .pie-template-line img,\n[class*=\"variant-sel-r1-\"] .pie-choice-label img {\n width: 150px;\n height: 150px;\n}\n";
6263
6138
  //#endregion
6264
6139
  //#region src/delivery/variant-css-map.ts
6265
6140
  var VARIANT_BY_CUSTOM_TYPE = {
@@ -6273,13 +6148,13 @@ var VARIANT_BY_CUSTOM_TYPE = {
6273
6148
  variantId: "sr-vic",
6274
6149
  variantClass: "variant-sr-vic",
6275
6150
  sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sr-vic/0.0.1/question.css",
6276
- cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sr-vic/0.0.1/question.css */\n/* Reference layout: web-ItemBankViewer/learnosity/templates/Renaissance/vic.scss */\n.mc-populated-blank-root.variant-sr-vic {\n font-family: Starial, Arial, sans-serif;\n --mpb-inline-grid-column-gap: 1rem;\n --mpb-inline-grid-row-gap: 0.5rem;\n --mpb-inline-template-margin-top: 0.2rem;\n --mpb-inline-choices-margin-top: 0.2rem;\n}\n\n.mc-populated-blank-root.variant-sr-vic .pie-template-line,\n.mc-populated-blank-root.variant-sr-vic .pie-blank-value,\n.mc-populated-blank-root.variant-sr-vic .pie-choice-label {\n line-height: 123%;\n}\n\n/* vic.scss: .rli-vic-answer uses display:flex so sentence and cloze stay on\n one line. The template HTML wraps text in <p>, which is block by default and\n breaks to a new line. Making <p> inline keeps the sentence and blank inline. */\n.mc-populated-blank-root.variant-sr-vic .pie-template-line p {\n display: inline;\n margin: 0;\n}\n\n/* vic.scss: .rli-vic-cloze > .rli-vic-content-element { color: #cc3333 } */\n.mc-populated-blank-root.variant-sr-vic .pie-blank-value {\n color: #cc3333;\n}\n\n/* vic.scss: .rli-vic-selected { background-color: #fcfcd3 } applied to the\n whole distractor row (radio + label), not just the label wrapper. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice.is-selected {\n background-color: #fcfcd3;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sr-vic .pie-choice.is-selected .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* vic.scss: distractor label text sits to the right of the radio — no centering. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice-label {\n text-align: left;\n justify-content: flex-start;\n}\n\n/* vic.scss: .rli-vic-distractor:hover { background-color: #F2F2F2 } applied to\n the full row element, not only the inner label wrapper. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice:not(.pie-choice-horizontal):hover {\n background-color: #f2f2f2;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sr-vic\n .pie-choice:not(.pie-choice-horizontal):hover\n .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* Selected state must win over hover — yellow persists when hovering a chosen row. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice:not(.pie-choice-horizontal).is-selected:hover {\n background-color: #fcfcd3;\n}\n"
6151
+ cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sr-vic/0.0.1/question.css */\n/* Reference layout: web-ItemBankViewer/learnosity/templates/Renaissance/vic.scss */\n.mc-populated-blank-root.variant-sr-vic {\n font-family: Starial, Arial, sans-serif;\n --mpb-inline-grid-column-gap: 1rem;\n --mpb-inline-grid-row-gap: 0.5rem;\n --mpb-inline-template-margin-top: 0.2rem;\n --mpb-inline-choices-margin-top: 0.2rem;\n}\n\n.mc-populated-blank-root.variant-sr-vic .pie-template-line,\n.mc-populated-blank-root.variant-sr-vic .pie-blank-value,\n.mc-populated-blank-root.variant-sr-vic .pie-choice-label {\n line-height: 123%;\n}\n\n/* vic.scss: .rli-vic-answer uses display:flex so sentence and cloze stay on\n one line. The template HTML wraps text in <p>, which is block by default and\n breaks to a new line. Making <p> inline keeps the sentence and blank inline. */\n.mc-populated-blank-root.variant-sr-vic .pie-template-line p {\n display: inline;\n margin: 0;\n}\n\n/* LSY .rli-vic-answer has no text-align rule and inherits start; PIE's\n inline_sentence layout sets text-align:center on .template-line via a\n Svelte-scoped selector with specificity (0,4,0), so we need to match or\n exceed that. Pin sr-vic back to start so wrapped lines stay left-aligned.\n Same root cause as sel-vic. See CONTOOL-2573. */\n.mc-populated-blank-root.variant-sr-vic.layout-inline_sentence .pie-template-line.template-line {\n text-align: start;\n}\n\n/* vic.scss: .rli-vic-cloze > .rli-vic-content-element { color: #cc3333 } */\n.mc-populated-blank-root.variant-sr-vic .pie-blank-value {\n color: #cc3333;\n}\n\n/* vic.scss: .rli-vic-selected { background-color: #fcfcd3 } applied to the\n whole distractor row (radio + label), not just the label wrapper. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice.is-selected {\n background-color: #fcfcd3;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sr-vic .pie-choice.is-selected .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* vic.scss: distractor label text sits to the right of the radio — no centering. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice-label {\n text-align: left;\n justify-content: flex-start;\n}\n\n/* vic.scss: .rli-vic-distractor:hover { background-color: #F2F2F2 } applied to\n the full row element, not only the inner label wrapper. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice:not(.pie-choice-horizontal):hover {\n background-color: #f2f2f2;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sr-vic\n .pie-choice:not(.pie-choice-horizontal):hover\n .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* Selected state must win over hover — yellow persists when hovering a chosen row. */\n.mc-populated-blank-root.variant-sr-vic .pie-choice:not(.pie-choice-horizontal).is-selected:hover {\n background-color: #fcfcd3;\n}\n"
6277
6152
  },
6278
6153
  sel_vic: {
6279
6154
  variantId: "sel-vic",
6280
6155
  variantClass: "variant-sel-vic",
6281
6156
  sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_vic/0.0.1/question.css",
6282
- cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_vic/0.0.1/question.css */\n/* Reference layout: web-ItemBankViewer/learnosity/templates/Renaissance/sel_vic/scss/main.scss + vic.scss */\n.mc-populated-blank-root.variant-sel-vic {\n font-family: Starial, Arial, sans-serif;\n font-size: 1.5em;\n max-width: 800px;\n margin-inline: auto;\n --mpb-inline-grid-column-gap: 1rem;\n --mpb-inline-grid-row-gap: 0.5rem;\n --mpb-inline-template-margin-top: 0.2rem;\n --mpb-inline-choices-margin-top: 0.2rem;\n --pie-correct-answer-choice-hover-bg: #e2e2e2;\n --pie-correct-answer-choice-selected-bg: #fcfcd3;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-audio-transcript {\n font-family: Roboto, Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-template-line,\n.mc-populated-blank-root.variant-sel-vic .pie-blank-value,\n.mc-populated-blank-root.variant-sel-vic .pie-choice-label {\n line-height: 123%;\n}\n\n/* sel_vic/main.scss: template left ~75%, audio right ~25% on the same row.\n Svelte scoping prevents the component-internal grid-area rule from reaching\n .audio-container inside AudioPlayer, so we override it here via the global\n .pie-audio-container class which is not subject to scope hashing. */\n.mc-populated-blank-root.variant-sel-vic .pie-audio-container {\n grid-area: audio;\n margin: 0;\n justify-self: end;\n align-self: start;\n min-height: 128px;\n}\n\n/* vic.scss: sentence and cloze sit inline — the <p> wrapper must not break to\n a new line before the blank slot. */\n.mc-populated-blank-root.variant-sel-vic .pie-template-line p {\n display: inline;\n margin: 0;\n}\n\n/* vic.scss: .rli-vic-cloze > .rli-vic-content-element { color: #cc3333 } */\n.mc-populated-blank-root.variant-sel-vic .pie-blank-value {\n color: #cc3333;\n}\n\n/* sel_vic/main.scss: .sel-vic { max-width: 800px } — the fieldset/choices must\n also be constrained so rows don't span beyond 800px. */\n.mc-populated-blank-root.variant-sel-vic .pie-choices-fieldset {\n max-width: 800px;\n width: 100%;\n}\n\n/* vic.scss: distractor label text sits to the right of the radio — no centering. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice-label {\n text-align: left;\n justify-content: flex-start;\n}\n\n/* vic.scss: .rli-vic-selected { background-color: #fcfcd3 } on the full row. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice.is-selected {\n background-color: #fcfcd3;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-choice.is-selected .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* Selected state must win over hover. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice:not(.pie-choice-horizontal).is-selected:hover {\n background-color: #fcfcd3;\n}\n\n/* vic.scss: .rli-vic-distractor:hover { background-color: #F2F2F2 } on the full row. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice:not(.pie-choice-horizontal):hover {\n background-color: #f2f2f2;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sel-vic\n .pie-choice:not(.pie-choice-horizontal):hover\n .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n@media (min-width: 620px) {\n .mc-populated-blank-root.variant-sel-vic .pie-audio-transcript {\n min-width: 620px;\n max-width: 800px;\n transform: translateX(-55px);\n }\n}\n"
6157
+ cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_vic/0.0.1/question.css */\n/* Reference layout: web-ItemBankViewer/learnosity/templates/Renaissance/sel_vic/scss/main.scss + vic.scss */\n.mc-populated-blank-root.variant-sel-vic {\n font-family: Starial, Arial, sans-serif;\n /* LSY chain: .lrn_widget (14px host) → .sel-vic { 1.5em } = 21px.\n PIE collapses both LSY layers into this single variant-root selector, so\n the resolved value is set directly. See CONTOOL-2567. */\n font-size: 21px;\n max-width: 800px;\n margin-inline: auto;\n --mpb-inline-grid-column-gap: 1rem;\n --mpb-inline-grid-row-gap: 0.5rem;\n --mpb-inline-template-margin-top: 0.2rem;\n --mpb-inline-choices-margin-top: 0.2rem;\n --pie-correct-answer-choice-hover-bg: #e2e2e2;\n --pie-correct-answer-choice-selected-bg: #fcfcd3;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-audio-transcript {\n font-family: Roboto, Arial, sans-serif;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-template-line,\n.mc-populated-blank-root.variant-sel-vic .pie-blank-value,\n.mc-populated-blank-root.variant-sel-vic .pie-choice-label {\n line-height: 123%;\n}\n\n/* sel_vic/main.scss: template left ~75%, audio right ~25% on the same row.\n Svelte scoping prevents the component-internal grid-area rule from reaching\n .audio-container inside AudioPlayer, so we override it here via the global\n .pie-audio-container class which is not subject to scope hashing. */\n.mc-populated-blank-root.variant-sel-vic .pie-audio-container {\n grid-area: audio;\n margin: 0;\n justify-self: end;\n align-self: start;\n min-height: 128px;\n}\n\n/* vic.scss: sentence and cloze sit inline — the <p> wrapper must not break to\n a new line before the blank slot. */\n.mc-populated-blank-root.variant-sel-vic .pie-template-line p {\n display: inline;\n margin: 0;\n}\n\n/* LSY .rli-vic-answer has no text-align rule and inherits start; PIE's\n inline_sentence layout sets text-align:center on .template-line via a\n Svelte-scoped selector with specificity (0,4,0), so we need to match or\n exceed that. Pin sel-vic back to start so wrapped lines stay left-aligned.\n See CONTOOL-2573. */\n.mc-populated-blank-root.variant-sel-vic.layout-inline_sentence .pie-template-line.template-line {\n text-align: start;\n}\n\n/* vic.scss: .rli-vic-cloze { margin-left: 6px; margin-right: 6px } gives the\n cloze breathing room from adjacent text or punctuation. The PIE markup uses\n Tailwind-style mx-1 in the class list, but mc-populated-blank does not\n compile Tailwind, so that class is a no-op. Set the inline margin\n explicitly so the cloze→trailing-punctuation gap matches LSY. See\n CONTOOL-2572. */\n.mc-populated-blank-root.variant-sel-vic .pie-template-line .pie-blank-slot {\n margin-left: 6px;\n margin-right: 6px;\n}\n\n/* vic.scss: .rli-vic-cloze > .rli-vic-content-element { color: #cc3333 } */\n.mc-populated-blank-root.variant-sel-vic .pie-blank-value {\n color: #cc3333;\n}\n\n/* sel_vic/main.scss: .sel-vic { max-width: 800px } — the fieldset/choices must\n also be constrained so rows don't span beyond 800px. */\n.mc-populated-blank-root.variant-sel-vic .pie-choices-fieldset {\n max-width: 800px;\n width: 100%;\n}\n\n/* vic.scss: distractor label text sits to the right of the radio — no centering. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice-label {\n text-align: left;\n justify-content: flex-start;\n}\n\n/* vic.scss: .rli-vic-selected { background-color: #fcfcd3 } on the full row. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice.is-selected {\n background-color: #fcfcd3;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sel-vic .pie-choice.is-selected .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n/* Selected state must win over hover. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice:not(.pie-choice-horizontal).is-selected:hover {\n background-color: #fcfcd3;\n}\n\n/* vic.scss: .rli-vic-distractor:hover { background-color: #F2F2F2 } on the full row. */\n.mc-populated-blank-root.variant-sel-vic .pie-choice:not(.pie-choice-horizontal):hover {\n background-color: #f2f2f2;\n border-radius: 6px;\n}\n\n.mc-populated-blank-root.variant-sel-vic\n .pie-choice:not(.pie-choice-horizontal):hover\n .pie-choice-label-wrap {\n background-color: transparent;\n}\n\n@media (min-width: 620px) {\n .mc-populated-blank-root.variant-sel-vic .pie-audio-transcript {\n min-width: 620px;\n max-width: 800px;\n transform: translateX(-55px);\n }\n}\n"
6283
6158
  },
6284
6159
  "sel_r1-_gplusggg": {
6285
6160
  variantId: "sel-r1-gplusggg",
@@ -6303,13 +6178,13 @@ var VARIANT_BY_CUSTOM_TYPE = {
6303
6178
  variantId: "sel-r1-ggplus",
6304
6179
  variantClass: "variant-sel-r1-ggplus",
6305
6180
  sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_ggplusggg/0.0.1/question.css",
6306
- cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_ggplusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-ggplus {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n}\n\n/* In this variant, the blank appears before trailing tokens; avoid left-margin offset. */\n.mc-populated-blank-root.variant-sel-r1-ggplus.layout-token_sequence .pie-blank-slot {\n margin-left: 0;\n}\n"
6181
+ cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-_ggplusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-ggplus {\n max-width: 875px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-hover-bg: #f2f2f2;\n --mpb-choice-selected-bg: #fcfcd3;\n}\n"
6307
6182
  },
6308
6183
  "sel_r1-s3_plusggg": {
6309
6184
  variantId: "sel-r1-s3",
6310
6185
  variantClass: "variant-sel-r1-s3",
6311
6186
  sourceUrl: "https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-s3_plusggg/0.0.1/question.css",
6312
- cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-s3_plusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-s3 {\n max-width: 860px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-group-gap: 0.35rem;\n --mpb-choice-row-gap: 0.35rem;\n --mpb-horizontal-choice-radio-top-margin: 0.25rem;\n --mpb-stimulus-min-column: 240px;\n --mpb-stimulus-grid-column-gap: 1.1rem;\n --mpb-stimulus-choices-margin-top: 0.85rem;\n --mpb-audio-blank-template-margin-bottom: 0.9rem;\n --mpb-blank-wide-width: 6.8rem;\n}\n\n/* s3 overrides base choice-label with font-weight:500 */\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-label,\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-label :is(span, p, div) {\n font-size: 1.9em;\n line-height: 89px;\n font-weight: 500;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-blank-value,\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-blank-value :is(span, p, div) {\n line-height: 1.1;\n white-space: nowrap;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal .pie-choice-tile {\n border-radius: 6px;\n background: #f1f1f1;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank {\n grid-template-columns: minmax(220px, auto) auto auto;\n grid-template-areas:\n \"transcript transcript transcript\"\n \"sentence template audio\"\n \"choices choices choices\";\n justify-content: center;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-template-line {\n grid-area: template;\n justify-self: center;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-sentence-line {\n justify-self: end;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-audio-container {\n justify-self: start;\n align-self: start;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-choices-fieldset {\n justify-self: center;\n width: fit-content;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-sentence-line img {\n max-width: 100%;\n height: auto;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal:hover .pie-choice-tile {\n background: #e2e2e2;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal.is-selected .pie-choice-tile,\n.mc-populated-blank-root.variant-sel-r1-s3\n .pie-choice-horizontal.is-selected:hover\n .pie-choice-tile {\n background: #fcfcd3;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal .pie-choice-radio {\n transform: scale(0.85);\n}\n"
6187
+ cssText: "/* Source baseline: https://global-pr-ibvcustomfiles.renaissance-go.com/learnosity/sel_r1-s3_plusggg/0.0.1/question.css */\n/* Shared r1 base styles (font, template-line flex, choice-label) are in sel-r1-base.css */\n.mc-populated-blank-root.variant-sel-r1-s3 {\n max-width: 860px;\n margin-inline: auto;\n --mpb-listen-button-size: 128px;\n --mpb-choice-width-px: 155px;\n --mpb-choice-tile-min-height: 11.25rem;\n --mpb-choice-content-min-height: 9.375rem;\n --mpb-choice-group-gap: 0.35rem;\n --mpb-choice-row-gap: 0.35rem;\n --mpb-horizontal-choice-radio-top-margin: 0.25rem;\n --mpb-stimulus-min-column: 240px;\n --mpb-stimulus-grid-column-gap: 1.1rem;\n --mpb-stimulus-choices-margin-top: 0.85rem;\n --mpb-audio-blank-template-margin-bottom: 0.9rem;\n --mpb-blank-wide-width: 6.8rem;\n}\n\n/* sel_r1-s3_plusggg/question.css does not set font-weight on distractors or\n cloze content-element, so they inherit 400 from the host root. The earlier\n font-weight:500 override caused PIE to render visibly heavier than LSY for\n the same author content. See CONTOOL-2571. */\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-label,\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-label :is(span, p, div) {\n font-size: 1.9em;\n line-height: 89px;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-blank-value,\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-blank-value :is(span, p, div) {\n line-height: 1.1;\n white-space: nowrap;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal .pie-choice-tile {\n border-radius: 6px;\n background: #f1f1f1;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank {\n grid-template-columns: minmax(220px, auto) auto auto;\n grid-template-areas:\n \"transcript transcript transcript\"\n \"sentence template audio\"\n \"choices choices choices\";\n justify-content: center;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-template-line {\n grid-area: template;\n justify-self: center;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-sentence-line {\n justify-self: end;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-audio-container {\n justify-self: start;\n align-self: start;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3.layout-stimulus_image_blank .pie-choices-fieldset {\n justify-self: center;\n width: fit-content;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-sentence-line img {\n max-width: 100%;\n height: auto;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal:hover .pie-choice-tile {\n background: #e2e2e2;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal.is-selected .pie-choice-tile,\n.mc-populated-blank-root.variant-sel-r1-s3\n .pie-choice-horizontal.is-selected:hover\n .pie-choice-tile {\n background: #fcfcd3;\n}\n\n.mc-populated-blank-root.variant-sel-r1-s3 .pie-choice-horizontal .pie-choice-radio {\n transform: scale(0.85);\n}\n"
6313
6188
  }
6314
6189
  };
6315
6190
  var normalizeCustomType = (value) => {
@@ -6348,15 +6223,15 @@ var ensureVariantCssInjected = (config) => {
6348
6223
  };
6349
6224
  //#endregion
6350
6225
  //#region src/delivery/McPopulatedBlank.svelte
6351
- var root = /* @__PURE__ */ from_html(`<div class="mb-4 prose pie-prompt"></div>`);
6352
- var root_1 = /* @__PURE__ */ from_html(`<p> </p>`);
6353
- var root_2 = /* @__PURE__ */ from_svg(`<svg class="pie-correct-answer-toggle-svg svelte-6wlbb4" preserveAspectRatio="xMinYMin meet" version="1.1" viewBox="-283 359 34 35"><circle cx="-266" cy="375.9" r="14" fill="var(--pie-correct-answer-toggle-icon-open-bg, #bce2ff)"></circle><path d="M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z" fill="var(--pie-correct-answer-toggle-icon-open-bg, #bce2ff)"></path><polygon points="-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6" fill="var(--pie-correct-answer-toggle-icon-glyph-color, #1a9cff)"></polygon></svg>`);
6354
- var root_3 = /* @__PURE__ */ from_svg(`<svg class="pie-correct-answer-toggle-svg svelte-6wlbb4" preserveAspectRatio="xMinYMin meet" version="1.1" viewBox="-129.5 127 34 35"><path d="M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5 C-97.4,153.5-104.3,160.4-112.9,160.4z" fill="#D0CAC5" stroke="#E6E3E0" stroke-width="0.75"></path><path d="M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z" fill="#B3ABA4" stroke="#CDC7C2" stroke-width="0.5"></path><circle cx="-114.2" cy="143.5" r="14" fill="white"></circle><path d="M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z" fill="var(--pie-correct-answer-toggle-icon-closed-bg, #bce2ff)"></path><polygon points="-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2" fill="var(--pie-correct-answer-toggle-icon-glyph-color, #1a9cff)"></polygon></svg>`);
6355
- var root_4 = /* @__PURE__ */ from_html(`<div class="pie-correct-answer-toggle-row svelte-6wlbb4"><button type="button" class="mb-3 pie-toggle-correct-answer svelte-6wlbb4" style="gap:var(--mpb-toggle-button-gap, 0.5rem);" data-testid="show-correct-answer"><span class="pie-correct-answer-toggle-content svelte-6wlbb4"><span class="pie-correct-answer-toggle-icon-holder svelte-6wlbb4" aria-hidden="true"><!></span> <span class="pie-correct-answer-toggle-label svelte-6wlbb4"> </span></span></button></div>`);
6356
- var root_5 = /* @__PURE__ */ from_html(`<div class="mb-3 prose prose-p:my-1 sentence-line pie-sentence-line svelte-6wlbb4"></div>`);
6357
- var root_6 = /* @__PURE__ */ from_html(`<div class="mb-4 template-line pie-template-line svelte-6wlbb4"><!> <!> <!></div>`);
6358
- var root_7 = /* @__PURE__ */ from_html(`<p class="sr-only pie-result-feedback svelte-6wlbb4" role="status" aria-live="polite"> </p>`);
6359
- var root_8 = /* @__PURE__ */ from_html(`<div><!> <!> <!> <!> <!> <!> <!> <fieldset class="border-0 p-0 m-0 pie-choices-fieldset svelte-6wlbb4"><legend class="sr-only pie-choices-legend svelte-6wlbb4"> </legend> <div style="gap:var(--mpb-choice-group-gap, 0.5rem);" role="radiogroup" tabindex="-1"></div></fieldset></div>`);
6226
+ var root_1 = /* @__PURE__ */ from_html(`<div class="mb-4 prose pie-prompt"></div>`);
6227
+ var root_2 = /* @__PURE__ */ from_html(`<p> </p>`);
6228
+ var root_4 = /* @__PURE__ */ from_svg(`<svg class="pie-correct-answer-toggle-svg svelte-6wlbb4" preserveAspectRatio="xMinYMin meet" version="1.1" viewBox="-283 359 34 35"><circle cx="-266" cy="375.9" r="14" fill="var(--pie-correct-answer-toggle-icon-open-bg, #bce2ff)"></circle><path d="M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z" fill="var(--pie-correct-answer-toggle-icon-open-bg, #bce2ff)"></path><polygon points="-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6" fill="var(--pie-correct-answer-toggle-icon-glyph-color, #1a9cff)"></polygon></svg>`);
6229
+ var root_5 = /* @__PURE__ */ from_svg(`<svg class="pie-correct-answer-toggle-svg svelte-6wlbb4" preserveAspectRatio="xMinYMin meet" version="1.1" viewBox="-129.5 127 34 35"><path d="M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5 C-97.4,153.5-104.3,160.4-112.9,160.4z" fill="#D0CAC5" stroke="#E6E3E0" stroke-width="0.75"></path><path d="M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z" fill="#B3ABA4" stroke="#CDC7C2" stroke-width="0.5"></path><circle cx="-114.2" cy="143.5" r="14" fill="white"></circle><path d="M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z" fill="var(--pie-correct-answer-toggle-icon-closed-bg, #bce2ff)"></path><polygon points="-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2" fill="var(--pie-correct-answer-toggle-icon-glyph-color, #1a9cff)"></polygon></svg>`);
6230
+ var root_3 = /* @__PURE__ */ from_html(`<div class="pie-correct-answer-toggle-row svelte-6wlbb4"><button type="button" class="mb-3 pie-toggle-correct-answer svelte-6wlbb4" style="gap:var(--mpb-toggle-button-gap, 0.5rem);" data-testid="show-correct-answer"><span class="pie-correct-answer-toggle-content svelte-6wlbb4"><span class="pie-correct-answer-toggle-icon-holder svelte-6wlbb4" aria-hidden="true"><!></span> <span class="pie-correct-answer-toggle-label svelte-6wlbb4"> </span></span></button></div>`);
6231
+ var root_6 = /* @__PURE__ */ from_html(`<div class="mb-3 prose prose-p:my-1 sentence-line pie-sentence-line svelte-6wlbb4"></div>`);
6232
+ var root_7 = /* @__PURE__ */ from_html(`<div class="mb-4 template-line pie-template-line svelte-6wlbb4"><!><!><!></div>`);
6233
+ var root_8 = /* @__PURE__ */ from_html(`<p class="sr-only pie-result-feedback svelte-6wlbb4" role="status" aria-live="polite"> </p>`);
6234
+ var root = /* @__PURE__ */ from_html(`<div><!> <!> <!> <!> <!> <!> <!> <fieldset class="border-0 p-0 m-0 pie-choices-fieldset svelte-6wlbb4"><legend class="sr-only pie-choices-legend svelte-6wlbb4"> </legend> <div style="gap:var(--mpb-choice-group-gap, 0.5rem);" role="radiogroup" tabindex="-1"></div></fieldset></div>`);
6360
6235
  var $$css = {
6361
6236
  hash: "svelte-6wlbb4",
6362
6237
  code: ".sr-only.svelte-6wlbb4 {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}.mc-populated-blank-root.svelte-6wlbb4 .prose {max-width:none;}.pie-toggle-correct-answer.svelte-6wlbb4 {width:100%;cursor:pointer;border:0;background:transparent;padding:0;display:flex;justify-content:center;text-align:center;color:var(--pie-correct-answer-toggle-label-color, var(--pie-text, black));}.pie-correct-answer-toggle-row.svelte-6wlbb4 {width:100%;display:flex;justify-content:flex-end;}.pie-correct-answer-toggle-content.svelte-6wlbb4 {display:flex;margin:0 auto;align-items:center;}.pie-correct-answer-toggle-icon-holder.svelte-6wlbb4 {width:25px;margin-right:5px;display:inline-flex;align-items:center;justify-content:center;}.pie-correct-answer-toggle-svg.svelte-6wlbb4 {width:25px;height:25px;}.pie-correct-answer-toggle-label.svelte-6wlbb4 {width:fit-content;min-width:140px;align-self:center;vertical-align:middle;font-weight:400;user-select:none;}.pie-toggle-correct-answer.svelte-6wlbb4:hover .pie-correct-answer-toggle-label:where(.svelte-6wlbb4),\n .pie-toggle-correct-answer.svelte-6wlbb4:focus-visible .pie-correct-answer-toggle-label:where(.svelte-6wlbb4) {text-decoration:underline;}.template-line.svelte-6wlbb4 {white-space:pre-wrap;}.template-line.svelte-6wlbb4 p {margin:0;}.layout-audio_blank_only.svelte-6wlbb4 .pie-audio-container,\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-container {display:flex;width:min(100%, var(--mpb-audio-instructions-max-width, 875px));margin-left:auto;margin-right:auto;justify-content:flex-end;}.layout-audio_blank_only.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4),\n .layout-stimulus_image_blank.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {text-align:center;margin:var(--mpb-audio-blank-template-margin-top, 0.8rem) 0\n var(--mpb-audio-blank-template-margin-bottom, 1.8rem);}.layout-audio_blank_only.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {display:flex;justify-content:center;}.layout-audio_blank_only.svelte-6wlbb4 .pie-blank-slot,\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-blank-slot {width:var(--mpb-blank-wide-width, 10rem);border-bottom-width:var(--mpb-blank-underline-wide-width, 6px);min-height:160px;padding-bottom:4px;}.layout-stimulus_image_blank.svelte-6wlbb4 {display:grid;grid-template-columns:minmax(var(--mpb-stimulus-min-column, 210px), 1fr) auto;grid-template-areas:'transcript transcript'\n 'sentence audio'\n '. template'\n 'choices choices';column-gap:var(--mpb-stimulus-grid-column-gap, 2rem);row-gap:var(--mpb-stimulus-grid-row-gap, 0.7rem);align-items:start;}.layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-transcript:where(.svelte-6wlbb4) {grid-area:transcript;}.layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-container {grid-area:audio;margin:0;}.layout-stimulus_image_blank.svelte-6wlbb4 .sentence-line:where(.svelte-6wlbb4) {grid-area:sentence;margin:var(--mpb-stimulus-sentence-margin-top, 0.2rem) 0 0;}.layout-stimulus_image_blank.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {grid-area:template;margin:0;text-align:center;justify-self:center;}.layout-stimulus_image_blank.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {grid-area:choices;margin-top:var(--mpb-stimulus-choices-margin-top, 0.9rem);}.layout-token_sequence.svelte-6wlbb4 {display:grid;grid-template-columns:1fr auto;grid-template-areas:'transcript audio'\n 'template template'\n 'choices choices';column-gap:var(--mpb-token-grid-column-gap, 1.5rem);row-gap:var(--mpb-token-grid-row-gap, 0.8rem);align-items:start;}.layout-token_sequence.svelte-6wlbb4 .pie-audio-transcript:where(.svelte-6wlbb4) {grid-area:transcript;}.layout-token_sequence.svelte-6wlbb4 .pie-audio-container {grid-area:audio;margin:0;justify-self:end;}.layout-token_sequence.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {grid-area:template;margin:var(--mpb-token-template-margin-top, 0.6rem) 0 0;justify-self:center;text-align:center;}.layout-token_sequence.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) span + span {margin-left:var(--mpb-token-inline-token-gap, 0.35rem);}.layout-token_sequence.svelte-6wlbb4 .pie-blank-slot {width:var(--mpb-blank-standalone-width, 7rem);border-bottom-width:var(--mpb-blank-underline-wide-width, 4px);margin-left:var(--mpb-token-inline-token-gap, 0.35rem);}.layout-token_sequence.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {grid-area:choices;margin-top:var(--mpb-token-choices-margin-top, 0.2rem);}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 {display:grid;grid-template-columns:minmax(var(--mpb-text-min-column, 260px), 1fr) auto;grid-template-areas:'transcript transcript'\n 'template audio'\n 'choices choices';column-gap:var(--mpb-inline-grid-column-gap, 1.5rem);row-gap:var(--mpb-inline-grid-row-gap, 0.65rem);align-items:start;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-audio-transcript:where(.svelte-6wlbb4) {grid-area:transcript;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-audio-container {grid-area:audio;margin:0;justify-self:end;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .template-line:where(.svelte-6wlbb4) {grid-area:template;margin:var(--mpb-inline-template-margin-top, 0.45rem) 0 0;text-align:center;justify-self:center;}.layout-inline_sentence.has-inline-audio.svelte-6wlbb4 fieldset:where(.svelte-6wlbb4) {grid-area:choices;margin-top:var(--mpb-inline-choices-margin-top, 0.25rem);}\n\n /* Match Learnosity responsive behavior for CQT audio-blank layouts:\n at smaller widths, audio control shifts left and answer tiles stack. */\n @media (max-width: 760px) {.layout-audio_blank_only.svelte-6wlbb4 .pie-audio-container,\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-audio-container,\n .layout-token_sequence.svelte-6wlbb4 .pie-audio-container,\n .layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-audio-container {width:100%;margin-left:0;margin-right:0;justify-content:flex-start;justify-self:start;}.layout-audio_blank_only.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4),\n .layout-token_sequence.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4),\n .layout-stimulus_image_blank.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4),\n .layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .pie-choices:where(.svelte-6wlbb4) {flex-direction:column;align-items:flex-start;justify-content:flex-start;}.layout-audio_blank_only.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4),\n .layout-token_sequence.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4),\n .layout-stimulus_image_blank.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4),\n .layout-inline_sentence.has-inline-audio.svelte-6wlbb4 .choice-row-horizontal:where(.svelte-6wlbb4) {width:min(100%, var(--mpb-narrow-choice-max-width, 230px));align-items:flex-start;}\n }"
@@ -6491,9 +6366,15 @@ function McPopulatedBlank($$anchor, $$props) {
6491
6366
  before: t,
6492
6367
  after: ""
6493
6368
  };
6369
+ let before = t.slice(0, idx);
6370
+ let after = t.slice(idx + 9);
6371
+ if (get(layoutProfile) === "inline_sentence") {
6372
+ before = `${before.replace(/\s+$/, "")} `;
6373
+ after = ` ${after.replace(/^\s+/, "")}`;
6374
+ }
6494
6375
  return {
6495
- before: t.slice(0, idx),
6496
- after: t.slice(idx + 9)
6376
+ before,
6377
+ after
6497
6378
  };
6498
6379
  });
6499
6380
  function emitSession(updatedSession, sourceEl) {
@@ -6618,10 +6499,10 @@ function McPopulatedBlank($$anchor, $$props) {
6618
6499
  flushSync();
6619
6500
  }
6620
6501
  };
6621
- var div = root_8();
6502
+ var div = root();
6622
6503
  var node_1 = child(div);
6623
6504
  var consequent = ($$anchor) => {
6624
- var div_1 = root();
6505
+ var div_1 = root_1();
6625
6506
  html(div_1, () => model().prompt, true);
6626
6507
  reset(div_1);
6627
6508
  template_effect(() => set_attribute(div_1, "id", get(promptId)));
@@ -6632,7 +6513,7 @@ function McPopulatedBlank($$anchor, $$props) {
6632
6513
  });
6633
6514
  var node_2 = sibling(node_1, 2);
6634
6515
  var consequent_1 = ($$anchor) => {
6635
- var p = root_1();
6516
+ var p = root_2();
6636
6517
  var text = child(p, true);
6637
6518
  reset(p);
6638
6519
  template_effect(() => {
@@ -6647,16 +6528,16 @@ function McPopulatedBlank($$anchor, $$props) {
6647
6528
  });
6648
6529
  var node_3 = sibling(node_2, 2);
6649
6530
  var consequent_3 = ($$anchor) => {
6650
- var div_2 = root_4();
6531
+ var div_2 = root_3();
6651
6532
  var button = child(div_2);
6652
6533
  var span = child(button);
6653
6534
  var span_1 = child(span);
6654
6535
  var node_4 = child(span_1);
6655
6536
  var consequent_2 = ($$anchor) => {
6656
- append($$anchor, root_2());
6537
+ append($$anchor, root_4());
6657
6538
  };
6658
6539
  var alternate = ($$anchor) => {
6659
- append($$anchor, root_3());
6540
+ append($$anchor, root_5());
6660
6541
  };
6661
6542
  if_block(node_4, ($$render) => {
6662
6543
  if (get(showCorrectAnswer)) $$render(consequent_2);
@@ -6723,7 +6604,7 @@ function McPopulatedBlank($$anchor, $$props) {
6723
6604
  }
6724
6605
  var node_6 = sibling(node_5, 2);
6725
6606
  var consequent_4 = ($$anchor) => {
6726
- var div_3 = root_5();
6607
+ var div_3 = root_6();
6727
6608
  html(div_3, () => model().sentenceHtml, true);
6728
6609
  reset(div_3);
6729
6610
  template_effect(() => set_attribute(div_3, "aria-describedby", get(templateDescribedBy)));
@@ -6734,10 +6615,10 @@ function McPopulatedBlank($$anchor, $$props) {
6734
6615
  });
6735
6616
  var node_7 = sibling(node_6, 2);
6736
6617
  var consequent_5 = ($$anchor) => {
6737
- var div_4 = root_6();
6618
+ var div_4 = root_7();
6738
6619
  var node_8 = child(div_4);
6739
6620
  html(node_8, () => get(templateParts).before);
6740
- var node_9 = sibling(node_8, 2);
6621
+ var node_9 = sibling(node_8);
6741
6622
  ClozeMarker(node_9, {
6742
6623
  get choiceMode() {
6743
6624
  return get(choiceMode);
@@ -6761,7 +6642,7 @@ function McPopulatedBlank($$anchor, $$props) {
6761
6642
  return get(uiText).selectedAnswerInSentence;
6762
6643
  }
6763
6644
  });
6764
- html(sibling(node_9, 2), () => get(templateParts).after);
6645
+ html(sibling(node_9), () => get(templateParts).after);
6765
6646
  reset(div_4);
6766
6647
  template_effect(() => set_attribute(div_4, "aria-describedby", get(templateDescribedBy)));
6767
6648
  append($$anchor, div_4);
@@ -6771,7 +6652,7 @@ function McPopulatedBlank($$anchor, $$props) {
6771
6652
  });
6772
6653
  var node_11 = sibling(node_7, 2);
6773
6654
  var consequent_6 = ($$anchor) => {
6774
- var p_1 = root_7();
6655
+ var p_1 = root_8();
6775
6656
  var text_2 = child(p_1, true);
6776
6657
  reset(p_1);
6777
6658
  template_effect(() => {