@vocalstack/player 0.1.0-alpha.11 → 0.1.0-alpha.12

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.
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  var Ma = Object.defineProperty;
2
- var ha = (t, e, n) => e in t ? Ma(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var ge = (t, e, n) => ha(t, typeof e != "symbol" ? e + "" : e, n);
2
+ var ga = (t, e, n) => e in t ? Ma(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var he = (t, e, n) => ga(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  import { jsx as i, jsxs as f, Fragment as Pe } from "react/jsx-runtime";
5
- import { useState as O, useRef as z, useEffect as Y, useLayoutEffect as Qt, createContext as ei, useMemo as Ie, useContext as ga, useCallback as qe, Fragment as fa, forwardRef as Na, useImperativeHandle as pa } from "react";
5
+ import { useState as O, useRef as z, useEffect as Y, useLayoutEffect as Qt, createContext as ei, useMemo as Ie, useContext as ha, useCallback as qe, Fragment as fa, forwardRef as Na, useImperativeHandle as pa } from "react";
6
6
  import { createPortal as ma } from "react-dom";
7
7
  import { VocalStackError as ti, VocalStack as ni } from "@vocalstack/js-sdk";
8
8
  const si = "https://vocalstack.com", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", La = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
@@ -96,7 +96,7 @@ function ii({ dark: t, size: e = 30 }) {
96
96
  function Sr({ children: t, panel: e, inset: n, className: s = "", style: r }) {
97
97
  return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${s}`, style: r, children: t });
98
98
  }
99
- function ft({ checked: t, onChange: e, label: n, disabled: s }) {
99
+ function Nt({ checked: t, onChange: e, label: n, disabled: s }) {
100
100
  return /* @__PURE__ */ i("button", { type: "button", role: "switch", "aria-checked": t, "aria-label": n, className: "vs-toggle", disabled: s, onClick: () => e(!t), children: /* @__PURE__ */ i("span", { className: "vs-toggle__knob" }) });
101
101
  }
102
102
  function as({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill: a }) {
@@ -104,16 +104,16 @@ function as({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill
104
104
  return Qt(() => {
105
105
  const u = o.current;
106
106
  if (!u) return;
107
- const g = u.querySelectorAll(".vs-switch__opt")[d];
108
- g && c({ left: g.offsetLeft, width: g.offsetWidth });
107
+ const h = u.querySelectorAll(".vs-switch__opt")[d];
108
+ h && c({ left: h.offsetLeft, width: h.offsetWidth });
109
109
  }, [d, n.length]), Y(() => {
110
110
  const u = o.current;
111
111
  if (!u || typeof ResizeObserver > "u") return;
112
- const g = new ResizeObserver(() => {
112
+ const h = new ResizeObserver(() => {
113
113
  const M = u.querySelectorAll(".vs-switch__opt")[d];
114
114
  M && c({ left: M.offsetLeft, width: M.offsetWidth });
115
115
  });
116
- return g.observe(u), () => g.disconnect();
116
+ return h.observe(u), () => h.disconnect();
117
117
  }, [d]), /* @__PURE__ */ f("div", { ref: o, role: "tablist", className: `vs-switch${s === "sm" ? " vs-switch--sm" : ""}${r ? "" : " vs-switch--borderless"}${a ? " vs-switch--fill" : ""}`, children: [
118
118
  l && /* @__PURE__ */ i("span", { className: "vs-switch__thumb", style: { left: l.left, width: l.width }, "aria-hidden": "true" }),
119
119
  n.map((u) => /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": u.value === t, className: "vs-switch__opt", onClick: () => e(u.value), children: [
@@ -189,21 +189,21 @@ function os({ children: t, ms: e = 220 }) {
189
189
  clearTimeout(c), a(Math.min(M, d())), M > d() && (c = setTimeout(() => a(M), e));
190
190
  };
191
191
  if (u(), typeof ResizeObserver > "u") return () => clearTimeout(c);
192
- const g = new ResizeObserver(u);
193
- return g.observe(o), () => {
194
- g.disconnect(), clearTimeout(c);
192
+ const h = new ResizeObserver(u);
193
+ return h.observe(o), () => {
194
+ h.disconnect(), clearTimeout(c);
195
195
  };
196
196
  }, [e]), /* @__PURE__ */ i("div", { ref: n, style: { height: r ?? void 0, overflow: "clip", transition: r == null ? void 0 : `height ${e}ms cubic-bezier(.32,.72,0,1)` }, children: /* @__PURE__ */ i("div", { ref: s, children: t }) });
197
197
  }
198
198
  function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: d, sticky: u = !1 }) {
199
- const g = z(null);
200
- return Oa(g, t), Y(() => {
199
+ const h = z(null);
200
+ return Oa(h, t), Y(() => {
201
201
  if (!t) return;
202
202
  const M = (N) => {
203
203
  N.key === "Escape" && e();
204
204
  };
205
205
  return window.addEventListener("keydown", M), () => window.removeEventListener("keydown", M);
206
- }, [t, e]), t ? /* @__PURE__ */ i("div", { ref: g, className: `vs-sheet-scrim${l ? " drawer" : ""}${u ? " vs-sheet-scrim--sticky" : ""}`, onClick: u ? void 0 : e, children: /* @__PURE__ */ f("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
206
+ }, [t, e]), t ? /* @__PURE__ */ i("div", { ref: h, className: `vs-sheet-scrim${l ? " drawer" : ""}${u ? " vs-sheet-scrim--sticky" : ""}`, onClick: u ? void 0 : e, children: /* @__PURE__ */ f("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
207
207
  /* @__PURE__ */ i("div", { className: "vs-sheet__grip" }),
208
208
  /* @__PURE__ */ f("div", { className: "vs-sheet__head", children: [
209
209
  s ?? /* @__PURE__ */ i("span", { className: "vs-sheet__title", children: n }),
@@ -288,17 +288,17 @@ function Ya(t, e, n) {
288
288
  }
289
289
  class _a {
290
290
  constructor(e = {}) {
291
- ge(this, "entries", /* @__PURE__ */ new Map());
292
- ge(this, "wanted", []);
293
- ge(this, "used", []);
294
- ge(this, "fetcher");
295
- ge(this, "concurrency");
296
- ge(this, "keep");
297
- ge(this, "retryMs");
298
- ge(this, "now");
299
- ge(this, "toUrl");
300
- ge(this, "revoke");
301
- ge(this, "onReady", () => {
291
+ he(this, "entries", /* @__PURE__ */ new Map());
292
+ he(this, "wanted", []);
293
+ he(this, "used", []);
294
+ he(this, "fetcher");
295
+ he(this, "concurrency");
296
+ he(this, "keep");
297
+ he(this, "retryMs");
298
+ he(this, "now");
299
+ he(this, "toUrl");
300
+ he(this, "revoke");
301
+ he(this, "onReady", () => {
302
302
  });
303
303
  this.fetcher = e.fetcher ?? (typeof fetch == "function" ? (n, s) => fetch(n, { signal: s }) : null), this.concurrency = Math.max(1, e.concurrency ?? 2), this.keep = Math.max(2, e.keep ?? 24), this.retryMs = e.retryMs ?? 4e3, this.now = e.now ?? (() => Date.now()), this.toUrl = e.toUrl ?? ((n) => URL.createObjectURL(n)), this.revoke = e.revoke ?? ((n) => {
304
304
  try {
@@ -392,50 +392,50 @@ class ui extends Error {
392
392
  }
393
393
  const nt = class nt {
394
394
  constructor() {
395
- ge(this, "el", null);
396
- ge(this, "clips", /* @__PURE__ */ new Map());
397
- ge(this, "order", []);
398
- ge(this, "current", null);
399
- ge(this, "currentPart", 0);
400
- ge(this, "partBase", 0);
401
- ge(this, "within", null);
402
- ge(this, "playing", !1);
403
- ge(this, "muted", !1);
404
- ge(this, "rate", 1);
405
- ge(this, "volume", 1);
406
- ge(this, "finite", !1);
407
- ge(this, "onSentence", () => {
395
+ he(this, "el", null);
396
+ he(this, "clips", /* @__PURE__ */ new Map());
397
+ he(this, "order", []);
398
+ he(this, "current", null);
399
+ he(this, "currentPart", 0);
400
+ he(this, "partBase", 0);
401
+ he(this, "within", null);
402
+ he(this, "playing", !1);
403
+ he(this, "muted", !1);
404
+ he(this, "rate", 1);
405
+ he(this, "volume", 1);
406
+ he(this, "finite", !1);
407
+ he(this, "onSentence", () => {
408
408
  });
409
- ge(this, "onWaiting", () => {
409
+ he(this, "onWaiting", () => {
410
410
  });
411
- ge(this, "onStarting", () => {
411
+ he(this, "onStarting", () => {
412
412
  });
413
- ge(this, "speakable", () => !0);
414
- ge(this, "coming", () => !1);
415
- ge(this, "gapBefore", () => 0);
416
- ge(this, "flow", !1);
417
- ge(this, "silentSpan", () => null);
418
- ge(this, "lastDone", null);
419
- ge(this, "rested", !1);
420
- ge(this, "rest", null);
421
- ge(this, "sequence", []);
422
- ge(this, "seqAt", /* @__PURE__ */ new Map());
423
- ge(this, "spoken", /* @__PURE__ */ new Set());
424
- ge(this, "lastRead", null);
425
- ge(this, "started", !1);
426
- ge(this, "awaiting", null);
427
- ge(this, "waitTimer", null);
428
- ge(this, "onError", () => {
413
+ he(this, "speakable", () => !0);
414
+ he(this, "coming", () => !1);
415
+ he(this, "gapBefore", () => 0);
416
+ he(this, "flow", !1);
417
+ he(this, "silentSpan", () => null);
418
+ he(this, "lastDone", null);
419
+ he(this, "rested", !1);
420
+ he(this, "rest", null);
421
+ he(this, "sequence", []);
422
+ he(this, "seqAt", /* @__PURE__ */ new Map());
423
+ he(this, "spoken", /* @__PURE__ */ new Set());
424
+ he(this, "lastRead", null);
425
+ he(this, "started", !1);
426
+ he(this, "awaiting", null);
427
+ he(this, "waitTimer", null);
428
+ he(this, "onError", () => {
429
429
  });
430
- ge(this, "floor", 0);
431
- ge(this, "loading", null);
432
- ge(this, "readAhead", 0);
433
- ge(this, "readAheadS", 0);
434
- ge(this, "prefetch", new _a());
435
- ge(this, "warmed", /* @__PURE__ */ new Set());
436
- ge(this, "startingSince", /* @__PURE__ */ new Map());
437
- ge(this, "retries", /* @__PURE__ */ new Map());
438
- ge(this, "retryTimer", null);
430
+ he(this, "floor", 0);
431
+ he(this, "loading", null);
432
+ he(this, "readAhead", 0);
433
+ he(this, "readAheadS", 0);
434
+ he(this, "prefetch", new _a());
435
+ he(this, "warmed", /* @__PURE__ */ new Set());
436
+ he(this, "startingSince", /* @__PURE__ */ new Map());
437
+ he(this, "retries", /* @__PURE__ */ new Map());
438
+ he(this, "retryTimer", null);
439
439
  }
440
440
  setSequence(e) {
441
441
  e.length === this.sequence.length && e.every((n, s) => this.sequence[s] === n) || (this.sequence = e, this.seqAt = new Map(e.map((n, s) => [n, s])), this.order.sort((n, s) => this.rank(n) - this.rank(s)));
@@ -695,16 +695,16 @@ const nt = class nt {
695
695
  let o = 0;
696
696
  if (a)
697
697
  if (this.within = null, s.total > 1) {
698
- const c = Array.from({ length: s.total }, (u, g) => {
698
+ const c = Array.from({ length: s.total }, (u, h) => {
699
699
  var M;
700
- return ((M = s.got.get(g)) == null ? void 0 : M.durationS) ?? 0;
701
- }), d = c.reduce((u, g) => u + g, 0);
700
+ return ((M = s.got.get(h)) == null ? void 0 : M.durationS) ?? 0;
701
+ }), d = c.reduce((u, h) => u + h, 0);
702
702
  if (d > 0 && c.every((u) => u > 0)) {
703
703
  const u = a.frac * d;
704
- let g = 0, M = 0;
705
- for (; g < c.length - 1 && M + c[g] <= u; ) M += c[g++];
706
- if (o = -(u - M), g !== n) {
707
- this.partBase = M, this.startPartAt(e, g, u - M);
704
+ let h = 0, M = 0;
705
+ for (; h < c.length - 1 && M + c[h] <= u; ) M += c[h++];
706
+ if (o = -(u - M), h !== n) {
707
+ this.partBase = M, this.startPartAt(e, h, u - M);
708
708
  return;
709
709
  }
710
710
  }
@@ -737,9 +737,9 @@ const nt = class nt {
737
737
  if (this.rank(c) <= l || !this.speakable(c)) continue;
738
738
  const d = this.clips.get(c);
739
739
  if (d)
740
- for (const u of [...d.got.keys()].sort((g, M) => g - M)) {
741
- const g = d.got.get(u);
742
- s.push(g), r += g.durationS || 0;
740
+ for (const u of [...d.got.keys()].sort((h, M) => h - M)) {
741
+ const h = d.got.get(u);
742
+ s.push(h), r += h.durationS || 0;
743
743
  }
744
744
  }
745
745
  return s;
@@ -868,7 +868,7 @@ const nt = class nt {
868
868
  this.onWaiting(null), this.onStarting(null), this.playing = !1, this.current = null, this.currentPart = 0, this.partBase = 0, this.loading = null, this.floor = 0, this.lastRead = null, this.started = !1, this.stopWaiting(), this.spoken.clear(), this.retryTimer && (clearTimeout(this.retryTimer), this.retryTimer = null), this.retries.clear(), this.prefetch.clear(), e && (e.pause(), e.removeAttribute("src"), e.load()), this.el = null;
869
869
  }
870
870
  };
871
- ge(nt, "WAIT_MS", 15e3), ge(nt, "START_WAIT_MS", 4e3), ge(nt, "COMING_MS", 12e4), ge(nt, "SKEW_LINES", 3), ge(nt, "RETRIES", 4), ge(nt, "RETRY_MS", 1200), ge(nt, "STARTING_MS", 3e5);
871
+ he(nt, "WAIT_MS", 15e3), he(nt, "START_WAIT_MS", 4e3), he(nt, "COMING_MS", 12e4), he(nt, "SKEW_LINES", 3), he(nt, "RETRIES", 4), he(nt, "RETRY_MS", 1200), he(nt, "STARTING_MS", 3e5);
872
872
  let cs = nt;
873
873
  function di(t, e) {
874
874
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
@@ -880,18 +880,18 @@ function Ua(t, e, n, s = {}, r) {
880
880
  const o = Ca(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
881
881
  return a.flatMap((d) => {
882
882
  var M, N;
883
- const u = (M = t.clipRev) == null ? void 0 : M[String(d)], g = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(d)]) ?? 1);
884
- return Array.from({ length: g }, (m, w) => {
883
+ const u = (M = t.clipRev) == null ? void 0 : M[String(d)], h = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(d)]) ?? 1);
884
+ return Array.from({ length: h }, (m, w) => {
885
885
  var v;
886
886
  return {
887
887
  sentenceId: d,
888
888
  lang: t.lang,
889
889
  src: `${n}/v1/recordings/${e}/voice/${d}?lang=${encodeURIComponent(t.lang)}${c}&format=${jn()}${w > 0 ? `&part=${w}` : ""}${u ? `&v=${encodeURIComponent(u)}` : ""}${l}`,
890
- durationS: g === 1 ? ((v = t.clipDur) == null ? void 0 : v[String(d)]) ?? 0 : 0,
890
+ durationS: h === 1 ? ((v = t.clipDur) == null ? void 0 : v[String(d)]) ?? 0 : 0,
891
891
  voice: t.voice ?? null,
892
892
  cloned: !1,
893
893
  part: w,
894
- parts: g
894
+ parts: h
895
895
  };
896
896
  });
897
897
  });
@@ -923,7 +923,7 @@ function Ms(t, e) {
923
923
  return e;
924
924
  }
925
925
  }
926
- function hi(t, e) {
926
+ function gi(t, e) {
927
927
  try {
928
928
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
929
929
  } catch {
@@ -938,14 +938,14 @@ function ks(t, e) {
938
938
  ds.delete(r), window.removeEventListener("storage", r);
939
939
  };
940
940
  }, [t]), [n, (r) => {
941
- s(r), hi(t, r);
941
+ s(r), gi(t, r);
942
942
  }];
943
943
  }
944
944
  function Er(t) {
945
945
  const e = Ms(us, []);
946
- hi(us, Array.isArray(e) ? e.filter((n) => n !== t) : []);
946
+ gi(us, Array.isArray(e) ? e.filter((n) => n !== t) : []);
947
947
  }
948
- function gi() {
948
+ function hi() {
949
949
  const [t, e] = ks(us, []), n = Array.isArray(t) ? t : [];
950
950
  return [n, (s) => {
951
951
  s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
@@ -965,21 +965,21 @@ function $a(t) {
965
965
  const [e, n] = ks(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
966
966
  return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Qa, n];
967
967
  }
968
- function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: g }) {
968
+ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: h }) {
969
969
  const [M, N] = O(""), [m, w] = O(!1), [v, p] = O(null);
970
970
  Y(() => {
971
971
  t && (N(""), w(!1), p(null));
972
972
  }, [t]);
973
- const h = Ie(() => {
973
+ const g = Ie(() => {
974
974
  const S = M.trim().toLowerCase();
975
975
  return [...S ? r.filter((I) => I.label.toLowerCase().includes(S) || I.native.toLowerCase().includes(S) || I.code.toLowerCase().includes(S)) : r].sort((I, E) => {
976
976
  const oe = l.indexOf(I.code), P = l.indexOf(E.code);
977
977
  return oe !== -1 || P !== -1 ? (oe === -1 ? 999 : oe) - (P === -1 ? 999 : P) : I.label.localeCompare(E.label);
978
978
  });
979
979
  }, [r, M, l]), C = Ie(
980
- () => M ? [] : c.map((S) => h.find(($) => $.code === S)).filter((S) => !!S).sort((S, $) => S.label.localeCompare($.label)),
981
- [c, h, M]
982
- ), b = Ie(() => C.length ? h.filter((S) => !C.some(($) => $.code === S.code)) : h, [h, C]), k = m || M ? b : b.slice(0, 12), J = b.length - k.length, A = (S, $ = !1) => {
980
+ () => M ? [] : c.map((S) => g.find(($) => $.code === S)).filter((S) => !!S).sort((S, $) => S.label.localeCompare($.label)),
981
+ [c, g, M]
982
+ ), x = Ie(() => C.length ? g.filter((S) => !C.some(($) => $.code === S.code)) : g, [g, C]), k = m || M ? x : x.slice(0, 12), J = x.length - k.length, A = (S, $ = !1) => {
983
983
  const L = !!d && !S.voice;
984
984
  return /* @__PURE__ */ f(
985
985
  "button",
@@ -1006,7 +1006,7 @@ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1006
1006
  (I.key === "Enter" || I.key === " ") && (I.preventDefault(), I.stopPropagation(), Er(S.code));
1007
1007
  }, children: /* @__PURE__ */ i(de, { d: q.close, size: 16 }) }) }),
1008
1008
  /* @__PURE__ */ i("span", { className: `vs-picker__slot${L ? " vs-picker__slot--wide" : ""}`, title: S.voice ? "Voice available" : L ? "No voice speaks this language yet" : void 0, children: L ? v === S.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : S.voice && /* @__PURE__ */ i(de, { d: q.headphones, size: 16 }) }),
1009
- /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (g === S.code ? /* @__PURE__ */ i(ct, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(de, { d: q.check, size: 16, sw: 2.2 })) })
1009
+ /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (h === S.code ? /* @__PURE__ */ i(ct, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(de, { d: q.check, size: 16, sw: 2.2 })) })
1010
1010
  ]
1011
1011
  },
1012
1012
  S.code
@@ -1038,7 +1038,7 @@ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1038
1038
  J,
1039
1039
  " MORE LANGUAGES"
1040
1040
  ] }),
1041
- h.length === 0 && /* @__PURE__ */ f("div", { className: "vs-picker__more", children: [
1041
+ g.length === 0 && /* @__PURE__ */ f("div", { className: "vs-picker__more", children: [
1042
1042
  "No match for “",
1043
1043
  M,
1044
1044
  "”"
@@ -1117,7 +1117,7 @@ function Kn(t) {
1117
1117
  t && (t.pause(), t.removeAttribute("src"), t.load());
1118
1118
  }
1119
1119
  function Ni(t, e) {
1120
- const [n, s] = O("off"), [r, a] = O([]), [o, l] = O(!1), c = z(null), d = z([null, null]), u = z([NaN, NaN]), g = z(0);
1120
+ const [n, s] = O("off"), [r, a] = O([]), [o, l] = O(!1), c = z(null), d = z([null, null]), u = z([NaN, NaN]), h = z(0);
1121
1121
  return Y(() => {
1122
1122
  if (a([]), l(!1), !t) {
1123
1123
  s("off");
@@ -1141,7 +1141,7 @@ function Ni(t, e) {
1141
1141
  s("unavailable"), a([]);
1142
1142
  return;
1143
1143
  }
1144
- a((v) => v.length === w.parts.length && v.every((p, h) => p.startS === w.parts[h].startS) ? v : w.parts), N = setTimeout(m, w.retryS * 1e3);
1144
+ a((v) => v.length === w.parts.length && v.every((p, g) => p.startS === w.parts[g].startS) ? v : w.parts), N = setTimeout(m, w.retryS * 1e3);
1145
1145
  }
1146
1146
  }).catch(() => {
1147
1147
  M || (N = setTimeout(m, 5e3));
@@ -1163,12 +1163,12 @@ function Ni(t, e) {
1163
1163
  M(), l(!1);
1164
1164
  return;
1165
1165
  }
1166
- const m = to(r, N, u.current, g.current);
1167
- for (const [p, h] of m.load) {
1166
+ const m = to(r, N, u.current, h.current);
1167
+ for (const [p, g] of m.load) {
1168
1168
  let C = d.current[p];
1169
- C || (C = new Audio(), C.preload = "auto", d.current[p] = C), C.pause(), C.src = r[h].url, u.current[p] = r[h].startS;
1169
+ C || (C = new Audio(), C.preload = "auto", d.current[p] = C), C.pause(), C.src = r[g].url, u.current[p] = r[g].startS;
1170
1170
  }
1171
- g.current = m.play;
1171
+ h.current = m.play;
1172
1172
  const w = d.current[m.play], v = d.current[1 - m.play];
1173
1173
  v && !v.paused && v.pause(), Yr(w, { ...e, t: e.t - r[N].startS }), l(!e.playing || w.readyState >= 3);
1174
1174
  }, [n, r, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : r.length ? r[r.length - 1].endS : 0 };
@@ -1192,7 +1192,7 @@ function ao(t, e, n) {
1192
1192
  const o = Math.max(1, ...a.map((c) => c.parts));
1193
1193
  let l = Math.max(0, n - r.start);
1194
1194
  for (let c = 0; c < o; c++) {
1195
- const d = a.find((g) => g.part === c);
1195
+ const d = a.find((h) => h.part === c);
1196
1196
  if (!d) return { kind: "missing", sid: r.sid };
1197
1197
  const u = d.durationS && d.durationS > 0 ? d.durationS : 1 / 0;
1198
1198
  if (l < u) return { kind: "play", sid: r.sid, src: d.src, offset: l };
@@ -1238,11 +1238,11 @@ function co(t) {
1238
1238
  }
1239
1239
  const c = ao(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
1240
1240
  a((m) => m.missing === d && m.sid === u ? m : { missing: d, sid: u });
1241
- const g = new Set(lo(t.lines, e, t.t));
1242
- for (const m of g) o(m);
1241
+ const h = new Set(lo(t.lines, e, t.t));
1242
+ for (const m of h) o(m);
1243
1243
  const M = s.current;
1244
- M && g.add(M.src);
1245
- for (const [m, w] of n.current) !g.has(m) && (!M || M.el !== w) && (w.pause(), n.current.delete(m));
1244
+ M && h.add(M.src);
1245
+ for (const [m, w] of n.current) !h.has(m) && (!M || M.el !== w) && (w.pause(), n.current.delete(m));
1246
1246
  if (!t.playing) {
1247
1247
  M == null || M.el.pause();
1248
1248
  return;
@@ -1307,7 +1307,7 @@ function Mo(t, e) {
1307
1307
  }
1308
1308
  };
1309
1309
  }
1310
- function ho(t, e) {
1310
+ function go(t, e) {
1311
1311
  const n = z(t);
1312
1312
  n.current = t;
1313
1313
  const s = !!t;
@@ -1346,7 +1346,7 @@ function Pt() {
1346
1346
  spans: []
1347
1347
  };
1348
1348
  }
1349
- function go(t, e) {
1349
+ function ho(t, e) {
1350
1350
  for (const s of t.spans) {
1351
1351
  const r = s.mediaEnd ?? 1 / 0;
1352
1352
  if (e < r || s.mediaEnd == null) return s.wallStart + Math.max(0, e - s.mediaStart);
@@ -1495,7 +1495,7 @@ function No(t, e) {
1495
1495
  if ((n = e.scriptWords) != null && n.length) {
1496
1496
  const a = (c) => c.toLowerCase().replace(/[^\p{L}\p{N}]/gu, ""), o = (e.fixes ?? []).filter((c) => String(c.kind ?? "").endsWith("script") && String(c.orig ?? "").trim()), l = (c) => {
1497
1497
  var d, u;
1498
- return c.recognized ?? ((u = (d = o.find((g) => String(g.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : d.orig) == null ? void 0 : u.trim());
1498
+ return c.recognized ?? ((u = (d = o.find((h) => String(h.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : d.orig) == null ? void 0 : u.trim());
1499
1499
  };
1500
1500
  s.words = s.words.map((c, d) => {
1501
1501
  if (!e.scriptWords.includes(d)) return c;
@@ -1529,7 +1529,7 @@ function No(t, e) {
1529
1529
  seqs: s.seqs,
1530
1530
  speaker: s.speaker,
1531
1531
  start: s.start,
1532
- wallStart: go(t, s.start),
1532
+ wallStart: ho(t, s.start),
1533
1533
  text: a ? r.text : s.text,
1534
1534
  status: s.status === "open" ? "open" : "closed",
1535
1535
  settled: !!s.settled,
@@ -1712,7 +1712,7 @@ const Oo = /* @__PURE__ */ new Set([
1712
1712
  engine_lost: "The transcription engine stopped. Please try again.",
1713
1713
  capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
1714
1714
  timeout: "That took too long. Please try again."
1715
- }, hs = yi.internal, Xn = "Can't reach VocalStack. Check your connection.", Pr = {
1715
+ }, gs = yi.internal, Xn = "Can't reach VocalStack. Check your connection.", Pr = {
1716
1716
  NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
1717
1717
  NotSupportedError: "This browser cannot play this.",
1718
1718
  AbortError: "It was cancelled."
@@ -1720,13 +1720,13 @@ const Oo = /* @__PURE__ */ new Set([
1720
1720
  function wt(t) {
1721
1721
  const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, s = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, r = e == null ? void 0 : e.details;
1722
1722
  if (n || s && s >= 400)
1723
- return n && Oo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: Xn, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Xn, code: n, status: s, details: r } : { message: n && yi[n] || hs, code: n, status: s, details: r };
1723
+ return n && Oo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: Xn, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Xn, code: n, status: s, details: r } : { message: n && yi[n] || gs, code: n, status: s, details: r };
1724
1724
  const a = (e == null ? void 0 : e.name) ?? "";
1725
- return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: Xn }) : Pr[a] ? { message: Pr[a] } : t instanceof Error && a === "Error" && !(t instanceof ti) ? { message: t.message } : { message: hs };
1725
+ return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: Xn }) : Pr[a] ? { message: Pr[a] } : t instanceof Error && a === "Error" && !(t instanceof ti) ? { message: t.message } : { message: gs };
1726
1726
  }
1727
1727
  const Ti = "https://api.vocalstack.com", Os = ei(null);
1728
1728
  function Yt() {
1729
- const t = ga(Os);
1729
+ const t = ha(Os);
1730
1730
  if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
1731
1731
  return t;
1732
1732
  }
@@ -1787,11 +1787,11 @@ function Eo(t, e) {
1787
1787
  const [n, s] = O(null), [r, a] = O(!1), [o, l] = O(null), [c, d] = O(0);
1788
1788
  return Y(() => {
1789
1789
  let u = !0;
1790
- return Ao(t, e).then((g) => {
1791
- u && (s(g), a(!1), l(null));
1792
- }).catch((g) => {
1790
+ return Ao(t, e).then((h) => {
1791
+ u && (s(h), a(!1), l(null));
1792
+ }).catch((h) => {
1793
1793
  if (!u) return;
1794
- const M = wt(g);
1794
+ const M = wt(h);
1795
1795
  M.code === "not_found" || M.status === 404 ? a(!0) : l(M);
1796
1796
  }), () => {
1797
1797
  u = !1;
@@ -1854,7 +1854,7 @@ const _o = (t) => new Promise((e) => setTimeout(e, t)), Uo = 2500, Ro = 72;
1854
1854
  function Po(t, e) {
1855
1855
  const n = Yt(), s = z(n);
1856
1856
  s.current = n;
1857
- const [r, a] = O(Pt), o = z(Pt()), l = z(null), c = z(e.lang ?? null), [d, u] = O(!1), [g, M] = O(null), [N, m] = O(!1), w = qe(() => {
1857
+ const [r, a] = O(Pt), o = z(Pt()), l = z(null), c = z(e.lang ?? null), [d, u] = O(!1), [h, M] = O(null), [N, m] = O(!1), w = qe(() => {
1858
1858
  const $ = o.current;
1859
1859
  a({ ...$ });
1860
1860
  }, []), v = z(e);
@@ -1865,12 +1865,12 @@ function Po(t, e) {
1865
1865
  const I = n.client;
1866
1866
  let E = o.current.state;
1867
1867
  const oe = () => {
1868
- var x, ue;
1868
+ var b, ue;
1869
1869
  const P = o.current.state;
1870
- P !== E && (E = P, (ue = (x = v.current).onState) == null || ue.call(x, P));
1870
+ P !== E && (E = P, (ue = (b = v.current).onState) == null || ue.call(b, P));
1871
1871
  };
1872
1872
  return (async () => {
1873
- var P, x, ue, B;
1873
+ var P, b, ue, B;
1874
1874
  for (; $; ) {
1875
1875
  let F = null;
1876
1876
  try {
@@ -1887,7 +1887,7 @@ function Po(t, e) {
1887
1887
  else if (le.type === "frame") {
1888
1888
  No(o.current, le.frame);
1889
1889
  const ve = le.frame;
1890
- ve.type === "recording.state" && (E = o.current.state, (x = (P = v.current).onState) == null || x.call(P, ve.state, ve.reason)), (B = (ue = v.current).onFrame) == null || B.call(ue, ve), w();
1890
+ ve.type === "recording.state" && (E = o.current.state, (b = (P = v.current).onState) == null || b.call(P, ve.state, ve.reason)), (B = (ue = v.current).onFrame) == null || B.call(ue, ve), w();
1891
1891
  } else le.type === "closed" && u(!1);
1892
1892
  }
1893
1893
  } catch (re) {
@@ -1927,32 +1927,32 @@ function Po(t, e) {
1927
1927
  $ = !1, (P = l.current) == null || P.close(), l.current = null, u(!1);
1928
1928
  };
1929
1929
  }, [t, n, e.voice]);
1930
- const [p, h] = O(!1), [C, b] = O(null), k = z(0), [J, A] = O(null), K = qe(($) => {
1930
+ const [p, g] = O(!1), [C, x] = O(null), k = z(0), [J, A] = O(null), K = qe(($) => {
1931
1931
  var oe;
1932
1932
  if (c.current = $, (oe = l.current) == null || oe.setLanguage($), !t) return;
1933
1933
  const L = s.current.client, I = ++k.current;
1934
- h(!0), b(null);
1935
- const E = (P) => L.recordings.transcript(t, { lang: $ ?? void 0, ...s.current.readAs, asListener: !s.current.owner }).then((x) => {
1936
- I === k.current && (o.current = Jn(x, o.current), A($), w(), x.translationPending && P > 0 && window.setTimeout(() => {
1934
+ g(!0), x(null);
1935
+ const E = (P) => L.recordings.transcript(t, { lang: $ ?? void 0, ...s.current.readAs, asListener: !s.current.owner }).then((b) => {
1936
+ I === k.current && (o.current = Jn(b, o.current), A($), w(), b.translationPending && P > 0 && window.setTimeout(() => {
1937
1937
  I === k.current && E(P - 1).catch(() => {
1938
1938
  });
1939
1939
  }, Uo));
1940
1940
  });
1941
1941
  E(Ro).catch(() => {
1942
- I === k.current && $ && b($);
1942
+ I === k.current && $ && x($);
1943
1943
  }).finally(() => {
1944
- I === k.current && h(!1);
1944
+ I === k.current && g(!1);
1945
1945
  });
1946
1946
  }, [w, t]), j = qe(($, L) => {
1947
1947
  const I = o.current;
1948
1948
  let E = !1;
1949
1949
  for (const [oe, P] of Object.entries(L)) {
1950
- const x = I.sentences.get(Number(oe));
1951
- x && (x.translations = { ...x.translations, [$]: P }, E = !0);
1950
+ const b = I.sentences.get(Number(oe));
1951
+ b && (b.translations = { ...b.translations, [$]: P }, E = !0);
1952
1952
  }
1953
1953
  E && w();
1954
1954
  }, [w]), S = qe(() => M(null), []);
1955
- return { model: r, connected: d, error: g, notFound: N, clearError: S, setLanguage: K, mergeTranslations: j, translating: p, translateFailed: C, shownLang: J };
1955
+ return { model: r, connected: d, error: h, notFound: N, clearError: S, setLanguage: K, mergeTranslations: j, translating: p, translateFailed: C, shownLang: J };
1956
1956
  }
1957
1957
  const $r = {
1958
1958
  English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
@@ -1968,7 +1968,7 @@ function vi(t) {
1968
1968
  async function ji(t) {
1969
1969
  var r, a, o, l, c;
1970
1970
  const e = await t.json().catch(() => null), n = ((r = e == null ? void 0 : e.error) == null ? void 0 : r.code) ?? (e == null ? void 0 : e.code), s = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
1971
- return new ti(typeof n == "string" ? n : "internal", typeof s == "string" ? s : hs, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1971
+ return new ti(typeof n == "string" ? n : "internal", typeof s == "string" ? s : gs, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1972
1972
  }
1973
1973
  function ts(t) {
1974
1974
  switch (t) {
@@ -2002,7 +2002,7 @@ function Bo(t, e) {
2002
2002
  }
2003
2003
  return n;
2004
2004
  }
2005
- const gs = [
2005
+ const hs = [
2006
2006
  { key: "pdf", name: "PDF", ext: "PDF", note: "Formatted transcript in paragraphs, with timestamps and speaker labels.", icon: "M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" },
2007
2007
  { key: "xlsx", name: "Excel", ext: "XLSX", note: "One row per segment: start, end, speaker, text, confidence.", icon: "M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 12.75v-1.5c0-.621.504-1.125 1.125-1.125m18.375 2.625V5.625m0 12.75c0 .621-.504 1.125-1.125 1.125m1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125m0 3.75h-7.5A1.125 1.125 0 0 1 12 18.375m9.75-12.75c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125m19.5 0v1.5c0 .621-.504 1.125-1.125 1.125M2.25 5.625v1.5c0 .621.504 1.125 1.125 1.125m0 0h17.25m-17.25 0h7.5c.621 0 1.125.504 1.125 1.125M3.375 8.25c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125m17.25-3.75h-7.5c-.621 0-1.125.504-1.125 1.125m8.625-1.125c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m0 0h-7.5m-9 0h7.5m0 0c.621 0 1.125.504 1.125 1.125M12 10.875v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 10.875c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125M13.125 12h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125M20.625 12c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5M12 14.625v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 14.625c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125m0 1.5v-1.5m0 0c0-.621.504-1.125 1.125-1.125m0 0h7.5" },
2008
2008
  { key: "srt", name: "Subtitles", ext: "SRT / VTT", note: "Timed caption cues, ready for a video editor or a player.", icon: "M2.25 15.75V8.25A2.25 2.25 0 0 1 4.5 6h15a2.25 2.25 0 0 1 2.25 2.25v7.5A2.25 2.25 0 0 1 19.5 18h-15a2.25 2.25 0 0 1-2.25-2.25Zm4.5-4.5h4.5m-4.5 3h1.5m3 0h6m-3-3h3" },
@@ -2021,11 +2021,11 @@ async function Vo(t, e, n, s = {}) {
2021
2021
  var M, N;
2022
2022
  const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
2023
2023
  if (!r.ok) throw await ji(r);
2024
- const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), g = document.createElement("a");
2025
- g.href = u, g.download = d, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2024
+ const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), h = document.createElement("a");
2025
+ h.href = u, h.download = d, h.style.display = "none", document.body.appendChild(h), h.click(), h.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2026
2026
  }
2027
2027
  async function Wo(t, e) {
2028
- const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((g) => g.lang === s), l = (u) => di(u, r);
2028
+ const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((h) => h.lang === s), l = (u) => di(u, r);
2029
2029
  let c = l(await o());
2030
2030
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2031
2031
  const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2087,7 +2087,7 @@ function Ko(t, e, n = 0) {
2087
2087
  const A = o(), K = A ? A.offsetHeight : 0, j = r.clientHeight - K - 36, S = r.scrollHeight - r.clientHeight, $ = j > 0 ? Math.max(30, Math.round(j * (r.clientHeight - K) / r.scrollHeight)) : 0;
2088
2088
  return { vis: j, max: S, size: $ };
2089
2089
  };
2090
- let c = -1, d = null, u = !1, g = 0, M = 0;
2090
+ let c = -1, d = null, u = !1, h = 0, M = 0;
2091
2091
  const N = () => {
2092
2092
  const A = o();
2093
2093
  if (!A) return;
@@ -2112,21 +2112,21 @@ function Ko(t, e, n = 0) {
2112
2112
  return;
2113
2113
  }
2114
2114
  a.style.pointerEvents = "auto", a.style.height = j.size + "px", a.style.transform = "translateY(" + Math.round(r.scrollTop / j.max * (j.vis - j.size)) + "px)", A && m();
2115
- }, h = parseFloat(getComputedStyle(r).paddingRight) || 0;
2116
- a.style.right = (h >= 12 ? -(h - 6) : 2) + "px";
2117
- const C = () => p(!0), b = (A) => {
2115
+ }, g = parseFloat(getComputedStyle(r).paddingRight) || 0;
2116
+ a.style.right = (g >= 12 ? -(g - 6) : 2) + "px";
2117
+ const C = () => p(!0), x = (A) => {
2118
2118
  const K = l();
2119
- K.vis - K.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, g = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", m());
2119
+ K.vis - K.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, h = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", m());
2120
2120
  }, k = (A) => {
2121
2121
  if (!u) return;
2122
2122
  const K = l();
2123
- r.scrollTop = M + (A.clientY - g) / (K.vis - K.size) * K.max, m();
2123
+ r.scrollTop = M + (A.clientY - h) / (K.vis - K.size) * K.max, m();
2124
2124
  }, J = () => {
2125
2125
  u && (u = !1, a.style.cursor = "grab", m());
2126
2126
  };
2127
- return r.addEventListener("scroll", C, { passive: !0 }), a.addEventListener("pointerdown", b), a.addEventListener("pointermove", k), a.addEventListener("pointerup", J), a.addEventListener("pointercancel", J), typeof ResizeObserver < "u" && (w = new ResizeObserver(() => p()), w.observe(r)), s.current = () => p(), p(), () => {
2127
+ return r.addEventListener("scroll", C, { passive: !0 }), a.addEventListener("pointerdown", x), a.addEventListener("pointermove", k), a.addEventListener("pointerup", J), a.addEventListener("pointercancel", J), typeof ResizeObserver < "u" && (w = new ResizeObserver(() => p()), w.observe(r)), s.current = () => p(), p(), () => {
2128
2128
  s.current = () => {
2129
- }, r.removeEventListener("scroll", C), a.removeEventListener("pointerdown", b), a.removeEventListener("pointermove", k), a.removeEventListener("pointerup", J), a.removeEventListener("pointercancel", J), w == null || w.disconnect(), clearTimeout(d);
2129
+ }, r.removeEventListener("scroll", C), a.removeEventListener("pointerdown", x), a.removeEventListener("pointermove", k), a.removeEventListener("pointerup", J), a.removeEventListener("pointercancel", J), w == null || w.disconnect(), clearTimeout(d);
2130
2130
  };
2131
2131
  }, []);
2132
2132
  }
@@ -2174,9 +2174,9 @@ function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
2174
2174
  ] });
2175
2175
  }
2176
2176
  function el({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
2177
- const g = z(null), M = z(!1), [N, m] = O(null), w = Math.max(1, e), v = N ?? d, p = v != null ? Math.min(100, Math.max(0, v * 100)) : t / Math.max(1, w - 1) * 100, h = d != null && u > 0 && N == null ? `width ${u}ms linear, left ${u}ms linear` : "none", C = (k) => {
2177
+ const h = z(null), M = z(!1), [N, m] = O(null), w = Math.max(1, e), v = N ?? d, p = v != null ? Math.min(100, Math.max(0, v * 100)) : t / Math.max(1, w - 1) * 100, g = d != null && u > 0 && N == null ? `width ${u}ms linear, left ${u}ms linear` : "none", C = (k) => {
2178
2178
  var j;
2179
- const J = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
2179
+ const J = (j = h.current) == null ? void 0 : j.getBoundingClientRect();
2180
2180
  if (!J) return;
2181
2181
  const A = Math.min(1, Math.max(0, (k.clientX - J.left) / Math.max(1, J.width)));
2182
2182
  if (o) {
@@ -2185,28 +2185,28 @@ function el({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
2185
2185
  }
2186
2186
  const K = Math.round(A * (w - 1));
2187
2187
  K !== t && a(K);
2188
- }, b = () => {
2188
+ }, x = () => {
2189
2189
  M.current && (M.current = !1, m(null), c == null || c());
2190
2190
  };
2191
2191
  return /* @__PURE__ */ f("div", { className: "rscrub", children: [
2192
2192
  /* @__PURE__ */ f(
2193
2193
  "div",
2194
2194
  {
2195
- ref: g,
2195
+ ref: h,
2196
2196
  className: "rscrub__track",
2197
2197
  onPointerDown: (k) => {
2198
2198
  var J;
2199
- M.current = !0, (J = g.current) == null || J.setPointerCapture(k.pointerId), l == null || l(), C(k), k.preventDefault();
2199
+ M.current = !0, (J = h.current) == null || J.setPointerCapture(k.pointerId), l == null || l(), C(k), k.preventDefault();
2200
2200
  },
2201
2201
  onPointerMove: (k) => {
2202
2202
  M.current && C(k);
2203
2203
  },
2204
- onPointerUp: b,
2205
- onPointerCancel: b,
2204
+ onPointerUp: x,
2205
+ onPointerCancel: x,
2206
2206
  children: [
2207
2207
  /* @__PURE__ */ i("div", { className: "rscrub__rail" }),
2208
- /* @__PURE__ */ i("div", { className: "rscrub__fill", style: { width: `${p}%`, transition: h } }),
2209
- /* @__PURE__ */ i("div", { className: "rscrub__knob", style: { left: `${p}%`, transition: h } })
2208
+ /* @__PURE__ */ i("div", { className: "rscrub__fill", style: { width: `${p}%`, transition: g } }),
2209
+ /* @__PURE__ */ i("div", { className: "rscrub__knob", style: { left: `${p}%`, transition: g } })
2210
2210
  ]
2211
2211
  }
2212
2212
  ),
@@ -2248,7 +2248,7 @@ function sl({ onOpen: t, alone: e }) {
2248
2248
  ] });
2249
2249
  }
2250
2250
  function rl(t, e, n, s) {
2251
- const r = Yt(), [a, o] = O([]), [l, c] = O(0), d = z(/* @__PURE__ */ new Set()), u = z(!1), g = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
2251
+ const r = Yt(), [a, o] = O([]), [l, c] = O(0), d = z(/* @__PURE__ */ new Set()), u = z(!1), h = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
2252
2252
  Y(() => {
2253
2253
  d.current = /* @__PURE__ */ new Set();
2254
2254
  }, [t, e]);
@@ -2256,7 +2256,7 @@ function rl(t, e, n, s) {
2256
2256
  return Y(() => {
2257
2257
  if (!t || !e || !a.length || u.current) return;
2258
2258
  const N = a.filter((m) => {
2259
- const w = g.get(m);
2259
+ const w = h.get(m);
2260
2260
  return !w || !w.text.trim() || !w.settled || w.translations[e] || w.language && w.language.slice(0, 2).toLowerCase() === e.slice(0, 2).toLowerCase() ? !1 : !d.current.has(`${e}:${m}`);
2261
2261
  }).slice(0, 40);
2262
2262
  if (N.length) {
@@ -2272,7 +2272,7 @@ function rl(t, e, n, s) {
2272
2272
  u.current = !1, c((m) => m + 1);
2273
2273
  });
2274
2274
  }
2275
- }, [t, e, a, l, g, s]), M;
2275
+ }, [t, e, a, l, h, s]), M;
2276
2276
  }
2277
2277
  function il(t) {
2278
2278
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
@@ -2336,23 +2336,23 @@ function Wr(t, e, n = !0) {
2336
2336
  a.set(o.key, c.id), r.add(c.id);
2337
2337
  continue;
2338
2338
  }
2339
- const d = s.filter((M) => !r.has(M.id)), g = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
2340
- g && (a.set(o.key, g.id), r.add(g.id));
2339
+ const d = s.filter((M) => !r.has(M.id)), h = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
2340
+ h && (a.set(o.key, h.id), r.add(h.id));
2341
2341
  }
2342
2342
  return a;
2343
2343
  }
2344
2344
  function ll({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
2345
2345
  const d = t.find((u) => u.key === e) ?? t[0] ?? null;
2346
2346
  return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
2347
- const g = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, N = u.key >= 0 && !M && !!(r != null && r(u)), m = u.key >= 0 && !M && !N && s(u), w = u.key >= 0 && !M && !N && !m && !u.hasVoice && !!(a != null && a(u));
2347
+ const h = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, N = u.key >= 0 && !M && !!(r != null && r(u)), m = u.key >= 0 && !M && !N && s(u), w = u.key >= 0 && !M && !N && !m && !u.hasVoice && !!(a != null && a(u));
2348
2348
  return /* @__PURE__ */ f(
2349
2349
  "button",
2350
2350
  {
2351
2351
  type: "button",
2352
- "aria-selected": g,
2352
+ "aria-selected": h,
2353
2353
  onClick: () => n(u.key),
2354
2354
  title: u.name,
2355
- style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: g ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${g ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
2355
+ style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: h ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${h ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
2356
2356
  children: [
2357
2357
  /* @__PURE__ */ i(
2358
2358
  "span",
@@ -2362,10 +2362,10 @@ function ll({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2362
2362
  children: u.initial
2363
2363
  }
2364
2364
  ),
2365
- /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2366
- u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2365
+ /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: h ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2366
+ u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (h ? "var(--ink-62)" : "var(--ink-45)") }),
2367
2367
  M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
2368
- w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(de, { d: q.micOff, size: 13, sw: 1.7 }) }),
2368
+ w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: h ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(de, { d: q.micOff, size: 13, sw: 1.7 }) }),
2369
2369
  (m || N) && /* @__PURE__ */ i("span", { title: N ? "Cloning this voice…" : "No voice clone yet", "aria-label": N ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: N ? /* @__PURE__ */ i(ct, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
2370
2370
  ]
2371
2371
  },
@@ -2373,16 +2373,16 @@ function ll({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2373
2373
  );
2374
2374
  }) }) : null;
2375
2375
  }
2376
- function cl({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: g = null, problem: M, noClone: N = null, t: m }) {
2376
+ function cl({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: h = null, problem: M, noClone: N = null, t: m }) {
2377
2377
  const w = Ie(() => al(e, m), [e, m]), [v, p] = O({});
2378
2378
  Y(() => {
2379
2379
  p({});
2380
- }, [u, g]);
2381
- const h = (k) => k === m.vcMale.toUpperCase() || k === m.vcFemale.toUpperCase(), C = (k) => {
2380
+ }, [u, h]);
2381
+ const g = (k) => k === m.vcMale.toUpperCase() || k === m.vcFemale.toUpperCase(), C = (k) => {
2382
2382
  if (k === m.vcSheet) return !0;
2383
2383
  const J = v[k];
2384
- return J != null ? !J : !g || !h(k) ? !0 : k === (g === "female" ? m.vcFemale : m.vcMale).toUpperCase();
2385
- }, b = !!s && s !== n;
2384
+ return J != null ? !J : !h || !g(k) ? !0 : k === (h === "female" ? m.vcFemale : m.vcMale).toUpperCase();
2385
+ }, x = !!s && s !== n;
2386
2386
  return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
2387
2387
  M && /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2388
2388
  /* @__PURE__ */ i(de, { d: q.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
@@ -2460,7 +2460,7 @@ function cl({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2460
2460
  )
2461
2461
  ] }, k.id);
2462
2462
  }),
2463
- b && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => s && c(s), children: /* @__PURE__ */ i("span", { children: m.vcUse }) }) })
2463
+ x && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => s && c(s), children: /* @__PURE__ */ i("span", { children: m.vcUse }) }) })
2464
2464
  ] });
2465
2465
  }
2466
2466
  function ul({ height: t, width: e = 2 }) {
@@ -2491,20 +2491,20 @@ function Ml(t, e, n = 0, s) {
2491
2491
  }, [t, e, n, r, a, o]);
2492
2492
  return c;
2493
2493
  }
2494
- function hl(t) {
2494
+ function gl(t) {
2495
2495
  return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
2496
2496
  }
2497
- function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
2497
+ function hl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
2498
2498
  const o = Yt(), { data: l, reload: c } = ki(async () => {
2499
2499
  if (!t || !e) return null;
2500
2500
  const P = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
2501
- return { recordingId: t, lang: e, rows: P.filter((x) => x.lang === e) };
2501
+ return { recordingId: t, lang: e, rows: P.filter((b) => b.lang === e) };
2502
2502
  }, [t, e, o, n]), d = Ie(
2503
2503
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2504
2504
  [l, e, t]
2505
- ), u = Ie(() => di(d, r), [d, r]), g = u ? u.voiceKey || null : r, [M, N] = O(null), [m, w] = O(null), v = z(/* @__PURE__ */ new Set()), p = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, h = qe(async (P, x) => {
2505
+ ), u = Ie(() => di(d, r), [d, r]), h = u ? u.voiceKey || null : r, [M, N] = O(null), [m, w] = O(null), v = z(/* @__PURE__ */ new Set()), p = `${t ?? ""}|${e ?? ""}|${h ?? ""}`, g = qe(async (P, b) => {
2506
2506
  if (!t || !e || !n) return;
2507
- const ue = x != null && x.size ? null : Vr(P), B = x != null && x.size ? x : ue, F = B && B.size ? Object.fromEntries([...B].map(([ve, Le]) => [String(ve), Le])) : null, ie = `${t}|${e}|${F ? JSON.stringify(F) : P ?? ""}`;
2507
+ const ue = b != null && b.size ? null : Vr(P), B = b != null && b.size ? b : ue, F = B && B.size ? Object.fromEntries([...B].map(([ve, Le]) => [String(ve), Le])) : null, ie = `${t}|${e}|${F ? JSON.stringify(F) : P ?? ""}`;
2508
2508
  if (v.current.has(ie)) return;
2509
2509
  v.current.add(ie), N(ie), w(null);
2510
2510
  const re = { langs: [e] };
@@ -2519,75 +2519,75 @@ function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2519
2519
  c();
2520
2520
  }, [t, e, n, o, c]), C = qe(() => {
2521
2521
  const P = `${t ?? ""}|${e ?? ""}|`;
2522
- for (const x of [...v.current]) x.startsWith(P) && v.current.delete(x);
2522
+ for (const b of [...v.current]) b.startsWith(P) && v.current.delete(b);
2523
2523
  w(null);
2524
- }, [t, e]), b = !!u && (u.state === "queued" || u.state === "running") || M === p, k = (u == null ? void 0 : u.state) === "failed" ? u.error || "the render failed" : m, J = (a == null ? void 0 : a.join(",")) ?? "", [A, K] = O(null), j = Ie(() => new Set((u == null ? void 0 : u.clips) ?? []), [u]), S = Ie(() => n && J ? J.split(",").map(Number).filter((P) => !j.has(P)) : [], [n, J, j]), $ = z(null);
2524
+ }, [t, e]), x = !!u && (u.state === "queued" || u.state === "running") || M === p, k = (u == null ? void 0 : u.state) === "failed" ? u.error || "the render failed" : m, J = (a == null ? void 0 : a.join(",")) ?? "", [A, K] = O(null), j = Ie(() => new Set((u == null ? void 0 : u.clips) ?? []), [u]), S = Ie(() => n && J ? J.split(",").map(Number).filter((P) => !j.has(P)) : [], [n, J, j]), $ = z(null);
2525
2525
  Y(() => {
2526
2526
  if (!n || !t || !e || !S.length) return;
2527
- const P = A ?? S[0], x = S.find((re) => re >= P) ?? S[0], ue = `${t}|${e}|${g ?? ""}`, B = $.current;
2528
- if (B && B.key === ue && Math.abs(B.near - x) < 12 && Date.now() - B.at < 6e4) return;
2529
- $.current = { key: ue, near: x, at: Date.now() };
2530
- const F = Vr(g), ie = { langs: [e], near: x };
2531
- F && F.size ? ie.voiceBySpeaker = Object.fromEntries([...F].map(([re, le]) => [String(re), le])) : g && (ie.voice = g), Qr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ie }).then((re) => {
2527
+ const P = A ?? S[0], b = S.find((re) => re >= P) ?? S[0], ue = `${t}|${e}|${h ?? ""}`, B = $.current;
2528
+ if (B && B.key === ue && Math.abs(B.near - b) < 12 && Date.now() - B.at < 6e4) return;
2529
+ $.current = { key: ue, near: b, at: Date.now() };
2530
+ const F = Vr(h), ie = { langs: [e], near: b };
2531
+ F && F.size ? ie.voiceBySpeaker = Object.fromEntries([...F].map(([re, le]) => [String(re), le])) : h && (ie.voice = h), Qr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ie }).then((re) => {
2532
2532
  re.ok || ($.current = null);
2533
2533
  }).catch(() => {
2534
2534
  $.current = null;
2535
2535
  });
2536
- }, [n, t, e, g, A, S, o]);
2536
+ }, [n, t, e, h, A, S, o]);
2537
2537
  const L = S.length > 0, I = z({ n: -1, at: 0 });
2538
2538
  Y(() => {
2539
2539
  if (!L) return;
2540
2540
  const P = setInterval(() => {
2541
- const x = j.size;
2542
- x !== I.current.n && (I.current = { n: x, at: Date.now() }), !(Date.now() - I.current.at > 10 * 6e4) && c();
2541
+ const b = j.size;
2542
+ b !== I.current.n && (I.current = { n: b, at: Date.now() }), !(Date.now() - I.current.at > 10 * 6e4) && c();
2543
2543
  }, 3e3);
2544
2544
  return () => clearInterval(P);
2545
2545
  }, [L, c, j]);
2546
2546
  const E = Ie(() => {
2547
2547
  if (!t) return [];
2548
- const P = J ? J.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, x = u ?? (P != null && P.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
2549
- return Ua(x, t, o.origin, s, P);
2548
+ const P = J ? J.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, b = u ?? (P != null && P.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
2549
+ return Ua(b, t, o.origin, s, P);
2550
2550
  }, [u, t, o, s, J, e, r, n, j]), oe = Ie(() => new Set(S), [S]);
2551
- return { listed: l, rows: d, track: u, renderVoiceId: g, rendering: b, failed: k, clips: E, requestRender: h, forget: C, reload: c, setNear: K, missing: S.length, coming: oe };
2551
+ return { listed: l, rows: d, track: u, renderVoiceId: h, rendering: x, failed: k, clips: E, requestRender: g, forget: C, reload: c, setNear: K, missing: S.length, coming: oe };
2552
2552
  }
2553
2553
  const fl = { share: q.share, delay: q.tabGauge, video: q.video, source: q.tabSources, script: q.tabScript, fix: q.tabFix, ending: q.tabEnding, summary: q.tabSummary, export: q.tabExport, settings: q.tabSettings, sources: q.tabSources, recs: q.mic };
2554
2554
  function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
2555
- const o = r && t.length <= 3, l = t.some((v) => v.key === e), [c, d] = O(null), u = z(null), [g, M] = O(0);
2555
+ const o = r && t.length <= 3, l = t.some((v) => v.key === e), [c, d] = O(null), u = z(null), [h, M] = O(0);
2556
2556
  Y(() => {
2557
2557
  u.current && M(u.current.offsetWidth);
2558
2558
  }, [c == null ? void 0 : c.k]);
2559
2559
  const N = (v, p) => {
2560
- const h = v.currentTarget.querySelector(".tabbar__label");
2561
- if (o || r || p.key === e || h && getComputedStyle(h).opacity === "1") {
2560
+ const g = v.currentTarget.querySelector(".tabbar__label");
2561
+ if (o || r || p.key === e || g && getComputedStyle(g).opacity === "1") {
2562
2562
  c && d(null);
2563
2563
  return;
2564
2564
  }
2565
2565
  if ((c == null ? void 0 : c.k) === p.key) return;
2566
- const C = v.currentTarget.getBoundingClientRect(), b = v.currentTarget.parentElement.getBoundingClientRect();
2567
- d({ k: p.key, label: p.label, x: C.left + C.width / 2, y: b.top });
2566
+ const C = v.currentTarget.getBoundingClientRect(), x = v.currentTarget.parentElement.getBoundingClientRect();
2567
+ d({ k: p.key, label: p.label, x: C.left + C.width / 2, y: x.top });
2568
2568
  }, m = () => d(null);
2569
2569
  let w = null;
2570
2570
  if (c) {
2571
- const v = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, p = g || 80, h = Math.max(v.l + 8, Math.min(v.r - p - 8, c.x - p / 2));
2571
+ const v = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, p = h || 80, g = Math.max(v.l + 8, Math.min(v.r - p - 8, c.x - p / 2));
2572
2572
  w = ma(
2573
- /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ f("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: h, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2573
+ /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ f("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: g, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2574
2574
  /* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
2575
- /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(p - 19, c.x - h - 5.5))) } })
2575
+ /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(p - 19, c.x - g - 5.5))) } })
2576
2576
  ] }) }),
2577
2577
  document.body
2578
2578
  );
2579
2579
  }
2580
2580
  return /* @__PURE__ */ f("div", { role: "tablist", className: `tabbar tabbar--icons${r ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: s ? 12 : 0 }, onMouseLeave: m, children: [
2581
2581
  t.map((v) => {
2582
- const p = e === v.key, h = o || p, C = o ? "1 1 0" : p ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", b = v.icon ?? fl[v.key], k = () => {
2582
+ const p = e === v.key, g = o || p, C = o ? "1 1 0" : p ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", x = v.icon ?? fl[v.key], k = () => {
2583
2583
  m(), n(r && p ? "none" : v.key);
2584
2584
  };
2585
2585
  return r ? /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": p, title: v.label, className: `tabbar__tab${p ? " is-on" : ""}`, style: { flex: C }, onClick: k, children: [
2586
- b && /* @__PURE__ */ i(de, { d: b, size: 15, sw: v.sw ?? 2, style: { flex: "none" } }),
2587
- h && /* @__PURE__ */ i("span", { className: "tabbar__label", children: v.label })
2586
+ x && /* @__PURE__ */ i(de, { d: x, size: 15, sw: v.sw ?? 2, style: { flex: "none" } }),
2587
+ g && /* @__PURE__ */ i("span", { className: "tabbar__label", children: v.label })
2588
2588
  ] }, v.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: C }, onMouseEnter: (J) => N(J, v), onMouseMove: (J) => N(J, v), onClick: k, children: /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": p, "aria-label": v.label, className: `tabbar__tab${p ? " is-on" : ""}${(c == null ? void 0 : c.k) === v.key ? " is-tip" : ""}`, children: [
2589
- b && /* @__PURE__ */ i(de, { d: b, size: 15, sw: v.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: p && !o ? "scale(1.12)" : "none" } }),
2590
- /* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: h ? "1fr" : "0fr", marginLeft: h && b ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: h ? 1 : 0, transform: h ? "none" : "translateX(-6px)" }, children: v.label }) })
2589
+ x && /* @__PURE__ */ i(de, { d: x, size: 15, sw: v.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: p && !o ? "scale(1.12)" : "none" } }),
2590
+ /* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: g ? "1fr" : "0fr", marginLeft: g && x ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: g ? 1 : 0, transform: g ? "none" : "translateX(-6px)" }, children: v.label }) })
2591
2591
  ] }) }, v.key);
2592
2592
  }),
2593
2593
  w
@@ -2601,7 +2601,7 @@ function ml({ audio: t, video: e, formats: n, onExport: s }) {
2601
2601
  }), []);
2602
2602
  const u = (m) => {
2603
2603
  window.clearTimeout(c.current), a(m), c.current = window.setTimeout(() => a(null), 1600);
2604
- }, g = (m) => {
2604
+ }, h = (m) => {
2605
2605
  o || (l(m), Promise.resolve().then(() => s(m)).then(() => {
2606
2606
  d.current && u(m);
2607
2607
  }).catch(() => {
@@ -2631,7 +2631,7 @@ function ml({ audio: t, video: e, formats: n, onExport: s }) {
2631
2631
  e && N("video", e, q.video, "DOWNLOAD VIDEO"),
2632
2632
  n !== !1 && /* @__PURE__ */ f(Pe, { children: [
2633
2633
  /* @__PURE__ */ i(ls, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
2634
- /* @__PURE__ */ i("div", { className: "fmtgrid", children: gs.map((m) => /* @__PURE__ */ f("button", { type: "button", className: "fmtgrid__cell", title: o === m.key ? `Building the ${m.name}…` : m.note, disabled: o != null, "aria-busy": o === m.key || void 0, onClick: () => g(m.key), style: o && o !== m.key ? { opacity: 0.45 } : void 0, children: [
2634
+ /* @__PURE__ */ i("div", { className: "fmtgrid", children: hs.map((m) => /* @__PURE__ */ f("button", { type: "button", className: "fmtgrid__cell", title: o === m.key ? `Building the ${m.name}…` : m.note, disabled: o != null, "aria-busy": o === m.key || void 0, onClick: () => h(m.key), style: o && o !== m.key ? { opacity: 0.45 } : void 0, children: [
2635
2635
  o === m.key ? /* @__PURE__ */ i(ct, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(de, { d: r === m.key ? q.check : m.icon, size: 16, sw: 1.6, style: { color: r === m.key ? "var(--brand)" : "var(--ink-62)" } }),
2636
2636
  /* @__PURE__ */ i("span", { children: m.name })
2637
2637
  ] }, m.key)) })
@@ -2718,13 +2718,13 @@ function kl(t = !0, e) {
2718
2718
  const r = s.current;
2719
2719
  if (!r || !t) return;
2720
2720
  let a = 0, o = 0, l = !1;
2721
- const c = (g) => {
2722
- g.button !== 0 || g.target.closest("button,a,input,textarea,select") || (l = !0, a = g.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
2723
- }, d = (g) => {
2721
+ const c = (h) => {
2722
+ h.button !== 0 || h.target.closest("button,a,input,textarea,select") || (l = !0, a = h.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
2723
+ }, d = (h) => {
2724
2724
  var N;
2725
2725
  if (!l) return;
2726
- const M = g.clientY - a;
2727
- Math.abs(M) > 2 && ((N = r.setPointerCapture) == null || N.call(r, g.pointerId)), r.scrollTop = o - M;
2726
+ const M = h.clientY - a;
2727
+ Math.abs(M) > 2 && ((N = r.setPointerCapture) == null || N.call(r, h.pointerId)), r.scrollTop = o - M;
2728
2728
  }, u = () => {
2729
2729
  l = !1, r.classList.remove("is-dragging");
2730
2730
  };
@@ -2735,43 +2735,43 @@ function kl(t = !0, e) {
2735
2735
  }
2736
2736
  const vl = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2737
2737
  function jl(t, e) {
2738
- const [n, s] = Pa(t), r = e.tabs.map((h) => h.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
2738
+ const [n, s] = Pa(t), r = e.tabs.map((g) => g.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
2739
2739
  let l = n;
2740
- [...e.autoPin ?? []].reverse().forEach((h) => {
2741
- r.includes(h) && !l.includes(h) && !l.includes(`!${h}`) && (l = [h, ...l]);
2740
+ [...e.autoPin ?? []].reverse().forEach((g) => {
2741
+ r.includes(g) && !l.includes(g) && !l.includes(`!${g}`) && (l = [g, ...l]);
2742
2742
  });
2743
2743
  const c = l;
2744
- (e.forcePin ?? []).forEach((h) => {
2745
- l = l.filter((C) => C !== `!${h}`), r.includes(h) && !l.includes(h) && (l = [h, ...l]);
2744
+ (e.forcePin ?? []).forEach((g) => {
2745
+ l = l.filter((C) => C !== `!${g}`), r.includes(g) && !l.includes(g) && (l = [g, ...l]);
2746
2746
  });
2747
- const d = (h) => (e.forcePin ?? []).includes(h) && !c.includes(h), u = a ? l.filter((h) => r.includes(h) && o.includes(h)) : [], g = r.filter((h) => !u.includes(h)), M = e.cur && e.cur !== "none" && g.includes(e.cur) ? e.cur : e.pref && g.includes(e.pref) ? e.pref : g[0] ?? null, N = (h) => {
2748
- const C = g.filter((b) => b !== h);
2749
- return C[g.indexOf(h)] ?? C[C.length - 1] ?? null;
2750
- }, m = (h, C) => {
2751
- if (!o.includes(h)) return;
2752
- const b = u.filter((k) => k !== h);
2753
- if (b.splice(C ?? b.length, 0, h), M === h) {
2754
- const k = N(h);
2747
+ const d = (g) => (e.forcePin ?? []).includes(g) && !c.includes(g), u = a ? l.filter((g) => r.includes(g) && o.includes(g)) : [], h = r.filter((g) => !u.includes(g)), M = e.cur && e.cur !== "none" && h.includes(e.cur) ? e.cur : e.pref && h.includes(e.pref) ? e.pref : h[0] ?? null, N = (g) => {
2748
+ const C = h.filter((x) => x !== g);
2749
+ return C[h.indexOf(g)] ?? C[C.length - 1] ?? null;
2750
+ }, m = (g, C) => {
2751
+ if (!o.includes(g)) return;
2752
+ const x = u.filter((k) => k !== g);
2753
+ if (x.splice(C ?? x.length, 0, g), M === g) {
2754
+ const k = N(g);
2755
2755
  k && e.onPick(k);
2756
2756
  }
2757
- s([...b.filter((k) => !d(k) || k === h), ...c.filter((k) => !b.includes(k) && k !== `!${h}`)]);
2758
- }, w = (h) => {
2759
- s([...c.filter((C) => C !== h && C !== `!${h}`), ...(e.autoPin ?? []).includes(h) ? [`!${h}`] : []]), e.onPick(h);
2760
- }, v = (h) => {
2757
+ s([...x.filter((k) => !d(k) || k === g), ...c.filter((k) => !x.includes(k) && k !== `!${g}`)]);
2758
+ }, w = (g) => {
2759
+ s([...c.filter((C) => C !== g && C !== `!${g}`), ...(e.autoPin ?? []).includes(g) ? [`!${g}`] : []]), e.onPick(g);
2760
+ }, v = (g) => {
2761
2761
  var C;
2762
- return ((C = e.tabs.find((b) => b.key === h)) == null ? void 0 : C.label) ?? h;
2763
- }, p = (h) => {
2764
- const C = u.includes(h), b = r.includes(h);
2762
+ return ((C = e.tabs.find((x) => x.key === g)) == null ? void 0 : C.label) ?? g;
2763
+ }, p = (g) => {
2764
+ const C = u.includes(g), x = r.includes(g);
2765
2765
  return {
2766
- show: b && (!a || C || M === h),
2766
+ show: x && (!a || C || M === g),
2767
2767
  pinned: C,
2768
- order: C ? u.indexOf(h) + 1 : 1e3,
2769
- pill: a && b && o.includes(h) && g.length > 0 && (C || g.length > 1),
2770
- title: C ? `Unpin — return ${v(h)} to the tabs` : `Pin ${v(h)} open above the tabs`,
2771
- toggle: () => C ? w(h) : m(h)
2768
+ order: C ? u.indexOf(g) + 1 : 1e3,
2769
+ pill: a && x && o.includes(g) && h.length > 0 && (C || h.length > 1),
2770
+ title: C ? `Unpin — return ${v(g)} to the tabs` : `Pin ${v(g)} open above the tabs`,
2771
+ toggle: () => C ? w(g) : m(g)
2772
2772
  };
2773
2773
  };
2774
- return { id: t, tabbed: a && g.length > 1, cur: M, seq: u, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((h) => g.includes(h.key)), panel: p, pin: m, unpin: w };
2774
+ return { id: t, tabbed: a && h.length > 1, cur: M, seq: u, pinnable: o, tabKeys: h, stripTabs: e.tabs.filter((g) => h.includes(g.key)), panel: p, pin: m, unpin: w };
2775
2775
  }
2776
2776
  function zl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2777
2777
  return Il(t), /* @__PURE__ */ f(Pe, { children: [
@@ -2800,19 +2800,19 @@ function Il(t) {
2800
2800
  s !== p && (s && s.removeAttribute("data-grip-hot"), s = p, p && p.setAttribute("data-grip-hot", ""));
2801
2801
  }, o = (p) => p.col.querySelector("[data-desk-tabs]"), l = (p) => {
2802
2802
  var K;
2803
- const h = p.el.getBoundingClientRect(), C = p.el.cloneNode(!0);
2803
+ const g = p.el.getBoundingClientRect(), C = p.el.cloneNode(!0);
2804
2804
  C.querySelectorAll("*").forEach((j) => {
2805
2805
  j.style.animation = "none", j.style.transition = "none";
2806
2806
  }), C.querySelectorAll("iframe,video").forEach((j) => {
2807
2807
  const S = document.createElement("div");
2808
2808
  S.style.cssText = "width:100%;height:100%;background:#000", j.replaceWith(S);
2809
- }), C.removeAttribute("data-panel-key"), C.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(C.style, { position: "fixed", left: `${h.left}px`, top: `${h.top}px`, width: `${h.width}px`, height: `${h.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
2810
- const b = getComputedStyle(p.el);
2811
- for (let j = 0; j < b.length; j++) {
2812
- const S = b[j];
2813
- S.startsWith("--") && C.style.setProperty(S, b.getPropertyValue(S));
2809
+ }), C.removeAttribute("data-panel-key"), C.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(C.style, { position: "fixed", left: `${g.left}px`, top: `${g.top}px`, width: `${g.width}px`, height: `${g.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
2810
+ const x = getComputedStyle(p.el);
2811
+ for (let j = 0; j < x.length; j++) {
2812
+ const S = x[j];
2813
+ S.startsWith("--") && C.style.setProperty(S, x.getPropertyValue(S));
2814
2814
  }
2815
- C.style.fontFamily = b.fontFamily, C.style.color = b.color;
2815
+ C.style.fontFamily = x.fontFamily, C.style.color = x.color;
2816
2816
  let k = p.el.parentElement, J = "";
2817
2817
  for (; k && !J; ) {
2818
2818
  const j = getComputedStyle(k).backgroundColor;
@@ -2827,38 +2827,38 @@ function Il(t) {
2827
2827
  const p = r;
2828
2828
  if (!p || !p.on || p.px == null || p.py == null) return;
2829
2829
  p.raf = 0, p.clone.style.transform = `translate3d(${p.px - p.x0}px,${p.py - p.y0}px,0)`;
2830
- const h = e.current, C = p.key, b = o(p), k = h.seq.includes(C), J = k || h.tabKeys.length > 1, A = b && p.tabsSnap, K = !A || p.py < A.top + A.height / 2 ? J ? "pin" : null : "tabs";
2830
+ const g = e.current, C = p.key, x = o(p), k = g.seq.includes(C), J = k || g.tabKeys.length > 1, A = x && p.tabsSnap, K = !A || p.py < A.top + A.height / 2 ? J ? "pin" : null : "tabs";
2831
2831
  let j = null;
2832
2832
  if (K === "pin") {
2833
- const $ = h.seq.filter((I) => I !== C).map((I) => p.snap[I]).filter(Boolean), L = p.grid ? $.filter((I) => I.bottom < p.py || I.top <= p.py && I.left + I.width / 2 < p.px).length : $.filter((I) => I.top + I.height / 2 < p.py).length;
2834
- k && h.seq.indexOf(C) === L || (j = { zone: K, idx: L });
2833
+ const $ = g.seq.filter((I) => I !== C).map((I) => p.snap[I]).filter(Boolean), L = p.grid ? $.filter((I) => I.bottom < p.py || I.top <= p.py && I.left + I.width / 2 < p.px).length : $.filter((I) => I.top + I.height / 2 < p.py).length;
2834
+ k && g.seq.indexOf(C) === L || (j = { zone: K, idx: L });
2835
2835
  } else K === "tabs" && k && (j = { zone: K });
2836
2836
  const S = j ? j.zone + (j.idx ?? "") : "";
2837
2837
  if (S !== p.sig) {
2838
2838
  if (p.sig = S, p.target = j, p.orig.forEach(([$, L]) => {
2839
2839
  $.style.order = L;
2840
2840
  }), (j == null ? void 0 : j.zone) === "pin") {
2841
- const $ = h.seq.filter((L) => L !== C);
2841
+ const $ = g.seq.filter((L) => L !== C);
2842
2842
  $.splice(j.idx, 0, C), $.forEach((L, I) => {
2843
2843
  const E = p.col.querySelector(`[data-panel-key="${L}"]`);
2844
2844
  E && (E.style.order = String(I + 1));
2845
2845
  });
2846
2846
  } else (j == null ? void 0 : j.zone) === "tabs" && (p.el.style.order = "998");
2847
- b && ((j == null ? void 0 : j.zone) === "tabs" ? b.setAttribute("data-drop-hot", "") : b.removeAttribute("data-drop-hot"));
2847
+ x && ((j == null ? void 0 : j.zone) === "tabs" ? x.setAttribute("data-drop-hot", "") : x.removeAttribute("data-drop-hot"));
2848
2848
  }
2849
2849
  }, d = (p) => {
2850
2850
  var C;
2851
- const h = r;
2852
- if (r = null, !(!h || !h.on) && (h.raf && cancelAnimationFrame(h.raf), h.clone.remove(), h.orig.forEach(([b, k]) => {
2853
- b.style.order = k;
2854
- }), h.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (C = o(h)) == null || C.removeAttribute("data-drop-hot"), p && h.target)) {
2855
- const b = e.current;
2856
- h.target.zone === "tabs" ? b.seq.includes(h.key) && b.unpin(h.key) : b.pin(h.key, h.target.idx);
2851
+ const g = r;
2852
+ if (r = null, !(!g || !g.on) && (g.raf && cancelAnimationFrame(g.raf), g.clone.remove(), g.orig.forEach(([x, k]) => {
2853
+ x.style.order = k;
2854
+ }), g.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (C = o(g)) == null || C.removeAttribute("data-drop-hot"), p && g.target)) {
2855
+ const x = e.current;
2856
+ g.target.zone === "tabs" ? x.seq.includes(g.key) && x.unpin(g.key) : x.pin(g.key, g.target.idx);
2857
2857
  }
2858
2858
  }, u = (p) => {
2859
- const h = p instanceof Element ? p.closest("[data-tab-col]") : null;
2860
- return h && h.getAttribute("data-tab-col") === n ? h : null;
2861
- }, g = (p) => {
2859
+ const g = p instanceof Element ? p.closest("[data-tab-col]") : null;
2860
+ return g && g.getAttribute("data-tab-col") === n ? g : null;
2861
+ }, h = (p) => {
2862
2862
  var A;
2863
2863
  if (r) {
2864
2864
  if (!r.on) {
@@ -2868,26 +2868,26 @@ function Il(t) {
2868
2868
  r.px = p.clientX, r.py = p.clientY, r.raf || (r.raf = requestAnimationFrame(c));
2869
2869
  return;
2870
2870
  }
2871
- const h = p.target;
2872
- if (!u(h)) {
2871
+ const g = p.target;
2872
+ if (!u(g)) {
2873
2873
  s && ((A = s.closest("[data-tab-col]")) == null ? void 0 : A.getAttribute("data-tab-col")) === n && a(null);
2874
2874
  return;
2875
2875
  }
2876
- const C = h.closest("[data-panel-key]"), b = C == null ? void 0 : C.firstElementChild;
2877
- if (!C || !b || !e.current.tabbed || !e.current.pinnable.includes(C.getAttribute("data-panel-key")) || h.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
2878
- const k = b.getBoundingClientRect(), J = parseFloat(getComputedStyle(C).getPropertyValue("--grip-h")) || 30;
2876
+ const C = g.closest("[data-panel-key]"), x = C == null ? void 0 : C.firstElementChild;
2877
+ if (!C || !x || !e.current.tabbed || !e.current.pinnable.includes(C.getAttribute("data-panel-key")) || g.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
2878
+ const k = x.getBoundingClientRect(), J = parseFloat(getComputedStyle(C).getPropertyValue("--grip-h")) || 30;
2879
2879
  a(p.clientY >= k.top && p.clientY <= k.top + J ? C : null);
2880
2880
  }, M = (p) => {
2881
2881
  if (!s || p.button !== 0) return;
2882
- const h = u(s);
2883
- h && (p.preventDefault(), p.stopImmediatePropagation(), r = { el: s, col: h, key: s.getAttribute("data-panel-key"), x0: p.clientX, y0: p.clientY, on: !1 });
2882
+ const g = u(s);
2883
+ g && (p.preventDefault(), p.stopImmediatePropagation(), r = { el: s, col: g, key: s.getAttribute("data-panel-key"), x0: p.clientX, y0: p.clientY, on: !1 });
2884
2884
  }, N = () => d(!0), m = () => d(!1), w = (p) => {
2885
2885
  p.key === "Escape" && r && (p.preventDefault(), p.stopImmediatePropagation(), d(!1));
2886
2886
  }, v = () => {
2887
2887
  r || a(null);
2888
2888
  };
2889
- return document.addEventListener("pointermove", g, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", N), window.addEventListener("pointercancel", m), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", v), () => {
2890
- d(!1), a(null), document.removeEventListener("pointermove", g, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", N), window.removeEventListener("pointercancel", m), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", v);
2889
+ return document.addEventListener("pointermove", h, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", N), window.addEventListener("pointercancel", m), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", v), () => {
2890
+ d(!1), a(null), document.removeEventListener("pointermove", h, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", N), window.removeEventListener("pointercancel", m), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", v);
2891
2891
  };
2892
2892
  }, [n]);
2893
2893
  }
@@ -2900,21 +2900,21 @@ function Ol({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2900
2900
  const N = c.current, m = N == null ? void 0 : N.parentElement;
2901
2901
  if (M.button !== 0 || !N || !m) return;
2902
2902
  M.preventDefault();
2903
- const w = M.currentTarget, v = getComputedStyle(m), p = m.clientWidth - parseFloat(v.paddingLeft) - parseFloat(v.paddingRight) - (parseFloat(v.columnGap) || 0), h = 320, C = 320, b = Math.max(h, p - C), k = M.clientX, J = N.getBoundingClientRect().width;
2903
+ const w = M.currentTarget, v = getComputedStyle(m), p = m.clientWidth - parseFloat(v.paddingLeft) - parseFloat(v.paddingRight) - (parseFloat(v.columnGap) || 0), g = 320, C = 320, x = Math.max(g, p - C), k = M.clientX, J = N.getBoundingClientRect().width;
2904
2904
  let A = J;
2905
2905
  w.classList.add("is-on");
2906
2906
  const K = { cur: document.body.style.cursor, sel: document.body.style.userSelect };
2907
2907
  document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
2908
2908
  const j = ($) => {
2909
- A = Math.round(Math.min(b, Math.max(h, J + (k - $.clientX)))), N.style.flexBasis = `${A}px`, document.documentElement.style.setProperty("--colw", `${A}px`);
2909
+ A = Math.round(Math.min(x, Math.max(g, J + (k - $.clientX)))), N.style.flexBasis = `${A}px`, document.documentElement.style.setProperty("--colw", `${A}px`);
2910
2910
  }, S = () => {
2911
2911
  window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", S), window.removeEventListener("pointercancel", S), document.body.style.cursor = K.cur, document.body.style.userSelect = K.sel, w.classList.remove("is-on"), l(A);
2912
2912
  };
2913
2913
  window.addEventListener("pointermove", j), window.addEventListener("pointerup", S), window.addEventListener("pointercancel", S);
2914
- }, g = s ? { display: "none" } : void 0;
2914
+ }, h = s ? { display: "none" } : void 0;
2915
2915
  return /* @__PURE__ */ f(Pe, { children: [
2916
- /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...g }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: u, onDoubleClick: () => l(null) }) }),
2917
- /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
2916
+ /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...h }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: u, onDoubleClick: () => l(null) }) }),
2917
+ /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...h }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
2918
2918
  ] });
2919
2919
  }
2920
2920
  function Cl(t) {
@@ -2927,13 +2927,13 @@ function Cl(t) {
2927
2927
  s = 0;
2928
2928
  const d = getComputedStyle(e).display === "grid";
2929
2929
  [...e.children].forEach((u) => {
2930
- const g = u;
2930
+ const h = u;
2931
2931
  if (!d) {
2932
- g.style.gridRowEnd && (g.style.gridRowEnd = "");
2932
+ h.style.gridRowEnd && (h.style.gridRowEnd = "");
2933
2933
  return;
2934
2934
  }
2935
- const M = g.getBoundingClientRect().height, N = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2936
- g.style.gridRowEnd !== N && (g.style.gridRowEnd = N);
2935
+ const M = h.getBoundingClientRect().height, N = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2936
+ h.style.gridRowEnd !== N && (h.style.gridRowEnd = N);
2937
2937
  });
2938
2938
  }, a = () => {
2939
2939
  s || (s = requestAnimationFrame(r));
@@ -2950,8 +2950,8 @@ function bl(t) {
2950
2950
  }
2951
2951
  const xl = 1500, Dl = 3e5;
2952
2952
  function Sl(t) {
2953
- const e = Yt(), [n, s] = O(null), [r, a] = O(null), [o, l] = O(null), [c, d] = O(null), u = z(null), g = z(null), M = z(null), N = z(0), m = qe(() => {
2954
- M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
2953
+ const e = Yt(), [n, s] = O(null), [r, a] = O(null), [o, l] = O(null), [c, d] = O(null), u = z(null), h = z(null), M = z(null), N = z(0), m = qe(() => {
2954
+ M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), h.current && (URL.revokeObjectURL(h.current), h.current = null);
2955
2955
  }, []), w = qe(() => {
2956
2956
  N.current += 1, m(), a(null), l(null);
2957
2957
  }, [m]), v = qe(() => {
@@ -2960,20 +2960,20 @@ function Sl(t) {
2960
2960
  Y(() => () => {
2961
2961
  N.current += 1, m();
2962
2962
  }, [m]);
2963
- const p = qe((h) => {
2963
+ const p = qe((g) => {
2964
2964
  N.current += 1;
2965
2965
  const C = N.current;
2966
- if (m(), s(h.id), a(null), l(null), d(null), !t) return;
2967
- let b = h.previewUrl ? `${e.origin}${h.previewUrl}` : `${e.origin}/v1/voices/preview?voice=${encodeURIComponent(h.id)}&lang=${encodeURIComponent(t)}`;
2968
- jn() === "caf" && (b += `${b.includes("?") ? "&" : "?"}format=caf`);
2966
+ if (m(), s(g.id), a(null), l(null), d(null), !t) return;
2967
+ let x = g.previewUrl ? `${e.origin}${g.previewUrl}` : `${e.origin}/v1/voices/preview?voice=${encodeURIComponent(g.id)}&lang=${encodeURIComponent(t)}`;
2968
+ jn() === "caf" && (x += `${x.includes("?") ? "&" : "?"}format=caf`);
2969
2969
  const k = Date.now();
2970
- e.shareCode && b.includes("recording=") && (b += `&shareCode=${encodeURIComponent(e.shareCode)}`);
2970
+ e.shareCode && x.includes("recording=") && (x += `&shareCode=${encodeURIComponent(e.shareCode)}`);
2971
2971
  const J = async () => {
2972
2972
  if (N.current !== C) return;
2973
2973
  let A;
2974
2974
  try {
2975
2975
  const $ = e.owner ? await e.bearer() : void 0;
2976
- A = await fetch(b, { headers: $ ? { Authorization: `Bearer ${$}` } : {} });
2976
+ A = await fetch(x, { headers: $ ? { Authorization: `Bearer ${$}` } : {} });
2977
2977
  } catch ($) {
2978
2978
  if (N.current !== C) return;
2979
2979
  l(null), d(wt($));
@@ -2985,7 +2985,7 @@ function Sl(t) {
2985
2985
  l(null), d({ message: "This voice is still being fetched. Try it again in a moment." });
2986
2986
  return;
2987
2987
  }
2988
- l(h.id), M.current = setTimeout(() => {
2988
+ l(g.id), M.current = setTimeout(() => {
2989
2989
  J();
2990
2990
  }, xl);
2991
2991
  return;
@@ -2998,14 +2998,14 @@ function Sl(t) {
2998
2998
  }
2999
2999
  const K = await A.blob();
3000
3000
  if (N.current !== C) return;
3001
- l(null), g.current = URL.createObjectURL(K);
3002
- const j = new Audio(g.current);
3001
+ l(null), h.current = URL.createObjectURL(K);
3002
+ const j = new Audio(h.current);
3003
3003
  j.playsInline = !0;
3004
3004
  const S = () => {
3005
3005
  N.current === C && (m(), a(null));
3006
3006
  };
3007
3007
  j.onended = S, j.onerror = S, u.current = j, j.play().then(() => {
3008
- N.current === C && a(h.id);
3008
+ N.current === C && a(g.id);
3009
3009
  }).catch(S);
3010
3010
  };
3011
3011
  J();
@@ -3062,7 +3062,7 @@ function Et(t, e, n) {
3062
3062
  const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
3063
3063
  return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3064
3064
  }
3065
- function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: g, waiting: M = !1 }) {
3065
+ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: h, waiting: M = !1 }) {
3066
3066
  const N = z(null), [m, w] = O(!1);
3067
3067
  Y(() => {
3068
3068
  if (!M) {
@@ -3072,7 +3072,7 @@ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3072
3072
  const G = setTimeout(() => w(!0), 300);
3073
3073
  return () => clearTimeout(G);
3074
3074
  }, [M]);
3075
- const v = s && !m, p = z(!1), [h, C] = O(!1), b = (G, me = []) => {
3075
+ const v = s && !m, p = z(!1), [g, C] = O(!1), x = (G, me = []) => {
3076
3076
  var V, Ye;
3077
3077
  if (!(p.current && (G === "pauseVideo" || G === "seekTo" || G === "setPlaybackRate")))
3078
3078
  try {
@@ -3090,15 +3090,15 @@ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3090
3090
  const G = A.current || K.current;
3091
3091
  if (G !== p.current)
3092
3092
  if (p.current = G, C(G), (me = $.current) == null || me.call($, G), G) {
3093
- if (b("playVideo"), S.current) return;
3093
+ if (x("playVideo"), S.current) return;
3094
3094
  Ee.current && j.current && (L.current = !0, j.current());
3095
3095
  } else L.current && !S.current && (L.current = !1, Ee.current || (V = j.current) == null || V.call(j));
3096
3096
  }, E = z(n);
3097
3097
  E.current = n;
3098
- const oe = z(g);
3099
- oe.current = g;
3100
- const P = z(null), x = z(null), [ue, B] = O(!1), [F, ie] = O(!1), re = () => {
3101
- b("unloadModule", ["captions"]), b("unloadModule", ["cc"]);
3098
+ const oe = z(h);
3099
+ oe.current = h;
3100
+ const P = z(null), b = z(null), [ue, B] = O(!1), [F, ie] = O(!1), re = () => {
3101
+ x("unloadModule", ["captions"]), x("unloadModule", ["cc"]);
3102
3102
  }, le = z([]), ve = () => {
3103
3103
  re(), le.current.forEach(clearTimeout), le.current = [400, 1200, 2500, 5e3].map((G) => window.setTimeout(re, G));
3104
3104
  };
@@ -3109,10 +3109,10 @@ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3109
3109
  (me = (G = N.current) == null ? void 0 : G.contentWindow) == null || me.postMessage(JSON.stringify({ event: "listening", id: "reader" }), "*");
3110
3110
  } catch {
3111
3111
  }
3112
- (!S.current || S.current.muted) && b("mute"), ie(!0);
3112
+ (!S.current || S.current.muted) && x("mute"), ie(!0);
3113
3113
  };
3114
- Y(() => (u == null || u.bind(b), () => u == null ? void 0 : u.bind(null)), [!!u]), Y(() => {
3115
- !u && F && b("mute");
3114
+ Y(() => (u == null || u.bind(x), () => u == null ? void 0 : u.bind(null)), [!!u]), Y(() => {
3115
+ !u && F && x("mute");
3116
3116
  }, [!!u]);
3117
3117
  const Te = z(null), we = z(l);
3118
3118
  we.current = l;
@@ -3126,11 +3126,11 @@ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3126
3126
  const me = Te.current;
3127
3127
  return !!me && (G < me.start - 1 || G > me.end + 5);
3128
3128
  }, R = () => {
3129
- y(E.current) || b("seekTo", [E.current, !0]);
3129
+ y(E.current) || x("seekTo", [E.current, !0]);
3130
3130
  }, ae = () => P.current;
3131
3131
  return Y(() => {
3132
3132
  const G = (me) => {
3133
- var Ve, Ae, Z, se, he, Me, ce, ke, We, xe, Ce, _, U, W, ee, fe;
3133
+ var Ve, Ae, Z, se, ge, Me, ce, ke, We, xe, Ce, _, U, W, ee, fe;
3134
3134
  if (me.source !== ((Ve = N.current) == null ? void 0 : Ve.contentWindow) || typeof me.data != "string") return;
3135
3135
  let V = null;
3136
3136
  try {
@@ -3140,50 +3140,50 @@ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3140
3140
  }
3141
3141
  (Z = (Ae = V == null ? void 0 : V.info) == null ? void 0 : Ae.videoData) != null && Z.isLive && (J.current = !0);
3142
3142
  const Ye = (se = V == null ? void 0 : V.info) == null ? void 0 : se.duration;
3143
- typeof Ye == "number" && Ye > 0 && !J.current && (k.current == null ? k.current = Ye : (A.current = Math.abs(Ye - k.current) > 1.5, I())), (V == null ? void 0 : V.event) === "onReady" && ((!S.current || S.current.muted) && b("mute"), ve(), (he = S.current) == null || he.onInfo({ ready: !0 })), typeof ((Me = V == null ? void 0 : V.info) == null ? void 0 : Me.playerState) == "number" && (V.info.playerState !== x.current && (V.info.playerState === 1 || V.info.playerState === 2) && ve(), x.current = V.info.playerState, B(V.info.playerState === 2 || V.info.playerState === 0), (ce = S.current) == null || ce.onInfo({ state: V.info.playerState }));
3143
+ typeof Ye == "number" && Ye > 0 && !J.current && (k.current == null ? k.current = Ye : (A.current = Math.abs(Ye - k.current) > 1.5, I())), (V == null ? void 0 : V.event) === "onReady" && ((!S.current || S.current.muted) && x("mute"), ve(), (ge = S.current) == null || ge.onInfo({ ready: !0 })), typeof ((Me = V == null ? void 0 : V.info) == null ? void 0 : Me.playerState) == "number" && (V.info.playerState !== b.current && (V.info.playerState === 1 || V.info.playerState === 2) && ve(), b.current = V.info.playerState, B(V.info.playerState === 2 || V.info.playerState === 0), (ce = S.current) == null || ce.onInfo({ state: V.info.playerState }));
3144
3144
  const je = (ke = V == null ? void 0 : V.info) == null ? void 0 : ke.progressState;
3145
3145
  if (je && typeof je.seekableStart == "number" && typeof je.seekableEnd == "number" && je.seekableEnd > je.seekableStart) {
3146
3146
  const Ne = Te.current == null;
3147
- if (Te.current = { start: je.seekableStart, end: je.seekableEnd }, Ne && !Ee.current && (b("pauseVideo"), y(E.current) || b("seekTo", [E.current, !0])), !te.current && we.current != null) {
3147
+ if (Te.current = { start: je.seekableStart, end: je.seekableEnd }, Ne && !Ee.current && (x("pauseVideo"), y(E.current) || x("seekTo", [E.current, !0])), !te.current && we.current != null) {
3148
3148
  te.current = !0;
3149
3149
  const ze = we.current < je.seekableStart - 1;
3150
3150
  (We = ye.current) == null || We.call(ye, ze), ze && ((xe = Oe.current) == null || xe.call(Oe));
3151
3151
  }
3152
3152
  }
3153
- typeof ((Ce = V == null ? void 0 : V.info) == null ? void 0 : Ce.currentTime) == "number" && (P.current = V.info.currentTime, (_ = S.current) == null || _.onInfo({ t: V.info.currentTime }), !p.current && x.current === 1 && ((U = oe.current) == null || U.call(oe, V.info.currentTime))), ((W = V == null ? void 0 : V.info) == null ? void 0 : W.muted) === !1 && !S.current && b("mute"), typeof ((ee = V == null ? void 0 : V.info) == null ? void 0 : ee.muted) == "boolean" && ((fe = S.current) == null || fe.onInfo({ muted: V.info.muted }));
3153
+ typeof ((Ce = V == null ? void 0 : V.info) == null ? void 0 : Ce.currentTime) == "number" && (P.current = V.info.currentTime, (_ = S.current) == null || _.onInfo({ t: V.info.currentTime }), !p.current && b.current === 1 && ((U = oe.current) == null || U.call(oe, V.info.currentTime))), ((W = V == null ? void 0 : V.info) == null ? void 0 : W.muted) === !1 && !S.current && x("mute"), typeof ((ee = V == null ? void 0 : V.info) == null ? void 0 : ee.muted) == "boolean" && ((fe = S.current) == null || fe.onInfo({ muted: V.info.muted }));
3154
3154
  };
3155
3155
  return window.addEventListener("message", G), () => window.removeEventListener("message", G);
3156
3156
  }, []), Y(() => {
3157
3157
  if (u) return;
3158
3158
  const G = y(n);
3159
- G !== H && (X(G), G ? b("pauseVideo") : F && (b("seekTo", [n, !0]), v && b("playVideo")));
3159
+ G !== H && (X(G), G ? x("pauseVideo") : F && (x("seekTo", [n, !0]), v && x("playVideo")));
3160
3160
  }), Y(() => {
3161
3161
  if (!F || H || u) return;
3162
3162
  if (!v && Te.current == null && !Be.current) {
3163
- Be.current = !0, b("seekTo", [E.current, !0]), b("playVideo");
3163
+ Be.current = !0, x("seekTo", [E.current, !0]), x("playVideo");
3164
3164
  return;
3165
3165
  }
3166
3166
  const G = ae();
3167
- v && (G == null || Math.abs(G - E.current) > 1.5) && R(), b(v ? "playVideo" : "pauseVideo");
3167
+ v && (G == null || Math.abs(G - E.current) > 1.5) && R(), x(v ? "playVideo" : "pauseVideo");
3168
3168
  }, [v, F, H]), Y(() => {
3169
3169
  if (!F || r === 0 || H || u) return;
3170
3170
  const G = ae();
3171
- (G == null || Math.abs(G - E.current) > 0.5) && R(), v || b("pauseVideo");
3171
+ (G == null || Math.abs(G - E.current) > 0.5) && R(), v || x("pauseVideo");
3172
3172
  }, [r, F]), Y(() => {
3173
3173
  if (!F) return;
3174
3174
  let G = null, me = 0;
3175
3175
  const V = setInterval(() => {
3176
3176
  const Ye = P.current;
3177
- me = x.current === 1 && Ye != null && G != null && Math.abs(Ye - G) < 0.05 ? me + 1 : 0, G = Ye;
3177
+ me = b.current === 1 && Ye != null && G != null && Math.abs(Ye - G) < 0.05 ? me + 1 : 0, G = Ye;
3178
3178
  const je = me >= 3;
3179
3179
  je !== K.current && (K.current = je, I());
3180
3180
  }, 1e3);
3181
3181
  return () => clearInterval(V);
3182
- }, [F]), /* @__PURE__ */ f("div", { className: `txyt${h ? " txyt--ad" : ""}`, children: [
3182
+ }, [F]), /* @__PURE__ */ f("div", { className: `txyt${g ? " txyt--ad" : ""}`, children: [
3183
3183
  /* @__PURE__ */ i("iframe", { ref: N, onLoad: Le, referrerPolicy: "strict-origin-when-cross-origin", src: `https://www.youtube-nocookie.com/embed/${t}?enablejsapi=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, title: e, allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" }),
3184
- !h && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
3185
- /* @__PURE__ */ i("div", { className: `txyt__paused${ue && !h && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(ri, { size: 44 }) }) }),
3186
- h && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
3184
+ !g && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
3185
+ /* @__PURE__ */ i("div", { className: `txyt__paused${ue && !g && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(ri, { size: 44 }) }) }),
3186
+ g && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
3187
3187
  H && /* @__PURE__ */ f("div", { className: "txyt__gone", children: [
3188
3188
  /* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
3189
3189
  /* @__PURE__ */ i("small", { children: "A live stream can be rewound only 12 hours" })
@@ -3211,10 +3211,10 @@ function $l(t, e) {
3211
3211
  const s = z(0), r = z(1), a = qe((o, l) => {
3212
3212
  cancelAnimationFrame(s.current);
3213
3213
  const c = r.current, d = performance.now(), u = () => {
3214
- const g = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
3215
- r.current = c + (o - c) * g;
3214
+ const h = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
3215
+ r.current = c + (o - c) * h;
3216
3216
  for (const M of n.current) M.setVolume(r.current);
3217
- g < 1 && (s.current = requestAnimationFrame(u));
3217
+ h < 1 && (s.current = requestAnimationFrame(u));
3218
3218
  };
3219
3219
  u();
3220
3220
  }, []);
@@ -3227,14 +3227,14 @@ function $l(t, e) {
3227
3227
  }
3228
3228
  function Bl(t, e, n, s) {
3229
3229
  var ye;
3230
- const r = z(null), a = z(!1), o = z(!1), [l, c] = O(null), [d, u] = O(!0), g = z(!0), M = z(!1), [N, m] = O(0), w = z(0);
3230
+ const r = z(null), a = z(!1), o = z(!1), [l, c] = O(null), [d, u] = O(!0), h = z(!0), M = z(!1), [N, m] = O(0), w = z(0);
3231
3231
  w.current = N;
3232
3232
  const v = z({ t: 0, at: 0 }), p = z(n);
3233
3233
  p.current = n;
3234
- const h = z(s);
3235
- h.current = s;
3236
- const [C, b] = O(!1), k = z(!1), J = (te) => {
3237
- k.current = te, b(te);
3234
+ const g = z(s);
3235
+ g.current = s;
3236
+ const [C, x] = O(!1), k = z(!1), J = (te) => {
3237
+ k.current = te, x(te);
3238
3238
  }, A = (te, H) => {
3239
3239
  var X;
3240
3240
  return (X = r.current) == null ? void 0 : X.call(r, te, H);
@@ -3250,12 +3250,12 @@ function Bl(t, e, n, s) {
3250
3250
  }
3251
3251
  }
3252
3252
  }), []);
3253
- $.muted = g.current || M.current, Y(() => {
3253
+ $.muted = h.current || M.current, Y(() => {
3254
3254
  if (l !== 1) return;
3255
3255
  let te = 0;
3256
3256
  const H = () => {
3257
3257
  const X = v.current, y = X.t + Math.min(1.2, (performance.now() - X.at) / 1e3);
3258
- if (h.current != null && y >= h.current) {
3258
+ if (g.current != null && y >= g.current) {
3259
3259
  J(!0), A("pauseVideo"), m(y);
3260
3260
  return;
3261
3261
  }
@@ -3272,8 +3272,8 @@ function Bl(t, e, n, s) {
3272
3272
  let te = 0;
3273
3273
  for (let H = 0; H < t.length; H++) t[H].start <= N + 0.05 && (te = H);
3274
3274
  return te;
3275
- }, [t, N]), [oe, P] = O(0), x = (te) => {
3276
- const H = Math.max(0, h.current != null ? Math.min(te, Math.max(0, h.current - 0.5)) : te);
3275
+ }, [t, N]), [oe, P] = O(0), b = (te) => {
3276
+ const H = Math.max(0, g.current != null ? Math.min(te, Math.max(0, g.current - 0.5)) : te);
3277
3277
  A("seekTo", [H + p.current, !0]), v.current = { t: H, at: performance.now() }, m(H), P((X) => X + 1);
3278
3278
  }, ue = z(!1), B = z(void 0), F = (te) => {
3279
3279
  window.clearTimeout(B.current), B.current = window.setTimeout(() => {
@@ -3302,15 +3302,15 @@ function Bl(t, e, n, s) {
3302
3302
  J(!1);
3303
3303
  return;
3304
3304
  }
3305
- N >= I - 0.25 && x(0), ie();
3305
+ N >= I - 0.25 && b(0), ie();
3306
3306
  }, ve = (te) => {
3307
3307
  const H = t[Math.max(0, Math.min(t.length - 1, te))];
3308
- H && x(H.start);
3308
+ H && b(H.start);
3309
3309
  }, Le = z(!1), Te = () => {
3310
- const te = g.current || M.current;
3310
+ const te = h.current || M.current;
3311
3311
  $.muted = te, A(te ? "mute" : "unMute");
3312
3312
  }, we = (te) => {
3313
- g.current = te, u(te), Te();
3313
+ h.current = te, u(te), Te();
3314
3314
  }, Ee = (te) => {
3315
3315
  M.current !== !te && (M.current = !te, Te());
3316
3316
  };
@@ -3336,18 +3336,18 @@ function Bl(t, e, n, s) {
3336
3336
  toggle: le,
3337
3337
  seekRow: ve,
3338
3338
  toggleMute: () => {
3339
- const te = !g.current;
3339
+ const te = !h.current;
3340
3340
  we(te), !te && !M.current && j.current === 1 && setTimeout(() => {
3341
- j.current === 2 && !g.current && (we(!0), A("playVideo"));
3341
+ j.current === 2 && !h.current && (we(!0), A("playVideo"));
3342
3342
  }, 900);
3343
3343
  },
3344
- seekFrac: (te) => x(Math.max(0, Math.min(1, te)) * I),
3345
- seekWord: (te) => x(te.start),
3344
+ seekFrac: (te) => b(Math.max(0, Math.min(1, te)) * I),
3345
+ seekWord: (te) => b(te.start),
3346
3346
  playRow: (te) => {
3347
3347
  ve(te), K || ie();
3348
3348
  },
3349
3349
  stop: () => {
3350
- re(), x(0);
3350
+ re(), b(0);
3351
3351
  },
3352
3352
  engaged: K || N > 0,
3353
3353
  prev: () => ve(E - 1),
@@ -3370,21 +3370,21 @@ function Bl(t, e, n, s) {
3370
3370
  }
3371
3371
  function Hl(t, e, n, s, r = 0, a = null) {
3372
3372
  var X;
3373
- const o = z(null), [l, c] = O(!1), [d, u] = O(0), [g, M] = O(!1), N = z(g);
3374
- N.current = g;
3375
- const m = z(!1), [w, v] = O(null), [p, h] = O(!1), C = z(r);
3373
+ const o = z(null), [l, c] = O(!1), [d, u] = O(0), [h, M] = O(!1), N = z(h);
3374
+ N.current = h;
3375
+ const m = z(!1), [w, v] = O(null), [p, g] = O(!1), C = z(r);
3376
3376
  C.current = r;
3377
- const b = z(null), [k, J] = O(0);
3377
+ const x = z(null), [k, J] = O(0);
3378
3378
  Y(() => {
3379
- h(!1);
3380
- const y = b.current;
3381
- if (b.current = null, y || u(0), !t) {
3379
+ g(!1);
3380
+ const y = x.current;
3381
+ if (x.current = null, y || u(0), !t) {
3382
3382
  c(!1), o.current = null;
3383
3383
  return;
3384
3384
  }
3385
3385
  const R = ci(t), ae = C.current;
3386
3386
  return R.preload = "metadata", R.muted = N.current || m.current, R.onplay = () => c(!0), R.onpause = () => c(!1), R.onended = () => c(!1), R.onloadedmetadata = () => {
3387
- h(!0), R.currentTime = ((y == null ? void 0 : y.t) ?? 0) + ae, y != null && y.playing && R.play().catch((G) => {
3387
+ g(!0), R.currentTime = ((y == null ? void 0 : y.t) ?? 0) + ae, y != null && y.playing && R.play().catch((G) => {
3388
3388
  y.asked && (G == null ? void 0 : G.name) === "NotAllowedError" || v(wt(G));
3389
3389
  });
3390
3390
  }, R.onerror = () => {
@@ -3394,10 +3394,10 @@ function Hl(t, e, n, s, r = 0, a = null) {
3394
3394
  bl(V == null ? void 0 : V.message) || oi(G), o.current === R && (v({ message: (V == null ? void 0 : V.message) ?? me }), V != null && V.permanent || (o.current = null));
3395
3395
  });
3396
3396
  }, o.current = R, () => {
3397
- b.current = { t: Math.max(0, R.currentTime - ae), playing: !R.paused && !R.ended }, R.pause(), R.onplay = R.onpause = R.onended = R.onloadedmetadata = R.onerror = null, o.current = null;
3397
+ x.current = { t: Math.max(0, R.currentTime - ae), playing: !R.paused && !R.ended }, R.pause(), R.onplay = R.onpause = R.onended = R.onloadedmetadata = R.onerror = null, o.current = null;
3398
3398
  };
3399
3399
  }, [t, k]), Y(() => () => {
3400
- b.current = null;
3400
+ x.current = null;
3401
3401
  }, []);
3402
3402
  const A = n.length ? ((X = n[n.length - 1].words[n[n.length - 1].words.length - 1]) == null ? void 0 : X.end) ?? n[n.length - 1].start + 4 : 0, K = r > 0 || s != null && p && o.current != null && Number.isFinite(o.current.duration) && o.current.duration > s + 1, j = !K && p && o.current && Number.isFinite(o.current.duration) && o.current.duration || s || A || 1, S = z(j);
3403
3403
  S.current = j;
@@ -3437,7 +3437,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
3437
3437
  };
3438
3438
  return y = requestAnimationFrame(R), () => cancelAnimationFrame(y);
3439
3439
  }, [l]);
3440
- const x = Ie(() => {
3440
+ const b = Ie(() => {
3441
3441
  if (!n.length) return 0;
3442
3442
  let y = 0;
3443
3443
  for (let R = 0; R < n.length; R++) n[R].start <= d + 0.05 && (y = R);
@@ -3452,7 +3452,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
3452
3452
  const y = o.current;
3453
3453
  if (!y) {
3454
3454
  if (!t && e) {
3455
- b.current = (R = b.current) != null && R.asked ? null : { t: d, playing: !0, asked: !0 };
3455
+ x.current = (R = x.current) != null && R.asked ? null : { t: d, playing: !0, asked: !0 };
3456
3456
  return;
3457
3457
  }
3458
3458
  t && J((ae) => ae + 1), v({ message: e ? "The audio player is not ready yet — try again in a moment." : "There is no audio for this transcription." });
@@ -3514,9 +3514,9 @@ function Hl(t, e, n, s, r = 0, a = null) {
3514
3514
  },
3515
3515
  playing: l,
3516
3516
  t: d,
3517
- idx: x,
3517
+ idx: b,
3518
3518
  dur: j,
3519
- muted: g,
3519
+ muted: h,
3520
3520
  toggleMute: () => {
3521
3521
  const y = !N.current;
3522
3522
  N.current = y, o.current && (o.current.muted = y || m.current), M(y);
@@ -3539,8 +3539,8 @@ function Hl(t, e, n, s, r = 0, a = null) {
3539
3539
  Math.abs(R.currentTime - ae) <= 0.2 || (Be.current = Date.now(), R.currentTime = ae);
3540
3540
  },
3541
3541
  engaged: l || d > 0,
3542
- prev: () => le(x - 1),
3543
- next: () => le(x + 1),
3542
+ prev: () => le(b - 1),
3543
+ next: () => le(b + 1),
3544
3544
  hold: Oe,
3545
3545
  release: ye,
3546
3546
  error: w,
@@ -3563,11 +3563,11 @@ function Hl(t, e, n, s, r = 0, a = null) {
3563
3563
  function Vl(t, e, n, s, r, a, o = !1, l) {
3564
3564
  const c = z(/* @__PURE__ */ new Set());
3565
3565
  c.current = l ?? c.current;
3566
- const d = z(null), [u, g] = O(!1), [M, N] = O(0), [m, w] = O(0), [v, p] = O(!1), h = z(v);
3567
- h.current = v;
3568
- const [C, b] = O(null), [k, J] = O(null), [A, K] = O(null), [j, S] = O(null), $ = z(j);
3566
+ const d = z(null), [u, h] = O(!1), [M, N] = O(0), [m, w] = O(0), [v, p] = O(!1), g = z(v);
3567
+ g.current = v;
3568
+ const [C, x] = O(null), [k, J] = O(null), [A, K] = O(null), [j, S] = O(null), $ = z(j);
3569
3569
  $.current = j;
3570
- const [L, I] = O(null), [E, oe] = O(null), [P, x] = O(null), [ue, B] = O(!1), F = z(e);
3570
+ const [L, I] = O(null), [E, oe] = O(null), [P, b] = O(null), [ue, B] = O(!1), F = z(e);
3571
3571
  F.current = e;
3572
3572
  const ie = z(o), re = z([]);
3573
3573
  ie.current = o, d.current && (d.current.flow = o);
@@ -3577,11 +3577,11 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3577
3577
  Le.current = a;
3578
3578
  const Te = qe((_) => {
3579
3579
  _.finite = !0, _.coming = (U) => c.current.has(U), _.readAhead = 6, _.readAheadS = 45, _.onWaiting = (U) => J(U), _.onStarting = (U) => K(U), _.onSentence = (U) => {
3580
- if (g(_.playing), U == null) return;
3580
+ if (h(_.playing), U == null) return;
3581
3581
  const W = F.current.findIndex((ee) => ee.sentenceId === U);
3582
3582
  W >= 0 && N(W);
3583
3583
  }, _.onError = (U) => {
3584
- g(_.playing), b(U instanceof ui ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3584
+ h(_.playing), x(U instanceof ui ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3585
3585
  }, _.gapBefore = (U, W) => {
3586
3586
  if (!ie.current) return 0;
3587
3587
  const ee = F.current, fe = ee.find((be) => be.sentenceId === U), Ne = ee.find((be) => be.sentenceId === W);
@@ -3614,10 +3614,10 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3614
3614
  var W;
3615
3615
  if (we.current !== s) {
3616
3616
  const ee = we.current != null ? Ee.current : null;
3617
- we.current = s, (W = d.current) == null || W.stop(), d.current = new cs(), Te(d.current), d.current.setSequence(re.current), g(!1), N(0), b(null), K(null), S(null), H(ee && (ee.playing || ee.t > 0) ? ee : null);
3617
+ we.current = s, (W = d.current) == null || W.stop(), d.current = new cs(), Te(d.current), d.current.setSequence(re.current), h(!1), N(0), x(null), K(null), S(null), H(ee && (ee.playing || ee.t > 0) ? ee : null);
3618
3618
  }
3619
3619
  const _ = d.current;
3620
- _.setMuted(h.current);
3620
+ _.setMuted(g.current);
3621
3621
  for (const ee of t) _.add(ee);
3622
3622
  const U = Be.current;
3623
3623
  U && (ie.current || t.some((ee) => ee.sentenceId >= (U.sentenceId ?? 0))) && (H(null), te.current(U));
@@ -3641,7 +3641,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3641
3641
  const W = ((ze = d.current) == null ? void 0 : ze.resting()) ?? null;
3642
3642
  B(!!(W != null && W.silent)), W != null && W.silent && $.current && ($.current = null, S(null)), oe((be) => W == null ? null : be != null && Math.abs(be - W.s) < 0.05 ? be : W.s);
3643
3643
  const ee = $.current;
3644
- W == null ? x(null) : ee && ee.sid === W.sentenceId && (x(ee.t), $.current = null, S(null));
3644
+ W == null ? b(null) : ee && ee.sid === W.sentenceId && (b(ee.t), $.current = null, S(null));
3645
3645
  const fe = ((Ue = d.current) == null ? void 0 : Ue.position()) ?? null, Ne = fe && Le.current ? Le.current[String(fe.sentenceId)] ?? null : null;
3646
3646
  ee && fe && fe.sentenceId === ee.sid && fe.t > 0.1 && S(null), I((be) => fe ? be && Math.abs(be.t - fe.t) < 0.05 && be.dur === fe.dur && be.words === Ne ? be : { t: fe.t, dur: fe.dur, words: Ne } : be == null ? be : null);
3647
3647
  };
@@ -3660,12 +3660,12 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3660
3660
  Ae.current = M;
3661
3661
  const Z = (_) => {
3662
3662
  var U, W, ee;
3663
- (W = d.current) == null || W.play(((U = e[_]) == null ? void 0 : U.sentenceId) ?? null), g(!!((ee = d.current) != null && ee.playing));
3663
+ (W = d.current) == null || W.play(((U = e[_]) == null ? void 0 : U.sentenceId) ?? null), h(!!((ee = d.current) != null && ee.playing));
3664
3664
  }, se = (_) => {
3665
3665
  var W, ee, fe;
3666
3666
  const U = Math.max(0, Math.min(Math.max(0, e.length - 1), _));
3667
- N(U), Ae.current = U, w((Ne) => Ne + 1), (ee = d.current) == null || ee.seek(((W = e[U]) == null ? void 0 : W.sentenceId) ?? null), g(!!((fe = d.current) != null && fe.playing));
3668
- }, he = (_) => {
3667
+ N(U), Ae.current = U, w((Ne) => Ne + 1), (ee = d.current) == null || ee.seek(((W = e[U]) == null ? void 0 : W.sentenceId) ?? null), h(!!((fe = d.current) != null && fe.playing));
3668
+ }, ge = (_) => {
3669
3669
  var U;
3670
3670
  X(), S(null), (U = d.current) == null || U.startWithin(-1, 0), se(_);
3671
3671
  }, Me = (_) => {
@@ -3697,8 +3697,8 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3697
3697
  seekN: m,
3698
3698
  toggleMute: () => {
3699
3699
  var U;
3700
- const _ = !h.current;
3701
- h.current = _, (U = d.current) == null || U.setMuted(_), p(_);
3700
+ const _ = !g.current;
3701
+ g.current = _, (U = d.current) == null || U.setMuted(_), p(_);
3702
3702
  },
3703
3703
  toggle: () => {
3704
3704
  var U, W, ee;
@@ -3707,31 +3707,31 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3707
3707
  return;
3708
3708
  }
3709
3709
  if (X(), u) {
3710
- (U = d.current) == null || U.pause(), g(!1);
3710
+ (U = d.current) == null || U.pause(), h(!1);
3711
3711
  return;
3712
3712
  }
3713
- b(null);
3713
+ x(null);
3714
3714
  const _ = Ae.current;
3715
3715
  if (!$.current && ((ee = d.current) != null && ee.resume(((W = e[_]) == null ? void 0 : W.sentenceId) ?? null))) {
3716
- g(!0);
3716
+ h(!0);
3717
3717
  return;
3718
3718
  }
3719
3719
  Z(_);
3720
3720
  },
3721
3721
  pause: () => {
3722
3722
  var _;
3723
- X(), (_ = d.current) == null || _.pause(), g(!1);
3723
+ X(), (_ = d.current) == null || _.pause(), h(!1);
3724
3724
  },
3725
3725
  stop: () => {
3726
3726
  var _, U, W;
3727
- X(), (_ = d.current) == null || _.pause(), g(!1), N(0), I(null), (W = d.current) == null || W.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
3727
+ X(), (_ = d.current) == null || _.pause(), h(!1), N(0), I(null), (W = d.current) == null || W.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
3728
3728
  },
3729
- seekRow: he,
3729
+ seekRow: ge,
3730
3730
  resumeAt: (_) => {
3731
3731
  H(_), t.some((U) => U.sentenceId >= (_.sentenceId ?? 0)) && (H(null), te.current(_));
3732
3732
  },
3733
3733
  seekFrac: (_) => {
3734
- var Xe, It, ut;
3734
+ var Xe, Ot, ut;
3735
3735
  X();
3736
3736
  const U = Math.max(0, Math.min(1, _)) * je;
3737
3737
  let W = 0;
@@ -3746,7 +3746,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3746
3746
  }
3747
3747
  const Ne = (ee == null ? void 0 : ee.sentenceId) ?? null, { from: ze, span: Ue } = Me(W);
3748
3748
  let be = Ue > 0 ? Math.max(0, Math.min(1, (U - ze) / Ue)) : 0;
3749
- const Se = Ne != null ? (It = Le.current) == null ? void 0 : It[String(Ne)] : void 0, st = Se != null && Se.length ? Se[Se.length - 1][1] : 0;
3749
+ const Se = Ne != null ? (Ot = Le.current) == null ? void 0 : Ot[String(Ne)] : void 0, st = Se != null && Se.length ? Se[Se.length - 1][1] : 0;
3750
3750
  if (ee && Se && Se.length === ee.words.length && st > 0) {
3751
3751
  let Ge = 0;
3752
3752
  for (let He = 0; He < ee.words.length; He++) ee.words[He].start <= U && (Ge = He);
@@ -3770,11 +3770,11 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3770
3770
  },
3771
3771
  prev: () => {
3772
3772
  const _ = me(V - 1, -1);
3773
- _ != null && he(_);
3773
+ _ != null && ge(_);
3774
3774
  },
3775
3775
  next: () => {
3776
3776
  const _ = me(V + 1, 1);
3777
- _ != null && he(_);
3777
+ _ != null && ge(_);
3778
3778
  },
3779
3779
  hold: () => {
3780
3780
  var _;
@@ -3783,7 +3783,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3783
3783
  release: () => {
3784
3784
  Ve.current && (Ve.current = !1, Z(Ae.current));
3785
3785
  },
3786
- clearError: () => b(null),
3786
+ clearError: () => x(null),
3787
3787
  setVolume: (_) => {
3788
3788
  var U;
3789
3789
  return (U = d.current) == null ? void 0 : U.setVolume(_);
@@ -3795,7 +3795,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3795
3795
  if (U == null) return;
3796
3796
  N(_), Ae.current = _, S(null), $.current = null, (fe = d.current) == null || fe.joinSilently(U);
3797
3797
  const W = ((Ne = d.current) == null ? void 0 : Ne.resting()) ?? null;
3798
- oe((W == null ? void 0 : W.s) ?? null), B(!!(W != null && W.silent)), g(!!((ze = d.current) != null && ze.playing));
3798
+ oe((W == null ? void 0 : W.s) ?? null), B(!!(W != null && W.silent)), h(!!((ze = d.current) != null && ze.playing));
3799
3799
  }
3800
3800
  return xe.joinAt = o ? (_) => {
3801
3801
  X(), Ce(yn({ t: _, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, je).index);
@@ -3811,20 +3811,20 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3811
3811
  }
3812
3812
  const Wl = () => {
3813
3813
  }, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3814
- function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: g, hearOriginal: M = !1, timed: N = !1, stockVoices: m = !1, stickyPicker: w = !1, pickerBusy: v = null, voiceSheet: p }) {
3814
+ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: h, hearOriginal: M = !1, timed: N = !1, stockVoices: m = !1, stickyPicker: w = !1, pickerBusy: v = null, voiceSheet: p }) {
3815
3815
  var tn, nn, sn, Gt;
3816
- const { onAddVoice: h, onPickVoice: C, onSelectSpeaker: b, noCloneFor: k, castNoClone: J, castShort: A, castBuilding: K, castWarn: j, badge: S, titleNode: $ } = p ?? {}, L = !!p, I = !!(p != null && p.pendingClones), [E, oe] = gi(), [P, x] = O(null), [ue, B] = O(!1), [F, ie] = O(!1), [re, le] = O(!1), [ve, Le] = O(!1), Te = d ?? l, we = d === null, Ee = d != null || P != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(we ? l : Te) ? we ? l : Te : "en", ye = Sl(Oe), te = (p == null ? void 0 : p.cloneOn) ?? !0, [H, X] = O(0), y = z(te);
3816
+ const { onAddVoice: g, onPickVoice: C, onSelectSpeaker: x, noCloneFor: k, castNoClone: J, castShort: A, castBuilding: K, castWarn: j, badge: S, titleNode: $ } = p ?? {}, L = !!p, I = !!(p != null && p.pendingClones), [E, oe] = hi(), [P, b] = O(null), [ue, B] = O(!1), [F, ie] = O(!1), [re, le] = O(!1), [ve, Le] = O(!1), Te = d ?? l, we = d === null, Ee = d != null || P != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(we ? l : Te) ? we ? l : Te : "en", ye = Sl(Oe), te = (p == null ? void 0 : p.cloneOn) ?? !0, [H, X] = O(0), y = z(te);
3817
3817
  Y(() => {
3818
3818
  y.current !== te && (y.current = te, X((Q) => Q + 1));
3819
3819
  }, [te]);
3820
- const R = Ml(Oe, Ee || r || F, hl(e) * 1e3 + H, { id: t ?? null, shareCode: a.shareCode ?? null }), ae = Ie(() => ((R == null ? void 0 : R.voices) ?? []).filter((Q) => L || !Q.cloned || Q.speaker != null), [R, L]), G = ae.length > 1, me = Ns(o, Te), V = vi(), Ye = Ie(() => fi(o, "translation"), [o]), [je, Ve] = O(null), [Ae] = O(() => /* @__PURE__ */ new Set()), [Z, se] = O({}), he = Ie(() => ol(n, e, V.vcUnknownSpk), [n, e, V]), Me = G && he.filter((Q) => Q.key >= 0).length > 1, ce = je != null && he.some((Q) => Q.key === je) ? je : ((tn = he[0]) == null ? void 0 : tn.key) ?? null, ke = Ie(() => {
3821
- const Q = Wr(he, ae, te);
3820
+ const R = Ml(Oe, Ee || r || F, gl(e) * 1e3 + H, { id: t ?? null, shareCode: a.shareCode ?? null }), ae = Ie(() => ((R == null ? void 0 : R.voices) ?? []).filter((Q) => L || !Q.cloned || Q.speaker != null), [R, L]), G = ae.length > 1, me = Ns(o, Te), V = vi(), Ye = Ie(() => fi(o, "translation"), [o]), [je, Ve] = O(null), [Ae] = O(() => /* @__PURE__ */ new Set()), [Z, se] = O({}), ge = Ie(() => ol(n, e, V.vcUnknownSpk), [n, e, V]), Me = G && ge.filter((Q) => Q.key >= 0).length > 1, ce = je != null && ge.some((Q) => Q.key === je) ? je : ((tn = ge[0]) == null ? void 0 : tn.key) ?? null, ke = Ie(() => {
3821
+ const Q = Wr(ge, ae, te);
3822
3822
  for (const [De, $e] of Object.entries(Z[Oe ?? ""] ?? {})) Q.set(Number(De), $e);
3823
3823
  return Q;
3824
- }, [he, ae, Z, Oe, te]), We = Me && Object.keys(Z[Oe ?? ""] ?? {}).length > 0, xe = Ie(() => m && !We ? Wr(he, ae, !1) : null, [m, We, he, ae]), Ce = Ie(() => We ? Hr(ke) || null : xe && Hr(xe) || null, [We, ke, xe]), _ = We ? ke : xe, U = ae.some((Q) => Q.cloned && Q.consent !== "pending"), W = !!Te && !!(o != null && o.voice.includes(Te)), ee = W && !M, fe = Ie(
3824
+ }, [ge, ae, Z, Oe, te]), We = Me && Object.keys(Z[Oe ?? ""] ?? {}).length > 0, xe = Ie(() => m && !We ? Wr(ge, ae, !1) : null, [m, We, ge, ae]), Ce = Ie(() => We ? Hr(ke) || null : xe && Hr(xe) || null, [We, ke, xe]), _ = We ? ke : xe, U = ae.some((Q) => Q.cloned && Q.consent !== "pending"), W = !!Te && !!(o != null && o.voice.includes(Te)), ee = W && !M, fe = Ie(
3825
3825
  () => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
3826
3826
  [n]
3827
- ), Ne = gl({ recordingId: t, lang: Te, ended: r, cred: a, pickedVoice: Ce ?? P, sentenceIds: r && ee ? fe : void 0 }), ze = ae.find((Q) => Q.id === P) ?? ae.find((Q) => {
3827
+ ), Ne = hl({ recordingId: t, lang: Te, ended: r, cred: a, pickedVoice: Ce ?? P, sentenceIds: r && ee ? fe : void 0 }), ze = ae.find((Q) => Q.id === P) ?? ae.find((Q) => {
3828
3828
  var De;
3829
3829
  return Q.id === ((De = Ne.track) == null ? void 0 : De.voice);
3830
3830
  }) ?? ae.find((Q) => Q.default) ?? ae[0] ?? null, Ue = (ze == null ? void 0 : ze.id) ?? null;
@@ -3841,7 +3841,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3841
3841
  }, [Se.idx]), Y(() => {
3842
3842
  !ve || !Se.has || (Le(!1), Se.playing || Se.toggle());
3843
3843
  }, [ve, Se.has]);
3844
- const st = Ne.rendering, Xe = st ? null : Ne.failed ?? null, It = !1, ut = Ee && ee, Ge = Ee && !we && ee && !(Ne.listed && Ne.listed.lang === Te && Ne.listed.recordingId === t), Qe = {
3844
+ const st = Ne.rendering, Xe = st ? null : Ne.failed ?? null, Ot = !1, ut = Ee && ee, Ge = Ee && !we && ee && !(Ne.listed && Ne.listed.lang === Te && Ne.listed.recordingId === t), Qe = {
3845
3845
  ...Se,
3846
3846
  has: Se.has || ut && r,
3847
3847
  toggle: () => {
@@ -3854,53 +3854,53 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3854
3854
  }, rt = () => B(!0), He = () => {
3855
3855
  B(!1), ie(re), le(!1);
3856
3856
  }, Lt = (Q) => {
3857
- if (u(Q), oe(Q), !((g || w) && !re)) {
3857
+ if (u(Q), oe(Q), !((h || w) && !re)) {
3858
3858
  if (Q != null) {
3859
3859
  He();
3860
3860
  return;
3861
3861
  }
3862
3862
  ye.reset(), B(!1), ie(!1), le(!1);
3863
3863
  }
3864
- }, Mt = () => {
3864
+ }, gt = () => {
3865
3865
  ye.reset(), ie(!0);
3866
3866
  }, Bt = () => {
3867
3867
  ye.reset(), ie(!1);
3868
- }, ne = ue && !re, Nt = F || ue && re, D = () => {
3868
+ }, ne = ue && !re, pt = F || ue && re, D = () => {
3869
3869
  if (ne) {
3870
3870
  B(!1);
3871
3871
  return;
3872
3872
  }
3873
3873
  ye.reset(), ie(!1), le(!1), B(!0);
3874
3874
  }, Xt = () => {
3875
- if (ye.reset(), Nt) {
3875
+ if (ye.reset(), pt) {
3876
3876
  ie(!1), B(!1), le(!1);
3877
3877
  return;
3878
3878
  }
3879
3879
  B(!1), le(!1), ie(!0);
3880
- }, Ot = (Q) => {
3880
+ }, Ct = (Q) => {
3881
3881
  if (ye.reset(), ie(Me), (Te !== Oe || we) && u(Oe), Ne.forget(), Le(!0), Me && ce != null && Oe) {
3882
3882
  const De = new Map(ke);
3883
- De.set(ce, Q), se(($e) => ({ ...$e, [Oe]: Object.fromEntries(De) })), x(null);
3883
+ De.set(ce, Q), se(($e) => ({ ...$e, [Oe]: Object.fromEntries(De) })), b(null);
3884
3884
  return;
3885
3885
  }
3886
- x(Q);
3887
- }, at = we ? { ...Ns(o, null), flag: /* @__PURE__ */ i(de, { d: q.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : me, Ct = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: ne ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: D, style: Fr }) }) : /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: rt, style: Fr }) : null, zn = q.voiceClone, Ht = Ee && (!!Ne.track || st), Ke = Xe ? "var(--conf-low)" : Ht || g && Nt ? "var(--brand)" : "var(--ink-55)", ot = st || !!Se.preparing && Ee, Vt = Se.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : Xe ? `This voice could not be prepared: ${Xe}` : W ? G ? "Choose a voice" : ze ? ze.name : V.vcNoVoice + me.label : `${V.vcNoVoice}${me.label}`, ht = /* @__PURE__ */ i(Ba, { open: ue, onClose: He, keepOpen: (!!g || w) && !re, value: we ? null : Te, onSelect: Lt, languages: Ye, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Fl, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E, requireVoice: re, sticky: w, busy: v }), dt = Ie(() => ae.filter((Q) => Q.cloned && !Q.auto), [ae]), _t = (Q) => Q.voiceId ? dt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, lt = Ie(() => he.filter((Q) => Q.key >= 0), [he]), Wt = Ie(() => {
3886
+ b(Q);
3887
+ }, at = we ? { ...Ns(o, null), flag: /* @__PURE__ */ i(de, { d: q.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : me, bt = c ? h ? /* @__PURE__ */ i("span", { className: "barchip", style: ne ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: D, style: Fr }) }) : /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: rt, style: Fr }) : null, zn = q.voiceClone, Ht = Ee && (!!Ne.track || st), Ke = Xe ? "var(--conf-low)" : Ht || h && pt ? "var(--brand)" : "var(--ink-55)", ot = st || !!Se.preparing && Ee, Vt = Se.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : Xe ? `This voice could not be prepared: ${Xe}` : W ? G ? "Choose a voice" : ze ? ze.name : V.vcNoVoice + me.label : `${V.vcNoVoice}${me.label}`, ht = /* @__PURE__ */ i(Ba, { open: ue, onClose: He, keepOpen: (!!h || w) && !re, value: we ? null : Te, onSelect: Lt, languages: Ye, title: (h == null ? void 0 : h.title) ?? "SPOKEN LANGUAGE", note: (h == null ? void 0 : h.note) ?? Fl, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E, requireVoice: re, sticky: w, busy: v }), dt = Ie(() => ae.filter((Q) => Q.cloned && !Q.auto), [ae]), _t = (Q) => Q.voiceId ? dt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, lt = Ie(() => ge.filter((Q) => Q.key >= 0), [ge]), Wt = Ie(() => {
3888
3888
  const Q = ae.filter(($e) => !$e.cloned);
3889
3889
  if (!Me) return [...Q, ...r && lt.length === 1 ? dt.filter(($e) => $e.id === `clone:${lt[0].voiceId}`) : []];
3890
3890
  const De = [];
3891
3891
  for (const $e of lt) {
3892
3892
  if (_t($e)) continue;
3893
- const jt = ae.find((St) => St.cloned && St.auto && St.speaker === $e.key);
3894
- !jt || jt.ready === !1 || jt.consent === "pending" && !I || De.push({ id: jt.id, name: $e.name, cloned: !0, default: !1, live: !0, auto: !0, gender: $e.sex ?? jt.gender ?? null, speaker: $e.key, consent: jt.consent ?? null });
3893
+ const zt = ae.find((St) => St.cloned && St.auto && St.speaker === $e.key);
3894
+ !zt || zt.ready === !1 || zt.consent === "pending" && !I || De.push({ id: zt.id, name: $e.name, cloned: !0, default: !1, live: !0, auto: !0, gender: $e.sex ?? zt.gender ?? null, speaker: $e.key, consent: zt.consent ?? null });
3895
3895
  }
3896
3896
  return [...Q, ...dt, ...De];
3897
3897
  }, [ae, dt, Me, lt, I, r]), it = Me ? lt.find((Q) => Q.key === ce) ?? null : null, Ft = (Q) => {
3898
3898
  var De;
3899
3899
  return Q ? ((De = ae.find(($e) => $e.id === Q)) == null ? void 0 : De.gender) ?? null : null;
3900
- }, kt = it ? it.sex ?? Ft(ke.get(it.key)) : null, Ze = Ie(() => it ? Wt.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Wt, [Wt, it, kt, lt]), bt = (Q) => ae.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, pt = { people: lt, gvList: ae, autoOf: bt, savedFor: _t }, xt = (S == null ? void 0 : S(pt)) ?? 0, et = j ? lt.map((Q) => j(Q, pt)).filter((Q) => !!Q) : [], en = /* @__PURE__ */ f("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? Nt : void 0, title: ot || Xe ? Vt : void 0, style: { cursor: "pointer", background: Ht || ot || g && Nt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && Nt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? Xt : Mt, children: [
3900
+ }, kt = it ? it.sex ?? Ft(ke.get(it.key)) : null, Ze = Ie(() => it ? Wt.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Wt, [Wt, it, kt, lt]), xt = (Q) => ae.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, mt = { people: lt, gvList: ae, autoOf: xt, savedFor: _t }, Dt = (S == null ? void 0 : S(mt)) ?? 0, et = j ? lt.map((Q) => j(Q, mt)).filter((Q) => !!Q) : [], en = /* @__PURE__ */ f("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": h ? pt : void 0, title: ot || Xe ? Vt : void 0, style: { cursor: "pointer", background: Ht || ot || h && pt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: h && pt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: h ? Xt : gt, children: [
3901
3901
  ot ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(de, { d: zn, size: 17, sw: 1.6, style: { color: Ke } }),
3902
- et.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: et.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
3903
- ] }), Dt = /* @__PURE__ */ i($t, { open: F, onClose: Bt, title: V.vcSheet, titleNode: $, doneLabel: V.done, children: /* @__PURE__ */ i(
3902
+ et.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: et.join(" · "), children: "!" }) : !!Dt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${Dt} speaker${Dt === 1 ? "" : "s"} can get a cloned voice`, children: Dt })
3903
+ ] }), vt = /* @__PURE__ */ i($t, { open: F, onClose: Bt, title: V.vcSheet, titleNode: $, doneLabel: V.done, children: /* @__PURE__ */ i(
3904
3904
  cl,
3905
3905
  {
3906
3906
  t: V,
@@ -3908,25 +3908,25 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3908
3908
  ll,
3909
3909
  {
3910
3910
  t: V,
3911
- roster: he,
3911
+ roster: ge,
3912
3912
  selected: ce,
3913
3913
  onSelect: (Q) => {
3914
- ye.reset(), Ve(Q), b == null || b(Q);
3914
+ ye.reset(), Ve(Q), x == null || x(Q);
3915
3915
  },
3916
- noClone: (Q) => !!(J != null && J(Q, pt)),
3917
- short: (Q) => !!(A != null && A(Q, pt)),
3918
- warn: (Q) => (j == null ? void 0 : j(Q, pt)) ?? null,
3919
- building: (Q) => !_t(Q) && (ae.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(K != null && K(Q, pt))),
3916
+ noClone: (Q) => !!(J != null && J(Q, mt)),
3917
+ short: (Q) => !!(A != null && A(Q, mt)),
3918
+ warn: (Q) => (j == null ? void 0 : j(Q, mt)) ?? null,
3919
+ building: (Q) => !_t(Q) && (ae.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(K != null && K(Q, mt))),
3920
3920
  sexOf: (Q) => Q.sex ?? Ft(ke.get(Q.key))
3921
3921
  }
3922
3922
  ),
3923
3923
  voices: Ze,
3924
3924
  onAdd: (Q) => {
3925
- ye.reset(), h == null || h(Q);
3925
+ ye.reset(), g == null || g(Q);
3926
3926
  },
3927
- noClone: it && !Ze.some((Q) => Q.cloned) ? (k == null ? void 0 : k(it, bt(it.key), pt)) ?? null : null,
3927
+ noClone: it && !Ze.some((Q) => Q.cloned) ? (k == null ? void 0 : k(it, xt(it.key), mt)) ?? null : null,
3928
3928
  usedBy: Me && ce != null ? (Q) => {
3929
- const De = he.filter(($e) => $e.key !== ce && ke.get($e.key) === Q.id);
3929
+ const De = ge.filter(($e) => $e.key !== ce && ke.get($e.key) === Q.id);
3930
3930
  return De.length ? De.map(($e) => $e.name).join(", ") : null;
3931
3931
  } : void 0,
3932
3932
  foldKey: ce,
@@ -3946,39 +3946,39 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3946
3946
  }
3947
3947
  ye.arm(Q);
3948
3948
  },
3949
- onUse: Ot
3949
+ onUse: Ct
3950
3950
  }
3951
- ) }), In = g ? null : /* @__PURE__ */ f(Pe, { children: [
3951
+ ) }), In = h ? null : /* @__PURE__ */ f(Pe, { children: [
3952
3952
  ht,
3953
- Dt
3954
- ] }), On = g && (ue || F) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ue ? ht : Dt }) : null, vt = ut && Xe ? `This voice could not be prepared: ${Xe}` : null, Cn = It;
3953
+ vt
3954
+ ] }), On = h && (ue || F) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ue ? ht : vt }) : null, jt = ut && Xe ? `This voice could not be prepared: ${Xe}` : null, Cn = Ot;
3955
3955
  return {
3956
- barChip: { flag: at.flag, code: at.code, label: at.label, onClick: g || w ? D : rt, active: !!((g || w) && ne), can: c },
3956
+ barChip: { flag: at.flag, code: at.code, label: at.label, onClick: h || w ? D : rt, active: !!((h || w) && ne), can: c },
3957
3957
  sheetsOpen: ue || F,
3958
3958
  on: ut,
3959
3959
  player: Qe,
3960
- chip: Ct,
3960
+ chip: bt,
3961
3961
  voiceBtn: en,
3962
3962
  sheets: In,
3963
3963
  sidePanel: On,
3964
- voicesMine: Nt,
3964
+ voicesMine: pt,
3965
3965
  toggleVoices: Xt,
3966
3966
  cloningOn: te,
3967
- playTitle: vt,
3968
- noVoice: It,
3967
+ playTitle: jt,
3968
+ noVoice: Ot,
3969
3969
  noVoiceNote: Cn,
3970
3970
  relang: Ge,
3971
3971
  sampling: ye.sampleId != null,
3972
3972
  error: ye.error,
3973
3973
  clearError: () => ye.clearError(),
3974
- openVoices: Mt,
3974
+ openVoices: gt,
3975
3975
  openPicker: rt,
3976
3976
  original: we,
3977
3977
  reloadVoices: () => X((Q) => Q + 1),
3978
3978
  voicesVer: H,
3979
3979
  people: lt,
3980
3980
  gvList: ae,
3981
- autoOf: bt,
3981
+ autoOf: xt,
3982
3982
  savedFor: _t,
3983
3983
  closeVoices: Bt,
3984
3984
  setSheet: ie,
@@ -4001,12 +4001,12 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
4001
4001
  langList: { value: we ? null : Te, onSelect: Lt, languages: Ye, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E }
4002
4002
  };
4003
4003
  }
4004
- function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: g = !0, tail: M, tailFg: N, running: m, desk: w, feedRef: v, listener: p, showLabels: h, find: C, findOpen: b, lang: k, warm: J, onVisible: A, wordHl: K = !0 }) {
4004
+ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: h = !0, tail: M, tailFg: N, running: m, desk: w, feedRef: v, listener: p, showLabels: g, find: C, findOpen: x, lang: k, warm: J, onVisible: A, wordHl: K = !0 }) {
4005
4005
  const { playing: j, engaged: S, t: $, idx: L, seekN: I, wordSync: E, clipPos: oe } = n;
4006
4006
  kl(!0, v);
4007
4007
  const P = z(null);
4008
4008
  Ko(v, P);
4009
- const [x, ue] = O(null), B = (C ?? "").trim().toLowerCase(), [F, ie] = O(0), re = z(0), le = z(null), ve = z(L), Le = (H) => {
4009
+ const [b, ue] = O(null), B = (C ?? "").trim().toLowerCase(), [F, ie] = O(0), re = z(0), le = z(null), ve = z(L), Le = (H) => {
4010
4010
  var X;
4011
4011
  return ((X = v.current) == null ? void 0 : X.querySelector(`[data-tx-row="${H}"]`)) ?? null;
4012
4012
  }, Te = z("");
@@ -4050,8 +4050,8 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4050
4050
  return;
4051
4051
  }
4052
4052
  const Ae = performance.now(), Z = 360, se = () => {
4053
- const he = Math.min(1, (performance.now() - Ae) / Z);
4054
- X.scrollTop = me + (Ve - me) * (1 - Math.pow(1 - he, 3)), le.current = he < 1 ? requestAnimationFrame(se) : null;
4053
+ const ge = Math.min(1, (performance.now() - Ae) / Z);
4054
+ X.scrollTop = me + (Ve - me) * (1 - Math.pow(1 - ge, 3)), le.current = ge < 1 ? requestAnimationFrame(se) : null;
4055
4055
  };
4056
4056
  le.current = requestAnimationFrame(se);
4057
4057
  };
@@ -4082,28 +4082,28 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4082
4082
  /* @__PURE__ */ i(de, { d: H === "up" ? "m4.5 15.75 7.5-7.5 7.5 7.5" : "m19.5 8.25-7.5 7.5-7.5-7.5", size: 15, sw: 2 }),
4083
4083
  "Now playing"
4084
4084
  ] }) });
4085
- return /* @__PURE__ */ f("div", { ref: v, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${b && !m ? " is-find" : ""}`, children: [
4085
+ return /* @__PURE__ */ f("div", { ref: v, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${x && !m ? " is-find" : ""}`, children: [
4086
4086
  /* @__PURE__ */ i(Jo, { thumbRef: P }),
4087
4087
  j && F === -1 && te("up"),
4088
4088
  e.map((H, X) => {
4089
4089
  var ce;
4090
4090
  const y = j && X === L, R = S && X === L, ae = !!d && d === H.id, G = B && !H.text.toLowerCase().includes(B) && !(k && ((ce = H.translations[k]) != null && ce.toLowerCase().includes(B))) ? 0.22 : !S || X <= L || ae ? 1 : 0.38, me = p ? () => n.playRow(X) : c && l ? () => {
4091
4091
  j && !y && n.seekRow(X), l(H);
4092
- } : j && y ? void 0 : () => n.playRow(X), V = p ? null : tl(H, r, s), Ye = !!V && (V.script > 0 || V.manual), je = w && !!a && x === H.id && !!V && !Ye, Ve = zs(t, H.speaker), Ae = Is(t, H.speaker), Z = Ae.lane, se = k && H.translations[k] && H.language !== k ? H.translations[k] : null, he = bi(e, X, k), Me = R && !E && oe ? Mi(he.map((ke) => ({ t: ke.text, sp: " " })), oe) : null;
4092
+ } : j && y ? void 0 : () => n.playRow(X), V = p ? null : tl(H, r, s), Ye = !!V && (V.script > 0 || V.manual), je = w && !!a && b === H.id && !!V && !Ye, Ve = zs(t, H.speaker), Ae = Is(t, H.speaker), Z = Ae.lane, se = k && H.translations[k] && H.language !== k ? H.translations[k] : null, ge = bi(e, X, k), Me = R && !E && oe ? Mi(ge.map((ke) => ({ t: ke.text, sp: " " })), oe) : null;
4093
4093
  return /* @__PURE__ */ f("div", { "data-tx-row": X, "data-sentence": H.sentenceId, className: `txline${J ? " txline--warm" : ""}${ae ? " txline--fixing" : ""}`, "aria-current": ae || void 0, style: { opacity: G }, onClick: me, onMouseEnter: w && a ? () => ue(H.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
4094
4094
  /* @__PURE__ */ f("div", { className: "txline__meta", children: [
4095
4095
  /* @__PURE__ */ i("span", { className: "txline__at", children: Tt(H.start) }),
4096
- h && H.speaker >= 0 && /* @__PURE__ */ f(Pe, { children: [
4096
+ g && H.speaker >= 0 && /* @__PURE__ */ f(Pe, { children: [
4097
4097
  /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Z}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, H.speaker) }),
4098
4098
  /* @__PURE__ */ i("span", { className: `txline__who lane-${Z}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Ve }),
4099
4099
  Ae.hasVoice && /* @__PURE__ */ i(Ii, { color: Ae.fg ?? `var(--lane-${Z})` })
4100
4100
  ] }),
4101
- y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(de, { d: q.headphones, size: w ? 15 : 14, sw: 1.6, stroke: h && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${Z})` : "var(--ink-45)" }) }),
4102
- V && g && /* @__PURE__ */ i(nl, { f: V, desk: w, onOpen: a ? () => a(H, !0) : void 0 }),
4101
+ y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(de, { d: q.headphones, size: w ? 15 : 14, sw: 1.6, stroke: g && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${Z})` : "var(--ink-45)" }) }),
4102
+ V && h && /* @__PURE__ */ i(nl, { f: V, desk: w, onOpen: a ? () => a(H, !0) : void 0 }),
4103
4103
  je && /* @__PURE__ */ i(sl, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
4104
4104
  ] }),
4105
- /* @__PURE__ */ i("div", { className: "txline__text", children: he.map((ke, We) => {
4106
- const xe = `${ke.seq}:${ke.idx}`, Ce = Lo(ke.prob), _ = R && K, U = _ && (E ? $ >= ke.start && ($ < ke.end || We === he.length - 1 || $ < he[We + 1].start) : We === Me), W = _ && !U && (E ? ke.start > $ : Me != null && We > Me), ee = !se && !p && (!!(s != null && s.has(xe)) || !!ke.script), fe = !se && !p && u && !!Ce && !ee, Ne = fe ? Ce === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ze = ee ? "var(--brand)" : W ? "var(--ink-40)" : Ne ?? "var(--ink-96)";
4105
+ /* @__PURE__ */ i("div", { className: "txline__text", children: ge.map((ke, We) => {
4106
+ const xe = `${ke.seq}:${ke.idx}`, Ce = Lo(ke.prob), _ = R && K, U = _ && (E ? $ >= ke.start && ($ < ke.end || We === ge.length - 1 || $ < ge[We + 1].start) : We === Me), W = _ && !U && (E ? ke.start > $ : Me != null && We > Me), ee = !se && !p && (!!(s != null && s.has(xe)) || !!ke.script), fe = !se && !p && u && !!Ce && !ee, Ne = fe ? Ce === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ze = ee ? "var(--brand)" : W ? "var(--ink-40)" : Ne ?? "var(--ink-96)";
4107
4107
  return /* @__PURE__ */ f("span", { children: [
4108
4108
  /* @__PURE__ */ i(
4109
4109
  "span",
@@ -4164,18 +4164,18 @@ function Jl(t, e, n, s, r) {
4164
4164
  }, [e, d]), Y(() => {
4165
4165
  const u = t.current;
4166
4166
  if (!u) return;
4167
- let g = u.scrollTop, M = 0, N = 0;
4167
+ let h = u.scrollTop, M = 0, N = 0;
4168
4168
  const m = () => {
4169
4169
  N = Date.now() + 1500;
4170
4170
  }, w = (p) => {
4171
4171
  p.buttons && m();
4172
4172
  }, v = () => {
4173
- const p = u.scrollTop, h = p - g;
4174
- if (g = p, Date.now() > N) {
4173
+ const p = u.scrollTop, g = p - h;
4174
+ if (h = p, Date.now() > N) {
4175
4175
  M = 0;
4176
4176
  return;
4177
4177
  }
4178
- M = h < 0 == M < 0 ? M + h : h, M < -14 && !a.current ? (M = 0, r(!0)) : M > 56 && a.current && !o.current.trim() && (M = 0, r(!1));
4178
+ M = g < 0 == M < 0 ? M + g : g, M < -14 && !a.current ? (M = 0, r(!0)) : M > 56 && a.current && !o.current.trim() && (M = 0, r(!1));
4179
4179
  };
4180
4180
  return u.addEventListener("wheel", m, { passive: !0 }), u.addEventListener("touchmove", m, { passive: !0 }), u.addEventListener("pointermove", w), u.addEventListener("scroll", v, { passive: !0 }), () => {
4181
4181
  u.removeEventListener("wheel", m), u.removeEventListener("touchmove", m), u.removeEventListener("pointermove", w), u.removeEventListener("scroll", v);
@@ -4239,52 +4239,52 @@ function nc(t) {
4239
4239
  for (let L = 236; a.length < r; L ^= 253) o(L, 8);
4240
4240
  const l = [];
4241
4241
  for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((I, E) => I << 1 | E, 0));
4242
- const c = Jt.blocks[n], d = Jt.perBlock[n], u = Math.floor(xi(n) / 8), g = c - u % c, M = Math.floor(u / c), N = [], m = Xl(d);
4242
+ const c = Jt.blocks[n], d = Jt.perBlock[n], u = Math.floor(xi(n) / 8), h = c - u % c, M = Math.floor(u / c), N = [], m = Xl(d);
4243
4243
  for (let L = 0, I = 0; L < c; L++) {
4244
- const E = l.slice(I, I + M - d + (L < g ? 0 : 1));
4244
+ const E = l.slice(I, I + M - d + (L < h ? 0 : 1));
4245
4245
  I += E.length;
4246
4246
  const oe = ec(E, m);
4247
- L < g && E.push(0), N.push(E.concat(oe));
4247
+ L < h && E.push(0), N.push(E.concat(oe));
4248
4248
  }
4249
4249
  const w = [];
4250
4250
  for (let L = 0; L < N[0].length; L++) N.forEach((I, E) => {
4251
- (L !== M - d || E >= g) && w.push(I[L]);
4251
+ (L !== M - d || E >= h) && w.push(I[L]);
4252
4252
  });
4253
- const v = Array.from({ length: s }, () => new Array(s).fill(!1)), p = Array.from({ length: s }, () => new Array(s).fill(!1)), h = (L, I, E) => {
4253
+ const v = Array.from({ length: s }, () => new Array(s).fill(!1)), p = Array.from({ length: s }, () => new Array(s).fill(!1)), g = (L, I, E) => {
4254
4254
  v[I][L] = E, p[I][L] = !0;
4255
4255
  };
4256
4256
  for (let L = 0; L < s; L++)
4257
- h(6, L, L % 2 === 0), h(L, 6, L % 2 === 0);
4257
+ g(6, L, L % 2 === 0), g(L, 6, L % 2 === 0);
4258
4258
  const C = (L, I) => {
4259
4259
  for (let E = -4; E <= 4; E++) for (let oe = -4; oe <= 4; oe++) {
4260
- const P = Math.max(Math.abs(oe), Math.abs(E)), x = L + oe, ue = I + E;
4261
- x >= 0 && x < s && ue >= 0 && ue < s && h(x, ue, P !== 2 && P !== 4);
4260
+ const P = Math.max(Math.abs(oe), Math.abs(E)), b = L + oe, ue = I + E;
4261
+ b >= 0 && b < s && ue >= 0 && ue < s && g(b, ue, P !== 2 && P !== 4);
4262
4262
  }
4263
4263
  };
4264
4264
  C(3, 3), C(s - 4, 3), C(3, s - 4);
4265
- const b = tc(n);
4266
- for (let L = 0; L < b.length; L++) for (let I = 0; I < b.length; I++)
4267
- if (!(L === 0 && I === 0 || L === 0 && I === b.length - 1 || L === b.length - 1 && I === 0))
4268
- for (let E = -2; E <= 2; E++) for (let oe = -2; oe <= 2; oe++) h(b[L] + oe, b[I] + E, Math.max(Math.abs(oe), Math.abs(E)) !== 1);
4265
+ const x = tc(n);
4266
+ for (let L = 0; L < x.length; L++) for (let I = 0; I < x.length; I++)
4267
+ if (!(L === 0 && I === 0 || L === 0 && I === x.length - 1 || L === x.length - 1 && I === 0))
4268
+ for (let E = -2; E <= 2; E++) for (let oe = -2; oe <= 2; oe++) g(x[L] + oe, x[I] + E, Math.max(Math.abs(oe), Math.abs(E)) !== 1);
4269
4269
  const k = (L) => {
4270
4270
  const I = Jt.formatBits << 3 | L;
4271
4271
  let E = I;
4272
- for (let x = 0; x < 10; x++) E = E << 1 ^ (E >>> 9) * 1335;
4273
- const oe = (I << 10 | E) ^ 21522, P = (x) => (oe >>> x & 1) !== 0;
4274
- for (let x = 0; x <= 5; x++) h(8, x, P(x));
4275
- h(8, 7, P(6)), h(8, 8, P(7)), h(7, 8, P(8));
4276
- for (let x = 9; x < 15; x++) h(14 - x, 8, P(x));
4277
- for (let x = 0; x < 8; x++) h(s - 1 - x, 8, P(x));
4278
- for (let x = 8; x < 15; x++) h(8, s - 15 + x, P(x));
4279
- h(8, s - 8, !0);
4272
+ for (let b = 0; b < 10; b++) E = E << 1 ^ (E >>> 9) * 1335;
4273
+ const oe = (I << 10 | E) ^ 21522, P = (b) => (oe >>> b & 1) !== 0;
4274
+ for (let b = 0; b <= 5; b++) g(8, b, P(b));
4275
+ g(8, 7, P(6)), g(8, 8, P(7)), g(7, 8, P(8));
4276
+ for (let b = 9; b < 15; b++) g(14 - b, 8, P(b));
4277
+ for (let b = 0; b < 8; b++) g(s - 1 - b, 8, P(b));
4278
+ for (let b = 8; b < 15; b++) g(8, s - 15 + b, P(b));
4279
+ g(8, s - 8, !0);
4280
4280
  };
4281
4281
  if (k(0), n >= 7) {
4282
4282
  let L = n;
4283
4283
  for (let E = 0; E < 12; E++) L = L << 1 ^ (L >>> 11) * 7973;
4284
4284
  const I = n << 12 | L;
4285
4285
  for (let E = 0; E < 18; E++) {
4286
- const oe = (I >>> E & 1) !== 0, P = s - 11 + E % 3, x = Math.floor(E / 3);
4287
- h(P, x, oe), h(x, P, oe);
4286
+ const oe = (I >>> E & 1) !== 0, P = s - 11 + E % 3, b = Math.floor(E / 3);
4287
+ g(P, b, oe), g(b, P, oe);
4288
4288
  }
4289
4289
  }
4290
4290
  let J = 0;
@@ -4336,10 +4336,10 @@ function nc(t) {
4336
4336
  const ie = v[B][F];
4337
4337
  ie === v[B][F + 1] && ie === v[B + 1][F] && ie === v[B + 1][F + 1] && (L += 3);
4338
4338
  }
4339
- let x = 0;
4340
- for (const B of v) for (const F of B) F && x++;
4339
+ let b = 0;
4340
+ for (const B of v) for (const F of B) F && b++;
4341
4341
  const ue = s * s;
4342
- return L += (Math.ceil(Math.abs(x * 20 - ue * 10) / ue) - 1) * 10, L;
4342
+ return L += (Math.ceil(Math.abs(b * 20 - ue * 10) / ue) - 1) * 10, L;
4343
4343
  };
4344
4344
  let S = 0, $ = 1 / 0;
4345
4345
  for (let L = 0; L < 8; L++) {
@@ -4536,7 +4536,7 @@ function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
4536
4536
  ] });
4537
4537
  }
4538
4538
  const lc = { color: "rgba(255,255,255,.4)" };
4539
- function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos: a, sub: o, wait: l, pct: c, mute: d, cc: u, ad: g, chip: M, transport: N, picker: m, sheet: w, voices: v, voicesBtn: p, sheetOpen: h, onShare: C, onSettings: b, paused: k, copied: J, onTouch: A, onClose: K }) {
4539
+ function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos: a, sub: o, wait: l, pct: c, mute: d, cc: u, ad: h, chip: M, transport: N, picker: m, sheet: w, voices: v, voicesBtn: p, sheetOpen: g, onShare: C, onSettings: x, paused: k, copied: J, onTouch: A, onClose: K }) {
4540
4540
  const [j, S] = O(() => !!rs());
4541
4541
  Y(() => {
4542
4542
  const Z = () => S(!!rs());
@@ -4548,18 +4548,18 @@ function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4548
4548
  $.current = K;
4549
4549
  const L = z(N.playable ? N.onPlay : void 0);
4550
4550
  L.current = N.playable ? N.onPlay : void 0;
4551
- const [I, E] = O(!1), [oe, P] = O(0), x = z(!1);
4551
+ const [I, E] = O(!1), [oe, P] = O(0), b = z(!1);
4552
4552
  Y(() => () => Tn(!1), []), Y(() => {
4553
4553
  if (!e) return;
4554
4554
  const Z = [document.documentElement, document.body], se = Z.map((ce) => ce.style.background);
4555
4555
  Z.forEach((ce) => {
4556
4556
  ce.style.background = "#050507";
4557
4557
  });
4558
- const he = document.querySelector('meta[name="theme-color"]'), Me = he == null ? void 0 : he.content;
4559
- return he && (he.content = "#050507"), () => {
4558
+ const ge = document.querySelector('meta[name="theme-color"]'), Me = ge == null ? void 0 : ge.content;
4559
+ return ge && (ge.content = "#050507"), () => {
4560
4560
  Z.forEach((ce, ke) => {
4561
4561
  ce.style.background = se[ke];
4562
- }), he && Me && (he.content = Me);
4562
+ }), ge && Me && (ge.content = Me);
4563
4563
  };
4564
4564
  }, []);
4565
4565
  const ue = Ie(() => e && ic(), [e]), [B, F] = O(ue);
@@ -4572,56 +4572,56 @@ function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4572
4572
  }), () => Z.forEach((ce, ke) => {
4573
4573
  ce.style.overflow = se[ke][0], ce.style.overscrollBehavior = se[ke][1];
4574
4574
  });
4575
- const he = document.createElement("div");
4576
- he.setAttribute("aria-hidden", "true"), he.style.cssText = "position:absolute;top:0;left:0;width:1px;height:calc(100lvh + 160px);pointer-events:none", document.body.appendChild(he), document.documentElement.style.overscrollBehavior = "none";
4575
+ const ge = document.createElement("div");
4576
+ ge.setAttribute("aria-hidden", "true"), ge.style.cssText = "position:absolute;top:0;left:0;width:1px;height:calc(100lvh + 160px);pointer-events:none", document.body.appendChild(ge), document.documentElement.style.overscrollBehavior = "none";
4577
4577
  const Me = () => {
4578
4578
  window.scrollY > 24 && F(!1);
4579
4579
  };
4580
4580
  return window.addEventListener("scroll", Me, { passive: !0 }), () => {
4581
- window.removeEventListener("scroll", Me), he.remove(), document.documentElement.style.overscrollBehavior = se[0][1], window.scrollTo(0, 0);
4581
+ window.removeEventListener("scroll", Me), ge.remove(), document.documentElement.style.overscrollBehavior = se[0][1], window.scrollTo(0, 0);
4582
4582
  };
4583
4583
  }, [ue, e]);
4584
- const ie = z(h);
4585
- ie.current = h, Y(() => {
4584
+ const ie = z(g);
4585
+ ie.current = g, Y(() => {
4586
4586
  const Z = (Me) => Me instanceof HTMLElement && (Me.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(Me.tagName)), se = (Me) => {
4587
4587
  var ce;
4588
4588
  Me.key === "Escape" && !ie.current && $.current && (Me.stopPropagation(), $.current()), Me.key === " " && !ie.current && !Z(Me.target) && (Me.preventDefault(), Me.stopPropagation(), Me.repeat || (ce = L.current) == null || ce.call(L)), (Me.key === "f" || Me.key === "F") && !Me.metaKey && !Me.ctrlKey && !Me.altKey && !ie.current && !Z(Me.target) && Jr() && (Me.preventDefault(), Me.repeat || Tn(!rs()));
4589
- }, he = (Me) => {
4589
+ }, ge = (Me) => {
4590
4590
  Me.key === " " && !ie.current && !Z(Me.target) && Me.preventDefault();
4591
4591
  };
4592
- return window.addEventListener("keydown", se, !0), window.addEventListener("keyup", he, !0), () => {
4593
- window.removeEventListener("keydown", se, !0), window.removeEventListener("keyup", he, !0);
4592
+ return window.addEventListener("keydown", se, !0), window.addEventListener("keyup", ge, !0), () => {
4593
+ window.removeEventListener("keydown", se, !0), window.removeEventListener("keyup", ge, !0);
4594
4594
  };
4595
4595
  }, []);
4596
4596
  const re = ac("(orientation: landscape) and (max-height: 540px)"), le = z(null), [ve, Le] = O(null);
4597
4597
  Qt(() => {
4598
4598
  const Z = le.current;
4599
4599
  if (!Z || (Le(Z.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
4600
- const se = new ResizeObserver(([he]) => Le(he.contentRect.width));
4600
+ const se = new ResizeObserver(([ge]) => Le(ge.contentRect.width));
4601
4601
  return se.observe(Z), () => se.disconnect();
4602
4602
  }, []);
4603
4603
  const Te = r && !re && (ve == null || ve >= 880);
4604
4604
  Y(() => {
4605
- if (E(!1), !N.playing || h) return;
4605
+ if (E(!1), !N.playing || g) return;
4606
4606
  const Z = setTimeout(() => E(!0), 3e3);
4607
4607
  return () => clearTimeout(Z);
4608
- }, [N.playing, h, oe]);
4608
+ }, [N.playing, g, oe]);
4609
4609
  const we = z(I);
4610
4610
  we.current = I;
4611
4611
  const Ee = z(0), Be = (Z) => {
4612
4612
  if (Z.pointerType !== "mouse") return;
4613
4613
  const se = Date.now();
4614
- !we.current && se - Ee.current < 1e3 || (Ee.current = se, P((he) => he + 1));
4614
+ !we.current && se - Ee.current < 1e3 || (Ee.current = se, P((ge) => ge + 1));
4615
4615
  }, Oe = !Te && re, ye = z(null), te = o ? o.words.map((Z) => Z.dim ? 0 : 1).join("") + o.words.length + ":" + (o.cursor ?? "") : "";
4616
4616
  Qt(() => {
4617
4617
  const Z = ye.current;
4618
4618
  if (!Z) return;
4619
- const se = !!(o != null && o.words.some((U) => U.dim)) || (o == null ? void 0 : o.cursor) != null, he = Z.querySelectorAll((o == null ? void 0 : o.cursor) != null && !o.words.some((U) => U.dim) ? "[data-at]" : "[data-said]"), Me = parseFloat(getComputedStyle(Z).lineHeight) || 24, ce = Math.round(Z.scrollHeight / Me) - Math.round(Z.clientHeight / Me), ke = Math.max(0, ce) * Me;
4619
+ const se = !!(o != null && o.words.some((U) => U.dim)) || (o == null ? void 0 : o.cursor) != null, ge = Z.querySelectorAll((o == null ? void 0 : o.cursor) != null && !o.words.some((U) => U.dim) ? "[data-at]" : "[data-said]"), Me = parseFloat(getComputedStyle(Z).lineHeight) || 24, ce = Math.round(Z.scrollHeight / Me) - Math.round(Z.clientHeight / Me), ke = Math.max(0, ce) * Me;
4620
4620
  if (ke <= 0) {
4621
4621
  Z.scrollTop && Z.scrollTo({ top: 0 });
4622
4622
  return;
4623
4623
  }
4624
- const We = (U) => Math.round((U.getBoundingClientRect().top - Z.getBoundingClientRect().top + Z.scrollTop) / Me), xe = Math.max(1, Math.round(Z.clientHeight / Me)), Ce = se ? he.length ? Math.floor(We(he[he.length - 1]) / xe) * xe * Me : 0 : ke, _ = Math.max(0, Math.min(ke, Ce));
4624
+ const We = (U) => Math.round((U.getBoundingClientRect().top - Z.getBoundingClientRect().top + Z.scrollTop) / Me), xe = Math.max(1, Math.round(Z.clientHeight / Me)), Ce = se ? ge.length ? Math.floor(We(ge[ge.length - 1]) / xe) * xe * Me : 0 : ke, _ = Math.max(0, Math.min(ke, Ce));
4625
4625
  Math.abs(_ - Z.scrollTop) > 1 && (Z.scrollTop = _);
4626
4626
  }, [te, Oe]);
4627
4627
  const [H, X] = O(!0), [y, R] = O(!1), ae = z(void 0);
@@ -4653,31 +4653,31 @@ function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4653
4653
  ] })
4654
4654
  ] })
4655
4655
  ] })
4656
- ] }), je = (Z, se, he, Me, ce, ke = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: Z, "aria-label": Z, onClick: Me, children: /* @__PURE__ */ i(de, { d: se, size: (Te ? 20 : 18) + ke, sw: he, style: ce }) }), Ve = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
4656
+ ] }), je = (Z, se, ge, Me, ce, ke = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: Z, "aria-label": Z, onClick: Me, children: /* @__PURE__ */ i(de, { d: se, size: (Te ? 20 : 18) + ke, sw: ge, style: ce }) }), Ve = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
4657
4657
  p && /* @__PURE__ */ i(Si, { v: p, size: Te ? 20 : 18 }),
4658
4658
  C && je("Share", q.share, 1.6, C),
4659
4659
  Jr() && !t && je(j ? "Exit full screen" : "Full screen", j ? rc : Di, 1.7, () => Tn(!j)),
4660
4660
  K && je("Close player", q.close, 1.7, K)
4661
- ] }), Ae = (d || u || b) && /* @__PURE__ */ f("div", { className: "gfull__top", children: [
4661
+ ] }), Ae = (d || u || x) && /* @__PURE__ */ f("div", { className: "gfull__top", children: [
4662
4662
  d && je(d.muted ? "Unmute" : "Mute", d.muted ? q.volumeOff : q.volume, 1.6, d.onToggle),
4663
4663
  u && je(u.on ? "Hide subtitles" : "Show subtitles", u.on ? q.cc : q.ccOff, 1.7, u.onToggle, void 0, 4),
4664
- b && je("Settings", q.cog, 1.6, b)
4664
+ x && je("Settings", q.cog, 1.6, x)
4665
4665
  ] });
4666
4666
  return /* @__PURE__ */ f(
4667
4667
  "div",
4668
4668
  {
4669
4669
  ref: le,
4670
- className: `gfull${Te ? " gfull--desk" : ""}${ue ? " gfull--swipe" : ""}${g ? " gfull--ad" : ""}${I ? " gfull--calm" : ""}`,
4670
+ className: `gfull${Te ? " gfull--desk" : ""}${ue ? " gfull--swipe" : ""}${h ? " gfull--ad" : ""}${I ? " gfull--calm" : ""}`,
4671
4671
  "data-theme": "dark",
4672
4672
  role: "dialog",
4673
4673
  "aria-label": s,
4674
4674
  onPointerMove: Be,
4675
4675
  onPointerDownCapture: (Z) => {
4676
- var se, he;
4677
- I && (x.current = !0), P((Me) => Me + 1), (he = (se = Z.target).closest) != null && he.call(se, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || A();
4676
+ var se, ge;
4677
+ I && (b.current = !0), P((Me) => Me + 1), (ge = (se = Z.target).closest) != null && ge.call(se, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || A();
4678
4678
  },
4679
4679
  onClickCapture: (Z) => {
4680
- x.current && (x.current = !1, Z.stopPropagation(), Z.preventDefault());
4680
+ b.current && (b.current = !1, Z.stopPropagation(), Z.preventDefault());
4681
4681
  },
4682
4682
  children: [
4683
4683
  ue && B && /* @__PURE__ */ f("div", { className: "gfull__swipe", "aria-live": "polite", children: [
@@ -4687,7 +4687,7 @@ function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4687
4687
  /* @__PURE__ */ f("div", { className: `gfull__frame${Oe ? " gfull__frame--land" : ""}`, children: [
4688
4688
  n,
4689
4689
  /* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
4690
- k && !g && /* @__PURE__ */ f("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4690
+ k && !h && /* @__PURE__ */ f("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4691
4691
  /* @__PURE__ */ f("div", { className: "gfull__pausedtext", children: [
4692
4692
  /* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: k.title }),
4693
4693
  k.summary && /* @__PURE__ */ i("div", { className: "gfull__pausedsum", children: k.summary })
@@ -4774,7 +4774,7 @@ function Mc(t) {
4774
4774
  const e = t.langName;
4775
4775
  return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
4776
4776
  }
4777
- function hc(t, e) {
4777
+ function gc(t, e) {
4778
4778
  const [n, s] = O(null), [r, a] = O(!1);
4779
4779
  return Y(() => {
4780
4780
  if (!t) {
@@ -4787,7 +4787,7 @@ function hc(t, e) {
4787
4787
  return () => clearTimeout(l);
4788
4788
  }, [t, e]), [r, n];
4789
4789
  }
4790
- const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4790
+ const hc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4791
4791
  function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4792
4792
  const [r, a] = O(() => Date.now());
4793
4793
  Y(() => {
@@ -4821,7 +4821,7 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4821
4821
  /* @__PURE__ */ f("div", { className: "pwait__head", children: [
4822
4822
  l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(de, { d: q.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
4823
4823
  /* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
4824
- !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
4824
+ !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: hc(o) })
4825
4825
  ] }),
4826
4826
  /* @__PURE__ */ i("div", { className: "pwait__note", children: d }),
4827
4827
  !l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
@@ -4843,40 +4843,40 @@ function Ei(t, e, n) {
4843
4843
  const s = new URL(t ?? Ds), r = pc(), a = new URL(Nc, s);
4844
4844
  e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", r);
4845
4845
  const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), d = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), u = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(d)}`);
4846
- return u ? new Promise((g, M) => {
4846
+ return u ? new Promise((h, M) => {
4847
4847
  let N = !1;
4848
4848
  const m = (p) => {
4849
4849
  N || (N = !0, window.removeEventListener("message", w), clearInterval(v), p());
4850
4850
  }, w = (p) => {
4851
4851
  if (p.origin !== s.origin || p.source !== u) return;
4852
- const h = p.data;
4853
- if (!(!h || h.source !== "vocalstack" || h.nonce !== r)) {
4854
- if (h.type === "vocalstack:hello") {
4852
+ const g = p.data;
4853
+ if (!(!g || g.source !== "vocalstack" || g.nonce !== r)) {
4854
+ if (g.type === "vocalstack:hello") {
4855
4855
  u.postMessage({ source: "vocalstack", type: "vocalstack:hello-ack", nonce: r }, s.origin);
4856
4856
  return;
4857
4857
  }
4858
- if (h.type === "vocalstack:status") {
4859
- n == null || n(h.status);
4858
+ if (g.type === "vocalstack:status") {
4859
+ n == null || n(g.status);
4860
4860
  return;
4861
4861
  }
4862
- if (h.type === "vocalstack:started" || h.type === "vocalstack:token" || h.type === "vocalstack:found") {
4863
- m(() => g({ transcriptionId: String(h.transcriptionId), recordingId: String(h.recordingId), token: String(h.token), expiresAt: h.expiresAt ?? null }));
4862
+ if (g.type === "vocalstack:started" || g.type === "vocalstack:token" || g.type === "vocalstack:found") {
4863
+ m(() => h({ transcriptionId: String(g.transcriptionId), recordingId: String(g.recordingId), token: String(g.token), expiresAt: g.expiresAt ?? null }));
4864
4864
  return;
4865
4865
  }
4866
- if (h.type === "vocalstack:connected") {
4867
- m(() => g("connected"));
4866
+ if (g.type === "vocalstack:connected") {
4867
+ m(() => h("connected"));
4868
4868
  return;
4869
4869
  }
4870
- if (h.type === "vocalstack:declined") {
4871
- m(() => g(null));
4870
+ if (g.type === "vocalstack:declined") {
4871
+ m(() => h(null));
4872
4872
  return;
4873
4873
  }
4874
- h.type === "vocalstack:error" && m(() => M(new Error(typeof h.message == "string" && h.message ? h.message : "VocalStack could not start this transcription.")));
4874
+ g.type === "vocalstack:error" && m(() => M(new Error(typeof g.message == "string" && g.message ? g.message : "VocalStack could not start this transcription.")));
4875
4875
  }
4876
4876
  };
4877
4877
  window.addEventListener("message", w);
4878
4878
  const v = setInterval(() => {
4879
- u.closed && m(() => g(null));
4879
+ u.closed && m(() => h(null));
4880
4880
  }, 500);
4881
4881
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
4882
4882
  }
@@ -4907,7 +4907,7 @@ const wc = {
4907
4907
  starting: "Starting the transcription…"
4908
4908
  }, Lc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4909
4909
  function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4910
- const [r, a] = O(""), [o, l] = O(!1), [c, d] = O(null), [u, g] = O(null);
4910
+ const [r, a] = O(""), [o, l] = O(!1), [c, d] = O(null), [u, h] = O(null);
4911
4911
  Y(() => {
4912
4912
  const w = (v) => {
4913
4913
  v.key === "Escape" && s();
@@ -4918,12 +4918,12 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4918
4918
  if (!(!N || o)) {
4919
4919
  l(!0), d(null);
4920
4920
  try {
4921
- const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4921
+ const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, h);
4922
4922
  w && e(w);
4923
4923
  } catch (w) {
4924
4924
  d(w instanceof Error ? w.message : "Something went wrong. Please try again.");
4925
4925
  } finally {
4926
- l(!1), g(null);
4926
+ l(!1), h(null);
4927
4927
  }
4928
4928
  }
4929
4929
  };
@@ -4963,9 +4963,9 @@ function _i(t) {
4963
4963
  }
4964
4964
  const vc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4965
4965
  function jc(t, e) {
4966
- const n = Li(), [s, r] = gi(), [a, o] = O(null), [l, c] = O("main"), d = Ns(n, t.lang), u = Ie(() => fi(n, "translation"), [n]), g = (A) => {
4966
+ const n = Li(), [s, r] = hi(), [a, o] = O(null), [l, c] = O("main"), d = Ns(n, t.lang), u = Ie(() => fi(n, "translation"), [n]), h = (A) => {
4967
4967
  e({ lang: A }), r(A);
4968
- }, M = vs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), N = () => {
4968
+ }, M = vs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: h, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), N = () => {
4969
4969
  o(null), c("main");
4970
4970
  }, m = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: d.flag }) : /* @__PURE__ */ i(de, { d: q.langAuto, size: 19, sw: 1.7 }), w = /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": `Language: ${t.lang ? d.label : "As spoken"}`, title: t.lang ? d.label : "As spoken", onClick: (A) => {
4971
4971
  A.stopPropagation(), c("main"), o((K) => K === "lang" ? null : "lang");
@@ -4975,24 +4975,24 @@ function jc(t, e) {
4975
4975
  /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 18, sw: 1.8 }),
4976
4976
  "Back"
4977
4977
  ] })
4978
- ] }), h = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, C = (A, K, j) => /* @__PURE__ */ f("div", { className: "srow", children: [
4978
+ ] }), g = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, C = (A, K, j) => /* @__PURE__ */ f("div", { className: "srow", children: [
4979
4979
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
4980
4980
  /* @__PURE__ */ i("div", { className: "srow__t", children: A }),
4981
4981
  /* @__PURE__ */ i("div", { className: "srow__s", children: K })
4982
4982
  ] }),
4983
4983
  j
4984
- ] }), b = /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
4984
+ ] }), x = /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
4985
4985
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
4986
4986
  M.list
4987
- ] }), k = l === "lang" ? b : l === "subs" ? /* @__PURE__ */ f("div", { style: h, children: [
4988
- C("Show subtitles", "Captions over the video", /* @__PURE__ */ i(ft, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
4989
- C("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(ft, { checked: t.speakerLabels, onChange: (A) => e({ speakerLabels: A }), label: "Show speaker labels" })),
4990
- C("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(ft, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
4991
- ] }) : l === "audio" ? /* @__PURE__ */ f("div", { style: h, children: [
4992
- C("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(ft, { checked: t.translateAudio && !!t.lang, onChange: (A) => e({ translateAudio: A }), label: "Translate audio", disabled: !t.lang })),
4987
+ ] }), k = l === "lang" ? x : l === "subs" ? /* @__PURE__ */ f("div", { style: g, children: [
4988
+ C("Show subtitles", "Captions over the video", /* @__PURE__ */ i(Nt, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
4989
+ C("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(Nt, { checked: t.speakerLabels, onChange: (A) => e({ speakerLabels: A }), label: "Show speaker labels" })),
4990
+ C("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(Nt, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
4991
+ ] }) : l === "audio" ? /* @__PURE__ */ f("div", { style: g, children: [
4992
+ C("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(Nt, { checked: t.translateAudio && !!t.lang, onChange: (A) => e({ translateAudio: A }), label: "Translate audio", disabled: !t.lang })),
4993
4993
  C("Voices", t.voices === "cloned" ? "Each speaker in their own cloned voice, where they agreed to it" : "Synthetic voices matched to each speaker", /* @__PURE__ */ i(as, { value: t.voices, onChange: (A) => e({ voices: A }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
4994
- C(Ln, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(ft, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: Ln }))
4995
- ] }) : /* @__PURE__ */ f("div", { style: h, children: [
4994
+ C(Ln, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(Nt, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: Ln }))
4995
+ ] }) : /* @__PURE__ */ f("div", { style: g, children: [
4996
4996
  /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
4997
4997
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
4998
4998
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
@@ -5018,7 +5018,7 @@ function jc(t, e) {
5018
5018
  v
5019
5019
  ] })
5020
5020
  ] }), J = /* @__PURE__ */ f(Pe, { children: [
5021
- /* @__PURE__ */ i($t, { open: a === "lang", onClose: N, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(os, { children: b }) }),
5021
+ /* @__PURE__ */ i($t, { open: a === "lang", onClose: N, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(os, { children: x }) }),
5022
5022
  /* @__PURE__ */ i($t, { open: a === "settings", onClose: N, title: { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO" }[l], titleNode: l === "main" ? void 0 : p, kind: l === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: k }) })
5023
5023
  ] });
5024
5024
  return {
@@ -5060,8 +5060,8 @@ function Ic(t, e) {
5060
5060
  }).catch((w) => l(w instanceof Error ? w.message : "Something went wrong. Please try again.")).finally(() => {
5061
5061
  s(!1), a(null);
5062
5062
  });
5063
- }, [t, n, e]), g = qe(() => u({ connect: !0 }), [u]), M = qe((N, m) => u({ url: N, ask: m }), [u]);
5064
- return { busy: n, status: r, err: o, connected: c, connect: g, start: M };
5063
+ }, [t, n, e]), h = qe(() => u({ connect: !0 }), [u]), M = qe((N, m) => u({ url: N, ask: m }), [u]);
5064
+ return { busy: n, status: r, err: o, connected: c, connect: h, start: M };
5065
5065
  }
5066
5066
  function Oc(t) {
5067
5067
  return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
@@ -5073,12 +5073,12 @@ function Cc({ poster: t, src: e }) {
5073
5073
  const bc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5074
5074
  } };
5075
5075
  function Ls({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
5076
- const l = jc(t.prefs, t.set), c = _i(), d = z(null), [u, g] = O(!1);
5076
+ const l = jc(t.prefs, t.set), c = _i(), d = z(null), [u, h] = O(!1);
5077
5077
  Qt(() => {
5078
5078
  var v;
5079
5079
  const N = (v = d.current) == null ? void 0 : v.parentElement;
5080
5080
  if (!N) return;
5081
- const m = () => g(N.getBoundingClientRect().width < 560);
5081
+ const m = () => h(N.getBoundingClientRect().width < 560);
5082
5082
  if (m(), typeof ResizeObserver > "u") return;
5083
5083
  const w = new ResizeObserver(m);
5084
5084
  return w.observe(N), () => w.disconnect();
@@ -5179,21 +5179,25 @@ const Wc = Na(function(e, n) {
5179
5179
  var P;
5180
5180
  const s = z(null);
5181
5181
  pa(n, () => ({
5182
- seek: (x) => {
5182
+ seek: (b) => {
5183
5183
  var ue;
5184
- return (ue = s.current) == null ? void 0 : ue.seek(x);
5184
+ return (ue = s.current) == null ? void 0 : ue.seek(b);
5185
5185
  },
5186
5186
  play: () => {
5187
- var x;
5188
- return (x = s.current) == null ? void 0 : x.play();
5187
+ var b;
5188
+ return (b = s.current) == null ? void 0 : b.play();
5189
+ },
5190
+ toggleMute: () => {
5191
+ var b;
5192
+ return (b = s.current) == null ? void 0 : b.toggleMute();
5189
5193
  },
5190
5194
  pause: () => {
5191
- var x;
5192
- return (x = s.current) == null ? void 0 : x.pause();
5195
+ var b;
5196
+ return (b = s.current) == null ? void 0 : b.pause();
5193
5197
  },
5194
5198
  toggle: () => {
5195
- var x;
5196
- return (x = s.current) == null ? void 0 : x.toggle();
5199
+ var b;
5200
+ return (b = s.current) == null ? void 0 : b.toggle();
5197
5201
  }
5198
5202
  }), []);
5199
5203
  const [r, a] = O({ id: e.id ?? "", token: e.token });
@@ -5204,37 +5208,37 @@ const Wc = Na(function(e, n) {
5204
5208
  Y(() => {
5205
5209
  o != null && o.id && a({ id: o.id, token: e.token });
5206
5210
  }, [o == null ? void 0 : o.id]);
5207
- const [l, c] = O(null), [d, u] = O(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, x]) => x !== void 0)) })), [g, M] = O({}), N = { prefs: d, set: (x) => {
5208
- u((ue) => ({ ...ue, ...x })), M((ue) => ({ ...ue, ...x }));
5209
- }, shareUrl: (P = e.shareUrl) == null ? void 0 : P.call(e, null) }, { muted: m, ...w } = g;
5211
+ const [l, c] = O(null), [d, u] = O(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, b]) => b !== void 0)) })), [h, M] = O({}), N = { prefs: d, set: (b) => {
5212
+ u((ue) => ({ ...ue, ...b })), M((ue) => ({ ...ue, ...b }));
5213
+ }, shareUrl: (P = e.shareUrl) == null ? void 0 : P.call(e, null) }, { muted: m, ...w } = h;
5210
5214
  Y(() => {
5211
5215
  c(null);
5212
5216
  }, [e.id, e.src]);
5213
- const v = e.src ?? l, p = !r.id && !!v && (l != null || o !== void 0), h = !r.id && !e.src && !l, C = wi({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: b, gone: k, error: J, reload: A } = Eo(C, r.id), K = Yo(C, (b == null ? void 0 : b.recording.id) ?? null), j = Ie(() => So(C, K), [C, K]);
5217
+ const v = e.src ?? l, p = !r.id && !!v && (l != null || o !== void 0), g = !r.id && !e.src && !l, C = wi({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: x, gone: k, error: J, reload: A } = Eo(C, r.id), K = Yo(C, (x == null ? void 0 : x.recording.id) ?? null), j = Ie(() => So(C, K), [C, K]);
5214
5218
  Y(() => {
5215
- var x;
5216
- b && ((x = e.onSource) == null || x.call(e, b));
5217
- }, [b]), Y(() => {
5218
- var x;
5219
- J && ((x = e.onError) == null || x.call(e, J));
5219
+ var b;
5220
+ x && ((b = e.onSource) == null || b.call(e, x));
5221
+ }, [x]), Y(() => {
5222
+ var b;
5223
+ J && ((b = e.onError) == null || b.call(e, J));
5220
5224
  }, [J]);
5221
- const S = _i(e.compact ? !1 : e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), I = qe((x) => a({ id: x.transcriptionId, token: null, listen: { transcriptionId: x.transcriptionId, recordingId: x.recordingId, token: x.token } }), []), E = Ic(L, I), oe = z(null);
5222
- return Y(() => (Kr($ ? oe.current : null), () => Kr(null)), [$]), /* @__PURE__ */ i(Co, { value: j, children: /* @__PURE__ */ i("div", { ref: oe, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: h ? /* @__PURE__ */ i(Dc, { idle: N, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : p ? /* @__PURE__ */ i(xc, { idle: N, src: v, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: m === !0, handle: s, id: r.id, api: j, shared: b, gone: k, loadError: J, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (x) => a({ id: x.transcriptionId, token: null, listen: { transcriptionId: x.transcriptionId, recordingId: x.recordingId, token: x.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5225
+ const S = _i(e.compact ? !1 : e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), I = qe((b) => a({ id: b.transcriptionId, token: null, listen: { transcriptionId: b.transcriptionId, recordingId: b.recordingId, token: b.token } }), []), E = Ic(L, I), oe = z(null);
5226
+ return Y(() => (Kr($ ? oe.current : null), () => Kr(null)), [$]), /* @__PURE__ */ i(Co, { value: j, children: /* @__PURE__ */ i("div", { ref: oe, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: g ? /* @__PURE__ */ i(Dc, { idle: N, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : p ? /* @__PURE__ */ i(xc, { idle: N, src: v, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: m === !0, handle: s, id: r.id, api: j, shared: x, gone: k, loadError: J, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (b) => a({ id: b.transcriptionId, token: null, listen: { transcriptionId: b.transcriptionId, recordingId: b.recordingId, token: b.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5223
5227
  });
5224
5228
  function Yc(t) {
5225
- var cr, ur, dr, Mr, hr, gr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr;
5226
- const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((ur = (cr = n == null ? void 0 : n.job) == null ? void 0 : cr.source) == null ? void 0 : ur.kind) === "url" ? fs(n.job.source.url) : null, u = c && !(n && !d), [g, M] = O(t.loadError);
5229
+ var cr, ur, dr, Mr, gr, hr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr;
5230
+ const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((ur = (cr = n == null ? void 0 : n.job) == null ? void 0 : cr.source) == null ? void 0 : ur.kind) === "url" ? fs(n.job.source.url) : null, u = c && !(n && !d), [h, M] = O(t.loadError);
5227
5231
  Y(() => {
5228
5232
  t.loadError && M(t.loadError);
5229
5233
  }, [t.loadError]);
5230
- const [N, m] = O("none"), [w, v] = O(!1), [p, h] = O(""), [C, b] = Ul(), [k, J] = O(null), [A, K] = O(u ? "listen" : "read"), [j, S] = O(!1), $ = z(null), L = z(/* @__PURE__ */ new Map()), [I, E] = O("main"), oe = (T) => {
5234
+ const [N, m] = O("none"), [w, v] = O(!1), [p, g] = O(""), [C, x] = Ul(), [k, J] = O(null), [A, K] = O(u ? "listen" : "read"), [j, S] = O(!1), $ = z(null), L = z(/* @__PURE__ */ new Map()), [I, E] = O("main"), oe = (T) => {
5231
5235
  const pe = document.querySelector(".vs-sheet--settings"), Re = pe == null ? void 0 : pe.parentElement;
5232
5236
  pe && Re && I === "main" && T !== "main" && Re.style.setProperty("--vs-sheet-top", `${Math.round(pe.getBoundingClientRect().top - Re.getBoundingClientRect().top)}px`), E(T);
5233
5237
  };
5234
5238
  Y(() => {
5235
5239
  j || oe("main");
5236
5240
  }, [j]);
5237
- const [P, x] = O(u), ue = (n == null ? void 0 : n.recording) ?? null, B = (ue == null ? void 0 : ue.id) ?? null, [F, ie] = O(l.lang), re = typeof F == "string" ? F : null, [le, ve] = O(l.labels), [Le, Te] = O(l.words), [we, Ee] = O(l.cc), [Be, Oe] = O(l.translateAudio), [ye, te] = O(l.clonedVoices), [H, X] = O(l.removeBackground), y = t.settings;
5241
+ const [P, b] = O(u), ue = (n == null ? void 0 : n.recording) ?? null, B = (ue == null ? void 0 : ue.id) ?? null, [F, ie] = O(l.lang), re = typeof F == "string" ? F : null, [le, ve] = O(l.labels), [Le, Te] = O(l.words), [we, Ee] = O(l.cc), [Be, Oe] = O(l.translateAudio), [ye, te] = O(l.clonedVoices), [H, X] = O(l.removeBackground), y = t.settings;
5238
5242
  Y(() => {
5239
5243
  (y == null ? void 0 : y.lang) !== void 0 && ie(y.lang);
5240
5244
  }, [y == null ? void 0 : y.lang]), Y(() => {
@@ -5263,13 +5267,13 @@ function Yc(t) {
5263
5267
  onFrame: (T) => {
5264
5268
  T.type === "job.progress" && J({ state: T.state, processedS: T.processedS ?? 0, totalS: T.totalS ?? null, segmentsDone: T.segmentsDone ?? 0, segmentsTotal: T.segmentsTotal ?? null, pct: T.pct ?? 0, error: T.error ?? null });
5265
5269
  }
5266
- }), se = Ie(() => po(G).filter((T) => !T.suppressed), [G]), he = Qo((n == null ? void 0 : n.job) ?? null), Me = ["done", "failed", "stopped"].includes(ts((he == null ? void 0 : he.state) ?? ((dr = n == null ? void 0 : n.job) == null ? void 0 : dr.state))), ce = Me ? he : k ?? he, ke = !!k && !["done", "failed", "stopped"].includes(ts(k.state)), We = z(0);
5270
+ }), se = Ie(() => po(G).filter((T) => !T.suppressed), [G]), ge = Qo((n == null ? void 0 : n.job) ?? null), Me = ["done", "failed", "stopped"].includes(ts((ge == null ? void 0 : ge.state) ?? ((dr = n == null ? void 0 : n.job) == null ? void 0 : dr.state))), ce = Me ? ge : k ?? ge, ke = !!k && !["done", "failed", "stopped"].includes(ts(k.state)), We = z(0);
5267
5271
  Y(() => {
5268
5272
  !Me || !ke || Date.now() - We.current < 1e4 || (We.current = Date.now(), t.reread());
5269
5273
  }, [Me, ke, k == null ? void 0 : k.state, k == null ? void 0 : k.processedS, o]);
5270
- const xe = ts((ce == null ? void 0 : ce.state) ?? ((Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.state)), Ce = !!B && (xe === "transcribing" || xe === "queued"), _ = u && !s && (!n || (Ce || xe === "cropping") && se.length === 0), U = Ce ? (ce == null ? void 0 : ce.pct) ?? 0 : 100, W = Bo(n == null ? void 0 : n.job, ce) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((hr = G.segments.values().next().value) == null ? void 0 : hr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, fe = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Ne = ((Nr = (fr = (gr = n == null ? void 0 : n.job) == null ? void 0 : gr.source) == null ? void 0 : fr.name) == null ? void 0 : Nr.trim()) || null, ze = n ? ((pr = n.name) == null ? void 0 : pr.trim()) || Ne : null, Ue = !!((mr = n == null ? void 0 : n.job) != null && mr.hasAudio), be = (yr = n == null ? void 0 : n.job) == null ? void 0 : yr.source, Se = !Ue && !!be && (be.kind !== "url" || be.bytes != null) && (xe === "transcribing" || xe === "queued" || xe === "done"), st = B && (n != null && n.allowDownload) && Ue ? xa(e.origin, B, e.cred) : B && (n != null && n.allowDownload) && Se ? qn(e.origin, B, "source", e.cred) : null, Xe = se[se.length - 1], It = Xe ? ((Tr = Xe.words[Xe.words.length - 1]) == null ? void 0 : Tr.end) ?? Xe.start : 0, ut = u && Ce ? Math.max(It, (ce == null ? void 0 : ce.processedS) ?? 0) : null, Ge = Hl(st, (Ue || Se) && !!(n != null && n.allowDownload), se, W, Se ? ((Lr = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.crop) == null ? void 0 : Lr.startS) ?? 0 : 0, ut), Qe = ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.source) == null ? void 0 : vr.kind) === "url" ? fs(n.job.source.url) : null, rt = Bl(se, W, ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.crop) == null ? void 0 : zr.startS) ?? 0, ut), He = !!Qe, Lt = He ? rt.player : Ge, Mt = Li(), Bt = z(null), ne = Zl({ recordingId: B, model: G, rows: se, lenS: W, ended: !!B && !Ce, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: F, setPickedLang: ie, side: r && !P ? Gl : void 0, hearOriginal: ae, timed: !!Qe, stockVoices: u && !ye, stickyPicker: u, pickerBusy: Bt.current }), Nt = z(null);
5274
+ const xe = ts((ce == null ? void 0 : ce.state) ?? ((Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.state)), Ce = !!B && (xe === "transcribing" || xe === "queued"), _ = u && !s && (!n || (Ce || xe === "cropping") && se.length === 0), U = Ce ? (ce == null ? void 0 : ce.pct) ?? 0 : 100, W = Bo(n == null ? void 0 : n.job, ce) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((gr = G.segments.values().next().value) == null ? void 0 : gr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, fe = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Ne = ((Nr = (fr = (hr = n == null ? void 0 : n.job) == null ? void 0 : hr.source) == null ? void 0 : fr.name) == null ? void 0 : Nr.trim()) || null, ze = n ? ((pr = n.name) == null ? void 0 : pr.trim()) || Ne : null, Ue = !!((mr = n == null ? void 0 : n.job) != null && mr.hasAudio), be = (yr = n == null ? void 0 : n.job) == null ? void 0 : yr.source, Se = !Ue && !!be && (be.kind !== "url" || be.bytes != null) && (xe === "transcribing" || xe === "queued" || xe === "done"), st = B && (n != null && n.allowDownload) && Ue ? xa(e.origin, B, e.cred) : B && (n != null && n.allowDownload) && Se ? qn(e.origin, B, "source", e.cred) : null, Xe = se[se.length - 1], Ot = Xe ? ((Tr = Xe.words[Xe.words.length - 1]) == null ? void 0 : Tr.end) ?? Xe.start : 0, ut = u && Ce ? Math.max(Ot, (ce == null ? void 0 : ce.processedS) ?? 0) : null, Ge = Hl(st, (Ue || Se) && !!(n != null && n.allowDownload), se, W, Se ? ((Lr = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.crop) == null ? void 0 : Lr.startS) ?? 0 : 0, ut), Qe = ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.source) == null ? void 0 : vr.kind) === "url" ? fs(n.job.source.url) : null, rt = Bl(se, W, ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.crop) == null ? void 0 : zr.startS) ?? 0, ut), He = !!Qe, Lt = He ? rt.player : Ge, gt = Li(), Bt = z(null), ne = Zl({ recordingId: B, model: G, rows: se, lenS: W, ended: !!B && !Ce, cred: e.cred, langs: gt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: F, setPickedLang: ie, side: r && !P ? Gl : void 0, hearOriginal: ae, timed: !!Qe, stockVoices: u && !ye, stickyPicker: u, pickerBusy: Bt.current }), pt = z(null);
5271
5275
  Y(() => {
5272
- !B || Nt.current === re || (Nt.current = re, Ye(re));
5276
+ !B || pt.current === re || (pt.current = re, Ye(re));
5273
5277
  }, [re, B]);
5274
5278
  const D = He ? rt.player : ne.on ? ne.player : Lt;
5275
5279
  Y(() => {
@@ -5282,41 +5286,41 @@ function Yc(t) {
5282
5286
  const Xt = Ie(() => se.filter((T) => T.sentenceId != null).map((T, pe, Re) => {
5283
5287
  var Fe;
5284
5288
  return { sid: T.sentenceId, start: T.start, end: ((Fe = Re[pe + 1]) == null ? void 0 : Fe.start) ?? Et(T, T.start, T.start + 4) };
5285
- }), [se]), Ot = co({ on: He && ne.on, lines: Xt, clips: ne.clips, t: D.t, playing: D.playing, muted: D.muted }), at = !!re && (Ve || ne.relang || ne.on && Ot.missing != null);
5289
+ }), [se]), Ct = co({ on: He && ne.on, lines: Xt, clips: ne.clips, t: D.t, playing: D.playing, muted: D.muted }), at = !!re && (Ve || ne.relang || ne.on && Ct.missing != null);
5286
5290
  Bt.current = at ? re : null, Y(() => {
5287
- He && ne.on && Ot.sid != null && ne.setNear(Ot.sid);
5288
- }, [Ot.sid, He, ne.on]), $l([Lt, ne.player], ne.sampling);
5289
- const Ct = z(null);
5291
+ He && ne.on && Ct.sid != null && ne.setNear(Ct.sid);
5292
+ }, [Ct.sid, He, ne.on]), $l([Lt, ne.player], ne.sampling);
5293
+ const bt = z(null);
5290
5294
  Y(() => {
5291
- Ce && !D.playing && Ct.current && (Ct.current.scrollTop = Ct.current.scrollHeight);
5295
+ Ce && !D.playing && bt.current && (bt.current.scrollTop = bt.current.scrollHeight);
5292
5296
  }, [Ce, se.length]);
5293
- const zn = Jl(Ct, se, w, p, v), Ht = /* @__PURE__ */ i(Kl, { open: w, q: p, onQ: h, onClose: () => v(!1), hits: zn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, ot = !!(n != null && n.allowDownload), Vt = !!(n != null && n.allowExport), ht = ne.readLang, dt = ht ? ((Ir = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ht)) == null ? void 0 : Ir.name) ?? ht.toUpperCase() : null, _t = async () => {
5297
+ const zn = Jl(bt, se, w, p, v), Ht = /* @__PURE__ */ i(Kl, { open: w, q: p, onQ: g, onClose: () => v(!1), hits: zn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, ot = !!(n != null && n.allowDownload), Vt = !!(n != null && n.allowExport), ht = ne.readLang, dt = ht ? ((Ir = gt == null ? void 0 : gt.languages.find((T) => T.code === ht)) == null ? void 0 : Ir.name) ?? ht.toUpperCase() : null, _t = async () => {
5294
5298
  if (B)
5295
5299
  try {
5296
5300
  if (ht && ne.canSpeak) {
5297
- b(`Preparing ${Ke} in ${dt}${ne.readVoiceName ? `, read by ${ne.readVoiceName}` : ""} — the download starts when it is ready.`), await Wo(e, { recordingId: B, lang: ht, voiceKey: ne.readVoiceKey, cred: e.cred, request: ne.requestTrack }), b(`Downloading ${Ke} in ${dt}.`);
5301
+ x(`Preparing ${Ke} in ${dt}${ne.readVoiceName ? `, read by ${ne.readVoiceName}` : ""} — the download starts when it is ready.`), await Wo(e, { recordingId: B, lang: ht, voiceKey: ne.readVoiceKey, cred: e.cred, request: ne.requestTrack }), x(`Downloading ${Ke} in ${dt}.`);
5298
5302
  return;
5299
5303
  }
5300
5304
  if (Ue) {
5301
- b(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await Ho(qn(e.origin, B, "delivery", e.cred)), b(`Downloading ${Ke}.`);
5305
+ x(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await Ho(qn(e.origin, B, "delivery", e.cred)), x(`Downloading ${Ke}.`);
5302
5306
  return;
5303
5307
  }
5304
- Cs(qn(e.origin, B, "source", e.cred)), b(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
5308
+ Cs(qn(e.origin, B, "source", e.cred)), x(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
5305
5309
  } catch (T) {
5306
5310
  throw M(wt(T)), T;
5307
5311
  }
5308
5312
  }, lt = (T) => {
5309
5313
  if (!B) return;
5310
- const pe = gs.find((Fe) => Fe.key === T).name, Re = dt ? ` in ${dt}` : "";
5311
- return Vo(e, B, T, { lang: ht }).then(() => b(Ce ? `${pe} exported${Re} for the first ${se.length} segments — the rest is still transcribing.` : `${pe} exported${Re}.`)).catch((Fe) => {
5314
+ const pe = hs.find((Fe) => Fe.key === T).name, Re = dt ? ` in ${dt}` : "";
5315
+ return Vo(e, B, T, { lang: ht }).then(() => x(Ce ? `${pe} exported${Re} for the first ${se.length} segments — the rest is still transcribing.` : `${pe} exported${Re}.`)).catch((Fe) => {
5312
5316
  throw M(wt(Fe)), Fe;
5313
5317
  });
5314
5318
  }, Wt = Ce ? "MORE TO COME…" : "END OF TRANSCRIPT", it = Ce ? "var(--brand)" : "var(--ink-28)", Ft = $o(ce, se.length), kt = D.has && (!ne.relang || !!Qe), Ze = z(D);
5315
5319
  Ze.current = D;
5316
- const bt = `${re ?? ""}|${ne.on ? "voice" : "source"}`, pt = z({ key: bt, idx: 0, t: 0, playing: !1, until: 0 });
5320
+ const xt = `${re ?? ""}|${ne.on ? "voice" : "source"}`, mt = z({ key: xt, idx: 0, t: 0, playing: !1, until: 0 });
5317
5321
  Y(() => {
5318
- const T = pt.current;
5319
- if (T.key !== bt && (T.key = bt, T.until = Date.now() + 15e3), !He) {
5322
+ const T = mt.current;
5323
+ if (T.key !== xt && (T.key = xt, T.until = Date.now() + 15e3), !He) {
5320
5324
  if (!T.until) {
5321
5325
  T.idx = D.idx, T.t = D.t, T.playing = D.playing;
5322
5326
  return;
@@ -5328,38 +5332,38 @@ function Yc(t) {
5328
5332
  !D.has || ne.relang || (T.until = 0, Math.abs(D.t - T.t) > 0.5 && (D.seekFrac && D.dur > 0 ? D.seekFrac(T.t / D.dur) : D.seekRow(T.idx)), T.playing && !D.playing && (et.current = !0, D.toggle()));
5329
5333
  }
5330
5334
  });
5331
- const xt = z(!1), et = z(!1);
5335
+ const Dt = z(!1), et = z(!1);
5332
5336
  u && (li.video = !0);
5333
- const [en, Dt] = O(!1), [In, On] = O(!1);
5337
+ const [en, vt] = O(!1), [In, On] = O(!1);
5334
5338
  Y(() => {
5335
- if (!u || xt.current || !kt || !P || _ || t.autoplay === !1) return;
5336
- xt.current = !0;
5339
+ if (!u || Dt.current || !kt || !P || _ || t.autoplay === !1) return;
5340
+ Dt.current = !0;
5337
5341
  const T = (Fe) => {
5338
5342
  Ze.current.playing || et.current || (Ze.current.toggle(), Fe > 0 && setTimeout(() => T(Fe - 1), 1500));
5339
5343
  }, pe = () => {
5340
- Ze.current.muted || Ze.current.toggleMute(), Dt(!0), T(3);
5344
+ Ze.current.muted || Ze.current.toggleMute(), vt(!0), T(3);
5341
5345
  }, Re = Ze.current;
5342
5346
  if (!Re.autoplay || t.startMuted) {
5343
5347
  pe();
5344
5348
  return;
5345
5349
  }
5346
5350
  Re.autoplay().then((Fe) => {
5347
- Fe === !1 ? Dt(!0) : Fe == null && !et.current && pe();
5351
+ Fe === !1 ? vt(!0) : Fe == null && !et.current && pe();
5348
5352
  });
5349
5353
  }, [u, kt, P, _]);
5350
- const vt = z(!1), Cn = () => {
5351
- en && (Dt(!1), vt.current = !0, setTimeout(() => {
5352
- vt.current = !1;
5354
+ const jt = z(!1), Cn = () => {
5355
+ en && (vt(!1), jt.current = !0, setTimeout(() => {
5356
+ jt.current = !1;
5353
5357
  }, 500), Ze.current.muted && Ze.current.toggleMute());
5354
5358
  }, tn = () => {
5355
- if (vt.current) {
5356
- vt.current = !1;
5359
+ if (jt.current) {
5360
+ jt.current = !1;
5357
5361
  return;
5358
5362
  }
5359
- Dt(!1), Ze.current.toggleMute();
5363
+ vt(!1), Ze.current.toggleMute();
5360
5364
  }, nn = () => {
5361
- if (vt.current) {
5362
- vt.current = !1;
5365
+ if (jt.current) {
5366
+ jt.current = !1;
5363
5367
  return;
5364
5368
  }
5365
5369
  et.current = !0, Ze.current.toggle();
@@ -5372,8 +5376,8 @@ function Yc(t) {
5372
5376
  const T = setTimeout(() => De(!0), 180);
5373
5377
  return () => clearTimeout(T);
5374
5378
  }, [Ve]);
5375
- const $e = Q ? Z : re, jt = rl(B, re, se, je), St = yl(Tl(ue), B, ne.readLang), Pi = ot || Vt, Qi = (((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0) + ss(D, se), bn = A === "listen", At = bn && !!Qe, $i = (T) => {
5376
- Lt.pause(), ne.player.pause(), K(T), T === "read" && P && (qt(!1), x(!1));
5379
+ const $e = Q ? Z : re, zt = rl(B, re, se, je), St = yl(Tl(ue), B, ne.readLang), Pi = ot || Vt, Qi = (((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0) + ss(D, se), bn = A === "listen", At = bn && !!Qe, $i = (T) => {
5380
+ Lt.pause(), ne.player.pause(), K(T), T === "read" && P && (qt(!1), b(!1));
5377
5381
  }, _e = ne.barChip, Ut = vi(_e.label), Ss = /* @__PURE__ */ i(as, { value: A, onChange: $i, bordered: !1, options: dc(Ut, !!Qe) }), Rt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...Pi ? [{ key: "export", label: "Export" }] : []], As = (T) => /* @__PURE__ */ f(Pe, { children: [
5378
5382
  T === "summary" && Gt && /* @__PURE__ */ i(wl, { s: St }),
5379
5383
  T === "export" && /* @__PURE__ */ i(ml, { audio: ot ? { name: Ke, meta: ht && ne.canSpeak || Ue ? `MP3${W ? ` · ${Tt(W)}` : ""}` : "ORIGINAL AUDIO", onClick: _t } : null, formats: Vt, onExport: lt })
@@ -5390,7 +5394,7 @@ function Yc(t) {
5390
5394
  var pe;
5391
5395
  ne.relang || (pe = D.seekFrac) == null || pe.call(D, T);
5392
5396
  }
5393
- }, [Hi, Vi] = hc(ne.on && !!D.preparing && D.playing, 1500), xn = ne.on && ((br = D.error) == null ? void 0 : br.code) === "voice_not_started", Dn = ne.canSpeak && !ne.error && !xn, rn = re ? ((xr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === re)) == null ? void 0 : xr.name) ?? _e.label : "", tt = P ? Mc({ lang: re, langName: rn, translating: Ve && !!re, translateFailed: Ae, voiceFailed: xn, relang: ne.relang, starting: ne.on ? D.starting : null, slowLine: Hi, lineSince: Vi }) : null, Sn = !!Qe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && ne.relang), Ys = !Sn || !tt ? null : tt.kind === "translating" ? `Translating into ${rn || "the new language"}…` : `Preparing the ${rn || "translated"} voice…`, an = !Sn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), _s = vs({ ...ne.langList, keepOpen: !0, open: I === "lang", onClose: () => oe("main") }), Us = Ga(H, ne.on), Wi = u && Us.bed && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred) : null, Rs = so(Wi, { t: ss(D, se), playing: D.playing && !an && !(D.timed && D.preparing), muted: D.muted }), Fi = u && Us.speech && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred, "speech") : null, An = Ni(Fi, { t: ss(D, se), playing: !ne.on && D.playing, muted: D.muted }), En = !ne.on && An.on;
5397
+ }, [Hi, Vi] = gc(ne.on && !!D.preparing && D.playing, 1500), xn = ne.on && ((br = D.error) == null ? void 0 : br.code) === "voice_not_started", Dn = ne.canSpeak && !ne.error && !xn, rn = re ? ((xr = gt == null ? void 0 : gt.languages.find((T) => T.code === re)) == null ? void 0 : xr.name) ?? _e.label : "", tt = P ? Mc({ lang: re, langName: rn, translating: Ve && !!re, translateFailed: Ae, voiceFailed: xn, relang: ne.relang, starting: ne.on ? D.starting : null, slowLine: Hi, lineSince: Vi }) : null, Sn = !!Qe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && ne.relang), Ys = !Sn || !tt ? null : tt.kind === "translating" ? `Translating into ${rn || "the new language"}…` : `Preparing the ${rn || "translated"} voice…`, an = !Sn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), _s = vs({ ...ne.langList, keepOpen: !0, open: I === "lang", onClose: () => oe("main") }), Us = Ga(H, ne.on), Wi = u && Us.bed && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred) : null, Rs = so(Wi, { t: ss(D, se), playing: D.playing && !an && !(D.timed && D.preparing), muted: D.muted }), Fi = u && Us.speech && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred, "speech") : null, An = Ni(Fi, { t: ss(D, se), playing: !ne.on && D.playing, muted: D.muted }), En = !ne.on && An.on;
5394
5398
  Y(() => {
5395
5399
  var T;
5396
5400
  rt.setVideoSound(!(He && (ne.on || En))), (T = Ge.silence) == null || T.call(Ge, !He && En);
@@ -5407,7 +5411,7 @@ function Yc(t) {
5407
5411
  }, Ps = { prevOn: D.idx > 0, nextOn: D.idx < se.length - 1, onPrev: D.prev, onNext: D.next, playing: D.playing, playable: kt, playTitle: ne.playTitle ?? (D.playing ? "Pause" : "Play"), onPlay: () => {
5408
5412
  et.current = !0, D.toggle();
5409
5413
  }, busy: ne.relang && !Qe || an };
5410
- ho(kt ? { playing: D.playing, toggle: () => {
5414
+ go(kt ? { playing: D.playing, toggle: () => {
5411
5415
  et.current = !0, D.toggle();
5412
5416
  }, next: D.next, prev: D.prev } : null, ze);
5413
5417
  const Un = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Rn = (T, pe) => !_e.can || !R.language ? null : u ? /* @__PURE__ */ f("button", { type: "button", className: "gfull__btn", title: at ? `${_e.label ?? _e.code}: still being prepared` : _e.label ?? _e.code, "aria-label": `Language: ${_e.label ?? _e.code}`, "aria-busy": at || void 0, onClick: () => {
@@ -5427,12 +5431,12 @@ function Yc(t) {
5427
5431
  }, onToggle: D.has ? nn : void 0, onAd: On, lead: He ? rt.lead : void 0 }),
5428
5432
  /* @__PURE__ */ i("div", { className: "vsp-poster", "aria-hidden": "true", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)`, opacity: Ki ? 0 : 1 }, children: !D.playing && /* @__PURE__ */ i("span", { className: "vsp-poster__play", children: /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "42%", height: "42%", fill: "currentColor", style: { marginLeft: "6%" }, children: Zr }) }) })
5429
5433
  ] }), Bs = At && Qe && !P ? /* @__PURE__ */ i(Ll, { ytId: Qe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: $s, children: /* @__PURE__ */ i(oc, { pos: Es, transport: Ps, chip: Rn({ ...Un, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Qs, onFull: () => {
5430
- qt(!0), x(!0);
5434
+ qt(!0), b(!0);
5431
5435
  }, copied: null }) }) : null, Je = D.wordSync ? Zo(se, D.idx, D.t) ? se[D.idx] : void 0 : se[D.idx];
5432
5436
  for (const T of se) for (const [pe, Re] of Object.entries(T.translations)) Re && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Re);
5433
- const Hs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Pn = (T, pe) => !T || !pe || T.language === pe || !!Hs(T, pe), mt = Pn(Je, re) ? re : Pn(Je, $.current) ? $.current : re;
5434
- Je && Pn(Je, mt) && ($.current = mt);
5435
- const Vs = Je && mt && Je.language !== mt ? Hs(Je, mt) : null, Xi = Je && Vs && mt && !Je.translations[mt] ? Object.assign([...se], { [D.idx]: { ...Je, translations: { ...Je.translations, [mt]: Vs } } }) : se, on = Je ? bi(Xi, D.idx, mt) : [], ln = Le ? Le === "on" : !u || ne.on || !$e || $e === ee, Ws = ln ? Gr(D, D.idx, on) : null, Fs = on.map((T, pe) => ({ t: T.text, sp: pe < on.length - 1 ? " " : "", dim: Ws != null && pe > Ws })), cn = le ? le === "on" : u ? !1 : Io(G, se, ue == null ? void 0 : ue.settings), Gs = { lang: re, subtitles: we, speakerLabels: cn, wordHighlight: ln, translateAudio: Be, voices: ye ? "cloned" : "synthetic", removeBackground: H }, ea = JSON.stringify(Gs), un = z(t.onSettingsChange);
5437
+ const Hs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Pn = (T, pe) => !T || !pe || T.language === pe || !!Hs(T, pe), yt = Pn(Je, re) ? re : Pn(Je, $.current) ? $.current : re;
5438
+ Je && Pn(Je, yt) && ($.current = yt);
5439
+ const Vs = Je && yt && Je.language !== yt ? Hs(Je, yt) : null, Xi = Je && Vs && yt && !Je.translations[yt] ? Object.assign([...se], { [D.idx]: { ...Je, translations: { ...Je.translations, [yt]: Vs } } }) : se, on = Je ? bi(Xi, D.idx, yt) : [], ln = Le ? Le === "on" : !u || ne.on || !$e || $e === ee, Ws = ln ? Gr(D, D.idx, on) : null, Fs = on.map((T, pe) => ({ t: T.text, sp: pe < on.length - 1 ? " " : "", dim: Ws != null && pe > Ws })), cn = le ? le === "on" : u ? !1 : Io(G, se, ue == null ? void 0 : ue.settings), Gs = { lang: re, subtitles: we, speakerLabels: cn, wordHighlight: ln, translateAudio: Be, voices: ye ? "cloned" : "synthetic", removeBackground: H }, ea = JSON.stringify(Gs), un = z(t.onSettingsChange);
5436
5440
  un.current = t.onSettingsChange, Y(() => {
5437
5441
  var T;
5438
5442
  (T = un.current) == null || T.call(un, Gs);
@@ -5474,6 +5478,9 @@ function Yc(t) {
5474
5478
  },
5475
5479
  toggle: () => {
5476
5480
  et.current = !0, Ze.current.toggle();
5481
+ },
5482
+ toggleMute: () => {
5483
+ vt(!1), Ze.current.toggleMute();
5477
5484
  }
5478
5485
  }, Y(() => () => {
5479
5486
  t.handle.current = null;
@@ -5486,8 +5493,8 @@ function Yc(t) {
5486
5493
  const pe = () => {
5487
5494
  const Fe = er.current;
5488
5495
  if (!Fe) return;
5489
- const yt = Ze.current, gt = { t: yt.t, dur: yt.dur, playing: yt.playing, idx: yt.idx, seekN: yt.seekN, lang: tr.current }, Nn = `${gt.t.toFixed(2)}|${gt.dur}|${gt.playing}|${gt.idx}|${gt.seekN}|${gt.lang}`;
5490
- Nn !== T && (T = Nn, Fe(gt));
5496
+ const ft = Ze.current, Mt = { t: ft.t, dur: ft.dur, playing: ft.playing, idx: ft.idx, seekN: ft.seekN, lang: tr.current, muted: ft.muted }, Nn = `${Mt.t.toFixed(2)}|${Mt.dur}|${Mt.playing}|${Mt.idx}|${Mt.seekN}|${Mt.lang}|${Mt.muted}`;
5497
+ Nn !== T && (T = Nn, Fe(Mt));
5491
5498
  };
5492
5499
  pe();
5493
5500
  const Re = window.setInterval(pe, Ac);
@@ -5496,19 +5503,19 @@ function Yc(t) {
5496
5503
  const ra = () => bs(Js(null), Ke, () => {
5497
5504
  window.clearTimeout(Bn.current), Zs(!0), Bn.current = window.setTimeout(() => Zs(!1), 2200);
5498
5505
  }), nr = (T, pe, Re) => {
5499
- const Fe = gs.find((Nn) => Nn.key === T), yt = Qn === T, gt = na === T;
5500
- return /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", "aria-busy": yt || void 0, style: Qn && !yt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5506
+ const Fe = hs.find((Nn) => Nn.key === T), ft = Qn === T, Mt = na === T;
5507
+ return /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", "aria-busy": ft || void 0, style: Qn && !ft ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5501
5508
  Qn || (qs(T), Promise.resolve().then(() => lt(T)).then(() => {
5502
5509
  Ks(T), window.clearTimeout($n.current), $n.current = window.setTimeout(() => Ks(null), 1600);
5503
5510
  }).catch(() => {
5504
5511
  }).finally(() => qs(null)));
5505
5512
  }, children: [
5506
- yt ? /* @__PURE__ */ i(ct, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(de, { d: Fe.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5513
+ ft ? /* @__PURE__ */ i(ct, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(de, { d: Fe.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5507
5514
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5508
5515
  /* @__PURE__ */ i("div", { className: "srow__t", children: pe }),
5509
5516
  /* @__PURE__ */ i("div", { className: "srow__s", children: Re })
5510
5517
  ] }),
5511
- /* @__PURE__ */ i(de, { d: gt ? q.check : q.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: gt ? "var(--brand)" : "var(--ink-62)" } })
5518
+ /* @__PURE__ */ i(de, { d: Mt ? q.check : q.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: Mt ? "var(--brand)" : "var(--ink-62)" } })
5512
5519
  ] });
5513
5520
  }, ia = /* @__PURE__ */ f("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5514
5521
  " ",
@@ -5516,38 +5523,38 @@ function Yc(t) {
5516
5523
  /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 18, sw: 1.8 }),
5517
5524
  "Back"
5518
5525
  ] })
5519
- ] }), hn = /* @__PURE__ */ i(de, { d: q.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), aa = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[I], gn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Vn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: aa, titleNode: I === "main" ? void 0 : ia, doneLabel: Ut.done, kind: I === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: I === "lang" ? /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
5526
+ ] }), gn = /* @__PURE__ */ i(de, { d: q.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), aa = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[I], hn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Vn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: aa, titleNode: I === "main" ? void 0 : ia, doneLabel: Ut.done, kind: I === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: I === "lang" ? /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
5520
5527
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: _s.search }),
5521
5528
  _s.list
5522
- ] }) : I === "subs" ? /* @__PURE__ */ f("div", { style: gn, children: [
5529
+ ] }) : I === "subs" ? /* @__PURE__ */ f("div", { style: hn, children: [
5523
5530
  /* @__PURE__ */ f("div", { className: "srow", children: [
5524
5531
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5525
5532
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Show subtitles" }),
5526
5533
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Captions over the video" })
5527
5534
  ] }),
5528
- /* @__PURE__ */ i(ft, { checked: we, onChange: Ee, label: "Show subtitles" })
5535
+ /* @__PURE__ */ i(Nt, { checked: we, onChange: Ee, label: "Show subtitles" })
5529
5536
  ] }),
5530
5537
  /* @__PURE__ */ f("div", { className: "srow", children: [
5531
5538
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5532
5539
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Show speaker labels" }),
5533
5540
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Who is speaking, before each line" })
5534
5541
  ] }),
5535
- /* @__PURE__ */ i(ft, { checked: cn, onChange: (T) => ve(T ? "on" : "off"), label: "Show speaker labels" })
5542
+ /* @__PURE__ */ i(Nt, { checked: cn, onChange: (T) => ve(T ? "on" : "off"), label: "Show speaker labels" })
5536
5543
  ] }),
5537
5544
  /* @__PURE__ */ f("div", { className: "srow", children: [
5538
5545
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5539
5546
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Highlight words" }),
5540
5547
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Follow each word as it is spoken" })
5541
5548
  ] }),
5542
- /* @__PURE__ */ i(ft, { checked: ln, onChange: (T) => Te(T ? "on" : "off"), label: "Highlight words" })
5549
+ /* @__PURE__ */ i(Nt, { checked: ln, onChange: (T) => Te(T ? "on" : "off"), label: "Highlight words" })
5543
5550
  ] })
5544
- ] }) : I === "audio" ? /* @__PURE__ */ f("div", { style: gn, children: [
5551
+ ] }) : I === "audio" ? /* @__PURE__ */ f("div", { style: hn, children: [
5545
5552
  /* @__PURE__ */ f("div", { className: "srow", children: [
5546
5553
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5547
5554
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Translate audio" }),
5548
5555
  /* @__PURE__ */ i("div", { className: "srow__s", children: re ? Dn ? "Hear the translation read aloud instead of the original speech" : ne.canSpeak ? "Not available right now" : "Not available in this language" : "Pick a language to hear the translation read aloud" })
5549
5556
  ] }),
5550
- /* @__PURE__ */ i(ft, { checked: _n, onChange: Oe, label: "Translate audio", disabled: !Dn || !re })
5557
+ /* @__PURE__ */ i(Nt, { checked: _n, onChange: Oe, label: "Translate audio", disabled: !Dn || !re })
5551
5558
  ] }),
5552
5559
  _n && ne.hasClone && /* @__PURE__ */ f("div", { className: "srow", children: [
5553
5560
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5561,33 +5568,33 @@ function Yc(t) {
5561
5568
  /* @__PURE__ */ i("div", { className: "srow__t", children: Ln }),
5562
5569
  /* @__PURE__ */ i("div", { className: "srow__s", children: Fa(H, Yn, "video", ne.on ? 0 : An.untilS) })
5563
5570
  ] }),
5564
- /* @__PURE__ */ i(ft, { checked: H && ot, onChange: X, label: Ln, disabled: !ot || Yn === "unavailable" && !H })
5571
+ /* @__PURE__ */ i(Nt, { checked: H && ot, onChange: X, label: Ln, disabled: !ot || Yn === "unavailable" && !H })
5565
5572
  ] })
5566
- ] }) : I === "export" ? /* @__PURE__ */ f("div", { style: gn, children: [
5573
+ ] }) : I === "export" ? /* @__PURE__ */ f("div", { style: hn, children: [
5567
5574
  nr("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5568
5575
  nr("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5569
- ] }) : /* @__PURE__ */ i("div", { style: gn, children: [
5576
+ ] }) : /* @__PURE__ */ i("div", { style: hn, children: [
5570
5577
  _e.can && R.language && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("lang"), children: [
5571
5578
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5572
5579
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
5573
5580
  /* @__PURE__ */ i("div", { className: "srow__s", children: re ? `Translated to ${_e.label ?? re.toUpperCase()}` : "Original language" })
5574
5581
  ] }),
5575
5582
  /* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: _e.flag }),
5576
- hn
5583
+ gn
5577
5584
  ] }, "lang"),
5578
5585
  R.subtitles && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("subs"), children: [
5579
5586
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5580
5587
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
5581
5588
  /* @__PURE__ */ i("div", { className: "srow__s", children: we ? "On · speaker labels and word highlighting" : "Off" })
5582
5589
  ] }),
5583
- hn
5590
+ gn
5584
5591
  ] }, "subs"),
5585
5592
  R.audio && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("audio"), children: [
5586
5593
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5587
5594
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
5588
5595
  /* @__PURE__ */ i("div", { className: "srow__s", children: Gi })
5589
5596
  ] }),
5590
- hn
5597
+ gn
5591
5598
  ] }, "audio"),
5592
5599
  R.export && Vt && !!B && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("export"), children: [
5593
5600
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5597,7 +5604,7 @@ function Yc(t) {
5597
5604
  ] }),
5598
5605
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
5599
5606
  ] }),
5600
- hn
5607
+ gn
5601
5608
  ] }, "export")
5602
5609
  ].filter(Boolean).flatMap((T, pe) => pe ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${pe}`), T] : [T]) }) }) }) : /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: Ut.settings, doneLabel: Ut.done, drawer: r, children: /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
5603
5610
  _e.can && /* @__PURE__ */ f(Pe, { children: [
@@ -5615,7 +5622,7 @@ function Yc(t) {
5615
5622
  /* @__PURE__ */ i("div", { className: "sdiv" })
5616
5623
  ] }),
5617
5624
  t.settingsExtra
5618
- ] }) }), zt = P && At && Qe && /* @__PURE__ */ i(
5625
+ ] }) }), It = P && At && Qe && /* @__PURE__ */ i(
5619
5626
  Ai,
5620
5627
  {
5621
5628
  page: (t.layout ?? "embed") === "page",
@@ -5651,7 +5658,7 @@ function Yc(t) {
5651
5658
  ] }) : Ys ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5652
5659
  /* @__PURE__ */ i(ct, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5653
5660
  Ys
5654
- ] }) : ne.on && (He ? Ot.missing != null : D.silent) ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5661
+ ] }) : ne.on && (He ? Ct.missing != null : D.silent) ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5655
5662
  /* @__PURE__ */ i(ct, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5656
5663
  `${rn || "Translated"} voice is still being prepared · playing with subtitles`
5657
5664
  ] }) : null,
@@ -5659,12 +5666,12 @@ function Yc(t) {
5659
5666
  qt(!0), Cn();
5660
5667
  },
5661
5668
  onClose: u ? void 0 : () => {
5662
- qt(!1), x(!1);
5669
+ qt(!1), b(!1);
5663
5670
  }
5664
5671
  }
5665
5672
  );
5666
5673
  Y(() => {
5667
- !u && P && !At && (qt(!1), x(!1));
5674
+ !u && P && !At && (qt(!1), b(!1));
5668
5675
  }, [u, P, At]);
5669
5676
  const sr = Ce && /* @__PURE__ */ f("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
5670
5677
  /* @__PURE__ */ f("div", { className: "pubprog__row", children: [
@@ -5674,7 +5681,7 @@ function Yc(t) {
5674
5681
  /* @__PURE__ */ i("span", { className: "s", children: Ft })
5675
5682
  ] }),
5676
5683
  !r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
5677
- ] }), Wn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), rr = /* @__PURE__ */ i(ql, { model: G, rows: se, player: D, tail: Wt, tailFg: it, running: Ce, desk: r, feedRef: Ct, listener: !0, showLabels: cn, find: p, findOpen: !r && w, lang: $e, warm: Q, onVisible: jt, wordHl: ln }), Fn = /* @__PURE__ */ i(Xo, { error: g ?? me ?? (xn && P ? null : D.error) ?? ne.error, onClose: () => {
5684
+ ] }), Wn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), rr = /* @__PURE__ */ i(ql, { model: G, rows: se, player: D, tail: Wt, tailFg: it, running: Ce, desk: r, feedRef: bt, listener: !0, showLabels: cn, find: p, findOpen: !r && w, lang: $e, warm: Q, onVisible: zt, wordHl: ln }), Fn = /* @__PURE__ */ i(Xo, { error: h ?? me ?? (xn && P ? null : D.error) ?? ne.error, onClose: () => {
5678
5685
  M(null), V(), D.clearError(), ne.clearError();
5679
5686
  } }), ir = [W ? Tt(W) : null, ee ? ee.toUpperCase() : null, fe || "Read-only copy"].filter(Boolean).join(" · "), ar = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: ne.noVoice ? ne.noVoiceNote : /* @__PURE__ */ f(Pe, { children: [
5680
5687
  /* @__PURE__ */ f("div", { className: "ctrans__row", children: [
@@ -5704,7 +5711,7 @@ function Yc(t) {
5704
5711
  var T;
5705
5712
  (T = fn.current) == null || T.call(fn, lr);
5706
5713
  }, [lr]);
5707
- const [ca, Gn] = O(!1), Zn = !!zt && !_ && (He ? !!D.ended : !D.playing && D.dur > 0 && D.t >= D.dur - 0.5);
5714
+ const [ca, Gn] = O(!1), Zn = !!It && !_ && (He ? !!D.ended : !D.playing && D.dur > 0 && D.t >= D.dur - 0.5);
5708
5715
  Y(() => {
5709
5716
  Zn || Gn(!1);
5710
5717
  }, [Zn]);
@@ -5712,7 +5719,7 @@ function Yc(t) {
5712
5719
  Gn(!0), et.current = !0, D.seekFrac ? D.seekFrac(0) : D.seekRow(0), D.playing || D.toggle();
5713
5720
  } });
5714
5721
  if (u) return /* @__PURE__ */ f(Pe, { children: [
5715
- s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Wn }) : la || zt || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5722
+ s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Wn }) : la || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5716
5723
  ua,
5717
5724
  Fn
5718
5725
  ] });
@@ -5748,9 +5755,9 @@ function Yc(t) {
5748
5755
  ne.sidePanel
5749
5756
  ] })
5750
5757
  ] }),
5751
- !zt && ne.sheets,
5752
- !(u && zt) && Vn,
5753
- zt,
5758
+ !It && ne.sheets,
5759
+ !(u && It) && Vn,
5760
+ It,
5754
5761
  Fn
5755
5762
  ] });
5756
5763
  }
@@ -5776,9 +5783,9 @@ function Yc(t) {
5776
5783
  /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Ss })
5777
5784
  ] })
5778
5785
  ] }),
5779
- !zt && ne.sheets,
5780
- !(u && zt) && Vn,
5781
- zt,
5786
+ !It && ne.sheets,
5787
+ !(u && It) && Vn,
5788
+ It,
5782
5789
  Fn
5783
5790
  ] });
5784
5791
  }
@@ -5817,7 +5824,7 @@ export {
5817
5824
  Gr as spokenWordOf,
5818
5825
  Ga as trackPlan,
5819
5826
  wi as useApi,
5820
- gl as useArchiveVoice,
5827
+ hl as useArchiveVoice,
5821
5828
  so as useBackgroundBed,
5822
5829
  $l as useDuck,
5823
5830
  Jl as useFindPull,