@vocalstack/player 0.1.0-alpha.20 → 0.1.0-alpha.22

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 ua = Object.defineProperty;
2
2
  var da = (t, e, n) => e in t ? ua(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var ge = (t, e, n) => da(t, typeof e != "symbol" ? e + "" : e, n);
4
- import { jsx as i, jsxs as h, Fragment as _e } from "react/jsx-runtime";
5
- import { useState as I, useRef as v, useEffect as _, useLayoutEffect as Qt, createContext as ti, useMemo as Ie, useContext as Ma, useCallback as Xe, Fragment as ga, forwardRef as ha, useImperativeHandle as fa } from "react";
3
+ var he = (t, e, n) => da(t, typeof e != "symbol" ? e + "" : e, n);
4
+ import { jsx as i, jsxs as g, Fragment as _e } from "react/jsx-runtime";
5
+ import { useState as I, useRef as v, useEffect as _, useLayoutEffect as Qt, createContext as ti, useMemo as Ie, useContext as Ma, useCallback as Xe, Fragment as ha, forwardRef as ga, useImperativeHandle as fa } from "react";
6
6
  import { createPortal as Na } from "react-dom";
7
7
  import { VocalStackError as ni, VocalStack as si } from "@vocalstack/js-sdk";
8
8
  const ri = "https://vocalstack.com", pa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
@@ -81,7 +81,7 @@ function at({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
81
81
  );
82
82
  }
83
83
  function ka({ size: t = 12 }) {
84
- return /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
84
+ return /* @__PURE__ */ g("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
85
85
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
86
86
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
87
87
  ] });
@@ -104,19 +104,19 @@ function cs({ 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]), _(() => {
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();
117
- }, [d]), /* @__PURE__ */ h("div", { ref: o, role: "tablist", className: `vs-switch${s === "sm" ? " vs-switch--sm" : ""}${r ? "" : " vs-switch--borderless"}${a ? " vs-switch--fill" : ""}`, children: [
116
+ return h.observe(u), () => h.disconnect();
117
+ }, [d]), /* @__PURE__ */ g("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
- n.map((u) => /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": u.value === t, className: "vs-switch__opt", onClick: () => e(u.value), children: [
119
+ n.map((u) => /* @__PURE__ */ g("button", { type: "button", role: "tab", "aria-selected": u.value === t, className: "vs-switch__opt", onClick: () => e(u.value), children: [
120
120
  u.icon,
121
121
  u.label
122
122
  ] }, u.value))
@@ -127,9 +127,9 @@ function va({ children: t, onClick: e, label: n, size: s, variant: r, bordered:
127
127
  }
128
128
  function vn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c, flagOnly: d }) {
129
129
  if (d)
130
- return /* @__PURE__ */ i("button", { type: "button", className: "vs-lang-chip vs-lang-chip--flag", onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e || "Language", title: n ?? e, style: c, children: /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) });
130
+ return /* @__PURE__ */ i("button", { type: "button", className: "mutebtn vs-flagbtn", onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e || "Language", title: n ?? e, style: c, children: /* @__PURE__ */ i("span", { style: { fontSize: 20, lineHeight: 1, display: "flex" }, children: t }) });
131
131
  const u = a && !!e;
132
- return /* @__PURE__ */ h("button", { type: "button", className: `vs-lang-chip${r ? ` vs-lang-chip--${r}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !u ? " vs-lang-chip--bare" : ""}${o ? "" : " vs-lang-chip--borderless"}${l === "sm" ? " vs-lang-chip--sm" : ""}`, onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e, style: c, children: [
132
+ return /* @__PURE__ */ g("button", { type: "button", className: `vs-lang-chip${r ? ` vs-lang-chip--${r}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !u ? " vs-lang-chip--bare" : ""}${o ? "" : " vs-lang-chip--borderless"}${l === "sm" ? " vs-lang-chip--sm" : ""}`, onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e, style: c, children: [
133
133
  t ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) : null,
134
134
  u ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__name", children: n ?? e }) : a ? null : /* @__PURE__ */ i("span", { className: "vs-lang-chip__code", children: e }),
135
135
  /* @__PURE__ */ i(oe, { d: J.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: r === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
@@ -142,7 +142,7 @@ function ja({ value: t, label: e = "Copy", onCopied: n }) {
142
142
  } catch {
143
143
  }
144
144
  };
145
- return /* @__PURE__ */ h(
145
+ return /* @__PURE__ */ g(
146
146
  "button",
147
147
  {
148
148
  type: "button",
@@ -191,23 +191,23 @@ function us({ children: t, ms: e = 220 }) {
191
191
  clearTimeout(c), a(Math.min(M, d())), M > d() && (c = setTimeout(() => a(M), e));
192
192
  };
193
193
  if (u(), typeof ResizeObserver > "u") return () => clearTimeout(c);
194
- const g = new ResizeObserver(u);
195
- return g.observe(o), () => {
196
- g.disconnect(), clearTimeout(c);
194
+ const h = new ResizeObserver(u);
195
+ return h.observe(o), () => {
196
+ h.disconnect(), clearTimeout(c);
197
197
  };
198
198
  }, [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 }) });
199
199
  }
200
200
  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 }) {
201
- const g = v(null);
202
- return za(g, t), _(() => {
201
+ const h = v(null);
202
+ return za(h, t), _(() => {
203
203
  if (!t) return;
204
204
  const M = (p) => {
205
205
  p.key === "Escape" && e();
206
206
  };
207
207
  return window.addEventListener("keydown", M), () => window.removeEventListener("keydown", M);
208
- }, [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__ */ h("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
208
+ }, [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__ */ g("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
209
209
  /* @__PURE__ */ i("div", { className: "vs-sheet__grip" }),
210
- /* @__PURE__ */ h("div", { className: "vs-sheet__head", children: [
210
+ /* @__PURE__ */ g("div", { className: "vs-sheet__head", children: [
211
211
  s ?? /* @__PURE__ */ i("span", { className: "vs-sheet__title", children: n }),
212
212
  /* @__PURE__ */ i("button", { type: "button", className: "vs-sheet__done", onClick: e, children: a })
213
213
  ] }),
@@ -290,17 +290,17 @@ function Aa(t, e, n) {
290
290
  }
291
291
  class Ea {
292
292
  constructor(e = {}) {
293
- ge(this, "entries", /* @__PURE__ */ new Map());
294
- ge(this, "wanted", []);
295
- ge(this, "used", []);
296
- ge(this, "fetcher");
297
- ge(this, "concurrency");
298
- ge(this, "keep");
299
- ge(this, "retryMs");
300
- ge(this, "now");
301
- ge(this, "toUrl");
302
- ge(this, "revoke");
303
- ge(this, "onReady", () => {
293
+ he(this, "entries", /* @__PURE__ */ new Map());
294
+ he(this, "wanted", []);
295
+ he(this, "used", []);
296
+ he(this, "fetcher");
297
+ he(this, "concurrency");
298
+ he(this, "keep");
299
+ he(this, "retryMs");
300
+ he(this, "now");
301
+ he(this, "toUrl");
302
+ he(this, "revoke");
303
+ he(this, "onReady", () => {
304
304
  });
305
305
  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) => {
306
306
  try {
@@ -394,50 +394,50 @@ class ci extends Error {
394
394
  }
395
395
  const nt = class nt {
396
396
  constructor() {
397
- ge(this, "el", null);
398
- ge(this, "clips", /* @__PURE__ */ new Map());
399
- ge(this, "order", []);
400
- ge(this, "current", null);
401
- ge(this, "currentPart", 0);
402
- ge(this, "partBase", 0);
403
- ge(this, "within", null);
404
- ge(this, "playing", !1);
405
- ge(this, "muted", !1);
406
- ge(this, "rate", 1);
407
- ge(this, "volume", 1);
408
- ge(this, "finite", !1);
409
- ge(this, "onSentence", () => {
397
+ he(this, "el", null);
398
+ he(this, "clips", /* @__PURE__ */ new Map());
399
+ he(this, "order", []);
400
+ he(this, "current", null);
401
+ he(this, "currentPart", 0);
402
+ he(this, "partBase", 0);
403
+ he(this, "within", null);
404
+ he(this, "playing", !1);
405
+ he(this, "muted", !1);
406
+ he(this, "rate", 1);
407
+ he(this, "volume", 1);
408
+ he(this, "finite", !1);
409
+ he(this, "onSentence", () => {
410
410
  });
411
- ge(this, "onWaiting", () => {
411
+ he(this, "onWaiting", () => {
412
412
  });
413
- ge(this, "onStarting", () => {
413
+ he(this, "onStarting", () => {
414
414
  });
415
- ge(this, "speakable", () => !0);
416
- ge(this, "coming", () => !1);
417
- ge(this, "gapBefore", () => 0);
418
- ge(this, "flow", !1);
419
- ge(this, "silentSpan", () => null);
420
- ge(this, "lastDone", null);
421
- ge(this, "rested", !1);
422
- ge(this, "rest", null);
423
- ge(this, "sequence", []);
424
- ge(this, "seqAt", /* @__PURE__ */ new Map());
425
- ge(this, "spoken", /* @__PURE__ */ new Set());
426
- ge(this, "lastRead", null);
427
- ge(this, "started", !1);
428
- ge(this, "awaiting", null);
429
- ge(this, "waitTimer", null);
430
- ge(this, "onError", () => {
415
+ he(this, "speakable", () => !0);
416
+ he(this, "coming", () => !1);
417
+ he(this, "gapBefore", () => 0);
418
+ he(this, "flow", !1);
419
+ he(this, "silentSpan", () => null);
420
+ he(this, "lastDone", null);
421
+ he(this, "rested", !1);
422
+ he(this, "rest", null);
423
+ he(this, "sequence", []);
424
+ he(this, "seqAt", /* @__PURE__ */ new Map());
425
+ he(this, "spoken", /* @__PURE__ */ new Set());
426
+ he(this, "lastRead", null);
427
+ he(this, "started", !1);
428
+ he(this, "awaiting", null);
429
+ he(this, "waitTimer", null);
430
+ he(this, "onError", () => {
431
431
  });
432
- ge(this, "floor", 0);
433
- ge(this, "loading", null);
434
- ge(this, "readAhead", 0);
435
- ge(this, "readAheadS", 0);
436
- ge(this, "prefetch", new Ea());
437
- ge(this, "warmed", /* @__PURE__ */ new Set());
438
- ge(this, "startingSince", /* @__PURE__ */ new Map());
439
- ge(this, "retries", /* @__PURE__ */ new Map());
440
- ge(this, "retryTimer", null);
432
+ he(this, "floor", 0);
433
+ he(this, "loading", null);
434
+ he(this, "readAhead", 0);
435
+ he(this, "readAheadS", 0);
436
+ he(this, "prefetch", new Ea());
437
+ he(this, "warmed", /* @__PURE__ */ new Set());
438
+ he(this, "startingSince", /* @__PURE__ */ new Map());
439
+ he(this, "retries", /* @__PURE__ */ new Map());
440
+ he(this, "retryTimer", null);
441
441
  }
442
442
  setSequence(e) {
443
443
  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)));
@@ -697,16 +697,16 @@ const nt = class nt {
697
697
  let o = 0;
698
698
  if (a)
699
699
  if (this.within = null, s.total > 1) {
700
- const c = Array.from({ length: s.total }, (u, g) => {
700
+ const c = Array.from({ length: s.total }, (u, h) => {
701
701
  var M;
702
- return ((M = s.got.get(g)) == null ? void 0 : M.durationS) ?? 0;
703
- }), d = c.reduce((u, g) => u + g, 0);
702
+ return ((M = s.got.get(h)) == null ? void 0 : M.durationS) ?? 0;
703
+ }), d = c.reduce((u, h) => u + h, 0);
704
704
  if (d > 0 && c.every((u) => u > 0)) {
705
705
  const u = a.frac * d;
706
- let g = 0, M = 0;
707
- for (; g < c.length - 1 && M + c[g] <= u; ) M += c[g++];
708
- if (o = -(u - M), g !== n) {
709
- this.partBase = M, this.startPartAt(e, g, u - M);
706
+ let h = 0, M = 0;
707
+ for (; h < c.length - 1 && M + c[h] <= u; ) M += c[h++];
708
+ if (o = -(u - M), h !== n) {
709
+ this.partBase = M, this.startPartAt(e, h, u - M);
710
710
  return;
711
711
  }
712
712
  }
@@ -739,9 +739,9 @@ const nt = class nt {
739
739
  if (this.rank(c) <= l || !this.speakable(c)) continue;
740
740
  const d = this.clips.get(c);
741
741
  if (d)
742
- for (const u of [...d.got.keys()].sort((g, M) => g - M)) {
743
- const g = d.got.get(u);
744
- s.push(g), r += g.durationS || 0;
742
+ for (const u of [...d.got.keys()].sort((h, M) => h - M)) {
743
+ const h = d.got.get(u);
744
+ s.push(h), r += h.durationS || 0;
745
745
  }
746
746
  }
747
747
  return s;
@@ -870,7 +870,7 @@ const nt = class nt {
870
870
  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;
871
871
  }
872
872
  };
873
- 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);
873
+ 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);
874
874
  let Ms = nt;
875
875
  function ui(t, e) {
876
876
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
@@ -882,18 +882,18 @@ function Ya(t, e, n, s = {}, r) {
882
882
  const o = Ia(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
883
883
  return a.flatMap((d) => {
884
884
  var M, p;
885
- const u = (M = t.clipRev) == null ? void 0 : M[String(d)], g = Math.max(1, ((p = t.clipParts) == null ? void 0 : p[String(d)]) ?? 1);
886
- return Array.from({ length: g }, (N, w) => {
885
+ const u = (M = t.clipRev) == null ? void 0 : M[String(d)], h = Math.max(1, ((p = t.clipParts) == null ? void 0 : p[String(d)]) ?? 1);
886
+ return Array.from({ length: h }, (N, w) => {
887
887
  var k;
888
888
  return {
889
889
  sentenceId: d,
890
890
  lang: t.lang,
891
891
  src: `${n}/v1/recordings/${e}/voice/${d}?lang=${encodeURIComponent(t.lang)}${c}&format=${On()}${w > 0 ? `&part=${w}` : ""}${u ? `&v=${encodeURIComponent(u)}` : ""}${l}`,
892
- durationS: g === 1 ? ((k = t.clipDur) == null ? void 0 : k[String(d)]) ?? 0 : 0,
892
+ durationS: h === 1 ? ((k = t.clipDur) == null ? void 0 : k[String(d)]) ?? 0 : 0,
893
893
  voice: t.voice ?? null,
894
894
  cloned: !1,
895
895
  part: w,
896
- parts: g
896
+ parts: h
897
897
  };
898
898
  });
899
899
  });
@@ -916,7 +916,7 @@ function _a(t, e, n) {
916
916
  if (a += s[l], o < a) return l;
917
917
  return t.length - 1;
918
918
  }
919
- const gs = "vs.recentLangs", hs = /* @__PURE__ */ new Set();
919
+ const hs = "vs.recentLangs", gs = /* @__PURE__ */ new Set();
920
920
  function fs(t, e) {
921
921
  try {
922
922
  const n = localStorage.getItem(t);
@@ -930,30 +930,30 @@ function Mi(t, e) {
930
930
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
931
931
  } catch {
932
932
  }
933
- for (const n of hs) n();
933
+ for (const n of gs) n();
934
934
  }
935
935
  function zs(t, e) {
936
936
  const [n, s] = I(() => fs(t, e));
937
937
  return _(() => {
938
938
  const r = () => s(fs(t, e));
939
- return hs.add(r), window.addEventListener("storage", r), () => {
940
- hs.delete(r), window.removeEventListener("storage", r);
939
+ return gs.add(r), window.addEventListener("storage", r), () => {
940
+ gs.delete(r), window.removeEventListener("storage", r);
941
941
  };
942
942
  }, [t]), [n, (r) => {
943
943
  s(r), Mi(t, r);
944
944
  }];
945
945
  }
946
946
  function Ur(t) {
947
- const e = fs(gs, []);
948
- Mi(gs, Array.isArray(e) ? e.filter((n) => n !== t) : []);
947
+ const e = fs(hs, []);
948
+ Mi(hs, Array.isArray(e) ? e.filter((n) => n !== t) : []);
949
949
  }
950
- function gi() {
951
- const [t, e] = zs(gs, []), n = Array.isArray(t) ? t : [];
950
+ function hi() {
951
+ const [t, e] = zs(hs, []), n = Array.isArray(t) ? t : [];
952
952
  return [n, (s) => {
953
953
  s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
954
954
  }];
955
955
  }
956
- function hi(t, e) {
956
+ function gi(t, e) {
957
957
  if (!t) return [];
958
958
  const n = new Set(t[e]);
959
959
  return t.languages.filter((s) => n.has(s.code)).map((s) => ({ code: s.code, label: s.name, native: s.native, flag: s.flag ?? "🌐", voice: !!s.voice }));
@@ -967,7 +967,7 @@ function Pa(t) {
967
967
  const [e, n] = zs(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
968
968
  return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Ra, n];
969
969
  }
970
- function Is({ 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 }) {
970
+ function Is({ 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 }) {
971
971
  const [M, p] = I(""), [N, w] = I(!1), [k, m] = I(null);
972
972
  _(() => {
973
973
  t && (p(""), w(!1), m(null));
@@ -983,7 +983,7 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
983
983
  [c, f, M]
984
984
  ), D = Ie(() => O.length ? f.filter((S) => !O.some(($) => $.code === S.code)) : f, [f, O]), b = N || M ? D : D.slice(0, 12), W = D.length - b.length, A = (S, $ = !1) => {
985
985
  const L = !!d && !S.voice;
986
- return /* @__PURE__ */ h(
986
+ return /* @__PURE__ */ g(
987
987
  "button",
988
988
  {
989
989
  type: "button",
@@ -998,7 +998,7 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
998
998
  },
999
999
  children: [
1000
1000
  /* @__PURE__ */ i("span", { className: "vs-picker__flag", children: S.flag }),
1001
- /* @__PURE__ */ h("span", { style: { flex: 1, minWidth: 0 }, children: [
1001
+ /* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0 }, children: [
1002
1002
  /* @__PURE__ */ i("div", { className: "vs-picker__label", children: S.label }),
1003
1003
  /* @__PURE__ */ i("div", { className: "vs-picker__native", children: S.native })
1004
1004
  ] }),
@@ -1008,20 +1008,20 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1008
1008
  (z.key === "Enter" || z.key === " ") && (z.preventDefault(), z.stopPropagation(), Ur(S.code));
1009
1009
  }, children: /* @__PURE__ */ i(oe, { d: J.close, size: 16 }) }) }),
1010
1010
  /* @__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 ? k === S.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : S.voice && /* @__PURE__ */ i(oe, { d: J.headphones, size: 16 }) }),
1011
- /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (g === S.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: J.check, size: 16, sw: 2.2 })) })
1011
+ /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (h === S.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: J.check, size: 16, sw: 2.2 })) })
1012
1012
  ]
1013
1013
  },
1014
1014
  S.code
1015
1015
  );
1016
- }, te = /* @__PURE__ */ h("div", { className: "vs-picker__search", children: [
1016
+ }, te = /* @__PURE__ */ g("div", { className: "vs-picker__search", children: [
1017
1017
  /* @__PURE__ */ i(oe, { d: J.search, size: 16, sw: 1.7, style: { color: "var(--vs-text-muted)" } }),
1018
1018
  /* @__PURE__ */ i("input", { value: M, onChange: (S) => p(S.target.value), placeholder: a, "aria-label": a })
1019
- ] }), j = /* @__PURE__ */ h("div", { className: "vs-picker__list", children: [
1020
- o && !M && /* @__PURE__ */ h("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
1019
+ ] }), j = /* @__PURE__ */ g("div", { className: "vs-picker__list", children: [
1020
+ o && !M && /* @__PURE__ */ g("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
1021
1021
  s(null), u || e();
1022
1022
  }, children: [
1023
1023
  /* @__PURE__ */ i("span", { className: "vs-picker__flag", children: /* @__PURE__ */ i(oe, { d: J.mic, size: 19, sw: 1.6, style: { color: "var(--vs-text-muted)" } }) }),
1024
- /* @__PURE__ */ h("span", { style: { flex: 1, minWidth: 0 }, children: [
1024
+ /* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0 }, children: [
1025
1025
  /* @__PURE__ */ i("div", { className: "vs-picker__label", children: o }),
1026
1026
  /* @__PURE__ */ i("div", { className: "vs-picker__native", children: "As spoken · no translation" })
1027
1027
  ] }),
@@ -1029,18 +1029,18 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1029
1029
  /* @__PURE__ */ i("span", { className: "vs-picker__slot" }),
1030
1030
  /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === null && /* @__PURE__ */ i(oe, { d: J.check, size: 16, sw: 2.2 }) })
1031
1031
  ] }),
1032
- O.length > 0 && /* @__PURE__ */ h(_e, { children: [
1032
+ O.length > 0 && /* @__PURE__ */ g(_e, { children: [
1033
1033
  /* @__PURE__ */ i("div", { className: "vs-picker__head", children: "RECENT" }),
1034
1034
  O.map((S) => A(S, !0)),
1035
1035
  /* @__PURE__ */ i("div", { className: "vs-picker__rule" })
1036
1036
  ] }),
1037
1037
  b.map((S) => A(S)),
1038
- W > 0 && /* @__PURE__ */ h("button", { type: "button", className: "vs-picker__more", style: { background: "none", border: 0, cursor: "pointer", width: "100%", textAlign: "left" }, onClick: () => w(!0), children: [
1038
+ W > 0 && /* @__PURE__ */ g("button", { type: "button", className: "vs-picker__more", style: { background: "none", border: 0, cursor: "pointer", width: "100%", textAlign: "left" }, onClick: () => w(!0), children: [
1039
1039
  "+ ",
1040
1040
  W,
1041
1041
  " MORE LANGUAGES"
1042
1042
  ] }),
1043
- f.length === 0 && /* @__PURE__ */ h("div", { className: "vs-picker__more", children: [
1043
+ f.length === 0 && /* @__PURE__ */ g("div", { className: "vs-picker__more", children: [
1044
1044
  "No match for “",
1045
1045
  M,
1046
1046
  "”"
@@ -1119,7 +1119,7 @@ function es(t) {
1119
1119
  t && (t.pause(), t.removeAttribute("src"), t.load());
1120
1120
  }
1121
1121
  function fi(t, e) {
1122
- const [n, s] = I("off"), [r, a] = I([]), [o, l] = I(!1), c = v(null), d = v([null, null]), u = v([NaN, NaN]), g = v(0);
1122
+ const [n, s] = I("off"), [r, a] = I([]), [o, l] = I(!1), c = v(null), d = v([null, null]), u = v([NaN, NaN]), h = v(0);
1123
1123
  return _(() => {
1124
1124
  if (a([]), l(!1), !t) {
1125
1125
  s("off");
@@ -1165,12 +1165,12 @@ function fi(t, e) {
1165
1165
  M(), l(!1);
1166
1166
  return;
1167
1167
  }
1168
- const N = Xa(r, p, u.current, g.current);
1168
+ const N = Xa(r, p, u.current, h.current);
1169
1169
  for (const [m, f] of N.load) {
1170
1170
  let O = d.current[m];
1171
1171
  O || (O = new Audio(), O.preload = "auto", d.current[m] = O), O.pause(), O.src = r[f].url, u.current[m] = r[f].startS;
1172
1172
  }
1173
- g.current = N.play;
1173
+ h.current = N.play;
1174
1174
  const w = d.current[N.play], k = d.current[1 - N.play];
1175
1175
  k && !k.paused && k.pause(), Rr(w, { ...e, t: e.t - r[p].startS }), l(!e.playing || w.readyState >= 3);
1176
1176
  }, [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 };
@@ -1194,7 +1194,7 @@ function ro(t, e, n) {
1194
1194
  const o = Math.max(1, ...a.map((c) => c.parts));
1195
1195
  let l = Math.max(0, n - r.start);
1196
1196
  for (let c = 0; c < o; c++) {
1197
- const d = a.find((g) => g.part === c);
1197
+ const d = a.find((h) => h.part === c);
1198
1198
  if (!d) return { kind: "missing", sid: r.sid };
1199
1199
  const u = d.durationS && d.durationS > 0 ? d.durationS : 1 / 0;
1200
1200
  if (l < u) return { kind: "play", sid: r.sid, src: d.src, offset: l };
@@ -1240,11 +1240,11 @@ function oo(t) {
1240
1240
  }
1241
1241
  const c = ro(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
1242
1242
  a((N) => N.missing === d && N.sid === u ? N : { missing: d, sid: u });
1243
- const g = new Set(ao(t.lines, e, t.t));
1244
- for (const N of g) o(N);
1243
+ const h = new Set(ao(t.lines, e, t.t));
1244
+ for (const N of h) o(N);
1245
1245
  const M = s.current;
1246
- M && g.add(M.src);
1247
- for (const [N, w] of n.current) !g.has(N) && (!M || M.el !== w) && (w.pause(), n.current.delete(N));
1246
+ M && h.add(M.src);
1247
+ for (const [N, w] of n.current) !h.has(N) && (!M || M.el !== w) && (w.pause(), n.current.delete(N));
1248
1248
  if (!t.playing) {
1249
1249
  M == null || M.el.pause();
1250
1250
  return;
@@ -1425,7 +1425,7 @@ function Qr(t, e) {
1425
1425
  const n = e ?? {};
1426
1426
  return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
1427
1427
  }
1428
- function go(t, e) {
1428
+ function ho(t, e) {
1429
1429
  const n = e.tail;
1430
1430
  if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
1431
1431
  let s = !1;
@@ -1442,7 +1442,7 @@ function go(t, e) {
1442
1442
  }
1443
1443
  return s;
1444
1444
  }
1445
- function ho(t, e) {
1445
+ function go(t, e) {
1446
1446
  var n;
1447
1447
  switch (delete t.numbers, e.type) {
1448
1448
  case "transcript.committed": {
@@ -1483,7 +1483,7 @@ function ho(t, e) {
1483
1483
  }
1484
1484
  case "transcript.amended": {
1485
1485
  const s = t.segments.get(e.seq);
1486
- if (s && s.corrected && go(s.words, e)) {
1486
+ if (s && s.corrected && ho(s.words, e)) {
1487
1487
  s.text = e.text, s.words = Jt(e.seq, e.tail.words);
1488
1488
  break;
1489
1489
  }
@@ -1497,7 +1497,7 @@ function ho(t, e) {
1497
1497
  if ((n = e.scriptWords) != null && n.length) {
1498
1498
  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) => {
1499
1499
  var d, u;
1500
- 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());
1500
+ 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());
1501
1501
  };
1502
1502
  s.words = s.words.map((c, d) => {
1503
1503
  if (!e.scriptWords.includes(d)) return c;
@@ -1789,11 +1789,11 @@ function So(t, e) {
1789
1789
  const [n, s] = I(null), [r, a] = I(!1), [o, l] = I(null), [c, d] = I(0);
1790
1790
  return _(() => {
1791
1791
  let u = !0;
1792
- return Do(t, e).then((g) => {
1793
- u && (s(g), a(!1), l(null));
1794
- }).catch((g) => {
1792
+ return Do(t, e).then((h) => {
1793
+ u && (s(h), a(!1), l(null));
1794
+ }).catch((h) => {
1795
1795
  if (!u) return;
1796
- const M = kt(g);
1796
+ const M = kt(h);
1797
1797
  M.code === "not_found" || M.status === 404 ? a(!0) : l(M);
1798
1798
  }), () => {
1799
1799
  u = !1;
@@ -1856,7 +1856,7 @@ const Eo = (t) => new Promise((e) => setTimeout(e, t)), Yo = 2500, _o = 72;
1856
1856
  function Uo(t, e) {
1857
1857
  const n = At(), s = v(n);
1858
1858
  s.current = n;
1859
- const [r, a] = I(Pt), o = v(Pt()), l = v(null), c = v(e.lang ?? null), [d, u] = I(!1), [g, M] = I(null), [p, N] = I(!1), w = Xe(() => {
1859
+ const [r, a] = I(Pt), o = v(Pt()), l = v(null), c = v(e.lang ?? null), [d, u] = I(!1), [h, M] = I(null), [p, N] = I(!1), w = Xe(() => {
1860
1860
  const $ = o.current;
1861
1861
  a({ ...$ });
1862
1862
  }, []), k = v(e);
@@ -1887,7 +1887,7 @@ function Uo(t, e) {
1887
1887
  if (ae.type === "snapshot")
1888
1888
  o.current = ts(ae.snapshot, ae.reason === "gap" ? o.current : Pt()), w(), re();
1889
1889
  else if (ae.type === "frame") {
1890
- ho(o.current, ae.frame);
1890
+ go(o.current, ae.frame);
1891
1891
  const we = ae.frame;
1892
1892
  we.type === "recording.state" && (E = o.current.state, (C = (V = k.current).onState) == null || C.call(V, we.state, we.reason)), (P = (ue = k.current).onFrame) == null || P.call(ue, we), w();
1893
1893
  } else ae.type === "closed" && u(!1);
@@ -1902,13 +1902,13 @@ function Uo(t, e) {
1902
1902
  try {
1903
1903
  await z.recordings.get(t, n.readAs);
1904
1904
  } catch (we) {
1905
- const ke = kt(we);
1906
- if (ke.code === "not_found" || ke.status === 404) {
1907
- N(!0), M(ke);
1905
+ const ve = kt(we);
1906
+ if (ve.code === "not_found" || ve.status === 404) {
1907
+ N(!0), M(ve);
1908
1908
  return;
1909
1909
  }
1910
- if (ke.code === "forbidden" || ke.code === "invalid_token" || ke.code === "password_required" || ke.status === 401 || ke.status === 403) {
1911
- M(ke);
1910
+ if (ve.code === "forbidden" || ve.code === "invalid_token" || ve.code === "password_required" || ve.status === 401 || ve.status === 403) {
1911
+ M(ve);
1912
1912
  return;
1913
1913
  }
1914
1914
  }
@@ -1954,7 +1954,7 @@ function Uo(t, e) {
1954
1954
  }
1955
1955
  E && w();
1956
1956
  }, [w]), S = Xe(() => M(null), []);
1957
- return { model: r, connected: d, error: g, notFound: p, clearError: S, setLanguage: te, mergeTranslations: j, translating: m, translateFailed: O, shownLang: W };
1957
+ return { model: r, connected: d, error: h, notFound: p, clearError: S, setLanguage: te, mergeTranslations: j, translating: m, translateFailed: O, shownLang: W };
1958
1958
  }
1959
1959
  const Vr = {
1960
1960
  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" },
@@ -2023,11 +2023,11 @@ async function Bo(t, e, n, s = {}) {
2023
2023
  var M, p;
2024
2024
  const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
2025
2025
  if (!r.ok) throw await vi(r);
2026
- 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 = (p = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : p[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), g = document.createElement("a");
2027
- g.href = u, g.download = d, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2026
+ 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 = (p = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : p[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), h = document.createElement("a");
2027
+ h.href = u, h.download = d, h.style.display = "none", document.body.appendChild(h), h.click(), h.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2028
2028
  }
2029
2029
  async function Ho(t, e) {
2030
- 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) => ui(u, r);
2030
+ 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) => ui(u, r);
2031
2031
  let c = l(await o());
2032
2032
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2033
2033
  const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2089,7 +2089,7 @@ function Zo(t, e, n = 0) {
2089
2089
  const A = o(), te = A ? A.offsetHeight : 0, j = r.clientHeight - te - 36, S = r.scrollHeight - r.clientHeight, $ = j > 0 ? Math.max(30, Math.round(j * (r.clientHeight - te) / r.scrollHeight)) : 0;
2090
2090
  return { vis: j, max: S, size: $ };
2091
2091
  };
2092
- let c = -1, d = null, u = !1, g = 0, M = 0;
2092
+ let c = -1, d = null, u = !1, h = 0, M = 0;
2093
2093
  const p = () => {
2094
2094
  const A = o();
2095
2095
  if (!A) return;
@@ -2118,11 +2118,11 @@ function Zo(t, e, n = 0) {
2118
2118
  a.style.right = (f >= 12 ? -(f - 6) : 2) + "px";
2119
2119
  const O = () => m(!0), D = (A) => {
2120
2120
  const te = l();
2121
- te.vis - te.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, g = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", N());
2121
+ te.vis - te.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, h = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", N());
2122
2122
  }, b = (A) => {
2123
2123
  if (!u) return;
2124
2124
  const te = l();
2125
- r.scrollTop = M + (A.clientY - g) / (te.vis - te.size) * te.max, N();
2125
+ r.scrollTop = M + (A.clientY - h) / (te.vis - te.size) * te.max, N();
2126
2126
  }, W = () => {
2127
2127
  u && (u = !1, a.style.cursor = "grab", N());
2128
2128
  };
@@ -2143,11 +2143,11 @@ function Ko({ error: t, onClose: e }) {
2143
2143
  return () => clearTimeout(r);
2144
2144
  }, [t]), !t) return null;
2145
2145
  const s = t.code === "insufficient_credit" || t.code === "quota_exceeded" || t.status === 402;
2146
- return /* @__PURE__ */ h("div", { className: "toast", role: "alert", children: [
2146
+ return /* @__PURE__ */ g("div", { className: "toast", role: "alert", children: [
2147
2147
  /* @__PURE__ */ i(oe, { d: J.warn, size: 16, style: { color: "var(--conf-low)", flex: "none" } }),
2148
- /* @__PURE__ */ h("span", { style: { flex: 1 }, children: [
2148
+ /* @__PURE__ */ g("span", { style: { flex: 1 }, children: [
2149
2149
  t.message,
2150
- s && /* @__PURE__ */ h(_e, { children: [
2150
+ s && /* @__PURE__ */ g(_e, { children: [
2151
2151
  " ",
2152
2152
  /* @__PURE__ */ i("a", { href: "https://app.vocalstack.com/billing", target: "_blank", rel: "noopener", className: "dev-link", style: { fontSize: "inherit", fontWeight: 600, whiteSpace: "nowrap" }, children: "Add credit" })
2153
2153
  ] })
@@ -2159,16 +2159,16 @@ function zi({ color: t }) {
2159
2159
  return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: J.voiceClone, size: 13, sw: 1.7, stroke: t }) });
2160
2160
  }
2161
2161
  function Bc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
2162
- return /* @__PURE__ */ h("div", { className: "vs-tt", children: [
2163
- /* @__PURE__ */ h("div", { className: "vs-tt__r1", children: [
2162
+ return /* @__PURE__ */ g("div", { className: "vs-tt", children: [
2163
+ /* @__PURE__ */ g("div", { className: "vs-tt__r1", children: [
2164
2164
  /* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
2165
- e ? /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: e }) : /* @__PURE__ */ h(_e, { children: [
2165
+ e ? /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: e }) : /* @__PURE__ */ g(_e, { children: [
2166
2166
  /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: n }),
2167
2167
  /* @__PURE__ */ i("div", { className: "vs-tt__spk", children: s }),
2168
2168
  /* @__PURE__ */ i("div", { className: "vs-tt__voice", children: r })
2169
2169
  ] })
2170
2170
  ] }),
2171
- !e && /* @__PURE__ */ h("div", { className: "vs-tt__r2", children: [
2171
+ !e && /* @__PURE__ */ g("div", { className: "vs-tt__r2", children: [
2172
2172
  /* @__PURE__ */ i("div", { className: "vs-tt__side", style: { justifyContent: "flex-end" }, children: /* @__PURE__ */ i("div", { className: "vs-tt__prev", children: a }) }),
2173
2173
  /* @__PURE__ */ i("div", { className: "vs-tt__play", children: o }),
2174
2174
  /* @__PURE__ */ i("div", { className: "vs-tt__side", style: { justifyContent: "flex-start" }, children: /* @__PURE__ */ i("div", { className: "vs-tt__next", children: l }) })
@@ -2176,9 +2176,9 @@ function Bc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
2176
2176
  ] });
2177
2177
  }
2178
2178
  function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
2179
- const g = v(null), M = v(!1), [p, N] = I(null), w = Math.max(1, e), k = p ?? d, m = k != null ? Math.min(100, Math.max(0, k * 100)) : t / Math.max(1, w - 1) * 100, f = d != null && u > 0 && p == null ? `width ${u}ms linear, left ${u}ms linear` : "none", O = (b) => {
2179
+ const h = v(null), M = v(!1), [p, N] = I(null), w = Math.max(1, e), k = p ?? d, m = k != null ? Math.min(100, Math.max(0, k * 100)) : t / Math.max(1, w - 1) * 100, f = d != null && u > 0 && p == null ? `width ${u}ms linear, left ${u}ms linear` : "none", O = (b) => {
2180
2180
  var j;
2181
- const W = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
2181
+ const W = (j = h.current) == null ? void 0 : j.getBoundingClientRect();
2182
2182
  if (!W) return;
2183
2183
  const A = Math.min(1, Math.max(0, (b.clientX - W.left) / Math.max(1, W.width)));
2184
2184
  if (o) {
@@ -2190,15 +2190,15 @@ function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
2190
2190
  }, D = () => {
2191
2191
  M.current && (M.current = !1, N(null), c == null || c());
2192
2192
  };
2193
- return /* @__PURE__ */ h("div", { className: "rscrub", children: [
2194
- /* @__PURE__ */ h(
2193
+ return /* @__PURE__ */ g("div", { className: "rscrub", children: [
2194
+ /* @__PURE__ */ g(
2195
2195
  "div",
2196
2196
  {
2197
- ref: g,
2197
+ ref: h,
2198
2198
  className: "rscrub__track",
2199
2199
  onPointerDown: (b) => {
2200
2200
  var W;
2201
- M.current = !0, (W = g.current) == null || W.setPointerCapture(b.pointerId), l == null || l(), O(b), b.preventDefault();
2201
+ M.current = !0, (W = h.current) == null || W.setPointerCapture(b.pointerId), l == null || l(), O(b), b.preventDefault();
2202
2202
  },
2203
2203
  onPointerMove: (b) => {
2204
2204
  M.current && O(b);
@@ -2212,7 +2212,7 @@ function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
2212
2212
  ]
2213
2213
  }
2214
2214
  ),
2215
- /* @__PURE__ */ h("div", { className: "rscrub__labels", children: [
2215
+ /* @__PURE__ */ g("div", { className: "rscrub__labels", children: [
2216
2216
  /* @__PURE__ */ i("span", { className: "at", children: n }),
2217
2217
  /* @__PURE__ */ i("span", { className: "step", children: r }),
2218
2218
  /* @__PURE__ */ i("span", { className: "dur", children: s })
@@ -2228,21 +2228,21 @@ function Xo(t, e, n) {
2228
2228
  };
2229
2229
  }
2230
2230
  function el({ f: t, desk: e, onOpen: n }) {
2231
- const s = (r, a, o) => /* @__PURE__ */ h("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2231
+ const s = (r, a, o) => /* @__PURE__ */ g("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2232
2232
  l.stopPropagation(), n == null || n();
2233
2233
  }, children: [
2234
2234
  /* @__PURE__ */ i(oe, { d: J.pencilFix, size: e ? 10 : 9, sw: 2 }),
2235
2235
  r,
2236
2236
  a > 0 && /* @__PURE__ */ i("span", { className: "badge__n", children: a })
2237
2237
  ] }, r);
2238
- return /* @__PURE__ */ h(_e, { children: [
2238
+ return /* @__PURE__ */ g(_e, { children: [
2239
2239
  t.script > 0 && s(e ? "SCRIPT FIX" : "SCRIPT", t.script, !0),
2240
2240
  t.manual && s(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
2241
2241
  ] });
2242
2242
  }
2243
2243
  function tl({ onOpen: t, alone: e }) {
2244
2244
  const [n, s] = I(!1);
2245
- return /* @__PURE__ */ h("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => s(!0), onMouseLeave: () => s(!1), onClick: (r) => {
2245
+ return /* @__PURE__ */ g("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => s(!0), onMouseLeave: () => s(!1), onClick: (r) => {
2246
2246
  r.stopPropagation(), t();
2247
2247
  }, children: [
2248
2248
  /* @__PURE__ */ i(oe, { d: J.pencilFix, size: 11, sw: 2 }),
@@ -2250,7 +2250,7 @@ function tl({ onOpen: t, alone: e }) {
2250
2250
  ] });
2251
2251
  }
2252
2252
  function nl(t, e, n, s) {
2253
- const r = At(), [a, o] = I([]), [l, c] = I(0), d = v(/* @__PURE__ */ new Set()), u = v(!1), g = Ie(() => new Map(n.filter((p) => p.sentenceId != null).map((p) => [p.sentenceId, p])), [n]);
2253
+ const r = At(), [a, o] = I([]), [l, c] = I(0), d = v(/* @__PURE__ */ new Set()), u = v(!1), h = Ie(() => new Map(n.filter((p) => p.sentenceId != null).map((p) => [p.sentenceId, p])), [n]);
2254
2254
  _(() => {
2255
2255
  d.current = /* @__PURE__ */ new Set();
2256
2256
  }, [t, e]);
@@ -2258,7 +2258,7 @@ function nl(t, e, n, s) {
2258
2258
  return _(() => {
2259
2259
  if (!t || !e || !a.length || u.current) return;
2260
2260
  const p = a.filter((N) => {
2261
- const w = g.get(N);
2261
+ const w = h.get(N);
2262
2262
  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}:${N}`);
2263
2263
  }).slice(0, 40);
2264
2264
  if (p.length) {
@@ -2274,7 +2274,7 @@ function nl(t, e, n, s) {
2274
2274
  u.current = !1, c((N) => N + 1);
2275
2275
  });
2276
2276
  }
2277
- }, [t, e, a, l, g, s]), M;
2277
+ }, [t, e, a, l, h, s]), M;
2278
2278
  }
2279
2279
  function sl(t) {
2280
2280
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
@@ -2338,23 +2338,23 @@ function Zr(t, e, n = !0) {
2338
2338
  a.set(o.key, c.id), r.add(c.id);
2339
2339
  continue;
2340
2340
  }
2341
- const d = s.filter((M) => !r.has(M.id)), g = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
2342
- g && (a.set(o.key, g.id), r.add(g.id));
2341
+ const d = s.filter((M) => !r.has(M.id)), h = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
2342
+ h && (a.set(o.key, h.id), r.add(h.id));
2343
2343
  }
2344
2344
  return a;
2345
2345
  }
2346
2346
  function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
2347
2347
  const d = t.find((u) => u.key === e) ?? t[0] ?? null;
2348
2348
  return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
2349
- const g = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, p = u.key >= 0 && !M && !!(r != null && r(u)), N = u.key >= 0 && !M && !p && s(u), w = u.key >= 0 && !M && !p && !N && !u.hasVoice && !!(a != null && a(u));
2350
- return /* @__PURE__ */ h(
2349
+ const h = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, p = u.key >= 0 && !M && !!(r != null && r(u)), N = u.key >= 0 && !M && !p && s(u), w = u.key >= 0 && !M && !p && !N && !u.hasVoice && !!(a != null && a(u));
2350
+ return /* @__PURE__ */ g(
2351
2351
  "button",
2352
2352
  {
2353
2353
  type: "button",
2354
- "aria-selected": g,
2354
+ "aria-selected": h,
2355
2355
  onClick: () => n(u.key),
2356
2356
  title: u.name,
2357
- 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" },
2357
+ 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" },
2358
2358
  children: [
2359
2359
  /* @__PURE__ */ i(
2360
2360
  "span",
@@ -2364,10 +2364,10 @@ function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2364
2364
  children: u.initial
2365
2365
  }
2366
2366
  ),
2367
- /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2368
- u.hasVoice && !M && /* @__PURE__ */ i(zi, { color: u.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2367
+ /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: h ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2368
+ u.hasVoice && !M && /* @__PURE__ */ i(zi, { color: u.fg ?? (h ? "var(--ink-62)" : "var(--ink-45)") }),
2369
2369
  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: "!" }),
2370
- 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(oe, { d: J.micOff, size: 13, sw: 1.7 }) }),
2370
+ 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(oe, { d: J.micOff, size: 13, sw: 1.7 }) }),
2371
2371
  (N || p) && /* @__PURE__ */ i("span", { title: p ? "Cloning this voice…" : "No voice clone yet", "aria-label": p ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: p ? /* @__PURE__ */ i(at, { 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)" } }) })
2372
2372
  ]
2373
2373
  },
@@ -2375,30 +2375,30 @@ function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2375
2375
  );
2376
2376
  }) }) : null;
2377
2377
  }
2378
- function ol({ 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: p = null, t: N }) {
2378
+ function ol({ 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: p = null, t: N }) {
2379
2379
  const w = Ie(() => rl(e, N), [e, N]), [k, m] = I({});
2380
2380
  _(() => {
2381
2381
  m({});
2382
- }, [u, g]);
2382
+ }, [u, h]);
2383
2383
  const f = (b) => b === N.vcMale.toUpperCase() || b === N.vcFemale.toUpperCase(), O = (b) => {
2384
2384
  if (b === N.vcSheet) return !0;
2385
2385
  const W = k[b];
2386
- return W != null ? !W : !g || !f(b) ? !0 : b === (g === "female" ? N.vcFemale : N.vcMale).toUpperCase();
2386
+ return W != null ? !W : !h || !f(b) ? !0 : b === (h === "female" ? N.vcFemale : N.vcMale).toUpperCase();
2387
2387
  }, D = !!s && s !== n;
2388
- return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
2389
- M && /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2388
+ return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
2389
+ M && /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2390
2390
  /* @__PURE__ */ i(oe, { d: J.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
2391
2391
  /* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
2392
2392
  /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(ja, { value: M, label: "Copy this error" }) })
2393
2393
  ] }),
2394
2394
  t,
2395
- p && /* @__PURE__ */ h(_e, { children: [
2395
+ p && /* @__PURE__ */ g(_e, { children: [
2396
2396
  /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, padding: "14px 2px 6px", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: N.vcSheet }) }),
2397
- /* @__PURE__ */ h("div", { role: p.action ? "button" : "status", tabIndex: p.action ? 0 : void 0, title: p.tip, onClick: p.action, onKeyDown: p.action ? (b) => {
2397
+ /* @__PURE__ */ g("div", { role: p.action ? "button" : "status", tabIndex: p.action ? 0 : void 0, title: p.tip, onClick: p.action, onKeyDown: p.action ? (b) => {
2398
2398
  (b.key === "Enter" || b.key === " ") && (b.preventDefault(), p.action());
2399
2399
  } : void 0, style: { display: "flex", alignItems: "center", gap: 11, padding: "11px 8px", margin: "0 -6px", borderRadius: 10, cursor: p.action ? "pointer" : "default" }, children: [
2400
2400
  /* @__PURE__ */ i("span", { style: { flex: "none", width: 32, height: 32, boxSizing: "border-box", borderRadius: "50%", border: p.busy ? 0 : p.action ? "1.5px solid var(--brand)" : "1.5px dashed var(--fill-20)", display: "flex", alignItems: "center", justifyContent: "center" }, children: p.busy ? /* @__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(oe, { d: p.action ? J.plus : J.mic, size: 15, sw: p.action ? 2 : 1.6, style: { color: p.action ? "var(--brand)" : "var(--ink-45)" } }) }),
2401
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
2401
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
2402
2402
  /* @__PURE__ */ i("div", { style: { fontSize: 14.5, fontWeight: p.action ? 500 : 400, color: p.action ? "var(--brand)" : "var(--ink-62)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: p.title }),
2403
2403
  /* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: p.sub })
2404
2404
  ] })
@@ -2406,9 +2406,9 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2406
2406
  ] }),
2407
2407
  w.map(({ v: b, headOn: W, head: A, headCount: te, rule: j }, S) => {
2408
2408
  const $ = sl(b), L = a === b.id, z = O(A), E = (d == null ? void 0 : d(b)) ?? null;
2409
- return /* @__PURE__ */ h(ga, { children: [
2409
+ return /* @__PURE__ */ g(ha, { children: [
2410
2410
  W && A === N.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: S === 0 && !p ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: A }) }),
2411
- W && A !== N.vcSheet && /* @__PURE__ */ h(
2411
+ W && A !== N.vcSheet && /* @__PURE__ */ g(
2412
2412
  "button",
2413
2413
  {
2414
2414
  type: "button",
@@ -2425,7 +2425,7 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2425
2425
  ]
2426
2426
  }
2427
2427
  ),
2428
- /* @__PURE__ */ h(
2428
+ /* @__PURE__ */ g(
2429
2429
  "button",
2430
2430
  {
2431
2431
  type: "button",
@@ -2435,23 +2435,23 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2435
2435
  onClick: () => o(b),
2436
2436
  style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: z ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: z ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: s === b.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: z ? 1 : 0, maxHeight: z ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
2437
2437
  children: [
2438
- /* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : b.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__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" } }) : r === b.id ? /* @__PURE__ */ h("span", { className: "vcplay", children: [
2438
+ /* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : b.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__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" } }) : r === b.id ? /* @__PURE__ */ g("span", { className: "vcplay", children: [
2439
2439
  /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(ll, { height: 13, width: 2.5 }) }),
2440
2440
  /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(La, { size: 11 }) })
2441
2441
  ] }) : /* @__PURE__ */ i(oe, { d: b.cloned ? J.voiceClone : b.gender === "female" ? J.venus : b.gender === "male" ? J.mars : J.mic, size: 15, sw: 1.6, style: { color: b.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2442
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
2442
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
2443
2443
  /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: b.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: b.name }) }),
2444
2444
  $ && /* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: $ }),
2445
- E && (b.id === n ? /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 5, marginTop: 3, minWidth: 0 }, children: [
2445
+ E && (b.id === n ? /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 5, marginTop: 3, minWidth: 0 }, children: [
2446
2446
  /* @__PURE__ */ i(oe, { d: J.notice, size: 12, sw: 1.7, style: { flex: "none", color: "var(--conf-mid)" } }),
2447
2447
  /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 11, fontWeight: 300, color: "var(--conf-mid)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${N.vcShared} ${E}` })
2448
2448
  ] }) : /* @__PURE__ */ i("div", { style: { marginTop: 2, minWidth: 0, fontSize: 12, fontWeight: 300, color: "var(--ink-50)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${N.vcUsedBy} ${E}` }))
2449
2449
  ] }),
2450
- /* @__PURE__ */ h("div", { style: { flex: "none", width: b.live ? b.id === n ? 18 : 0 : 42, overflow: "hidden", display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 6 }, children: [
2450
+ /* @__PURE__ */ g("div", { style: { flex: "none", width: b.live ? b.id === n ? 18 : 0 : 42, overflow: "hidden", display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 6 }, children: [
2451
2451
  /* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18 } }),
2452
2452
  /* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18, display: "flex", alignItems: "center", justifyContent: "center" }, children: b.id === n && /* @__PURE__ */ i(oe, { d: J.check, size: 17, sw: 2.2, style: { flex: "none", color: "var(--brand)" } }) })
2453
2453
  ] }),
2454
- (b.live || b.cloned && b.library === !1 && !b.auto && !!l) && /* @__PURE__ */ h("span", { className: "gvadd", role: "button", title: b.live ? `Save ${b.name}’s voice from this session` : `Add ${b.name} to My voices`, onClick: l ? (re) => {
2454
+ (b.live || b.cloned && b.library === !1 && !b.auto && !!l) && /* @__PURE__ */ g("span", { className: "gvadd", role: "button", title: b.live ? `Save ${b.name}’s voice from this session` : `Add ${b.name} to My voices`, onClick: l ? (re) => {
2455
2455
  re.stopPropagation(), l(b);
2456
2456
  } : void 0, children: [
2457
2457
  /* @__PURE__ */ i(oe, { d: J.plus, size: 14, sw: 2 }),
@@ -2467,13 +2467,13 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2467
2467
  }
2468
2468
  function ll({ height: t, width: e = 2 }) {
2469
2469
  const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
2470
- return /* @__PURE__ */ h("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2470
+ return /* @__PURE__ */ g("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2471
2471
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
2472
2472
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .2s infinite" } }),
2473
2473
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
2474
2474
  ] });
2475
2475
  }
2476
- const cl = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2476
+ const cl = /* @__PURE__ */ g("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2477
2477
  /* @__PURE__ */ i(oe, { d: J.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
2478
2478
  /* @__PURE__ */ i(oe, { d: J.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
2479
2479
  ] });
@@ -2503,9 +2503,9 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2503
2503
  }, [t, e, o, n]), d = Ie(
2504
2504
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2505
2505
  [l, e, t]
2506
- ), u = Ie(() => ui(d, r), [d, r]), g = u ? u.voiceKey || null : r, [M, p] = I(null), [N, w] = I(null), k = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, f = Xe(async (V, C) => {
2506
+ ), u = Ie(() => ui(d, r), [d, r]), h = u ? u.voiceKey || null : r, [M, p] = I(null), [N, w] = I(null), k = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${h ?? ""}`, f = Xe(async (V, C) => {
2507
2507
  if (!t || !e || !n) return;
2508
- const ue = C != null && C.size ? null : Gr(V), P = C != null && C.size ? C : ue, Z = P && P.size ? Object.fromEntries([...P].map(([we, ke]) => [String(we), ke])) : null, le = `${t}|${e}|${Z ? JSON.stringify(Z) : V ?? ""}`;
2508
+ const ue = C != null && C.size ? null : Gr(V), P = C != null && C.size ? C : ue, Z = P && P.size ? Object.fromEntries([...P].map(([we, ve]) => [String(we), ve])) : null, le = `${t}|${e}|${Z ? JSON.stringify(Z) : V ?? ""}`;
2509
2509
  if (k.current.has(le)) return;
2510
2510
  k.current.add(le), p(le), w(null);
2511
2511
  const ne = { langs: [e] };
@@ -2525,16 +2525,16 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2525
2525
  }, [t, e]), D = !!u && (u.state === "queued" || u.state === "running") || M === m, b = (u == null ? void 0 : u.state) === "failed" ? u.error || "the render failed" : N, W = (a == null ? void 0 : a.join(",")) ?? "", [A, te] = I(null), j = Ie(() => new Set((u == null ? void 0 : u.clips) ?? []), [u]), S = Ie(() => n && W ? W.split(",").map(Number).filter((V) => !j.has(V)) : [], [n, W, j]), $ = v(null);
2526
2526
  _(() => {
2527
2527
  if (!n || !t || !e || !S.length) return;
2528
- const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${g ?? ""}`, P = $.current;
2528
+ const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${h ?? ""}`, P = $.current;
2529
2529
  if (P && P.key === ue && Math.abs(P.near - C) < 12 && Date.now() - P.at < 6e4) return;
2530
2530
  $.current = { key: ue, near: C, at: Date.now() };
2531
- const Z = Gr(g), le = { langs: [e], near: C };
2532
- Z && Z.size ? le.voiceBySpeaker = Object.fromEntries([...Z].map(([ne, ae]) => [String(ne), ae])) : g && (le.voice = g), Hr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: le }).then((ne) => {
2531
+ const Z = Gr(h), le = { langs: [e], near: C };
2532
+ Z && Z.size ? le.voiceBySpeaker = Object.fromEntries([...Z].map(([ne, ae]) => [String(ne), ae])) : h && (le.voice = h), Hr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: le }).then((ne) => {
2533
2533
  ne.ok || ($.current = null);
2534
2534
  }).catch(() => {
2535
2535
  $.current = null;
2536
2536
  });
2537
- }, [n, t, e, g, A, S, o]);
2537
+ }, [n, t, e, h, A, S, o]);
2538
2538
  const L = S.length > 0, z = v({ n: -1, at: 0 });
2539
2539
  _(() => {
2540
2540
  if (!L) return;
@@ -2549,11 +2549,11 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2549
2549
  const V = W ? W.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, C = u ?? (V != null && V.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
2550
2550
  return Ya(C, t, o.origin, s, V);
2551
2551
  }, [u, t, o, s, W, e, r, n, j]), re = Ie(() => new Set(S), [S]);
2552
- return { listed: l, rows: d, track: u, renderVoiceId: g, rendering: D, failed: b, clips: E, requestRender: f, forget: O, reload: c, setNear: te, missing: S.length, coming: re };
2552
+ return { listed: l, rows: d, track: u, renderVoiceId: h, rendering: D, failed: b, clips: E, requestRender: f, forget: O, reload: c, setNear: te, missing: S.length, coming: re };
2553
2553
  }
2554
- const gl = { share: J.share, delay: J.tabGauge, video: J.video, source: J.tabSources, script: J.tabScript, fix: J.tabFix, ending: J.tabEnding, summary: J.tabSummary, export: J.tabExport, settings: J.tabSettings, sources: J.tabSources, recs: J.mic };
2554
+ const hl = { share: J.share, delay: J.tabGauge, video: J.video, source: J.tabSources, script: J.tabScript, fix: J.tabFix, ending: J.tabEnding, summary: J.tabSummary, export: J.tabExport, settings: J.tabSettings, sources: J.tabSources, recs: J.mic };
2555
2555
  function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
2556
- const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [g, M] = I(0);
2556
+ const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [h, M] = I(0);
2557
2557
  _(() => {
2558
2558
  u.current && M(u.current.offsetWidth);
2559
2559
  }, [c == null ? void 0 : c.k]);
@@ -2569,24 +2569,24 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
2569
2569
  }, N = () => d(null);
2570
2570
  let w = null;
2571
2571
  if (c) {
2572
- const k = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = g || 80, f = Math.max(k.l + 8, Math.min(k.r - m - 8, c.x - m / 2));
2572
+ const k = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = h || 80, f = Math.max(k.l + 8, Math.min(k.r - m - 8, c.x - m / 2));
2573
2573
  w = Na(
2574
- /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ h("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: f, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2574
+ /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ g("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: f, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2575
2575
  /* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
2576
2576
  /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(m - 19, c.x - f - 5.5))) } })
2577
2577
  ] }) }),
2578
2578
  document.body
2579
2579
  );
2580
2580
  }
2581
- return /* @__PURE__ */ h("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: N, children: [
2581
+ return /* @__PURE__ */ g("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: N, children: [
2582
2582
  t.map((k) => {
2583
- const m = e === k.key, f = o || m, O = o ? "1 1 0" : m ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", D = k.icon ?? gl[k.key], b = () => {
2583
+ const m = e === k.key, f = o || m, O = o ? "1 1 0" : m ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", D = k.icon ?? hl[k.key], b = () => {
2584
2584
  N(), n(r && m ? "none" : k.key);
2585
2585
  };
2586
- return r ? /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, title: k.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: O }, onClick: b, children: [
2586
+ return r ? /* @__PURE__ */ g("button", { type: "button", role: "tab", "aria-selected": m, title: k.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: O }, onClick: b, children: [
2587
2587
  D && /* @__PURE__ */ i(oe, { d: D, size: 15, sw: k.sw ?? 2, style: { flex: "none" } }),
2588
2588
  f && /* @__PURE__ */ i("span", { className: "tabbar__label", children: k.label })
2589
- ] }, k.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: O }, onMouseEnter: (W) => p(W, k), onMouseMove: (W) => p(W, k), onClick: b, children: /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, "aria-label": k.label, className: `tabbar__tab${m ? " is-on" : ""}${(c == null ? void 0 : c.k) === k.key ? " is-tip" : ""}`, children: [
2589
+ ] }, k.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: O }, onMouseEnter: (W) => p(W, k), onMouseMove: (W) => p(W, k), onClick: b, children: /* @__PURE__ */ g("button", { type: "button", role: "tab", "aria-selected": m, "aria-label": k.label, className: `tabbar__tab${m ? " is-on" : ""}${(c == null ? void 0 : c.k) === k.key ? " is-tip" : ""}`, children: [
2590
2590
  D && /* @__PURE__ */ i(oe, { d: D, size: 15, sw: k.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: m && !o ? "scale(1.12)" : "none" } }),
2591
2591
  /* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: f ? "1fr" : "0fr", marginLeft: f && D ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: f ? 1 : 0, transform: f ? "none" : "translateX(-6px)" }, children: k.label }) })
2592
2592
  ] }) }, k.key);
@@ -2594,7 +2594,7 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
2594
2594
  w
2595
2595
  ] });
2596
2596
  }
2597
- const hl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", fl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2597
+ const gl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", fl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2598
2598
  function Nl({ audio: t, video: e, formats: n, onExport: s }) {
2599
2599
  const [r, a] = I(null), [o, l] = I(null), c = v(void 0), d = v(!0);
2600
2600
  _(() => (d.current = !0, () => {
@@ -2602,7 +2602,7 @@ function Nl({ audio: t, video: e, formats: n, onExport: s }) {
2602
2602
  }), []);
2603
2603
  const u = (N) => {
2604
2604
  window.clearTimeout(c.current), a(N), c.current = window.setTimeout(() => a(null), 1600);
2605
- }, g = (N) => {
2605
+ }, h = (N) => {
2606
2606
  o || (l(N), Promise.resolve().then(() => s(N)).then(() => {
2607
2607
  d.current && u(N);
2608
2608
  }).catch(() => {
@@ -2616,23 +2616,23 @@ function Nl({ audio: t, video: e, formats: n, onExport: s }) {
2616
2616
  }).finally(() => {
2617
2617
  d.current && l(null);
2618
2618
  }));
2619
- }, p = (N, w, k, m) => /* @__PURE__ */ h(_e, { children: [
2619
+ }, p = (N, w, k, m) => /* @__PURE__ */ g(_e, { children: [
2620
2620
  /* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: m }),
2621
- /* @__PURE__ */ h("button", { type: "button", className: "dlrow", disabled: o != null, "aria-busy": o === N || void 0, onClick: () => M(N, w), style: o && o !== N ? { opacity: 0.45 } : void 0, children: [
2621
+ /* @__PURE__ */ g("button", { type: "button", className: "dlrow", disabled: o != null, "aria-busy": o === N || void 0, onClick: () => M(N, w), style: o && o !== N ? { opacity: 0.45 } : void 0, children: [
2622
2622
  o === N ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: k, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
2623
- /* @__PURE__ */ h("span", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 1, textAlign: "left" }, children: [
2623
+ /* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 1, textAlign: "left" }, children: [
2624
2624
  /* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: w.name }),
2625
2625
  /* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: w.meta })
2626
2626
  ] }),
2627
- /* @__PURE__ */ i(oe, { d: r === N ? J.check : hl, size: 17, sw: 1.6, style: { flex: "none", color: r === N ? "var(--brand)" : "var(--ink-62)" } })
2627
+ /* @__PURE__ */ i(oe, { d: r === N ? J.check : gl, size: 17, sw: 1.6, style: { flex: "none", color: r === N ? "var(--brand)" : "var(--ink-62)" } })
2628
2628
  ] })
2629
2629
  ] });
2630
- return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2630
+ return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2631
2631
  t && p("audio", t, fl, "DOWNLOAD AUDIO"),
2632
2632
  e && p("video", e, J.video, "DOWNLOAD VIDEO"),
2633
- n !== !1 && /* @__PURE__ */ h(_e, { children: [
2633
+ n !== !1 && /* @__PURE__ */ g(_e, { children: [
2634
2634
  /* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
2635
- /* @__PURE__ */ i("div", { className: "fmtgrid", children: ps.map((N) => /* @__PURE__ */ h("button", { type: "button", className: "fmtgrid__cell", title: o === N.key ? `Building the ${N.name}…` : N.note, disabled: o != null, "aria-busy": o === N.key || void 0, onClick: () => g(N.key), style: o && o !== N.key ? { opacity: 0.45 } : void 0, children: [
2635
+ /* @__PURE__ */ i("div", { className: "fmtgrid", children: ps.map((N) => /* @__PURE__ */ g("button", { type: "button", className: "fmtgrid__cell", title: o === N.key ? `Building the ${N.name}…` : N.note, disabled: o != null, "aria-busy": o === N.key || void 0, onClick: () => h(N.key), style: o && o !== N.key ? { opacity: 0.45 } : void 0, children: [
2636
2636
  o === N.key ? /* @__PURE__ */ i(at, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: r === N.key ? J.check : N.icon, size: 16, sw: 1.6, style: { color: r === N.key ? "var(--brand)" : "var(--ink-62)" } }),
2637
2637
  /* @__PURE__ */ i("span", { children: N.name })
2638
2638
  ] }, N.key)) })
@@ -2684,29 +2684,29 @@ function yl({ s: t }) {
2684
2684
 
2685
2685
  ${a}`).catch(() => {
2686
2686
  }), window.clearTimeout(s.current), n(!0), s.current = window.setTimeout(() => n(!1), 1600);
2687
- }, l = (c, d) => /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 10, fontSize: 13, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-45)" }, children: [
2687
+ }, l = (c, d) => /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 10, fontSize: 13, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-45)" }, children: [
2688
2688
  /* @__PURE__ */ i("span", { style: { flex: 1 }, children: c }),
2689
2689
  d && /* @__PURE__ */ i("button", { type: "button", className: "txlinks__manage", onClick: d.onClick, children: d.label })
2690
2690
  ] });
2691
- return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
2692
- /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
2691
+ return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
2692
+ /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
2693
2693
  /* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
2694
- t.state === "ready" && /* @__PURE__ */ h("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
2694
+ t.state === "ready" && /* @__PURE__ */ g("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
2695
2695
  /* @__PURE__ */ i(oe, { d: e ? J.check : Ll, size: 13, sw: 1.6 }),
2696
2696
  e ? "Copied" : "Copy"
2697
2697
  ] })
2698
2698
  ] }),
2699
- t.state === "ready" ? /* @__PURE__ */ h(_e, { children: [
2699
+ t.state === "ready" ? /* @__PURE__ */ g(_e, { children: [
2700
2700
  /* @__PURE__ */ i("div", { style: { fontSize: 15, fontWeight: 600, lineHeight: 1.3, letterSpacing: "-.15px", color: "var(--ink-96)", textWrap: "pretty" }, children: r }),
2701
2701
  /* @__PURE__ */ i("div", { style: { fontSize: 13, fontWeight: 300, lineHeight: 1.55, color: "var(--ink-80)", textWrap: "pretty", whiteSpace: "pre-line" }, children: a })
2702
- ] }) : t.state === "unavailable" ? l("No summary for this recording.") : t.state === "not_requested" ? t.request ? l("This recording was made without a summary.", { label: "Summarize", onClick: t.request }) : l("Recordings under a minute and files of a batch are not summarised.") : /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 10, fontSize: 13, fontWeight: 300, color: "var(--ink-45)" }, children: [
2702
+ ] }) : t.state === "unavailable" ? l("No summary for this recording.") : t.state === "not_requested" ? t.request ? l("This recording was made without a summary.", { label: "Summarize", onClick: t.request }) : l("Recordings under a minute and files of a batch are not summarised.") : /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 10, fontSize: 13, fontWeight: 300, color: "var(--ink-45)" }, children: [
2703
2703
  /* @__PURE__ */ i(at, { size: 14, color: "var(--brand)", track: "var(--fill-12)" }),
2704
2704
  t.slow ? "Still writing the summary…" : "Writing the summary…"
2705
2705
  ] })
2706
2706
  ] });
2707
2707
  }
2708
2708
  function Tl({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
2709
- return /* @__PURE__ */ h("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
2709
+ return /* @__PURE__ */ g("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
2710
2710
  /* @__PURE__ */ i(oe, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
2711
2711
  l ?? /* @__PURE__ */ i("iframe", { src: Vo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2712
2712
  n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
@@ -2719,13 +2719,13 @@ function wl(t = !0, e) {
2719
2719
  const r = s.current;
2720
2720
  if (!r || !t) return;
2721
2721
  let a = 0, o = 0, l = !1;
2722
- const c = (g) => {
2723
- g.button !== 0 || g.target.closest("button,a,input,textarea,select") || (l = !0, a = g.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
2724
- }, d = (g) => {
2722
+ const c = (h) => {
2723
+ h.button !== 0 || h.target.closest("button,a,input,textarea,select") || (l = !0, a = h.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
2724
+ }, d = (h) => {
2725
2725
  var p;
2726
2726
  if (!l) return;
2727
- const M = g.clientY - a;
2728
- Math.abs(M) > 2 && ((p = r.setPointerCapture) == null || p.call(r, g.pointerId)), r.scrollTop = o - M;
2727
+ const M = h.clientY - a;
2728
+ Math.abs(M) > 2 && ((p = r.setPointerCapture) == null || p.call(r, h.pointerId)), r.scrollTop = o - M;
2729
2729
  }, u = () => {
2730
2730
  l = !1, r.classList.remove("is-dragging");
2731
2731
  };
@@ -2745,9 +2745,9 @@ function kl(t, e) {
2745
2745
  (e.forcePin ?? []).forEach((f) => {
2746
2746
  l = l.filter((O) => O !== `!${f}`), r.includes(f) && !l.includes(f) && (l = [f, ...l]);
2747
2747
  });
2748
- const d = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), u = a ? l.filter((f) => r.includes(f) && o.includes(f)) : [], g = r.filter((f) => !u.includes(f)), M = e.cur && e.cur !== "none" && g.includes(e.cur) ? e.cur : e.pref && g.includes(e.pref) ? e.pref : g[0] ?? null, p = (f) => {
2749
- const O = g.filter((D) => D !== f);
2750
- return O[g.indexOf(f)] ?? O[O.length - 1] ?? null;
2748
+ const d = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), u = a ? l.filter((f) => r.includes(f) && o.includes(f)) : [], h = r.filter((f) => !u.includes(f)), M = e.cur && e.cur !== "none" && h.includes(e.cur) ? e.cur : e.pref && h.includes(e.pref) ? e.pref : h[0] ?? null, p = (f) => {
2749
+ const O = h.filter((D) => D !== f);
2750
+ return O[h.indexOf(f)] ?? O[O.length - 1] ?? null;
2751
2751
  }, N = (f, O) => {
2752
2752
  if (!o.includes(f)) return;
2753
2753
  const D = u.filter((b) => b !== f);
@@ -2767,20 +2767,20 @@ function kl(t, e) {
2767
2767
  show: D && (!a || O || M === f),
2768
2768
  pinned: O,
2769
2769
  order: O ? u.indexOf(f) + 1 : 1e3,
2770
- pill: a && D && o.includes(f) && g.length > 0 && (O || g.length > 1),
2770
+ pill: a && D && o.includes(f) && h.length > 0 && (O || h.length > 1),
2771
2771
  title: O ? `Unpin — return ${k(f)} to the tabs` : `Pin ${k(f)} open above the tabs`,
2772
2772
  toggle: () => O ? w(f) : N(f)
2773
2773
  };
2774
2774
  };
2775
- return { id: t, tabbed: a && g.length > 1, cur: M, seq: u, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((f) => g.includes(f.key)), panel: m, pin: N, unpin: w };
2775
+ return { id: t, tabbed: a && h.length > 1, cur: M, seq: u, pinnable: o, tabKeys: h, stripTabs: e.tabs.filter((f) => h.includes(f.key)), panel: m, pin: N, unpin: w };
2776
2776
  }
2777
2777
  function vl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2778
- return jl(t), /* @__PURE__ */ h(_e, { children: [
2778
+ return jl(t), /* @__PURE__ */ g(_e, { children: [
2779
2779
  e.map((o) => {
2780
2780
  const l = t.panel(o);
2781
2781
  if (!l.show) return null;
2782
2782
  const c = n(o);
2783
- return c ? /* @__PURE__ */ h("div", { "data-panel-key": o, "data-pinned": l.pinned ? "true" : "false", className: `pinwrap sidepanel ${(a == null ? void 0 : a(o, l.pinned)) ?? ""}`, style: { order: l.order, "--grip-h": `${(s == null ? void 0 : s[o]) ?? 30}px` }, children: [
2783
+ return c ? /* @__PURE__ */ g("div", { "data-panel-key": o, "data-pinned": l.pinned ? "true" : "false", className: `pinwrap sidepanel ${(a == null ? void 0 : a(o, l.pinned)) ?? ""}`, style: { order: l.order, "--grip-h": `${(s == null ? void 0 : s[o]) ?? 30}px` }, children: [
2784
2784
  c,
2785
2785
  l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: J.pin, size: 12, sw: 2 }) })
2786
2786
  ] }, o) : null;
@@ -2859,7 +2859,7 @@ function jl(t) {
2859
2859
  }, u = (m) => {
2860
2860
  const f = m instanceof Element ? m.closest("[data-tab-col]") : null;
2861
2861
  return f && f.getAttribute("data-tab-col") === n ? f : null;
2862
- }, g = (m) => {
2862
+ }, h = (m) => {
2863
2863
  var A;
2864
2864
  if (r) {
2865
2865
  if (!r.on) {
@@ -2887,8 +2887,8 @@ function jl(t) {
2887
2887
  }, k = () => {
2888
2888
  r || a(null);
2889
2889
  };
2890
- return document.addEventListener("pointermove", g, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", p), window.addEventListener("pointercancel", N), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", k), () => {
2891
- d(!1), a(null), document.removeEventListener("pointermove", g, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", p), window.removeEventListener("pointercancel", N), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", k);
2890
+ return document.addEventListener("pointermove", h, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", p), window.addEventListener("pointercancel", N), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", k), () => {
2891
+ d(!1), a(null), document.removeEventListener("pointermove", h, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", p), window.removeEventListener("pointercancel", N), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", k);
2892
2892
  };
2893
2893
  }, [n]);
2894
2894
  }
@@ -2912,10 +2912,10 @@ function zl({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2912
2912
  window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", S), window.removeEventListener("pointercancel", S), document.body.style.cursor = te.cur, document.body.style.userSelect = te.sel, w.classList.remove("is-on"), l(A);
2913
2913
  };
2914
2914
  window.addEventListener("pointermove", j), window.addEventListener("pointerup", S), window.addEventListener("pointercancel", S);
2915
- }, g = s ? { display: "none" } : void 0;
2916
- return /* @__PURE__ */ h(_e, { children: [
2917
- /* @__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) }) }),
2918
- /* @__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 }) })
2915
+ }, h = s ? { display: "none" } : void 0;
2916
+ return /* @__PURE__ */ g(_e, { children: [
2917
+ /* @__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) }) }),
2918
+ /* @__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 }) })
2919
2919
  ] });
2920
2920
  }
2921
2921
  function Il(t) {
@@ -2928,13 +2928,13 @@ function Il(t) {
2928
2928
  s = 0;
2929
2929
  const d = getComputedStyle(e).display === "grid";
2930
2930
  [...e.children].forEach((u) => {
2931
- const g = u;
2931
+ const h = u;
2932
2932
  if (!d) {
2933
- g.style.gridRowEnd && (g.style.gridRowEnd = "");
2933
+ h.style.gridRowEnd && (h.style.gridRowEnd = "");
2934
2934
  return;
2935
2935
  }
2936
- const M = g.getBoundingClientRect().height, p = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2937
- g.style.gridRowEnd !== p && (g.style.gridRowEnd = p);
2936
+ const M = h.getBoundingClientRect().height, p = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2937
+ h.style.gridRowEnd !== p && (h.style.gridRowEnd = p);
2938
2938
  });
2939
2939
  }, a = () => {
2940
2940
  s || (s = requestAnimationFrame(r));
@@ -2951,8 +2951,8 @@ function Ol(t) {
2951
2951
  }
2952
2952
  const Cl = 1500, bl = 3e5;
2953
2953
  function xl(t) {
2954
- const e = At(), [n, s] = I(null), [r, a] = I(null), [o, l] = I(null), [c, d] = I(null), u = v(null), g = v(null), M = v(null), p = v(0), N = Xe(() => {
2955
- 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);
2954
+ const e = At(), [n, s] = I(null), [r, a] = I(null), [o, l] = I(null), [c, d] = I(null), u = v(null), h = v(null), M = v(null), p = v(0), N = Xe(() => {
2955
+ 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);
2956
2956
  }, []), w = Xe(() => {
2957
2957
  p.current += 1, N(), a(null), l(null);
2958
2958
  }, [N]), k = Xe(() => {
@@ -2999,8 +2999,8 @@ function xl(t) {
2999
2999
  }
3000
3000
  const te = await A.blob();
3001
3001
  if (p.current !== O) return;
3002
- l(null), g.current = URL.createObjectURL(te);
3003
- const j = new Audio(g.current);
3002
+ l(null), h.current = URL.createObjectURL(te);
3003
+ const j = new Audio(h.current);
3004
3004
  j.playsInline = !0;
3005
3005
  const S = () => {
3006
3006
  p.current === O && (N(), a(null));
@@ -3063,7 +3063,7 @@ function St(t, e, n) {
3063
3063
  const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
3064
3064
  return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3065
3065
  }
3066
- function Sl({ 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 }) {
3066
+ function Sl({ 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 }) {
3067
3067
  const p = v(null), [N, w] = I(!1);
3068
3068
  _(() => {
3069
3069
  if (!M) {
@@ -3074,10 +3074,10 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3074
3074
  return () => clearTimeout(H);
3075
3075
  }, [M]);
3076
3076
  const k = s && !N, m = v(!1), [f, O] = I(!1), D = (H, me = []) => {
3077
- var q, ve;
3077
+ var q, ke;
3078
3078
  if (!(m.current && (H === "pauseVideo" || H === "seekTo" || H === "setPlaybackRate")))
3079
3079
  try {
3080
- (ve = (q = p.current) == null ? void 0 : q.contentWindow) == null || ve.postMessage(JSON.stringify({ event: "command", func: H, args: me }), "*");
3080
+ (ke = (q = p.current) == null ? void 0 : q.contentWindow) == null || ke.postMessage(JSON.stringify({ event: "command", func: H, args: me }), "*");
3081
3081
  } catch {
3082
3082
  }
3083
3083
  }, b = v(null), W = v(!1), A = v(!1), te = v(!1), j = v(a);
@@ -3096,15 +3096,15 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3096
3096
  } else L.current && !S.current && (L.current = !1, Le.current || (q = j.current) == null || q.call(j));
3097
3097
  }, E = v(n);
3098
3098
  E.current = n;
3099
- const re = v(g);
3100
- re.current = g;
3099
+ const re = v(h);
3100
+ re.current = h;
3101
3101
  const V = v(null), C = v(null), [ue, P] = I(!0), [Z, le] = I(!1), ne = () => {
3102
3102
  D("unloadModule", ["captions"]), D("unloadModule", ["cc"]);
3103
3103
  }, ae = v([]), we = () => {
3104
3104
  ne(), ae.current.forEach(clearTimeout), ae.current = [400, 1200, 2500, 5e3].map((H) => window.setTimeout(ne, H));
3105
3105
  };
3106
3106
  _(() => () => ae.current.forEach(clearTimeout), []);
3107
- const ke = () => {
3107
+ const ve = () => {
3108
3108
  var H, me;
3109
3109
  try {
3110
3110
  (me = (H = p.current) == null ? void 0 : H.contentWindow) == null || me.postMessage(JSON.stringify({ event: "listening", id: "reader" }), "*");
@@ -3131,7 +3131,7 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3131
3131
  }, fe = () => V.current;
3132
3132
  return _(() => {
3133
3133
  const H = (me) => {
3134
- var He, Ae, Ue, he, Re, K, ie, de, ce, Ne, je, Y, U, F, ee, Me;
3134
+ var He, Ae, Ue, ge, Re, K, ie, de, ce, Ne, je, Y, U, F, ee, Me;
3135
3135
  if (me.source !== ((He = p.current) == null ? void 0 : He.contentWindow) || typeof me.data != "string") return;
3136
3136
  let q = null;
3137
3137
  try {
@@ -3140,8 +3140,8 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3140
3140
  return;
3141
3141
  }
3142
3142
  (Ue = (Ae = q == null ? void 0 : q.info) == null ? void 0 : Ae.videoData) != null && Ue.isLive && (W.current = !0);
3143
- const ve = (he = q == null ? void 0 : q.info) == null ? void 0 : he.duration;
3144
- typeof ve == "number" && ve > 0 && !W.current && (b.current == null ? b.current = ve : (A.current = Math.abs(ve - b.current) > 1.5, z())), (q == null ? void 0 : q.event) === "onReady" && ((!S.current || S.current.muted) && D("mute"), we(), (Re = S.current) == null || Re.onInfo({ ready: !0 })), typeof ((K = q == null ? void 0 : q.info) == null ? void 0 : K.playerState) == "number" && (q.info.playerState !== C.current && (q.info.playerState === 1 || q.info.playerState === 2) && we(), C.current = q.info.playerState, P(q.info.playerState !== 1 && q.info.playerState !== 3), (ie = S.current) == null || ie.onInfo({ state: q.info.playerState }));
3143
+ const ke = (ge = q == null ? void 0 : q.info) == null ? void 0 : ge.duration;
3144
+ typeof ke == "number" && ke > 0 && !W.current && (b.current == null ? b.current = ke : (A.current = Math.abs(ke - b.current) > 1.5, z())), (q == null ? void 0 : q.event) === "onReady" && ((!S.current || S.current.muted) && D("mute"), we(), (Re = S.current) == null || Re.onInfo({ ready: !0 })), typeof ((K = q == null ? void 0 : q.info) == null ? void 0 : K.playerState) == "number" && (q.info.playerState !== C.current && (q.info.playerState === 1 || q.info.playerState === 2) && we(), C.current = q.info.playerState, P(q.info.playerState !== 1 && q.info.playerState !== 3), (ie = S.current) == null || ie.onInfo({ state: q.info.playerState }));
3145
3145
  const Ce = (de = q == null ? void 0 : q.info) == null ? void 0 : de.progressState;
3146
3146
  if (Ce && typeof Ce.seekableStart == "number" && typeof Ce.seekableEnd == "number" && Ce.seekableEnd > Ce.seekableStart) {
3147
3147
  const be = Qe.current == null;
@@ -3174,24 +3174,24 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3174
3174
  if (!Z) return;
3175
3175
  let H = null, me = 0;
3176
3176
  const q = setInterval(() => {
3177
- const ve = V.current;
3178
- me = C.current === 1 && ve != null && H != null && Math.abs(ve - H) < 0.05 ? me + 1 : 0, H = ve;
3177
+ const ke = V.current;
3178
+ me = C.current === 1 && ke != null && H != null && Math.abs(ke - H) < 0.05 ? me + 1 : 0, H = ke;
3179
3179
  const Ce = me >= 3;
3180
3180
  Ce !== te.current && (te.current = Ce, z());
3181
3181
  }, 1e3);
3182
3182
  return () => clearInterval(q);
3183
- }, [Z]), /* @__PURE__ */ h("div", { className: `txyt${f ? " txyt--ad" : ""}`, children: [
3184
- /* @__PURE__ */ i("iframe", { ref: p, onLoad: ke, 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" }),
3183
+ }, [Z]), /* @__PURE__ */ g("div", { className: `txyt${f ? " txyt--ad" : ""}`, children: [
3184
+ /* @__PURE__ */ i("iframe", { ref: p, onLoad: ve, 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" }),
3185
3185
  !f && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
3186
3186
  /* @__PURE__ */ i("div", { className: `txyt__paused${ue && !f && !B ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(vs, { size: 44 }) }) }),
3187
3187
  f && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
3188
- B && /* @__PURE__ */ h("div", { className: "txyt__gone", children: [
3188
+ B && /* @__PURE__ */ g("div", { className: "txyt__gone", children: [
3189
3189
  /* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
3190
3190
  /* @__PURE__ */ i("small", { children: "A live stream can be rewound only 12 hours" })
3191
3191
  ] })
3192
3192
  ] });
3193
3193
  }
3194
- const Al = /* @__PURE__ */ h(_e, { children: [
3194
+ const Al = /* @__PURE__ */ g(_e, { children: [
3195
3195
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
3196
3196
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
3197
3197
  ] }), El = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
@@ -3212,10 +3212,10 @@ function Ql(t, e) {
3212
3212
  const s = v(0), r = v(1), a = Xe((o, l) => {
3213
3213
  cancelAnimationFrame(s.current);
3214
3214
  const c = r.current, d = performance.now(), u = () => {
3215
- const g = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
3216
- r.current = c + (o - c) * g;
3215
+ const h = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
3216
+ r.current = c + (o - c) * h;
3217
3217
  for (const M of n.current) M.setVolume(r.current);
3218
- g < 1 && (s.current = requestAnimationFrame(u));
3218
+ h < 1 && (s.current = requestAnimationFrame(u));
3219
3219
  };
3220
3220
  u();
3221
3221
  }, []);
@@ -3228,7 +3228,7 @@ function Ql(t, e) {
3228
3228
  }
3229
3229
  function $l(t, e, n, s) {
3230
3230
  var Oe;
3231
- const r = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [d, u] = I(!0), g = v(!0), M = v(!1), [p, N] = I(0), w = v(0);
3231
+ const r = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [d, u] = I(!0), h = v(!0), M = v(!1), [p, N] = I(0), w = v(0);
3232
3232
  w.current = p;
3233
3233
  const k = v({ t: 0, at: 0 }), m = v(n);
3234
3234
  m.current = n;
@@ -3251,7 +3251,7 @@ function $l(t, e, n, s) {
3251
3251
  }
3252
3252
  }
3253
3253
  }), []);
3254
- $.muted = g.current || M.current, _(() => {
3254
+ $.muted = h.current || M.current, _(() => {
3255
3255
  if (l !== 1) return;
3256
3256
  let G = 0;
3257
3257
  const B = () => {
@@ -3307,11 +3307,11 @@ function $l(t, e, n, s) {
3307
3307
  }, we = (G) => {
3308
3308
  const B = t[Math.max(0, Math.min(t.length - 1, G))];
3309
3309
  B && C(B.start);
3310
- }, ke = v(!1), Qe = () => {
3311
- const G = g.current || M.current;
3310
+ }, ve = v(!1), Qe = () => {
3311
+ const G = h.current || M.current;
3312
3312
  $.muted = G, A(G ? "mute" : "unMute");
3313
3313
  }, ye = (G) => {
3314
- g.current = G, u(G), Qe();
3314
+ h.current = G, u(G), Qe();
3315
3315
  }, Le = (G) => {
3316
3316
  M.current !== !G && (M.current = !G, Qe());
3317
3317
  };
@@ -3337,9 +3337,9 @@ function $l(t, e, n, s) {
3337
3337
  toggle: ae,
3338
3338
  seekRow: we,
3339
3339
  toggleMute: () => {
3340
- const G = !g.current;
3340
+ const G = !h.current;
3341
3341
  ye(G), !G && !M.current && j.current === 1 && setTimeout(() => {
3342
- j.current === 2 && !g.current && (ye(!0), A("playVideo"));
3342
+ j.current === 2 && !h.current && (ye(!0), A("playVideo"));
3343
3343
  }, 900);
3344
3344
  },
3345
3345
  seekFrac: (G) => C(Math.max(0, Math.min(1, G)) * z),
@@ -3354,10 +3354,10 @@ function $l(t, e, n, s) {
3354
3354
  prev: () => we(E - 1),
3355
3355
  next: () => we(E + 1),
3356
3356
  hold: () => {
3357
- te && (A("pauseVideo"), ke.current = !0);
3357
+ te && (A("pauseVideo"), ve.current = !0);
3358
3358
  },
3359
3359
  release: () => {
3360
- ke.current && (ke.current = !1, le());
3360
+ ve.current && (ve.current = !1, le());
3361
3361
  },
3362
3362
  error: null,
3363
3363
  clearError: () => {
@@ -3371,8 +3371,8 @@ function $l(t, e, n, s) {
3371
3371
  }
3372
3372
  function Bl(t, e, n, s, r = 0, a = null) {
3373
3373
  var X;
3374
- const o = v(null), [l, c] = I(!1), [d, u] = I(0), [g, M] = I(!1), p = v(g);
3375
- p.current = g;
3374
+ const o = v(null), [l, c] = I(!1), [d, u] = I(0), [h, M] = I(!1), p = v(h);
3375
+ p.current = h;
3376
3376
  const N = v(!1), [w, k] = I(null), [m, f] = I(!1), O = v(r);
3377
3377
  O.current = r;
3378
3378
  const D = v(null), [b, W] = I(0);
@@ -3471,7 +3471,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
3471
3471
  }, ae = (y) => {
3472
3472
  const R = n[Math.max(0, Math.min(n.length - 1, y))];
3473
3473
  R && Z(R.start);
3474
- }, we = (y) => Z(Math.max(0, Math.min(1, y)) * j), ke = (y) => {
3474
+ }, we = (y) => Z(Math.max(0, Math.min(1, y)) * j), ve = (y) => {
3475
3475
  const R = Tn(y, n, j);
3476
3476
  Z(R.t);
3477
3477
  const fe = o.current;
@@ -3517,7 +3517,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
3517
3517
  t: d,
3518
3518
  idx: C,
3519
3519
  dur: j,
3520
- muted: g,
3520
+ muted: h,
3521
3521
  toggleMute: () => {
3522
3522
  const y = !p.current;
3523
3523
  p.current = y, o.current && (o.current.muted = y || N.current), M(y);
@@ -3525,7 +3525,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
3525
3525
  toggle: ne,
3526
3526
  seekRow: ae,
3527
3527
  seekFrac: we,
3528
- resumeAt: ke,
3528
+ resumeAt: ve,
3529
3529
  seekWord: Qe,
3530
3530
  playRow: ye,
3531
3531
  seekN: ue,
@@ -3564,7 +3564,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
3564
3564
  function Hl(t, e, n, s, r, a, o = !1, l) {
3565
3565
  const c = v(/* @__PURE__ */ new Set());
3566
3566
  c.current = l ?? c.current;
3567
- const d = v(null), [u, g] = I(!1), [M, p] = I(0), [N, w] = I(0), [k, m] = I(!1), f = v(k);
3567
+ const d = v(null), [u, h] = I(!1), [M, p] = I(0), [N, w] = I(0), [k, m] = I(!1), f = v(k);
3568
3568
  f.current = k;
3569
3569
  const [O, D] = I(null), [b, W] = I(null), [A, te] = I(null), [j, S] = I(null), $ = v(j);
3570
3570
  $.current = j;
@@ -3574,15 +3574,15 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3574
3574
  le.current = o, d.current && (d.current.flow = o);
3575
3575
  const ae = v(null), we = v(r);
3576
3576
  we.current = r;
3577
- const ke = v(a);
3578
- ke.current = a;
3577
+ const ve = v(a);
3578
+ ve.current = a;
3579
3579
  const Qe = Xe((Y) => {
3580
3580
  Y.finite = !0, Y.coming = (U) => c.current.has(U), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (U) => W(U), Y.onStarting = (U) => te(U), Y.onSentence = (U) => {
3581
- if (g(Y.playing), U == null) return;
3581
+ if (h(Y.playing), U == null) return;
3582
3582
  const F = Z.current.findIndex((ee) => ee.sentenceId === U);
3583
3583
  F >= 0 && p(F);
3584
3584
  }, Y.onError = (U) => {
3585
- g(Y.playing), D(U instanceof ci ? { 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
+ h(Y.playing), D(U instanceof ci ? { 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." });
3586
3586
  }, Y.gapBefore = (U, F) => {
3587
3587
  if (!le.current) return 0;
3588
3588
  const ee = Z.current, Me = ee.find((xe) => xe.sentenceId === U), be = ee.find((xe) => xe.sentenceId === F);
@@ -3615,7 +3615,7 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3615
3615
  var F;
3616
3616
  if (ye.current !== s) {
3617
3617
  const ee = ye.current != null ? Le.current : null;
3618
- ye.current = s, (F = d.current) == null || F.stop(), d.current = new Ms(), Qe(d.current), d.current.setSequence(ne.current), g(!1), p(0), D(null), te(null), S(null), B(ee && (ee.playing || ee.t > 0) ? ee : null);
3618
+ ye.current = s, (F = d.current) == null || F.stop(), d.current = new Ms(), Qe(d.current), d.current.setSequence(ne.current), h(!1), p(0), D(null), te(null), S(null), B(ee && (ee.playing || ee.t > 0) ? ee : null);
3619
3619
  }
3620
3620
  const Y = d.current;
3621
3621
  Y.setMuted(f.current);
@@ -3643,7 +3643,7 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3643
3643
  P(!!(F != null && F.silent)), F != null && F.silent && $.current && ($.current = null, S(null)), re((xe) => F == null ? null : xe != null && Math.abs(xe - F.s) < 0.05 ? xe : F.s);
3644
3644
  const ee = $.current;
3645
3645
  F == null ? C(null) : ee && ee.sid === F.sentenceId && (C(ee.t), $.current = null, S(null));
3646
- const Me = ((ze = d.current) == null ? void 0 : ze.position()) ?? null, be = Me && ke.current ? ke.current[String(Me.sentenceId)] ?? null : null;
3646
+ const Me = ((ze = d.current) == null ? void 0 : ze.position()) ?? null, be = Me && ve.current ? ve.current[String(Me.sentenceId)] ?? null : null;
3647
3647
  ee && Me && Me.sentenceId === ee.sid && Me.t > 0.1 && S(null), z((xe) => Me ? xe && Math.abs(xe.t - Me.t) < 0.05 && xe.dur === Me.dur && xe.words === be ? xe : { t: Me.t, dur: Me.dur, words: be } : xe == null ? xe : null);
3648
3648
  };
3649
3649
  Y();
@@ -3657,18 +3657,18 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3657
3657
  }, me = (Y, U) => {
3658
3658
  for (let F = Y; F >= 0 && F < e.length; F += U) if (H(F)) return F;
3659
3659
  return null;
3660
- }, q = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), ve = e.length ? e[e.length - 1].start + 4 : 0, Ce = n || ve || 1, He = v(!1), Ae = v(M);
3660
+ }, q = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), ke = e.length ? e[e.length - 1].start + 4 : 0, Ce = n || ke || 1, He = v(!1), Ae = v(M);
3661
3661
  Ae.current = M;
3662
3662
  const Ue = (Y) => {
3663
3663
  var U, F, ee;
3664
- (F = d.current) == null || F.play(((U = e[Y]) == null ? void 0 : U.sentenceId) ?? null), g(!!((ee = d.current) != null && ee.playing));
3665
- }, he = (Y) => {
3664
+ (F = d.current) == null || F.play(((U = e[Y]) == null ? void 0 : U.sentenceId) ?? null), h(!!((ee = d.current) != null && ee.playing));
3665
+ }, ge = (Y) => {
3666
3666
  var F, ee, Me;
3667
3667
  const U = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
3668
- p(U), Ae.current = U, w((be) => be + 1), (ee = d.current) == null || ee.seek(((F = e[U]) == null ? void 0 : F.sentenceId) ?? null), g(!!((Me = d.current) != null && Me.playing));
3668
+ p(U), Ae.current = U, w((be) => be + 1), (ee = d.current) == null || ee.seek(((F = e[U]) == null ? void 0 : F.sentenceId) ?? null), h(!!((Me = d.current) != null && Me.playing));
3669
3669
  }, Re = (Y) => {
3670
3670
  var U;
3671
- X(), S(null), (U = d.current) == null || U.startWithin(-1, 0), he(Y);
3671
+ X(), S(null), (U = d.current) == null || U.startWithin(-1, 0), ge(Y);
3672
3672
  }, K = (Y) => {
3673
3673
  var Me;
3674
3674
  const U = e[Y], F = (U == null ? void 0 : U.start) ?? 0, ee = ((Me = e[Y + 1]) == null ? void 0 : Me.start) ?? St(U, F, Ce);
@@ -3708,24 +3708,24 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3708
3708
  return;
3709
3709
  }
3710
3710
  if (X(), u) {
3711
- (U = d.current) == null || U.pause(), g(!1);
3711
+ (U = d.current) == null || U.pause(), h(!1);
3712
3712
  return;
3713
3713
  }
3714
3714
  D(null);
3715
3715
  const Y = Ae.current;
3716
3716
  if (!$.current && ((ee = d.current) != null && ee.resume(((F = e[Y]) == null ? void 0 : F.sentenceId) ?? null))) {
3717
- g(!0);
3717
+ h(!0);
3718
3718
  return;
3719
3719
  }
3720
3720
  Ue(Y);
3721
3721
  },
3722
3722
  pause: () => {
3723
3723
  var Y;
3724
- X(), (Y = d.current) == null || Y.pause(), g(!1);
3724
+ X(), (Y = d.current) == null || Y.pause(), h(!1);
3725
3725
  },
3726
3726
  stop: () => {
3727
3727
  var Y, U, F;
3728
- X(), (Y = d.current) == null || Y.pause(), g(!1), p(0), z(null), (F = d.current) == null || F.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
3728
+ X(), (Y = d.current) == null || Y.pause(), h(!1), p(0), z(null), (F = d.current) == null || F.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
3729
3729
  },
3730
3730
  seekRow: Re,
3731
3731
  resumeAt: (Y) => {
@@ -3742,25 +3742,25 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3742
3742
  const We = Me ? F : F + 1, Pe = e[We];
3743
3743
  (rt = d.current) == null || rt.startWithin(-1, 0);
3744
3744
  const lt = { t: U, sid: Pe.sentenceId ?? null };
3745
- $.current = lt, S(lt), he(We);
3745
+ $.current = lt, S(lt), ge(We);
3746
3746
  return;
3747
3747
  }
3748
3748
  const be = (ee == null ? void 0 : ee.sentenceId) ?? null, { from: Te, span: ze } = K(F);
3749
3749
  let xe = ze > 0 ? Math.max(0, Math.min(1, (U - Te) / ze)) : 0;
3750
- const Ze = be != null ? (ot = ke.current) == null ? void 0 : ot[String(be)] : void 0, $e = Ze != null && Ze.length ? Ze[Ze.length - 1][1] : 0;
3750
+ const Ze = be != null ? (ot = ve.current) == null ? void 0 : ot[String(be)] : void 0, $e = Ze != null && Ze.length ? Ze[Ze.length - 1][1] : 0;
3751
3751
  if (ee && Ze && Ze.length === ee.words.length && $e > 0) {
3752
3752
  let We = 0;
3753
3753
  for (let Ve = 0; Ve < ee.words.length; Ve++) ee.words[Ve].start <= U && (We = Ve);
3754
3754
  const Pe = ee.words[We], lt = Pe.end > Pe.start ? Math.max(0, Math.min(1, (U - Pe.start) / (Pe.end - Pe.start))) : 0;
3755
3755
  xe = Math.min(1, (Ze[We][0] + lt * (Ze[We][1] - Ze[We][0])) / $e);
3756
3756
  }
3757
- be != null && ((dt = d.current) == null || dt.startWithin(be, xe)), S(xe > 0.01 ? { t: U, sid: be } : null), he(F);
3757
+ be != null && ((dt = d.current) == null || dt.startWithin(be, xe)), S(xe > 0.01 ? { t: U, sid: be } : null), ge(F);
3758
3758
  },
3759
3759
  seekWord: a ? (Y) => {
3760
3760
  var Me, be, Te, ze;
3761
3761
  const U = e[q];
3762
3762
  if (!U || U.sentenceId == null) return;
3763
- const F = U.words.findIndex((xe) => xe.seq === Y.seq && xe.idx === Y.idx), ee = F >= 0 ? (Te = (be = (Me = ke.current) == null ? void 0 : Me[String(U.sentenceId)]) == null ? void 0 : be[F]) == null ? void 0 : Te[0] : void 0;
3763
+ const F = U.words.findIndex((xe) => xe.seq === Y.seq && xe.idx === Y.idx), ee = F >= 0 ? (Te = (be = (Me = ve.current) == null ? void 0 : Me[String(U.sentenceId)]) == null ? void 0 : be[F]) == null ? void 0 : Te[0] : void 0;
3764
3764
  ee != null && ((ze = d.current) == null || ze.seekWithin(ee));
3765
3765
  } : void 0,
3766
3766
  playRow: (Y) => {
@@ -3796,7 +3796,7 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3796
3796
  if (U == null) return;
3797
3797
  p(Y), Ae.current = Y, S(null), $.current = null, (Me = d.current) == null || Me.joinSilently(U);
3798
3798
  const F = ((be = d.current) == null ? void 0 : be.resting()) ?? null;
3799
- re((F == null ? void 0 : F.s) ?? null), P(!!(F != null && F.silent)), g(!!((Te = d.current) != null && Te.playing));
3799
+ re((F == null ? void 0 : F.s) ?? null), P(!!(F != null && F.silent)), h(!!((Te = d.current) != null && Te.playing));
3800
3800
  }
3801
3801
  return Ne.joinAt = o ? (Y) => {
3802
3802
  X(), je(Tn({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, Ce).index);
@@ -3812,17 +3812,17 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
3812
3812
  }
3813
3813
  const Vl = () => {
3814
3814
  }, Wl = "The language this recording is read aloud in.", Fl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3815
- function Gl({ 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: p = !1, stockVoices: N = !1, stickyPicker: w = !1, pickerBusy: k = null, voiceSheet: m, forcedVoice: f = null }) {
3815
+ function Gl({ 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: p = !1, stockVoices: N = !1, stickyPicker: w = !1, pickerBusy: k = null, voiceSheet: m, forcedVoice: f = null }) {
3816
3816
  var sn, rn, Ft, Gt;
3817
- const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: te, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [re, V] = gi(), [C, ue] = I(null), [P, Z] = I(!1), [le, ne] = I(!1), [ae, we] = I(!1), [ke, Qe] = I(!1), ye = d ?? l, Le = d === null, Se = d != null || C != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(Le ? l : ye) ? Le ? l : ye : "en", G = xl(Oe), B = (m == null ? void 0 : m.cloneOn) ?? !0, [X, y] = I(0), R = v(B);
3817
+ const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: te, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [re, V] = hi(), [C, ue] = I(null), [P, Z] = I(!1), [le, ne] = I(!1), [ae, we] = I(!1), [ve, Qe] = I(!1), ye = d ?? l, Le = d === null, Se = d != null || C != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(Le ? l : ye) ? Le ? l : ye : "en", G = xl(Oe), B = (m == null ? void 0 : m.cloneOn) ?? !0, [X, y] = I(0), R = v(B);
3818
3818
  _(() => {
3819
3819
  R.current !== B && (R.current = B, y((Q) => Q + 1));
3820
3820
  }, [B]);
3821
- const fe = ul(Oe, Se || r || le, dl(e) * 1e3 + X, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((fe == null ? void 0 : fe.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [fe, z]), me = H.length > 1, q = ys(o, ye), ve = ki(), Ce = Ie(() => hi(o, "translation"), [o]), [He, Ae] = I(null), [Ue] = I(() => /* @__PURE__ */ new Set()), [he, Re] = I({}), K = Ie(() => il(n, e, ve.vcUnknownSpk), [n, e, ve]), ie = me && K.filter((Q) => Q.key >= 0).length > 1, de = He != null && K.some((Q) => Q.key === He) ? He : ((sn = K[0]) == null ? void 0 : sn.key) ?? null, ce = Ie(() => {
3821
+ const fe = ul(Oe, Se || r || le, dl(e) * 1e3 + X, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((fe == null ? void 0 : fe.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [fe, z]), me = H.length > 1, q = ys(o, ye), ke = ki(), Ce = Ie(() => gi(o, "translation"), [o]), [He, Ae] = I(null), [Ue] = I(() => /* @__PURE__ */ new Set()), [ge, Re] = I({}), K = Ie(() => il(n, e, ke.vcUnknownSpk), [n, e, ke]), ie = me && K.filter((Q) => Q.key >= 0).length > 1, de = He != null && K.some((Q) => Q.key === He) ? He : ((sn = K[0]) == null ? void 0 : sn.key) ?? null, ce = Ie(() => {
3822
3822
  const Q = Zr(K, H, B);
3823
- for (const [De, Fe] of Object.entries(he[Oe ?? ""] ?? {})) Q.set(Number(De), Fe);
3823
+ for (const [De, Fe] of Object.entries(ge[Oe ?? ""] ?? {})) Q.set(Number(De), Fe);
3824
3824
  return Q;
3825
- }, [K, H, he, Oe, B]), Ne = ie && Object.keys(he[Oe ?? ""] ?? {}).length > 0, je = Ie(() => N && !Ne ? Zr(K, H, !1) : null, [N, Ne, K, H]), Y = Ie(() => Ne ? Fr(ce) || null : je && Fr(je) || null, [Ne, ce, je]), U = Ne ? ce : je, F = H.some((Q) => Q.cloned && Q.consent !== "pending"), ee = !!ye && !!(o != null && o.voice.includes(ye)), Me = ee && !M, be = Ie(
3825
+ }, [K, H, ge, Oe, B]), Ne = ie && Object.keys(ge[Oe ?? ""] ?? {}).length > 0, je = Ie(() => N && !Ne ? Zr(K, H, !1) : null, [N, Ne, K, H]), Y = Ie(() => Ne ? Fr(ce) || null : je && Fr(je) || null, [Ne, ce, je]), U = Ne ? ce : je, F = H.some((Q) => Q.cloned && Q.consent !== "pending"), ee = !!ye && !!(o != null && o.voice.includes(ye)), Me = ee && !M, be = Ie(
3826
3826
  () => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
3827
3827
  [n]
3828
3828
  ), Te = Ml({ recordingId: t, lang: ye, ended: r, cred: a, pickedVoice: f || (Y ?? C), sentenceIds: r && Me ? be : void 0 }), ze = H.find((Q) => Q.id === C) ?? H.find((Q) => {
@@ -3840,8 +3840,8 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3840
3840
  const Q = (De = n[$e.idx]) == null ? void 0 : De.sentenceId;
3841
3841
  Q != null && Te.setNear(Q);
3842
3842
  }, [$e.idx]), _(() => {
3843
- !ke || !$e.has || (Qe(!1), $e.playing || $e.toggle());
3844
- }, [ke, $e.has]);
3843
+ !ve || !$e.has || (Qe(!1), $e.playing || $e.toggle());
3844
+ }, [ve, $e.has]);
3845
3845
  const rt = Te.rendering, ot = rt ? null : Te.failed ?? null, dt = !1, We = Se && Me, Pe = Se && !Le && Me && !(Te.listed && Te.listed.lang === ye && Te.listed.recordingId === t), lt = {
3846
3846
  ...$e,
3847
3847
  has: $e.has || We && r,
@@ -3855,7 +3855,7 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3855
3855
  }, Ve = () => Z(!0), mt = () => {
3856
3856
  Z(!1), ne(ae), we(!1);
3857
3857
  }, Mt = (Q) => {
3858
- if (u(Q), V(Q), !((g || w) && !ae)) {
3858
+ if (u(Q), V(Q), !((h || w) && !ae)) {
3859
3859
  if (Q != null) {
3860
3860
  mt();
3861
3861
  return;
@@ -3885,7 +3885,7 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3885
3885
  return;
3886
3886
  }
3887
3887
  ue(Q);
3888
- }, st = Le ? { ...ys(o, null), flag: /* @__PURE__ */ i(oe, { d: J.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : q, Cn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: Ot ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: en, flagOnly: !0, label: st.label }) }) : /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: Ve, flagOnly: !0, label: st.label }) : null, tn = J.voiceClone, Ke = Se && (!!Te.track || rt), gt = ot ? "var(--conf-low)" : Ke || g && x ? "var(--brand)" : "var(--ink-55)", Ct = rt || !!$e.preparing && Se, yt = $e.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : rt ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : ot ? `This voice could not be prepared: ${ot}` : ee ? me ? "Choose a voice" : ze ? ze.name : ve.vcNoVoice + q.label : `${ve.vcNoVoice}${q.label}`, Tt = /* @__PURE__ */ i(Qa, { open: P, onClose: mt, keepOpen: (!!g || w) && !ae, value: Le ? null : ye, onSelect: Mt, languages: Ce, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Wl, searchPlaceholder: ve.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re, requireVoice: ae, sticky: w, busy: k }), Yt = Ie(() => H.filter((Q) => Q.cloned && !Q.auto), [H]), bt = (Q) => Q.voiceId ? Yt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, ct = Ie(() => K.filter((Q) => Q.key >= 0), [K]), Ht = Ie(() => {
3888
+ }, st = Le ? { ...ys(o, null), flag: /* @__PURE__ */ i(oe, { d: J.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : q, Cn = c ? h ? /* @__PURE__ */ i("span", { className: "barchip", style: Ot ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: en, flagOnly: !0, label: st.label }) }) : /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: Ve, flagOnly: !0, label: st.label }) : null, tn = J.voiceClone, Ke = Se && (!!Te.track || rt), ht = ot ? "var(--conf-low)" : Ke || h && x ? "var(--brand)" : "var(--ink-55)", Ct = rt || !!$e.preparing && Se, yt = $e.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : rt ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : ot ? `This voice could not be prepared: ${ot}` : ee ? me ? "Choose a voice" : ze ? ze.name : ke.vcNoVoice + q.label : `${ke.vcNoVoice}${q.label}`, Tt = /* @__PURE__ */ i(Qa, { open: P, onClose: mt, keepOpen: (!!h || w) && !ae, value: Le ? null : ye, onSelect: Mt, languages: Ce, title: (h == null ? void 0 : h.title) ?? "SPOKEN LANGUAGE", note: (h == null ? void 0 : h.note) ?? Wl, searchPlaceholder: ke.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re, requireVoice: ae, sticky: w, busy: k }), Yt = Ie(() => H.filter((Q) => Q.cloned && !Q.auto), [H]), bt = (Q) => Q.voiceId ? Yt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, ct = Ie(() => K.filter((Q) => Q.key >= 0), [K]), Ht = Ie(() => {
3889
3889
  const Q = H.filter((Fe) => !Fe.cloned);
3890
3890
  if (!ie) return [...Q, ...r && ct.length === 1 ? Yt.filter((Fe) => Fe.id === `clone:${ct[0].voiceId}`) : []];
3891
3891
  const De = [];
@@ -3898,26 +3898,26 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3898
3898
  }, [H, Yt, ie, ct, E, r]), it = ie ? ct.find((Q) => Q.key === de) ?? null : null, jt = (Q) => {
3899
3899
  var De;
3900
3900
  return Q ? ((De = H.find((Fe) => Fe.id === Q)) == null ? void 0 : De.gender) ?? null : null;
3901
- }, qe = it ? it.sex ?? jt(ce.get(it.key)) : null, _t = Ie(() => it ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Ht, [Ht, it, qe, ct]), Vt = (Q) => H.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, ht = { people: ct, gvList: H, autoOf: Vt, savedFor: bt }, Je = ($ == null ? void 0 : $(ht)) ?? 0, Wt = S ? ct.map((Q) => S(Q, ht)).filter((Q) => !!Q) : [], xt = /* @__PURE__ */ h("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? x : void 0, title: Ct || ot ? yt : void 0, style: { cursor: "pointer", background: Ke || Ct || g && x ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && x ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? vt : Bt, children: [
3902
- Ct ? /* @__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(oe, { d: tn, size: 17, sw: 1.6, style: { color: gt } }),
3901
+ }, qe = it ? it.sex ?? jt(ce.get(it.key)) : null, _t = Ie(() => it ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Ht, [Ht, it, qe, ct]), Vt = (Q) => H.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, gt = { people: ct, gvList: H, autoOf: Vt, savedFor: bt }, Je = ($ == null ? void 0 : $(gt)) ?? 0, Wt = S ? ct.map((Q) => S(Q, gt)).filter((Q) => !!Q) : [], xt = /* @__PURE__ */ g("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": h ? x : void 0, title: Ct || ot ? yt : void 0, style: { cursor: "pointer", background: Ke || Ct || h && x ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: h && x ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: h ? vt : Bt, children: [
3902
+ Ct ? /* @__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(oe, { d: tn, size: 17, sw: 1.6, style: { color: ht } }),
3903
3903
  Wt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: Wt.join(" · "), children: "!" }) : !!Je && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${Je} speaker${Je === 1 ? "" : "s"} can get a cloned voice`, children: Je })
3904
- ] }), nn = /* @__PURE__ */ i($t, { open: le, onClose: se, title: ve.vcSheet, titleNode: L, doneLabel: ve.done, children: /* @__PURE__ */ i(
3904
+ ] }), nn = /* @__PURE__ */ i($t, { open: le, onClose: se, title: ke.vcSheet, titleNode: L, doneLabel: ke.done, children: /* @__PURE__ */ i(
3905
3905
  ol,
3906
3906
  {
3907
- t: ve,
3907
+ t: ke,
3908
3908
  cast: ie && /* @__PURE__ */ i(
3909
3909
  al,
3910
3910
  {
3911
- t: ve,
3911
+ t: ke,
3912
3912
  roster: K,
3913
3913
  selected: de,
3914
3914
  onSelect: (Q) => {
3915
3915
  G.reset(), Ae(Q), b == null || b(Q);
3916
3916
  },
3917
- noClone: (Q) => !!(A != null && A(Q, ht)),
3918
- short: (Q) => !!(te != null && te(Q, ht)),
3919
- warn: (Q) => (S == null ? void 0 : S(Q, ht)) ?? null,
3920
- building: (Q) => !bt(Q) && (H.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(j != null && j(Q, ht))),
3917
+ noClone: (Q) => !!(A != null && A(Q, gt)),
3918
+ short: (Q) => !!(te != null && te(Q, gt)),
3919
+ warn: (Q) => (S == null ? void 0 : S(Q, gt)) ?? null,
3920
+ building: (Q) => !bt(Q) && (H.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(j != null && j(Q, gt))),
3921
3921
  sexOf: (Q) => Q.sex ?? jt(ce.get(Q.key))
3922
3922
  }
3923
3923
  ),
@@ -3925,7 +3925,7 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3925
3925
  onAdd: (Q) => {
3926
3926
  G.reset(), O == null || O(Q);
3927
3927
  },
3928
- noClone: it && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(it, Vt(it.key), ht)) ?? null : null,
3928
+ noClone: it && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(it, Vt(it.key), gt)) ?? null : null,
3929
3929
  usedBy: ie && de != null ? (Q) => {
3930
3930
  const De = K.filter((Fe) => Fe.key !== de && ce.get(Fe.key) === Q.id);
3931
3931
  return De.length ? De.map((Fe) => Fe.name).join(", ") : null;
@@ -3949,12 +3949,12 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3949
3949
  },
3950
3950
  onUse: Et
3951
3951
  }
3952
- ) }), bn = g ? null : /* @__PURE__ */ h(_e, { children: [
3952
+ ) }), bn = h ? null : /* @__PURE__ */ g(_e, { children: [
3953
3953
  Tt,
3954
3954
  nn
3955
- ] }), zt = g && (P || le) ? /* @__PURE__ */ i("div", { className: "vs-side", children: P ? Tt : nn }) : null, xn = We && ot ? `This voice could not be prepared: ${ot}` : null, Dn = dt;
3955
+ ] }), zt = h && (P || le) ? /* @__PURE__ */ i("div", { className: "vs-side", children: P ? Tt : nn }) : null, xn = We && ot ? `This voice could not be prepared: ${ot}` : null, Dn = dt;
3956
3956
  return {
3957
- barChip: { flag: st.flag, code: st.code, label: st.label, onClick: g || w ? en : Ve, active: !!((g || w) && Ot), can: c },
3957
+ barChip: { flag: st.flag, code: st.code, label: st.label, onClick: h || w ? en : Ve, active: !!((h || w) && Ot), can: c },
3958
3958
  sheetsOpen: P || le,
3959
3959
  on: We,
3960
3960
  player: lt,
@@ -4000,15 +4000,15 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
4000
4000
  closePicker: () => {
4001
4001
  Ot && mt();
4002
4002
  },
4003
- langList: { value: Le ? null : ye, onSelect: Mt, languages: Ce, searchPlaceholder: ve.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re }
4003
+ langList: { value: Le ? null : ye, onSelect: Mt, languages: Ce, searchPlaceholder: ke.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re }
4004
4004
  };
4005
4005
  }
4006
- function Zl({ 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: p, running: N, desk: w, feedRef: k, listener: m, showLabels: f, find: O, findOpen: D, lang: b, warm: W, onVisible: A, wordHl: te = !0 }) {
4006
+ function Zl({ 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: p, running: N, desk: w, feedRef: k, listener: m, showLabels: f, find: O, findOpen: D, lang: b, warm: W, onVisible: A, wordHl: te = !0 }) {
4007
4007
  const { playing: j, engaged: S, t: $, idx: L, seekN: z, wordSync: E, clipPos: re } = n;
4008
4008
  wl(!0, k);
4009
4009
  const V = v(null);
4010
4010
  Zo(k, V);
4011
- const [C, ue] = I(null), P = (O ?? "").trim().toLowerCase(), [Z, le] = I(0), ne = v(0), ae = v(null), we = v(L), ke = (B) => {
4011
+ const [C, ue] = I(null), P = (O ?? "").trim().toLowerCase(), [Z, le] = I(0), ne = v(0), ae = v(null), we = v(L), ve = (B) => {
4012
4012
  var X;
4013
4013
  return ((X = k.current) == null ? void 0 : X.querySelector(`[data-tx-row="${B}"]`)) ?? null;
4014
4014
  }, Qe = v("");
@@ -4017,9 +4017,9 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4017
4017
  if (!B || !A) return;
4018
4018
  const X = () => {
4019
4019
  const H = B.getBoundingClientRect(), me = [];
4020
- for (const ve of Array.from(B.querySelectorAll("[data-sentence]"))) {
4021
- const Ce = ve.getBoundingClientRect();
4022
- Ce.bottom > H.top && Ce.top < H.bottom && me.push(Number(ve.dataset.sentence));
4020
+ for (const ke of Array.from(B.querySelectorAll("[data-sentence]"))) {
4021
+ const Ce = ke.getBoundingClientRect();
4022
+ Ce.bottom > H.top && Ce.top < H.bottom && me.push(Number(ke.dataset.sentence));
4023
4023
  }
4024
4024
  const q = me.join(",");
4025
4025
  q !== Qe.current && (Qe.current = q, A(me));
@@ -4033,29 +4033,29 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4033
4033
  };
4034
4034
  }, [e, A, k]);
4035
4035
  const ye = (B) => {
4036
- const X = k.current, y = ke(B);
4036
+ const X = k.current, y = ve(B);
4037
4037
  if (!X || !y) return;
4038
4038
  const R = y.getBoundingClientRect().top - X.getBoundingClientRect().top + X.scrollTop, fe = X.scrollHeight - X.clientHeight, H = is(X), me = Math.max(80, X.clientHeight - H.top - H.bottom), q = y.offsetHeight > me ? 8 : (me - y.offsetHeight) / 2;
4039
4039
  X.scrollTop = Math.max(0, Math.min(fe, R - H.top - q));
4040
4040
  }, Le = (B) => {
4041
- const X = k.current, y = ke(B);
4041
+ const X = k.current, y = ve(B);
4042
4042
  if (!X || !X.clientHeight || !X.offsetParent || !y) return 0;
4043
4043
  const R = y.getBoundingClientRect(), fe = X.getBoundingClientRect(), H = is(X), me = fe.top + H.top, q = fe.bottom - H.bottom;
4044
4044
  return R.height > q - me ? R.top < me - 4 ? -1 : R.top > q - 60 ? 1 : 0 : R.bottom < me + 10 ? -1 : R.bottom > q - 4 ? 1 : 0;
4045
4045
  }, Se = (B) => {
4046
4046
  ne.current = performance.now() + 420;
4047
- const X = k.current, y = ke(B);
4047
+ const X = k.current, y = ve(B);
4048
4048
  if (!X || !X.clientHeight || !y) return;
4049
- const R = y.getBoundingClientRect(), fe = X.getBoundingClientRect(), H = X.scrollHeight - X.clientHeight, me = X.scrollTop, q = is(X), ve = Math.max(80, X.clientHeight - q.top - q.bottom), Ce = R.height > ve ? 8 : (ve - R.height) / 2, He = Math.max(0, Math.min(H, me + (R.top - fe.top) - q.top - Ce));
4049
+ const R = y.getBoundingClientRect(), fe = X.getBoundingClientRect(), H = X.scrollHeight - X.clientHeight, me = X.scrollTop, q = is(X), ke = Math.max(80, X.clientHeight - q.top - q.bottom), Ce = R.height > ke ? 8 : (ke - R.height) / 2, He = Math.max(0, Math.min(H, me + (R.top - fe.top) - q.top - Ce));
4050
4050
  if (ae.current && cancelAnimationFrame(ae.current), Math.abs(He - me) < 2) {
4051
4051
  X.scrollTop = He, ae.current = null;
4052
4052
  return;
4053
4053
  }
4054
- const Ae = performance.now(), Ue = 360, he = () => {
4054
+ const Ae = performance.now(), Ue = 360, ge = () => {
4055
4055
  const Re = Math.min(1, (performance.now() - Ae) / Ue);
4056
- X.scrollTop = me + (He - me) * (1 - Math.pow(1 - Re, 3)), ae.current = Re < 1 ? requestAnimationFrame(he) : null;
4056
+ X.scrollTop = me + (He - me) * (1 - Math.pow(1 - Re, 3)), ae.current = Re < 1 ? requestAnimationFrame(ge) : null;
4057
4057
  };
4058
- ae.current = requestAnimationFrame(he);
4058
+ ae.current = requestAnimationFrame(ge);
4059
4059
  };
4060
4060
  _(() => () => {
4061
4061
  ae.current && cancelAnimationFrame(ae.current);
@@ -4080,39 +4080,39 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4080
4080
  }, [z]);
4081
4081
  const Oe = () => {
4082
4082
  Se(L), Be.current = 0, le(0);
4083
- }, G = (B) => /* @__PURE__ */ i("div", { className: `txfollow txfollow--${B}`, children: /* @__PURE__ */ h("button", { type: "button", className: "txfollow__pill", title: "Jump to the line playing now", onClick: Oe, children: [
4083
+ }, G = (B) => /* @__PURE__ */ i("div", { className: `txfollow txfollow--${B}`, children: /* @__PURE__ */ g("button", { type: "button", className: "txfollow__pill", title: "Jump to the line playing now", onClick: Oe, children: [
4084
4084
  /* @__PURE__ */ i(oe, { d: B === "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 }),
4085
4085
  "Now playing"
4086
4086
  ] }) });
4087
- return /* @__PURE__ */ h("div", { ref: k, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${D && !N ? " is-find" : ""}`, children: [
4087
+ return /* @__PURE__ */ g("div", { ref: k, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${D && !N ? " is-find" : ""}`, children: [
4088
4088
  /* @__PURE__ */ i(qo, { thumbRef: V }),
4089
4089
  j && Z === -1 && G("up"),
4090
4090
  e.map((B, X) => {
4091
4091
  var ie;
4092
4092
  const y = j && X === L, R = S && X === L, fe = !!d && d === B.id, H = P && !B.text.toLowerCase().includes(P) && !(b && ((ie = B.translations[b]) != null && ie.toLowerCase().includes(P))) ? 0.22 : !S || X <= L || fe ? 1 : 0.38, me = m ? () => n.playRow(X) : c && l ? () => {
4093
4093
  j && !y && n.seekRow(X), l(B);
4094
- } : j && y ? void 0 : () => n.playRow(X), q = m ? null : Xo(B, r, s), ve = !!q && (q.script > 0 || q.manual), Ce = w && !!a && C === B.id && !!q && !ve, He = Cs(t, B.speaker), Ae = bs(t, B.speaker), Ue = Ae.lane, he = b && B.translations[b] && B.language !== b ? B.translations[b] : null, Re = Ci(e, X, b), K = R && !E && re ? di(Re.map((de) => ({ t: de.text, sp: " " })), re) : null;
4095
- return /* @__PURE__ */ h("div", { "data-tx-row": X, "data-sentence": B.sentenceId, className: `txline${W ? " txline--warm" : ""}${fe ? " txline--fixing" : ""}`, "aria-current": fe || void 0, style: { opacity: H }, onClick: me, onMouseEnter: w && a ? () => ue(B.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
4096
- /* @__PURE__ */ h("div", { className: "txline__meta", children: [
4094
+ } : j && y ? void 0 : () => n.playRow(X), q = m ? null : Xo(B, r, s), ke = !!q && (q.script > 0 || q.manual), Ce = w && !!a && C === B.id && !!q && !ke, He = Cs(t, B.speaker), Ae = bs(t, B.speaker), Ue = Ae.lane, ge = b && B.translations[b] && B.language !== b ? B.translations[b] : null, Re = Ci(e, X, b), K = R && !E && re ? di(Re.map((de) => ({ t: de.text, sp: " " })), re) : null;
4095
+ return /* @__PURE__ */ g("div", { "data-tx-row": X, "data-sentence": B.sentenceId, className: `txline${W ? " txline--warm" : ""}${fe ? " txline--fixing" : ""}`, "aria-current": fe || void 0, style: { opacity: H }, onClick: me, onMouseEnter: w && a ? () => ue(B.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
4096
+ /* @__PURE__ */ g("div", { className: "txline__meta", children: [
4097
4097
  /* @__PURE__ */ i("span", { className: "txline__at", children: Lt(B.start) }),
4098
- f && B.speaker >= 0 && /* @__PURE__ */ h(_e, { children: [
4098
+ f && B.speaker >= 0 && /* @__PURE__ */ g(_e, { children: [
4099
4099
  /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Ue}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: pi(t, B.speaker) }),
4100
4100
  /* @__PURE__ */ i("span", { className: `txline__who lane-${Ue}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: He }),
4101
4101
  Ae.hasVoice && /* @__PURE__ */ i(zi, { color: Ae.fg ?? `var(--lane-${Ue})` })
4102
4102
  ] }),
4103
4103
  y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: J.headphones, size: w ? 15 : 14, sw: 1.6, stroke: f && B.speaker >= 0 ? Ae.fg ?? `var(--lane-${Ue})` : "var(--ink-45)" }) }),
4104
- q && g && /* @__PURE__ */ i(el, { f: q, desk: w, onOpen: a ? () => a(B, !0) : void 0 }),
4104
+ q && h && /* @__PURE__ */ i(el, { f: q, desk: w, onOpen: a ? () => a(B, !0) : void 0 }),
4105
4105
  Ce && /* @__PURE__ */ i(tl, { alone: !0, onOpen: () => a == null ? void 0 : a(B, !1) })
4106
4106
  ] }),
4107
4107
  /* @__PURE__ */ i("div", { className: "txline__text", children: Re.map((de, ce) => {
4108
- const Ne = `${de.seq}:${de.idx}`, je = To(de.prob), Y = R && te, U = Y && (E ? $ >= de.start && ($ < de.end || ce === Re.length - 1 || $ < Re[ce + 1].start) : ce === K), F = Y && !U && (E ? de.start > $ : K != null && ce > K), ee = !he && !m && (!!(s != null && s.has(Ne)) || !!de.script), Me = !he && !m && u && !!je && !ee, be = Me ? je === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Te = ee ? "var(--brand)" : F ? "var(--ink-40)" : be ?? "var(--ink-96)";
4109
- return /* @__PURE__ */ h("span", { children: [
4108
+ const Ne = `${de.seq}:${de.idx}`, je = To(de.prob), Y = R && te, U = Y && (E ? $ >= de.start && ($ < de.end || ce === Re.length - 1 || $ < Re[ce + 1].start) : ce === K), F = Y && !U && (E ? de.start > $ : K != null && ce > K), ee = !ge && !m && (!!(s != null && s.has(Ne)) || !!de.script), Me = !ge && !m && u && !!je && !ee, be = Me ? je === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Te = ee ? "var(--brand)" : F ? "var(--ink-40)" : be ?? "var(--ink-96)";
4109
+ return /* @__PURE__ */ g("span", { children: [
4110
4110
  /* @__PURE__ */ i(
4111
4111
  "span",
4112
4112
  {
4113
4113
  className: "txw",
4114
- title: o && !he ? c ? "Correct this word" : y && j && n.seekWord ? "Play from this word" : "Play from this line" : y ? "" : "Play from this line",
4115
- onClick: o && !he ? (ze) => {
4114
+ title: o && !ge ? c ? "Correct this word" : y && j && n.seekWord ? "Play from this word" : "Play from this line" : y ? "" : "Play from this line",
4115
+ onClick: o && !ge ? (ze) => {
4116
4116
  var xe;
4117
4117
  if (ze.stopPropagation(), c) {
4118
4118
  o(B, de);
@@ -4124,7 +4124,7 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4124
4124
  }
4125
4125
  n.playRow(X);
4126
4126
  } : void 0,
4127
- style: { color: Te, opacity: F ? 0.45 : 1, fontWeight: 300, cursor: o && !he ? c || !y || !j || n.seekWord ? "pointer" : "default" : y ? "default" : "pointer", textShadow: U ? "0 0 2px currentColor, 0 0 4px currentColor" : "none", textDecorationLine: Me || ee ? "underline" : "none", textDecorationStyle: ee ? "solid" : "dotted", textDecorationColor: ee ? "var(--brand)" : be ?? "currentColor", textDecorationThickness: Me || ee ? "1.5px" : void 0, textUnderlineOffset: Me || ee ? "3px" : void 0 },
4127
+ style: { color: Te, opacity: F ? 0.45 : 1, fontWeight: 300, cursor: o && !ge ? c || !y || !j || n.seekWord ? "pointer" : "default" : y ? "default" : "pointer", textShadow: U ? "0 0 2px currentColor, 0 0 4px currentColor" : "none", textDecorationLine: Me || ee ? "underline" : "none", textDecorationStyle: ee ? "solid" : "dotted", textDecorationColor: ee ? "var(--brand)" : be ?? "currentColor", textDecorationThickness: Me || ee ? "1.5px" : void 0, textUnderlineOffset: Me || ee ? "3px" : void 0 },
4128
4128
  children: de.text
4129
4129
  }
4130
4130
  ),
@@ -4133,7 +4133,7 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4133
4133
  }) })
4134
4134
  ] }, B.id);
4135
4135
  }),
4136
- N ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */ h("span", { className: "eq3", "aria-hidden": "true", children: [
4136
+ N ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */ g("span", { className: "eq3", "aria-hidden": "true", children: [
4137
4137
  /* @__PURE__ */ i("span", {}),
4138
4138
  /* @__PURE__ */ i("span", {}),
4139
4139
  /* @__PURE__ */ i("span", {})
@@ -4142,13 +4142,13 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4142
4142
  ] });
4143
4143
  }
4144
4144
  function ql({ open: t, q: e, onQ: n, onClose: s, hits: r, desk: a, inline: o, flash: l }) {
4145
- return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ h("div", { children: [
4145
+ return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ g("div", { children: [
4146
4146
  /* @__PURE__ */ i(oe, { d: J.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
4147
4147
  /* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
4148
4148
  c.key === "Escape" && (c.stopPropagation(), e ? n("") : s());
4149
4149
  }, placeholder: "Search this transcript" }),
4150
4150
  o && l && /* @__PURE__ */ i("span", { className: "searchbar__flash", children: l }),
4151
- e.trim() && /* @__PURE__ */ h("span", { className: "count", children: [
4151
+ e.trim() && /* @__PURE__ */ g("span", { className: "count", children: [
4152
4152
  r,
4153
4153
  " found"
4154
4154
  ] }),
@@ -4166,14 +4166,14 @@ function Kl(t, e, n, s, r) {
4166
4166
  }, [e, d]), _(() => {
4167
4167
  const u = t.current;
4168
4168
  if (!u) return;
4169
- let g = u.scrollTop, M = 0, p = 0;
4169
+ let h = u.scrollTop, M = 0, p = 0;
4170
4170
  const N = () => {
4171
4171
  p = Date.now() + 1500;
4172
4172
  }, w = (m) => {
4173
4173
  m.buttons && N();
4174
4174
  }, k = () => {
4175
- const m = u.scrollTop, f = m - g;
4176
- if (g = m, Date.now() > p) {
4175
+ const m = u.scrollTop, f = m - h;
4176
+ if (h = m, Date.now() > p) {
4177
4177
  M = 0;
4178
4178
  return;
4179
4179
  }
@@ -4241,16 +4241,16 @@ function tc(t) {
4241
4241
  for (let L = 236; a.length < r; L ^= 253) o(L, 8);
4242
4242
  const l = [];
4243
4243
  for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((z, E) => z << 1 | E, 0));
4244
- const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(bi(n) / 8), g = c - u % c, M = Math.floor(u / c), p = [], N = Jl(d);
4244
+ const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(bi(n) / 8), h = c - u % c, M = Math.floor(u / c), p = [], N = Jl(d);
4245
4245
  for (let L = 0, z = 0; L < c; L++) {
4246
- const E = l.slice(z, z + M - d + (L < g ? 0 : 1));
4246
+ const E = l.slice(z, z + M - d + (L < h ? 0 : 1));
4247
4247
  z += E.length;
4248
4248
  const re = Xl(E, N);
4249
- L < g && E.push(0), p.push(E.concat(re));
4249
+ L < h && E.push(0), p.push(E.concat(re));
4250
4250
  }
4251
4251
  const w = [];
4252
4252
  for (let L = 0; L < p[0].length; L++) p.forEach((z, E) => {
4253
- (L !== M - d || E >= g) && w.push(z[L]);
4253
+ (L !== M - d || E >= h) && w.push(z[L]);
4254
4254
  });
4255
4255
  const k = Array.from({ length: s }, () => new Array(s).fill(!1)), m = Array.from({ length: s }, () => new Array(s).fill(!1)), f = (L, z, E) => {
4256
4256
  k[z][L] = E, m[z][L] = !0;
@@ -4414,7 +4414,7 @@ function Ln({ pos: t, interactive: e, axis: n = "x" }) {
4414
4414
  const d = a(c);
4415
4415
  r(null), t.onSeek(d);
4416
4416
  }, l = s != null ? s * 100 : t.pct;
4417
- return /* @__PURE__ */ h(_e, { children: [
4417
+ return /* @__PURE__ */ g(_e, { children: [
4418
4418
  /* @__PURE__ */ i("span", { className: `gfull__t${e ? " gfull__t--at" : ""}`, children: s != null ? t.labelAt(s) : t.atLabel }),
4419
4419
  /* @__PURE__ */ i(
4420
4420
  "div",
@@ -4434,7 +4434,7 @@ function Ln({ pos: t, interactive: e, axis: n = "x" }) {
4434
4434
  } : void 0,
4435
4435
  onPointerUp: e ? o : void 0,
4436
4436
  onPointerCancel: e ? () => r(null) : void 0,
4437
- children: /* @__PURE__ */ h("div", { className: `gfull__track${t.readyFrac != null ? " gfull__track--part" : ""}`, children: [
4437
+ children: /* @__PURE__ */ g("div", { className: `gfull__track${t.readyFrac != null ? " gfull__track--part" : ""}`, children: [
4438
4438
  t.readyFrac != null && /* @__PURE__ */ i("div", { className: "gfull__ready", style: { width: `${Math.min(100, t.readyFrac * 100)}%` } }),
4439
4439
  /* @__PURE__ */ i("div", { style: { width: `${l}%`, background: (s == null ? t.atEdge : t.edgeFrac != null && s >= t.edgeFrac) ? "#ec634d" : "#55abe5", transition: s != null ? "none" : void 0 } }),
4440
4440
  /* @__PURE__ */ i("i", { style: { left: `${l}%`, transition: s != null ? "none" : void 0 } })
@@ -4453,8 +4453,8 @@ function Hc({ pos: t }) {
4453
4453
  const c = s(l);
4454
4454
  n(null), t.onSeek(c);
4455
4455
  }, a = e != null ? e * 100 : t.pct, o = e != null ? "none" : void 0;
4456
- return /* @__PURE__ */ h("div", { className: "gaseek", children: [
4457
- /* @__PURE__ */ h(
4456
+ return /* @__PURE__ */ g("div", { className: "gaseek", children: [
4457
+ /* @__PURE__ */ g(
4458
4458
  "div",
4459
4459
  {
4460
4460
  className: "gaseek__bar",
@@ -4479,14 +4479,14 @@ function Hc({ pos: t }) {
4479
4479
  ]
4480
4480
  }
4481
4481
  ),
4482
- /* @__PURE__ */ h("div", { className: "gaseek__labels", children: [
4482
+ /* @__PURE__ */ g("div", { className: "gaseek__labels", children: [
4483
4483
  /* @__PURE__ */ i("span", { className: "gaseek__t", children: e != null ? t.labelAt(e) : t.atLabel }),
4484
4484
  /* @__PURE__ */ i("span", { className: "gaseek__t gaseek__end", children: t.endLabel })
4485
4485
  ] })
4486
4486
  ] });
4487
4487
  }
4488
4488
  function kn({ t, mini: e }) {
4489
- return /* @__PURE__ */ h("div", { className: "gfull__transport", children: [
4489
+ return /* @__PURE__ */ g("div", { className: "gfull__transport", children: [
4490
4490
  /* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Previous line", title: "Previous line", style: { opacity: t.prevOn ? 1 : 0.3 }, onClick: t.onPrev, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) }),
4491
4491
  /* @__PURE__ */ i(
4492
4492
  "button",
@@ -4505,9 +4505,9 @@ function kn({ t, mini: e }) {
4505
4505
  ] });
4506
4506
  }
4507
4507
  function Ls({ live: t, mini: e, desk: n, pct: s, mark: r }) {
4508
- return /* @__PURE__ */ h("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
4508
+ return /* @__PURE__ */ g("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
4509
4509
  /* @__PURE__ */ i("a", { href: ri, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(js, { dark: !0, size: 22 }) : /* @__PURE__ */ i(In, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4510
- t && /* @__PURE__ */ h("span", { className: "gfull__live", children: [
4510
+ t && /* @__PURE__ */ g("span", { className: "gfull__live", children: [
4511
4511
  /* @__PURE__ */ i("i", {}),
4512
4512
  "LIVE"
4513
4513
  ] }),
@@ -4518,12 +4518,12 @@ function Di({ v: t, size: e }) {
4518
4518
  return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d: J.headphones, size: e, sw: 1.6 }) });
4519
4519
  }
4520
4520
  function ac({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
4521
- return /* @__PURE__ */ h("div", { className: "gmini", "data-theme": "dark", children: [
4521
+ return /* @__PURE__ */ g("div", { className: "gmini", "data-theme": "dark", children: [
4522
4522
  /* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
4523
4523
  /* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(Ls, { live: t.live, mini: !0 }) }),
4524
- /* @__PURE__ */ h("div", { className: "gmini__foot", children: [
4524
+ /* @__PURE__ */ g("div", { className: "gmini__foot", children: [
4525
4525
  /* @__PURE__ */ i("div", { className: "gmini__row", children: /* @__PURE__ */ i(Ln, { pos: t, interactive: !0 }) }),
4526
- /* @__PURE__ */ h("div", { className: "gmini__row gmini__row--ctl", children: [
4526
+ /* @__PURE__ */ g("div", { className: "gmini__row gmini__row--ctl", children: [
4527
4527
  /* @__PURE__ */ i(kn, { t: e, mini: !0 }),
4528
4528
  /* @__PURE__ */ i("span", { style: { flex: 1 } }),
4529
4529
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
@@ -4538,7 +4538,7 @@ function ac({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
4538
4538
  ] });
4539
4539
  }
4540
4540
  const oc = { color: "rgba(255,255,255,.4)" };
4541
- function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title: r, desk: a, pos: o, sub: l, wait: c, pct: d, mute: u, cc: g, ad: M, chip: p, transport: N, picker: w, sheet: k, voices: m, voicesBtn: f, sheetOpen: O, onShare: D, onSettings: b, paused: W, copied: A, onTouch: te, onClose: j }) {
4541
+ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title: r, desk: a, pos: o, sub: l, wait: c, pct: d, mute: u, cc: h, ad: M, chip: p, transport: N, picker: w, sheet: k, voices: m, voicesBtn: f, sheetOpen: O, onShare: D, onSettings: b, paused: W, copied: A, onTouch: te, onClose: j }) {
4542
4542
  const [S, $] = I(() => !!os());
4543
4543
  _(() => {
4544
4544
  const K = () => $(!!os());
@@ -4595,14 +4595,14 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4595
4595
  window.removeEventListener("keydown", ie, !0), window.removeEventListener("keyup", de, !0);
4596
4596
  };
4597
4597
  }, []);
4598
- const ae = ic("(orientation: landscape) and (max-height: 540px)"), we = v(null), [ke, Qe] = I(null);
4598
+ const ae = ic("(orientation: landscape) and (max-height: 540px)"), we = v(null), [ve, Qe] = I(null);
4599
4599
  Qt(() => {
4600
4600
  const K = we.current;
4601
4601
  if (!K || (Qe(K.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
4602
4602
  const ie = new ResizeObserver(([de]) => Qe(de.contentRect.width));
4603
4603
  return ie.observe(K), () => ie.disconnect();
4604
4604
  }, []);
4605
- const ye = t && !S, Le = !ye && a && !ae && (ke == null || ke >= 880), Se = !Le && !S && ke != null && ke < 480;
4605
+ const ye = t && !S, Le = !ye && a && !ae && (ve == null || ve >= 880), Se = !Le;
4606
4606
  _(() => {
4607
4607
  if (re(!1), !N.playing || O) return;
4608
4608
  const K = setTimeout(() => re(!0), 3e3);
@@ -4628,44 +4628,44 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4628
4628
  }, [y, B]);
4629
4629
  const [R, fe] = I(!0), [H, me] = I(!1), q = v(void 0);
4630
4630
  _(() => () => window.clearTimeout(q.current), []);
4631
- const ve = W != null && W.share ? W.share.url(R && W.share.at >= 1 ? Math.floor(W.share.at) : null) : "", Ce = Ie(() => Le && ve && !N.playing ? nc(ve) : "", [Le, ve, N.playing]), He = () => {
4631
+ const ke = W != null && W.share ? W.share.url(R && W.share.at >= 1 ? Math.floor(W.share.at) : null) : "", Ce = Ie(() => Le && ke && !N.playing ? nc(ke) : "", [Le, ke, N.playing]), He = () => {
4632
4632
  var K;
4633
- (K = navigator.clipboard) == null || K.writeText(ve).then(() => {
4633
+ (K = navigator.clipboard) == null || K.writeText(ke).then(() => {
4634
4634
  me(!0), window.clearTimeout(q.current), q.current = window.setTimeout(() => me(!1), 1800);
4635
4635
  }, () => {
4636
4636
  });
4637
- }, Ae = Le && (W == null ? void 0 : W.share) && /* @__PURE__ */ h("div", { className: "gfull__sharecard", onPointerDown: (K) => K.stopPropagation(), onClick: (K) => K.stopPropagation(), children: [
4637
+ }, Ae = Le && (W == null ? void 0 : W.share) && /* @__PURE__ */ g("div", { className: "gfull__sharecard", onPointerDown: (K) => K.stopPropagation(), onClick: (K) => K.stopPropagation(), children: [
4638
4638
  Ce && /* @__PURE__ */ i("div", { className: "gfull__shareqr", role: "img", "aria-label": "QR code for this link", style: { backgroundImage: `url("${Ce}")` } }),
4639
- /* @__PURE__ */ h("div", { className: "gfull__sharebody", children: [
4639
+ /* @__PURE__ */ g("div", { className: "gfull__sharebody", children: [
4640
4640
  /* @__PURE__ */ i("div", { className: "gfull__shareeyebrow", children: "SHARE THIS MOMENT" }),
4641
- /* @__PURE__ */ h("label", { className: "gfull__shareat", children: [
4641
+ /* @__PURE__ */ g("label", { className: "gfull__shareat", children: [
4642
4642
  /* @__PURE__ */ i("input", { type: "checkbox", checked: R, onChange: (K) => fe(K.target.checked), disabled: W.share.at < 1 }),
4643
4643
  "Start at ",
4644
4644
  Lt(Math.floor(W.share.at))
4645
4645
  ] }),
4646
- /* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: ve.replace(/^https?:\/\//, "") }) }),
4647
- /* @__PURE__ */ h("div", { className: "gfull__shareacts", children: [
4648
- /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn gfull__sharebtn--main", onClick: He, children: [
4646
+ /* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: ke.replace(/^https?:\/\//, "") }) }),
4647
+ /* @__PURE__ */ g("div", { className: "gfull__shareacts", children: [
4648
+ /* @__PURE__ */ g("button", { type: "button", className: "gfull__sharebtn gfull__sharebtn--main", onClick: He, children: [
4649
4649
  /* @__PURE__ */ i(oe, { d: H ? J.check : J.copy, size: 14, sw: 1.8 }),
4650
4650
  H ? "Copied" : "Copy link"
4651
4651
  ] }),
4652
- /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ss(ve, r), children: [
4652
+ /* @__PURE__ */ g("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ss(ke, r), children: [
4653
4653
  /* @__PURE__ */ i(oe, { d: J.share, size: 14, sw: 1.6 }),
4654
4654
  "Share"
4655
4655
  ] })
4656
4656
  ] })
4657
4657
  ] })
4658
- ] }), Ue = (K, ie, de, ce, Ne, je = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ce, children: /* @__PURE__ */ i(oe, { d: ie, size: (Le ? 20 : Se ? 15 : 18) + je, sw: de, style: Ne }) }), he = /* @__PURE__ */ h("div", { className: "gfull__acts", children: [
4658
+ ] }), Ue = (K, ie, de, ce, Ne, je = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ce, children: /* @__PURE__ */ i(oe, { d: ie, size: (Le ? 20 : Se ? 15 : 18) + je, sw: de, style: Ne }) }), ge = /* @__PURE__ */ g("div", { className: "gfull__acts", children: [
4659
4659
  f && /* @__PURE__ */ i(Di, { v: f, size: Le ? 20 : Se ? 15 : 18 }),
4660
4660
  D && Ue("Share", J.share, 1.6, D),
4661
4661
  Xr() && !e && Ue(S ? "Exit full screen" : "Full screen", S ? sc : xi, 1.7, () => wn(!S)),
4662
4662
  j && Ue("Close player", J.close, 1.7, j)
4663
- ] }), Re = (u || g || b) && /* @__PURE__ */ h("div", { className: "gfull__top", children: [
4663
+ ] }), Re = (u || h || b) && /* @__PURE__ */ g("div", { className: "gfull__top", children: [
4664
4664
  u && Ue(u.muted ? "Unmute" : "Mute", u.muted ? J.volumeOff : J.volume, 1.6, u.onToggle),
4665
- g && Ue(g.on ? "Hide subtitles" : "Show subtitles", g.on ? J.cc : J.ccOff, 1.7, g.onToggle, void 0, 4),
4665
+ h && Ue(h.on ? "Hide subtitles" : "Show subtitles", h.on ? J.cc : J.ccOff, 1.7, h.onToggle, void 0, 4),
4666
4666
  b && Ue("Settings", J.cog, 1.6, b)
4667
4667
  ] });
4668
- return /* @__PURE__ */ h(
4668
+ return /* @__PURE__ */ g(
4669
4669
  "div",
4670
4670
  {
4671
4671
  ref: we,
@@ -4682,16 +4682,16 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4682
4682
  ue.current && (ue.current = !1, K.stopPropagation(), K.preventDefault());
4683
4683
  },
4684
4684
  children: [
4685
- P && Z && /* @__PURE__ */ h("div", { className: "gfull__swipe", "aria-live": "polite", children: [
4685
+ P && Z && /* @__PURE__ */ g("div", { className: "gfull__swipe", "aria-live": "polite", children: [
4686
4686
  /* @__PURE__ */ i(oe, { d: "m4.5 15.75 7.5-7.5 7.5 7.5", size: 14, sw: 2 }),
4687
4687
  "Swipe up for full screen"
4688
4688
  ] }),
4689
- /* @__PURE__ */ h("div", { className: `gfull__frame${B ? " gfull__frame--land" : ""}`, children: [
4689
+ /* @__PURE__ */ g("div", { className: `gfull__frame${B ? " gfull__frame--land" : ""}`, children: [
4690
4690
  s,
4691
4691
  /* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
4692
- W && !M && /* @__PURE__ */ h("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4693
- /* @__PURE__ */ h("div", { className: "gfull__pausedtext", children: [
4694
- /* @__PURE__ */ h("div", { className: "gfull__pausedhead", children: [
4692
+ W && !M && /* @__PURE__ */ g("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4693
+ /* @__PURE__ */ g("div", { className: "gfull__pausedtext", children: [
4694
+ /* @__PURE__ */ g("div", { className: "gfull__pausedhead", children: [
4695
4695
  (Se || ye) && /* @__PURE__ */ i("span", { className: "gfull__pausedmark", "aria-hidden": "true", children: /* @__PURE__ */ i(js, { dark: !0, size: 20 }) }),
4696
4696
  /* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: W.title })
4697
4697
  ] }),
@@ -4701,13 +4701,13 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4701
4701
  ] }),
4702
4702
  Re,
4703
4703
  A,
4704
- c ? typeof c == "string" ? /* @__PURE__ */ i("div", { className: "gfull__sub", "aria-live": "polite", children: /* @__PURE__ */ h("div", { className: "gfull__wait", children: [
4704
+ c ? typeof c == "string" ? /* @__PURE__ */ i("div", { className: "gfull__sub", "aria-live": "polite", children: /* @__PURE__ */ g("div", { className: "gfull__wait", children: [
4705
4705
  /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }),
4706
4706
  c
4707
- ] }) }) : /* @__PURE__ */ i("div", { className: "gfull__sub", children: c }) : l && /* @__PURE__ */ i("div", { className: "gfull__sub", children: /* @__PURE__ */ h("div", { ref: X, children: [
4708
- /* @__PURE__ */ i("div", { className: "gfull__subback", "aria-hidden": "true", children: /* @__PURE__ */ h("span", { children: [
4709
- l.who && /* @__PURE__ */ h(_e, { children: [
4710
- /* @__PURE__ */ h("b", { children: [
4707
+ ] }) }) : /* @__PURE__ */ i("div", { className: "gfull__sub", children: c }) : l && /* @__PURE__ */ i("div", { className: "gfull__sub", children: /* @__PURE__ */ g("div", { ref: X, children: [
4708
+ /* @__PURE__ */ i("div", { className: "gfull__subback", "aria-hidden": "true", children: /* @__PURE__ */ g("span", { children: [
4709
+ l.who && /* @__PURE__ */ g(_e, { children: [
4710
+ /* @__PURE__ */ g("b", { children: [
4711
4711
  l.who,
4712
4712
  ":"
4713
4713
  ] }),
@@ -4715,41 +4715,41 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4715
4715
  ] }),
4716
4716
  l.words.map((K) => K.t + K.sp).join("")
4717
4717
  ] }) }),
4718
- /* @__PURE__ */ h("span", { children: [
4719
- l.who && /* @__PURE__ */ h(_e, { children: [
4720
- /* @__PURE__ */ h("b", { style: { color: l.color }, children: [
4718
+ /* @__PURE__ */ g("span", { children: [
4719
+ l.who && /* @__PURE__ */ g(_e, { children: [
4720
+ /* @__PURE__ */ g("b", { style: { color: l.color }, children: [
4721
4721
  l.who,
4722
4722
  ":"
4723
4723
  ] }),
4724
4724
  " "
4725
4725
  ] }),
4726
- l.words.map((K, ie) => /* @__PURE__ */ h("span", { "data-said": K.dim ? void 0 : "", "data-at": l.cursor != null && ie <= l.cursor ? "" : void 0, style: K.dim ? oc : void 0, children: [
4726
+ l.words.map((K, ie) => /* @__PURE__ */ g("span", { "data-said": K.dim ? void 0 : "", "data-at": l.cursor != null && ie <= l.cursor ? "" : void 0, style: K.dim ? oc : void 0, children: [
4727
4727
  K.t,
4728
4728
  K.sp
4729
4729
  ] }, ie))
4730
4730
  ] })
4731
4731
  ] }) }),
4732
- /* @__PURE__ */ i("div", { className: `gfull__prog${Le ? "" : " gfull__prog--two"}`, children: Le ? /* @__PURE__ */ h(_e, { children: [
4732
+ /* @__PURE__ */ i("div", { className: `gfull__prog${Le ? "" : " gfull__prog--two"}`, children: Le ? /* @__PURE__ */ g(_e, { children: [
4733
4733
  /* @__PURE__ */ i(Ls, { live: o.live, desk: !0, pct: d }),
4734
4734
  /* @__PURE__ */ i(kn, { t: N }),
4735
4735
  /* @__PURE__ */ i(Ln, { pos: o, interactive: !0 }),
4736
4736
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
4737
- he
4738
- ] }) : Se ? /* @__PURE__ */ h("div", { className: "gfull__row", children: [
4737
+ ge
4738
+ ] }) : Se ? /* @__PURE__ */ g("div", { className: "gfull__row", children: [
4739
4739
  /* @__PURE__ */ i(kn, { t: N, mini: !0 }),
4740
4740
  /* @__PURE__ */ i(Ln, { pos: o, interactive: !0 }),
4741
4741
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
4742
- he
4743
- ] }) : /* @__PURE__ */ h(_e, { children: [
4744
- /* @__PURE__ */ h("div", { className: "gfull__row", children: [
4742
+ ge
4743
+ ] }) : /* @__PURE__ */ g(_e, { children: [
4744
+ /* @__PURE__ */ g("div", { className: "gfull__row", children: [
4745
4745
  /* @__PURE__ */ i(Ls, { live: o.live, pct: d, mark: !0 }),
4746
4746
  /* @__PURE__ */ i(Ln, { pos: o, interactive: !0 })
4747
4747
  ] }),
4748
- /* @__PURE__ */ h("div", { className: "gfull__row", children: [
4748
+ /* @__PURE__ */ g("div", { className: "gfull__row", children: [
4749
4749
  /* @__PURE__ */ i(kn, { t: N }),
4750
4750
  /* @__PURE__ */ i("span", { style: { flex: 1 } }),
4751
4751
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
4752
- he
4752
+ ge
4753
4753
  ] })
4754
4754
  ] }) }),
4755
4755
  w,
@@ -4761,17 +4761,17 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
4761
4761
  );
4762
4762
  }
4763
4763
  function lc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
4764
- return /* @__PURE__ */ h("div", { className: "ghead", children: [
4764
+ return /* @__PURE__ */ g("div", { className: "ghead", children: [
4765
4765
  e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 19, sw: 1.7 }) }),
4766
4766
  s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(js, { dark: t, size: 30 }) }),
4767
- /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(In, { dark: t, height: 22 }) }) : /* @__PURE__ */ h("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
4768
- /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
4767
+ /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(In, { dark: t, height: 22 }) }) : /* @__PURE__ */ g("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
4768
+ /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
4769
4769
  /* @__PURE__ */ i("span", { className: "ghead__name", children: r }),
4770
4770
  a
4771
4771
  ] }),
4772
4772
  o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
4773
4773
  ] }) }),
4774
- /* @__PURE__ */ i(va, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4774
+ /* @__PURE__ */ i(va, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ g("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4775
4775
  /* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
4776
4776
  /* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
4777
4777
  /* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
@@ -4797,8 +4797,8 @@ function Mc(t, e) {
4797
4797
  return () => clearTimeout(l);
4798
4798
  }, [t, e]), [r, n];
4799
4799
  }
4800
- const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4801
- function hc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4800
+ const hc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4801
+ function gc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4802
4802
  const [r, a] = I(() => Date.now());
4803
4803
  _(() => {
4804
4804
  if (t.since == null) return;
@@ -4818,7 +4818,7 @@ function hc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4818
4818
  translateFailed: "Something went wrong on our side. Try again, or watch with the original sound.",
4819
4819
  voiceFailed: "It took too long to start. Try again, or watch with the original sound."
4820
4820
  }[t.kind];
4821
- return /* @__PURE__ */ h(
4821
+ return /* @__PURE__ */ g(
4822
4822
  "div",
4823
4823
  {
4824
4824
  className: `pwait${l ? " pwait--failed" : ""}`,
@@ -4828,14 +4828,14 @@ function hc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4828
4828
  onClick: (u) => u.stopPropagation(),
4829
4829
  onPointerDown: (u) => u.stopPropagation(),
4830
4830
  children: [
4831
- /* @__PURE__ */ h("div", { className: "pwait__head", children: [
4831
+ /* @__PURE__ */ g("div", { className: "pwait__head", children: [
4832
4832
  l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: J.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
4833
4833
  /* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
4834
- !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
4834
+ !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: hc(o) })
4835
4835
  ] }),
4836
4836
  /* @__PURE__ */ i("div", { className: "pwait__note", children: d }),
4837
4837
  !l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
4838
- l && /* @__PURE__ */ h("div", { className: "pwait__acts", children: [
4838
+ l && /* @__PURE__ */ g("div", { className: "pwait__acts", children: [
4839
4839
  /* @__PURE__ */ i("button", { type: "button", className: "vs-btn vs-btn--primary vs-btn--sm", onClick: n, children: "Try again" }),
4840
4840
  /* @__PURE__ */ i("button", { type: "button", className: "vs-btn vs-btn--ghost vs-btn--sm", onClick: s, children: "Watch in the original" })
4841
4841
  ] }),
@@ -4853,7 +4853,7 @@ function Ai(t, e, n) {
4853
4853
  const s = new URL(t ?? Es), r = Nc(), a = new URL(fc, s);
4854
4854
  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);
4855
4855
  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)}`);
4856
- return u ? new Promise((g, M) => {
4856
+ return u ? new Promise((h, M) => {
4857
4857
  let p = !1;
4858
4858
  const N = (m) => {
4859
4859
  p || (p = !0, window.removeEventListener("message", w), clearInterval(k), m());
@@ -4870,15 +4870,15 @@ function Ai(t, e, n) {
4870
4870
  return;
4871
4871
  }
4872
4872
  if (f.type === "vocalstack:started" || f.type === "vocalstack:token" || f.type === "vocalstack:found") {
4873
- N(() => g({ transcriptionId: String(f.transcriptionId), recordingId: String(f.recordingId), token: String(f.token), expiresAt: f.expiresAt ?? null }));
4873
+ N(() => h({ transcriptionId: String(f.transcriptionId), recordingId: String(f.recordingId), token: String(f.token), expiresAt: f.expiresAt ?? null }));
4874
4874
  return;
4875
4875
  }
4876
4876
  if (f.type === "vocalstack:connected") {
4877
- N(() => g("connected"));
4877
+ N(() => h("connected"));
4878
4878
  return;
4879
4879
  }
4880
4880
  if (f.type === "vocalstack:declined") {
4881
- N(() => g(null));
4881
+ N(() => h(null));
4882
4882
  return;
4883
4883
  }
4884
4884
  f.type === "vocalstack:error" && N(() => M(new Error(typeof f.message == "string" && f.message ? f.message : "VocalStack could not start this transcription.")));
@@ -4886,7 +4886,7 @@ function Ai(t, e, n) {
4886
4886
  };
4887
4887
  window.addEventListener("message", w);
4888
4888
  const k = setInterval(() => {
4889
- u.closed && N(() => g(null));
4889
+ u.closed && N(() => h(null));
4890
4890
  }, 500);
4891
4891
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
4892
4892
  }
@@ -4917,7 +4917,7 @@ const Tc = {
4917
4917
  starting: "Starting the transcription…"
4918
4918
  }, wc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4919
4919
  function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4920
- const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u, g] = I(null);
4920
+ const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u, h] = I(null);
4921
4921
  _(() => {
4922
4922
  const w = (k) => {
4923
4923
  k.key === "Escape" && s();
@@ -4928,23 +4928,23 @@ function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4928
4928
  if (!(!p || o)) {
4929
4929
  l(!0), d(null);
4930
4930
  try {
4931
- const w = await pc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4931
+ const w = await pc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, h);
4932
4932
  w && e(w);
4933
4933
  } catch (w) {
4934
4934
  d(w instanceof Error ? w.message : "Something went wrong. Please try again.");
4935
4935
  } finally {
4936
- l(!1), g(null);
4936
+ l(!1), h(null);
4937
4937
  }
4938
4938
  }
4939
4939
  };
4940
4940
  return /* @__PURE__ */ i("div", { className: "vsp-end", role: "dialog", "aria-label": "Transcribe another video", onPointerDown: (w) => w.stopPropagation(), onClick: (w) => {
4941
4941
  w.stopPropagation(), w.target === w.currentTarget && s();
4942
- }, children: /* @__PURE__ */ h("div", { className: "vsp-end__card", children: [
4942
+ }, children: /* @__PURE__ */ g("div", { className: "vsp-end__card", children: [
4943
4943
  /* @__PURE__ */ i("button", { type: "button", className: "vsp-end__close", "aria-label": "Close", title: "Close", onClick: s, children: /* @__PURE__ */ i(oe, { d: J.close, size: 16, sw: 1.8 }) }),
4944
4944
  /* @__PURE__ */ i("div", { className: "vsp-end__brand", children: /* @__PURE__ */ i(In, { dark: !0, link: !1, height: 16 }) }),
4945
4945
  /* @__PURE__ */ i("div", { className: "vsp-end__title", children: t.title ?? "Transcribe and translate any video" }),
4946
4946
  /* @__PURE__ */ i("div", { className: "vsp-end__note", children: t.note ?? "Paste a link from YouTube, Vimeo or any page with a video. It plays right here with subtitles and spoken translations." }),
4947
- /* @__PURE__ */ h("form", { className: "vsp-end__row", onSubmit: (w) => {
4947
+ /* @__PURE__ */ g("form", { className: "vsp-end__row", onSubmit: (w) => {
4948
4948
  w.preventDefault(), N();
4949
4949
  }, children: [
4950
4950
  /* @__PURE__ */ i("input", { className: "vsp-end__input", type: "url", inputMode: "url", autoComplete: "off", spellCheck: !1, placeholder: "https://youtube.com/watch?v=…", value: r, onChange: (w) => {
@@ -4954,9 +4954,9 @@ function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4954
4954
  ] }),
4955
4955
  o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: Tc[u ?? "checking"] }),
4956
4956
  c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
4957
- /* @__PURE__ */ h("div", { className: "vsp-end__foot", children: [
4957
+ /* @__PURE__ */ g("div", { className: "vsp-end__foot", children: [
4958
4958
  /* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
4959
- /* @__PURE__ */ h("button", { type: "button", className: "vsp-end__replay", onClick: n, children: [
4959
+ /* @__PURE__ */ g("button", { type: "button", className: "vsp-end__replay", onClick: n, children: [
4960
4960
  /* @__PURE__ */ i(oe, { d: J.uturn, size: 14, sw: 1.8 }),
4961
4961
  "Replay"
4962
4962
  ] })
@@ -4973,38 +4973,38 @@ function Yi(t) {
4973
4973
  }
4974
4974
  const kc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4975
4975
  function vc(t, e) {
4976
- const n = wi(), [s, r] = gi(), [a, o] = I(null), [l, c] = I("main"), d = ys(n, t.lang), u = Ie(() => hi(n, "translation"), [n]), g = (A) => {
4976
+ const n = wi(), [s, r] = hi(), [a, o] = I(null), [l, c] = I("main"), d = ys(n, t.lang), u = Ie(() => gi(n, "translation"), [n]), h = (A) => {
4977
4977
  e({ lang: A }), r(A);
4978
- }, M = Is({ 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 }), p = () => {
4978
+ }, M = Is({ 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 }), p = () => {
4979
4979
  o(null), c("main");
4980
4980
  }, N = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: d.flag }) : /* @__PURE__ */ i(oe, { d: J.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) => {
4981
4981
  A.stopPropagation(), c("main"), o((te) => te === "lang" ? null : "lang");
4982
- }, children: N }), k = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), m = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
4982
+ }, children: N }), k = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), m = /* @__PURE__ */ g("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
4983
4983
  " ",
4984
- /* @__PURE__ */ h("button", { type: "button", onClick: () => c("main"), "aria-label": "Back", className: "vsp-idlesheet__back", children: [
4984
+ /* @__PURE__ */ g("button", { type: "button", onClick: () => c("main"), "aria-label": "Back", className: "vsp-idlesheet__back", children: [
4985
4985
  /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 18, sw: 1.8 }),
4986
4986
  "Back"
4987
4987
  ] })
4988
- ] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, O = (A, te, j) => /* @__PURE__ */ h("div", { className: "srow", children: [
4989
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
4988
+ ] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, O = (A, te, j) => /* @__PURE__ */ g("div", { className: "srow", children: [
4989
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
4990
4990
  /* @__PURE__ */ i("div", { className: "srow__t", children: A }),
4991
4991
  /* @__PURE__ */ i("div", { className: "srow__s", children: te })
4992
4992
  ] }),
4993
4993
  j
4994
- ] }), D = /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
4994
+ ] }), D = /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
4995
4995
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
4996
4996
  M.list
4997
- ] }), b = l === "lang" ? D : l === "subs" ? /* @__PURE__ */ h("div", { style: f, children: [
4997
+ ] }), b = l === "lang" ? D : l === "subs" ? /* @__PURE__ */ g("div", { style: f, children: [
4998
4998
  O("Show subtitles", "Captions over the video", /* @__PURE__ */ i(pt, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
4999
4999
  O("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(pt, { checked: t.speakerLabels, onChange: (A) => e({ speakerLabels: A }), label: "Show speaker labels" })),
5000
5000
  O("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(pt, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
5001
- ] }) : l === "audio" ? /* @__PURE__ */ h("div", { style: f, children: [
5001
+ ] }) : l === "audio" ? /* @__PURE__ */ g("div", { style: f, children: [
5002
5002
  O("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(pt, { checked: t.translateAudio && !!t.lang, onChange: (A) => e({ translateAudio: A }), label: "Translate audio", disabled: !t.lang })),
5003
5003
  O("Voices", t.voices === "cloned" ? "Each speaker in their own cloned voice, where they agreed to it" : "Synthetic voices matched to each speaker", /* @__PURE__ */ i(cs, { value: t.voices, onChange: (A) => e({ voices: A }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
5004
5004
  O(jn, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(pt, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: jn }))
5005
- ] }) : /* @__PURE__ */ h("div", { style: f, children: [
5006
- /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
5007
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5005
+ ] }) : /* @__PURE__ */ g("div", { style: f, children: [
5006
+ /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
5007
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5008
5008
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
5009
5009
  /* @__PURE__ */ i("div", { className: "srow__s", children: t.lang ? `Translated to ${d.label}` : "Original language" })
5010
5010
  ] }),
@@ -5012,22 +5012,22 @@ function vc(t, e) {
5012
5012
  k
5013
5013
  ] }),
5014
5014
  /* @__PURE__ */ i("div", { className: "sdiv" }),
5015
- /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => c("subs"), children: [
5016
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5015
+ /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("subs"), children: [
5016
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5017
5017
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
5018
5018
  /* @__PURE__ */ i("div", { className: "srow__s", children: t.subtitles ? "On · speaker labels and word highlighting" : "Off" })
5019
5019
  ] }),
5020
5020
  k
5021
5021
  ] }),
5022
5022
  /* @__PURE__ */ i("div", { className: "sdiv" }),
5023
- /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => c("audio"), children: [
5024
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5023
+ /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("audio"), children: [
5024
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5025
5025
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
5026
5026
  /* @__PURE__ */ i("div", { className: "srow__s", children: t.lang && t.translateAudio ? `Translated, ${t.voices === "cloned" ? "cloned voices" : "synthetic voices"}` : t.removeBackground ? "Original speech, background removed" : "Original sound" })
5027
5027
  ] }),
5028
5028
  k
5029
5029
  ] })
5030
- ] }), W = /* @__PURE__ */ h(_e, { children: [
5030
+ ] }), W = /* @__PURE__ */ g(_e, { children: [
5031
5031
  /* @__PURE__ */ i($t, { open: a === "lang", onClose: p, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(us, { children: D }) }),
5032
5032
  /* @__PURE__ */ i($t, { open: a === "settings", onClose: p, title: { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO" }[l], titleNode: l === "main" ? void 0 : m, kind: l === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: b }) })
5033
5033
  ] });
@@ -5070,8 +5070,8 @@ function zc(t, e) {
5070
5070
  }).catch((w) => l(w instanceof Error ? w.message : "Something went wrong. Please try again.")).finally(() => {
5071
5071
  s(!1), a(null);
5072
5072
  });
5073
- }, [t, n, e]), g = Xe(() => u({ connect: !0 }), [u]), M = Xe((p, N) => u({ url: p, ask: N }), [u]);
5074
- return { busy: n, status: r, err: o, connected: c, connect: g, start: M };
5073
+ }, [t, n, e]), h = Xe(() => u({ connect: !0 }), [u]), M = Xe((p, N) => u({ url: p, ask: N }), [u]);
5074
+ return { busy: n, status: r, err: o, connected: c, connect: h, start: M };
5075
5075
  }
5076
5076
  function Ic(t) {
5077
5077
  return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
@@ -5083,12 +5083,12 @@ function Oc({ poster: t, src: e }) {
5083
5083
  const Cc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5084
5084
  } };
5085
5085
  function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
5086
- const l = vc(t.prefs, t.set), c = Yi(), d = v(null), [u, g] = I(!1);
5086
+ const l = vc(t.prefs, t.set), c = Yi(), d = v(null), [u, h] = I(!1);
5087
5087
  Qt(() => {
5088
5088
  var k;
5089
5089
  const p = (k = d.current) == null ? void 0 : k.parentElement;
5090
5090
  if (!p) return;
5091
- const N = () => g(p.getBoundingClientRect().width < 560);
5091
+ const N = () => h(p.getBoundingClientRect().width < 560);
5092
5092
  if (N(), typeof ResizeObserver > "u") return;
5093
5093
  const w = new ResizeObserver(N);
5094
5094
  return w.observe(p), () => w.disconnect();
@@ -5096,15 +5096,15 @@ function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children:
5096
5096
  const M = { prevOn: !1, nextOn: !1, onPrev: () => {
5097
5097
  }, onNext: () => {
5098
5098
  }, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
5099
- return /* @__PURE__ */ h("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
5099
+ return /* @__PURE__ */ g("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
5100
5100
  /* @__PURE__ */ i(Si, { page: r, picture: /* @__PURE__ */ i(Oc, { poster: e, src: n }), title: s, desk: c, pos: Cc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Ss(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
5101
5101
  } }),
5102
5102
  !l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
5103
5103
  ] });
5104
5104
  }
5105
5105
  function Ui({ connect: t, onClick: e, label: n }) {
5106
- return /* @__PURE__ */ h(_e, { children: [
5107
- /* @__PURE__ */ h("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
5106
+ return /* @__PURE__ */ g(_e, { children: [
5107
+ /* @__PURE__ */ g("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
5108
5108
  t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: J.link, size: 18, sw: 1.8 }),
5109
5109
  /* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
5110
5110
  ] }),
@@ -5114,7 +5114,7 @@ function Ui({ connect: t, onClick: e, label: n }) {
5114
5114
  }
5115
5115
  function bc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
5116
5116
  const l = () => s.start(e, n);
5117
- return /* @__PURE__ */ h(ks, { idle: t, poster: a, src: e, title: ls(e), page: r, onAct: l, children: [
5117
+ return /* @__PURE__ */ g(ks, { idle: t, poster: a, src: e, title: ls(e), page: r, onAct: l, children: [
5118
5118
  /* @__PURE__ */ i(Ui, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5119
5119
  !s.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: s.connected ? `Plays ${ls(e)} with subtitles and spoken translations.` : `Connect to play ${ls(e)} with subtitles and spoken translations.` }),
5120
5120
  o && !s.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
@@ -5126,20 +5126,20 @@ function xc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
5126
5126
  const M = /^https?:\/\//i.test(c) ? c : `https://${c}`;
5127
5127
  r(M), e.start(M, !1);
5128
5128
  };
5129
- return e.connected ? /* @__PURE__ */ h(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: () => {
5129
+ return e.connected ? /* @__PURE__ */ g(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: () => {
5130
5130
  var M;
5131
5131
  d ? u() : (M = l.current) == null || M.focus();
5132
5132
  }, children: [
5133
5133
  /* @__PURE__ */ i("form", { className: "vsp-idle__form", onSubmit: (M) => {
5134
5134
  M.preventDefault(), u();
5135
- }, children: /* @__PURE__ */ h("span", { className: "vsp-idle__field", children: [
5135
+ }, children: /* @__PURE__ */ g("span", { className: "vsp-idle__field", children: [
5136
5136
  /* @__PURE__ */ i(oe, { d: J.link, size: 16, sw: 1.8 }),
5137
5137
  /* @__PURE__ */ i("input", { ref: l, className: "vsp-idle__input", type: "url", inputMode: "url", enterKeyHint: "go", autoComplete: "off", spellCheck: !1, placeholder: "Paste a video link", value: a, onChange: (M) => o(M.target.value), "aria-label": "Video link", autoFocus: !0 }),
5138
5138
  e.busy && /* @__PURE__ */ i(at, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
5139
5139
  ] }) }),
5140
5140
  e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: _i[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5141
5141
  e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
5142
- ] }) : /* @__PURE__ */ h(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
5142
+ ] }) : /* @__PURE__ */ g(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
5143
5143
  /* @__PURE__ */ i(Ui, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5144
5144
  !e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
5145
5145
  ] });
@@ -5185,7 +5185,7 @@ function Ac(t) {
5185
5185
  startAt: Number.isFinite(r) && r > 0 ? r : t.startAt ?? null
5186
5186
  };
5187
5187
  }
5188
- const Vc = ha(function(e, n) {
5188
+ const Vc = ga(function(e, n) {
5189
5189
  var V;
5190
5190
  const s = v(null);
5191
5191
  fa(n, () => ({
@@ -5218,9 +5218,9 @@ const Vc = ha(function(e, n) {
5218
5218
  _(() => {
5219
5219
  o != null && o.id && a({ id: o.id, token: e.token });
5220
5220
  }, [o == null ? void 0 : o.id]);
5221
- const [l, c] = I(null), [d, u] = I(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [g, M] = I({}), p = { prefs: d, set: (C) => {
5221
+ const [l, c] = I(null), [d, u] = I(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [h, M] = I({}), p = { prefs: d, set: (C) => {
5222
5222
  u((ue) => ({ ...ue, ...C })), M((ue) => ({ ...ue, ...C }));
5223
- }, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } = g;
5223
+ }, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } = h;
5224
5224
  _(() => {
5225
5225
  c(null);
5226
5226
  }, [e.id, e.src]);
@@ -5236,8 +5236,8 @@ const Vc = ha(function(e, n) {
5236
5236
  return _(() => (Jr($ ? re.current : null), () => Jr(null)), [$]), /* @__PURE__ */ i(Io, { value: j, children: /* @__PURE__ */ i("div", { ref: re, 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: f ? /* @__PURE__ */ i(xc, { idle: p, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(bc, { idle: p, src: k, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Ec, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: N === !0, handle: s, id: r.id, api: j, shared: D, gone: b, loadError: W, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (C) => a({ id: C.transcriptionId, token: null, listen: { transcriptionId: C.transcriptionId, recordingId: C.recordingId, token: C.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5237
5237
  });
5238
5238
  function Ec(t) {
5239
- var Mr, gr, hr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr, Sr, Ar, Er;
5240
- const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ac(t), []), c = (t.mode ?? "video") === "video", d = ((gr = (Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.source) == null ? void 0 : gr.kind) === "url" ? ms(n.job.source.url) : null, u = c && !(n && !d), [g, M] = I(t.loadError);
5239
+ var Mr, hr, gr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr, Sr, Ar, Er;
5240
+ const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ac(t), []), c = (t.mode ?? "video") === "video", d = ((hr = (Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.source) == null ? void 0 : hr.kind) === "url" ? ms(n.job.source.url) : null, u = c && !(n && !d), [h, M] = I(t.loadError);
5241
5241
  _(() => {
5242
5242
  t.loadError && M(t.loadError);
5243
5243
  }, [t.loadError]);
@@ -5248,7 +5248,7 @@ function Ec(t) {
5248
5248
  _(() => {
5249
5249
  j || re("main");
5250
5250
  }, [j]);
5251
- const [V, C] = I(u), ue = (n == null ? void 0 : n.recording) ?? null, P = (ue == null ? void 0 : ue.id) ?? null, [Z, le] = I(l.lang), ne = typeof Z == "string" ? Z : null, [ae, we] = I(l.labels), [ke, Qe] = I(l.words), [ye, Le] = I(l.cc), [Se, Be] = I(l.translateAudio), [Oe, G] = I(l.clonedVoices), [B, X] = I(l.removeBackground), y = t.settings;
5251
+ const [V, C] = I(u), ue = (n == null ? void 0 : n.recording) ?? null, P = (ue == null ? void 0 : ue.id) ?? null, [Z, le] = I(l.lang), ne = typeof Z == "string" ? Z : null, [ae, we] = I(l.labels), [ve, Qe] = I(l.words), [ye, Le] = I(l.cc), [Se, Be] = I(l.translateAudio), [Oe, G] = I(l.clonedVoices), [B, X] = I(l.removeBackground), y = t.settings;
5252
5252
  _(() => {
5253
5253
  (y == null ? void 0 : y.lang) !== void 0 && le(y.lang);
5254
5254
  }, [y == null ? void 0 : y.lang]), _(() => {
@@ -5268,22 +5268,22 @@ function Ec(t) {
5268
5268
  _(() => {
5269
5269
  if (!t.syncUrl) return;
5270
5270
  const T = new URL(window.location.href);
5271
- ne ? T.searchParams.set("lang", ne) : T.searchParams.delete("lang"), ae ? T.searchParams.set("labels", ae) : T.searchParams.delete("labels"), ke ? T.searchParams.set("words", ke) : T.searchParams.delete("words"), ye ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Se ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), Oe ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), Ga(T, B), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
5272
- }, [ne, ae, ke, ye, Se, Oe, B]), _(() => {
5271
+ ne ? T.searchParams.set("lang", ne) : T.searchParams.delete("lang"), ae ? T.searchParams.set("labels", ae) : T.searchParams.delete("labels"), ve ? T.searchParams.set("words", ve) : T.searchParams.delete("words"), ye ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Se ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), Oe ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), Ga(T, B), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
5272
+ }, [ne, ae, ve, ye, Se, Oe, B]), _(() => {
5273
5273
  n && !n.allowTranslate && ne && le(null);
5274
5274
  }, [n, ne]);
5275
- const { model: H, error: me, clearError: q, setLanguage: ve, mergeTranslations: Ce, translating: He, translateFailed: Ae, shownLang: Ue } = Uo(P, {
5275
+ const { model: H, error: me, clearError: q, setLanguage: ke, mergeTranslations: Ce, translating: He, translateFailed: Ae, shownLang: Ue } = Uo(P, {
5276
5276
  lang: null,
5277
5277
  onFrame: (T) => {
5278
5278
  T.type === "job.progress" && W({ 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 });
5279
5279
  }
5280
- }), he = Ie(() => fo(H).filter((T) => !T.suppressed), [H]), Re = Ro((n == null ? void 0 : n.job) ?? null), K = ["done", "failed", "stopped"].includes(rs((Re == null ? void 0 : Re.state) ?? ((hr = n == null ? void 0 : n.job) == null ? void 0 : hr.state))), ie = K ? Re : b ?? Re, de = !!b && !["done", "failed", "stopped"].includes(rs(b.state)), ce = v(0);
5280
+ }), ge = Ie(() => fo(H).filter((T) => !T.suppressed), [H]), Re = Ro((n == null ? void 0 : n.job) ?? null), K = ["done", "failed", "stopped"].includes(rs((Re == null ? void 0 : Re.state) ?? ((gr = n == null ? void 0 : n.job) == null ? void 0 : gr.state))), ie = K ? Re : b ?? Re, de = !!b && !["done", "failed", "stopped"].includes(rs(b.state)), ce = v(0);
5281
5281
  _(() => {
5282
5282
  !K || !de || Date.now() - ce.current < 1e4 || (ce.current = Date.now(), t.reread());
5283
5283
  }, [K, de, b == null ? void 0 : b.state, b == null ? void 0 : b.processedS, o]);
5284
- const Ne = rs((ie == null ? void 0 : ie.state) ?? ((fr = n == null ? void 0 : n.job) == null ? void 0 : fr.state)), je = !!P && (Ne === "transcribing" || Ne === "queued"), Y = u && !s && (!n || (je || Ne === "cropping") && he.length === 0), U = je ? (ie == null ? void 0 : ie.pct) ?? 0 : 100, F = Qo(n == null ? void 0 : n.job, ie) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((Nr = H.segments.values().next().value) == null ? void 0 : Nr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, Me = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", be = ((yr = (mr = (pr = n == null ? void 0 : n.job) == null ? void 0 : pr.source) == null ? void 0 : mr.name) == null ? void 0 : yr.trim()) || null, Te = n ? ((Tr = n.name) == null ? void 0 : Tr.trim()) || be : null, ze = !!((wr = n == null ? void 0 : n.job) != null && wr.hasAudio), xe = (Lr = n == null ? void 0 : n.job) == null ? void 0 : Lr.source, Ze = !ze && !!xe && (xe.kind !== "url" || xe.bytes != null) && (Ne === "transcribing" || Ne === "queued" || Ne === "done"), $e = P && (n != null && n.allowDownload) && ze ? Ca(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ze ? Xn(e.origin, P, "source", e.cred) : null, rt = he[he.length - 1], ot = rt ? ((kr = rt.words[rt.words.length - 1]) == null ? void 0 : kr.end) ?? rt.start : 0, dt = u && je ? Math.max(ot, (ie == null ? void 0 : ie.processedS) ?? 0) : null, We = Bl($e, (ze || Ze) && !!(n != null && n.allowDownload), he, F, Ze ? ((jr = (vr = n == null ? void 0 : n.job) == null ? void 0 : vr.crop) == null ? void 0 : jr.startS) ?? 0 : 0, dt), Pe = ((Ir = (zr = n == null ? void 0 : n.job) == null ? void 0 : zr.source) == null ? void 0 : Ir.kind) === "url" ? ms(n.job.source.url) : null, lt = $l(he, F, ((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0, dt), Ve = !!Pe, mt = Ve ? lt.player : We, Mt = wi(), Bt = v(null), se = Gl({ forcedVoice: t.voice ?? null, recordingId: P, model: H, rows: he, lenS: F, ended: !!P && !je, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: Z, setPickedLang: le, side: r && !V ? Fl : void 0, hearOriginal: fe, timed: !!Pe, stockVoices: u && !Oe, stickyPicker: u, pickerBusy: Bt.current }), Ot = v(null);
5284
+ const Ne = rs((ie == null ? void 0 : ie.state) ?? ((fr = n == null ? void 0 : n.job) == null ? void 0 : fr.state)), je = !!P && (Ne === "transcribing" || Ne === "queued"), Y = u && !s && (!n || (je || Ne === "cropping") && ge.length === 0), U = je ? (ie == null ? void 0 : ie.pct) ?? 0 : 100, F = Qo(n == null ? void 0 : n.job, ie) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((Nr = H.segments.values().next().value) == null ? void 0 : Nr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, Me = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", be = ((yr = (mr = (pr = n == null ? void 0 : n.job) == null ? void 0 : pr.source) == null ? void 0 : mr.name) == null ? void 0 : yr.trim()) || null, Te = n ? ((Tr = n.name) == null ? void 0 : Tr.trim()) || be : null, ze = !!((wr = n == null ? void 0 : n.job) != null && wr.hasAudio), xe = (Lr = n == null ? void 0 : n.job) == null ? void 0 : Lr.source, Ze = !ze && !!xe && (xe.kind !== "url" || xe.bytes != null) && (Ne === "transcribing" || Ne === "queued" || Ne === "done"), $e = P && (n != null && n.allowDownload) && ze ? Ca(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ze ? Xn(e.origin, P, "source", e.cred) : null, rt = ge[ge.length - 1], ot = rt ? ((kr = rt.words[rt.words.length - 1]) == null ? void 0 : kr.end) ?? rt.start : 0, dt = u && je ? Math.max(ot, (ie == null ? void 0 : ie.processedS) ?? 0) : null, We = Bl($e, (ze || Ze) && !!(n != null && n.allowDownload), ge, F, Ze ? ((jr = (vr = n == null ? void 0 : n.job) == null ? void 0 : vr.crop) == null ? void 0 : jr.startS) ?? 0 : 0, dt), Pe = ((Ir = (zr = n == null ? void 0 : n.job) == null ? void 0 : zr.source) == null ? void 0 : Ir.kind) === "url" ? ms(n.job.source.url) : null, lt = $l(ge, F, ((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0, dt), Ve = !!Pe, mt = Ve ? lt.player : We, Mt = wi(), Bt = v(null), se = Gl({ forcedVoice: t.voice ?? null, recordingId: P, model: H, rows: ge, lenS: F, ended: !!P && !je, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: Z, setPickedLang: le, side: r && !V ? Fl : void 0, hearOriginal: fe, timed: !!Pe, stockVoices: u && !Oe, stickyPicker: u, pickerBusy: Bt.current }), Ot = v(null);
5285
5285
  _(() => {
5286
- !P || Ot.current === ne || (Ot.current = ne, ve(ne));
5286
+ !P || Ot.current === ne || (Ot.current = ne, ke(ne));
5287
5287
  }, [ne, P]);
5288
5288
  const x = Ve ? lt.player : se.on ? se.player : mt;
5289
5289
  _(() => {
@@ -5293,18 +5293,18 @@ function Ec(t) {
5293
5293
  }
5294
5294
  (se.on ? mt : se.player).pause();
5295
5295
  }, [se.on, Ve]);
5296
- const en = Ie(() => he.filter((T) => T.sentenceId != null).map((T, pe, Ye) => {
5296
+ const en = Ie(() => ge.filter((T) => T.sentenceId != null).map((T, pe, Ye) => {
5297
5297
  var Ge;
5298
5298
  return { sid: T.sentenceId, start: T.start, end: ((Ge = Ye[pe + 1]) == null ? void 0 : Ge.start) ?? St(T, T.start, T.start + 4) };
5299
- }), [he]), vt = oo({ on: Ve && se.on, lines: en, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Et = !!ne && (He || se.relang || se.on && vt.missing != null);
5299
+ }), [ge]), vt = oo({ on: Ve && se.on, lines: en, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Et = !!ne && (He || se.relang || se.on && vt.missing != null);
5300
5300
  Bt.current = Et ? ne : null, _(() => {
5301
5301
  Ve && se.on && vt.sid != null && se.setNear(vt.sid);
5302
5302
  }, [vt.sid, Ve, se.on]), Ql([mt, se.player], se.sampling);
5303
5303
  const st = v(null);
5304
5304
  _(() => {
5305
5305
  je && !x.playing && st.current && (st.current.scrollTop = st.current.scrollHeight);
5306
- }, [je, he.length]);
5307
- const Cn = Kl(st, he, w, m, k), tn = /* @__PURE__ */ i(ql, { open: w, q: m, onQ: f, onClose: () => k(!1), hits: Cn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, gt = !!(n != null && n.allowDownload), Ct = !!(n != null && n.allowExport), yt = se.readLang, Tt = yt ? ((br = Mt == null ? void 0 : Mt.languages.find((T) => T.code === yt)) == null ? void 0 : br.name) ?? yt.toUpperCase() : null, Yt = async () => {
5306
+ }, [je, ge.length]);
5307
+ const Cn = Kl(st, ge, w, m, k), tn = /* @__PURE__ */ i(ql, { open: w, q: m, onQ: f, onClose: () => k(!1), hits: Cn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, ht = !!(n != null && n.allowDownload), Ct = !!(n != null && n.allowExport), yt = se.readLang, Tt = yt ? ((br = Mt == null ? void 0 : Mt.languages.find((T) => T.code === yt)) == null ? void 0 : br.name) ?? yt.toUpperCase() : null, Yt = async () => {
5308
5308
  if (P)
5309
5309
  try {
5310
5310
  if (yt && se.canSpeak) {
@@ -5322,10 +5322,10 @@ function Ec(t) {
5322
5322
  }, bt = (T) => {
5323
5323
  if (!P) return;
5324
5324
  const pe = ps.find((Ge) => Ge.key === T).name, Ye = Tt ? ` in ${Tt}` : "";
5325
- return Bo(e, P, T, { lang: yt }).then(() => D(je ? `${pe} exported${Ye} for the first ${he.length} segments — the rest is still transcribing.` : `${pe} exported${Ye}.`)).catch((Ge) => {
5325
+ return Bo(e, P, T, { lang: yt }).then(() => D(je ? `${pe} exported${Ye} for the first ${ge.length} segments — the rest is still transcribing.` : `${pe} exported${Ye}.`)).catch((Ge) => {
5326
5326
  throw M(kt(Ge)), Ge;
5327
5327
  });
5328
- }, ct = je ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = je ? "var(--brand)" : "var(--ink-28)", it = Po(ie, he.length), jt = x.has && (!se.relang || !!Pe), qe = v(x);
5328
+ }, ct = je ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = je ? "var(--brand)" : "var(--ink-28)", it = Po(ie, ge.length), jt = x.has && (!se.relang || !!Pe), qe = v(x);
5329
5329
  qe.current = x;
5330
5330
  const _t = `${ne ?? ""}|${se.on ? "voice" : "source"}`, Vt = v({ key: _t, idx: 0, t: 0, playing: !1, until: 0 });
5331
5331
  _(() => {
@@ -5342,12 +5342,12 @@ function Ec(t) {
5342
5342
  !x.has || se.relang || (T.until = 0, Math.abs(x.t - T.t) > 0.5 && (x.seekFrac && x.dur > 0 ? x.seekFrac(T.t / x.dur) : x.seekRow(T.idx)), T.playing && !x.playing && (Je.current = !0, x.toggle()));
5343
5343
  }
5344
5344
  });
5345
- const ht = v(!1), Je = v(!1);
5345
+ const gt = v(!1), Je = v(!1);
5346
5346
  u && (oi.video = !0);
5347
5347
  const [Wt, xt] = I(!1), [nn, bn] = I(!1);
5348
5348
  _(() => {
5349
- if (!u || ht.current || !jt || !V || Y || t.autoplay === !1) return;
5350
- ht.current = !0;
5349
+ if (!u || gt.current || !jt || !V || Y || t.autoplay === !1) return;
5350
+ gt.current = !0;
5351
5351
  const T = (Ge) => {
5352
5352
  qe.current.playing || Je.current || (qe.current.toggle(), Ge > 0 && setTimeout(() => T(Ge - 1), 1500));
5353
5353
  }, pe = () => {
@@ -5386,12 +5386,12 @@ function Ec(t) {
5386
5386
  const T = setTimeout(() => Q(!0), 180);
5387
5387
  return () => clearTimeout(T);
5388
5388
  }, [He]);
5389
- const De = Gt ? Ue : ne, Fe = nl(P, ne, he, Ce), ft = pl(ml(ue), P, se.readLang), Zt = gt || Ct, Ri = (((Dr = (xr = n == null ? void 0 : n.job) == null ? void 0 : xr.crop) == null ? void 0 : Dr.startS) ?? 0) + as(x, he), Sn = A === "listen", Dt = Sn && !!Pe, Pi = (T) => {
5389
+ const De = Gt ? Ue : ne, Fe = nl(P, ne, ge, Ce), ft = pl(ml(ue), P, se.readLang), Zt = ht || Ct, Ri = (((Dr = (xr = n == null ? void 0 : n.job) == null ? void 0 : xr.crop) == null ? void 0 : Dr.startS) ?? 0) + as(x, ge), Sn = A === "listen", Dt = Sn && !!Pe, Pi = (T) => {
5390
5390
  mt.pause(), se.player.pause(), te(T), T === "read" && V && (Kt(!1), C(!1));
5391
- }, Ee = se.barChip, Ut = ki(Ee.label), Ys = /* @__PURE__ */ i(cs, { value: A, onChange: Pi, bordered: !1, options: uc(Ut, !!Pe) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], _s = (T) => /* @__PURE__ */ h(_e, { children: [
5391
+ }, Ee = se.barChip, Ut = ki(Ee.label), Ys = /* @__PURE__ */ i(cs, { value: A, onChange: Pi, bordered: !1, options: uc(Ut, !!Pe) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], _s = (T) => /* @__PURE__ */ g(_e, { children: [
5392
5392
  T === "summary" && Ft && /* @__PURE__ */ i(yl, { s: ft }),
5393
- T === "export" && /* @__PURE__ */ i(Nl, { audio: gt ? { name: Ke, meta: yt && se.canSpeak || ze ? `MP3${F ? ` · ${Lt(F)}` : ""}` : "ORIGINAL AUDIO", onClick: Yt } : null, formats: Ct, onExport: bt })
5394
- ] }), Qi = (T) => /* @__PURE__ */ i(Jo, { index: x.idx, total: Math.max(1, he.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: Lt(x.t), durLabel: Lt(x.dur), stepLabel: T ? `${x.idx + 1} / ${he.length}` : "", onSeek: se.relang ? Vl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Us = {
5393
+ T === "export" && /* @__PURE__ */ i(Nl, { audio: ht ? { name: Ke, meta: yt && se.canSpeak || ze ? `MP3${F ? ` · ${Lt(F)}` : ""}` : "ORIGINAL AUDIO", onClick: Yt } : null, formats: Ct, onExport: bt })
5394
+ ] }), Qi = (T) => /* @__PURE__ */ i(Jo, { index: x.idx, total: Math.max(1, ge.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: Lt(x.t), durLabel: Lt(x.dur), stepLabel: T ? `${x.idx + 1} / ${ge.length}` : "", onSeek: se.relang ? Vl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Us = {
5395
5395
  live: !1,
5396
5396
  atEdge: !1,
5397
5397
  edgeFrac: null,
@@ -5404,27 +5404,27 @@ function Ec(t) {
5404
5404
  var pe;
5405
5405
  se.relang || (pe = x.seekFrac) == null || pe.call(x, T);
5406
5406
  }
5407
- }, [$i, Bi] = Mc(se.on && !!x.preparing && x.playing, 1500), An = se.on && ((Sr = x.error) == null ? void 0 : Sr.code) === "voice_not_started", En = se.canSpeak && !se.error && !An, an = ne ? ((Ar = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Ar.name) ?? Ee.label : "", tt = V ? dc({ lang: ne, langName: an, translating: He && !!ne, translateFailed: Ae, voiceFailed: An, relang: se.relang, starting: se.on ? x.starting : null, slowLine: $i, lineSince: Bi }) : null, Yn = !!Pe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Rs = !Yn || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !Yn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Ps = Is({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => re("main") }), Qs = Wa(B, se.on), Hi = u && Qs.bed && gt && P && (!je || $e) ? _r(e.origin, P, e.cred) : null, $s = to(Hi, { t: as(x, he), playing: x.playing && !on && !(x.timed && x.preparing), muted: x.muted }), Vi = u && Qs.speech && gt && P && (!je || $e) ? _r(e.origin, P, e.cred, "speech") : null, _n = fi(Vi, { t: as(x, he), playing: !se.on && x.playing, muted: x.muted }), Un = !se.on && _n.on;
5407
+ }, [$i, Bi] = Mc(se.on && !!x.preparing && x.playing, 1500), An = se.on && ((Sr = x.error) == null ? void 0 : Sr.code) === "voice_not_started", En = se.canSpeak && !se.error && !An, an = ne ? ((Ar = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Ar.name) ?? Ee.label : "", tt = V ? dc({ lang: ne, langName: an, translating: He && !!ne, translateFailed: Ae, voiceFailed: An, relang: se.relang, starting: se.on ? x.starting : null, slowLine: $i, lineSince: Bi }) : null, Yn = !!Pe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Rs = !Yn || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !Yn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Ps = Is({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => re("main") }), Qs = Wa(B, se.on), Hi = u && Qs.bed && ht && P && (!je || $e) ? _r(e.origin, P, e.cred) : null, $s = to(Hi, { t: as(x, ge), playing: x.playing && !on && !(x.timed && x.preparing), muted: x.muted }), Vi = u && Qs.speech && ht && P && (!je || $e) ? _r(e.origin, P, e.cred, "speech") : null, _n = fi(Vi, { t: as(x, ge), playing: !se.on && x.playing, muted: x.muted }), Un = !se.on && _n.on;
5408
5408
  _(() => {
5409
5409
  var T;
5410
5410
  lt.setVideoSound(!(Ve && (se.on || Un))), (T = We.silence) == null || T.call(We, !Ve && Un);
5411
5411
  }, [Ve, se.on, Un, $e]);
5412
- const Rn = gt ? se.on ? $s : _n.state : "unavailable", Pn = Se && En && !!ne, Wi = Pn ? [`Translated${se.hasClone ? Oe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && gt && $s !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && Rn !== "unavailable" ? "Original speech, background removed" : "Original sound", Fi = () => {
5412
+ const Rn = ht ? se.on ? $s : _n.state : "unavailable", Pn = Se && En && !!ne, Wi = Pn ? [`Translated${se.hasClone ? Oe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && ht && $s !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && Rn !== "unavailable" ? "Original speech, background removed" : "Original sound", Fi = () => {
5413
5413
  if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
5414
- ve(ne);
5414
+ ke(ne);
5415
5415
  return;
5416
5416
  }
5417
5417
  Je.current = !0, x.toggle();
5418
5418
  }, Gi = () => {
5419
5419
  const T = x.idx;
5420
5420
  x.pause(), le(null), Je.current = !0, mt.playRow(T);
5421
- }, Bs = { prevOn: x.idx > 0, nextOn: x.idx < he.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: jt, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5421
+ }, Bs = { prevOn: x.idx > 0, nextOn: x.idx < ge.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: jt, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5422
5422
  Je.current = !0, x.toggle();
5423
5423
  }, busy: se.relang && !Pe || on };
5424
5424
  uo(jt ? { playing: x.playing, toggle: () => {
5425
5425
  Je.current = !0, x.toggle();
5426
5426
  }, next: x.next, prev: x.prev } : null, Te);
5427
- const Qn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, $n = (T, pe) => !Ee.can || !R.language ? null : u ? /* @__PURE__ */ h("button", { type: "button", className: "gfull__btn", title: Et ? `${Ee.label ?? Ee.code}: still being prepared` : Ee.label ?? Ee.code, "aria-label": `Language: ${Ee.label ?? Ee.code}`, "aria-busy": Et || void 0, onClick: () => {
5427
+ const Qn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, $n = (T, pe) => !Ee.can || !R.language ? null : u ? /* @__PURE__ */ g("button", { type: "button", className: "gfull__btn", title: Et ? `${Ee.label ?? Ee.code}: still being prepared` : Ee.label ?? Ee.code, "aria-label": `Language: ${Ee.label ?? Ee.code}`, "aria-busy": Et || void 0, onClick: () => {
5428
5428
  S(!1), Ee.onClick();
5429
5429
  }, style: { position: "relative" }, children: [
5430
5430
  /* @__PURE__ */ i("span", { style: { fontSize: pe === "sm" ? 17 : 21, lineHeight: 1 }, children: Ee.flag }),
@@ -5434,22 +5434,22 @@ function Ec(t) {
5434
5434
  _(() => {
5435
5435
  x.t > 0.3 && qi(!0);
5436
5436
  }, [x.t]);
5437
- const Vs = Pe && /* @__PURE__ */ h(_e, { children: [
5437
+ const Vs = Pe && /* @__PURE__ */ g(_e, { children: [
5438
5438
  /* @__PURE__ */ i(Sl, { ytId: Pe, title: Ke, t: Ri, playing: x.playing && !on, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (T) => {
5439
5439
  var pe, Ye, Ge;
5440
5440
  return (Ge = x.videoAt) == null ? void 0 : Ge.call(x, T - (((Ye = (pe = n == null ? void 0 : n.job) == null ? void 0 : pe.crop) == null ? void 0 : Ye.startS) ?? 0));
5441
5441
  }, onToggle: x.has ? sn : void 0, onAd: bn, lead: Ve ? lt.lead : void 0 }),
5442
- /* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: Zi ? 0 : 1 }, children: [
5442
+ /* @__PURE__ */ g("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: Zi ? 0 : 1 }, children: [
5443
5443
  /* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Pe}/hqdefault.jpg)` } }),
5444
5444
  /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(vs, { size: 44 }) })
5445
5445
  ] })
5446
5446
  ] }), Ws = Dt && Pe && !V ? /* @__PURE__ */ i(Tl, { ytId: Pe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: Vs, children: /* @__PURE__ */ i(ac, { pos: Us, transport: Bs, chip: $n({ ...Qn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hs, onFull: () => {
5447
5447
  Kt(!0), C(!0);
5448
- }, copied: null }) }) : null, et = x.wordSync ? Fo(he, x.idx, x.t) ? he[x.idx] : void 0 : he[x.idx];
5449
- for (const T of he) for (const [pe, Ye] of Object.entries(T.translations)) Ye && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Ye);
5448
+ }, copied: null }) }) : null, et = x.wordSync ? Fo(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
5449
+ for (const T of ge) for (const [pe, Ye] of Object.entries(T.translations)) Ye && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Ye);
5450
5450
  const Fs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Bn = (T, pe) => !T || !pe || T.language === pe || !!Fs(T, pe), wt = Bn(et, ne) ? ne : Bn(et, $.current) ? $.current : ne;
5451
5451
  et && Bn(et, wt) && ($.current = wt);
5452
- const Gs = et && wt && et.language !== wt ? Fs(et, wt) : null, Ki = et && Gs && wt && !et.translations[wt] ? Object.assign([...he], { [x.idx]: { ...et, translations: { ...et.translations, [wt]: Gs } } }) : he, ln = et ? Ci(Ki, x.idx, wt) : [], cn = ke ? ke === "on" : !u || se.on || !De || De === ee, Zs = cn ? qr(x, x.idx, ln) : null, qs = ln.map((T, pe) => ({ t: T.text, sp: pe < ln.length - 1 ? " " : "", dim: Zs != null && pe > Zs })), un = ae ? ae === "on" : u ? !1 : jo(H, he, ue == null ? void 0 : ue.settings), Ks = { lang: ne, subtitles: ye, speakerLabels: un, wordHighlight: cn, translateAudio: Se, voices: Oe ? "cloned" : "synthetic", removeBackground: B }, Ji = JSON.stringify(Ks), dn = v(t.onSettingsChange);
5452
+ const Gs = et && wt && et.language !== wt ? Fs(et, wt) : null, Ki = et && Gs && wt && !et.translations[wt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [wt]: Gs } } }) : ge, ln = et ? Ci(Ki, x.idx, wt) : [], cn = ve ? ve === "on" : !u || se.on || !De || De === ee, Zs = cn ? qr(x, x.idx, ln) : null, qs = ln.map((T, pe) => ({ t: T.text, sp: pe < ln.length - 1 ? " " : "", dim: Zs != null && pe > Zs })), un = ae ? ae === "on" : u ? !1 : jo(H, ge, ue == null ? void 0 : ue.settings), Ks = { lang: ne, subtitles: ye, speakerLabels: un, wordHighlight: cn, translateAudio: Se, voices: Oe ? "cloned" : "synthetic", removeBackground: B }, Ji = JSON.stringify(Ks), dn = v(t.onSettingsChange);
5453
5453
  dn.current = t.onSettingsChange, _(() => {
5454
5454
  var T;
5455
5455
  (T = dn.current) == null || T.call(dn, Ks);
@@ -5462,24 +5462,24 @@ function Ec(t) {
5462
5462
  if (t.shareUrl) return t.shareUrl(T);
5463
5463
  const pe = new URL(window.location.href);
5464
5464
  return T != null && T > 0 ? pe.searchParams.set("t", String(T)) : pe.searchParams.delete("t"), pe.href;
5465
- }, gn = v(l.startAt), Fn = (T) => {
5465
+ }, hn = v(l.startAt), Fn = (T) => {
5466
5466
  if (x.seekFrac && x.dur > 0) {
5467
5467
  x.seekFrac(Math.min(1, T / x.dur));
5468
5468
  return;
5469
5469
  }
5470
5470
  let pe = 0;
5471
- for (let Ye = 0; Ye < he.length; Ye++) he[Ye].start <= T && (pe = Ye);
5471
+ for (let Ye = 0; Ye < ge.length; Ye++) ge[Ye].start <= T && (pe = Ye);
5472
5472
  x.seekRow(pe);
5473
5473
  }, nr = v(!1);
5474
5474
  _(() => {
5475
- const T = gn.current;
5476
- T == null || nr.current || !x.has || he.length === 0 || (nr.current = !0, Fn(T));
5477
- }, [x.has, he.length]), _(() => {
5478
- const T = gn.current;
5479
- T == null || !x.playing || (gn.current = null, Math.abs(x.t - T) > 2 && Fn(T));
5475
+ const T = hn.current;
5476
+ T == null || nr.current || !x.has || ge.length === 0 || (nr.current = !0, Fn(T));
5477
+ }, [x.has, ge.length]), _(() => {
5478
+ const T = hn.current;
5479
+ T == null || !x.playing || (hn.current = null, Math.abs(x.t - T) > 2 && Fn(T));
5480
5480
  }, [x.playing]);
5481
5481
  const ta = (T) => {
5482
- Je.current = !0, gn.current = null, Fn(Math.max(0, T));
5482
+ Je.current = !0, hn.current = null, Fn(Math.max(0, T));
5483
5483
  };
5484
5484
  t.handle.current = {
5485
5485
  seek: (T) => ta(T),
@@ -5517,114 +5517,114 @@ function Ec(t) {
5517
5517
  window.clearTimeout(Wn.current), Js(!0), Wn.current = window.setTimeout(() => Js(!1), 2200);
5518
5518
  }), ir = (T, pe, Ye) => {
5519
5519
  const Ge = ps.find((pn) => pn.key === T), Nt = Hn === T, ut = ea === T;
5520
- return /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", "aria-busy": Nt || void 0, style: Hn && !Nt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5520
+ return /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", "aria-busy": Nt || void 0, style: Hn && !Nt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5521
5521
  Hn || (Xs(T), Promise.resolve().then(() => bt(T)).then(() => {
5522
5522
  er(T), window.clearTimeout(Vn.current), Vn.current = window.setTimeout(() => er(null), 1600);
5523
5523
  }).catch(() => {
5524
5524
  }).finally(() => Xs(null)));
5525
5525
  }, children: [
5526
5526
  Nt ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: Ge.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5527
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5527
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5528
5528
  /* @__PURE__ */ i("div", { className: "srow__t", children: pe }),
5529
5529
  /* @__PURE__ */ i("div", { className: "srow__s", children: Ye })
5530
5530
  ] }),
5531
5531
  /* @__PURE__ */ i(oe, { d: ut ? J.check : J.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ut ? "var(--brand)" : "var(--ink-62)" } })
5532
5532
  ] });
5533
- }, sa = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5533
+ }, sa = /* @__PURE__ */ g("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5534
5534
  " ",
5535
- /* @__PURE__ */ h("button", { type: "button", onClick: () => re("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
5535
+ /* @__PURE__ */ g("button", { type: "button", onClick: () => re("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
5536
5536
  /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 18, sw: 1.8 }),
5537
5537
  "Back"
5538
5538
  ] })
5539
- ] }), hn = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ra = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[z], fn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Gn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ra, titleNode: z === "main" ? void 0 : sa, doneLabel: Ut.done, kind: z === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: z === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
5539
+ ] }), gn = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ra = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[z], fn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Gn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ra, titleNode: z === "main" ? void 0 : sa, doneLabel: Ut.done, kind: z === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: z === "lang" ? /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
5540
5540
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Ps.search }),
5541
5541
  Ps.list
5542
- ] }) : z === "subs" ? /* @__PURE__ */ h("div", { style: fn, children: [
5543
- /* @__PURE__ */ h("div", { className: "srow", children: [
5544
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5542
+ ] }) : z === "subs" ? /* @__PURE__ */ g("div", { style: fn, children: [
5543
+ /* @__PURE__ */ g("div", { className: "srow", children: [
5544
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5545
5545
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Show subtitles" }),
5546
5546
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Captions over the video" })
5547
5547
  ] }),
5548
5548
  /* @__PURE__ */ i(pt, { checked: ye, onChange: Le, label: "Show subtitles" })
5549
5549
  ] }),
5550
- /* @__PURE__ */ h("div", { className: "srow", children: [
5551
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5550
+ /* @__PURE__ */ g("div", { className: "srow", children: [
5551
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5552
5552
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Show speaker labels" }),
5553
5553
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Who is speaking, before each line" })
5554
5554
  ] }),
5555
5555
  /* @__PURE__ */ i(pt, { checked: un, onChange: (T) => we(T ? "on" : "off"), label: "Show speaker labels" })
5556
5556
  ] }),
5557
- /* @__PURE__ */ h("div", { className: "srow", children: [
5558
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5557
+ /* @__PURE__ */ g("div", { className: "srow", children: [
5558
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5559
5559
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Highlight words" }),
5560
5560
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Follow each word as it is spoken" })
5561
5561
  ] }),
5562
5562
  /* @__PURE__ */ i(pt, { checked: cn, onChange: (T) => Qe(T ? "on" : "off"), label: "Highlight words" })
5563
5563
  ] })
5564
- ] }) : z === "audio" ? /* @__PURE__ */ h("div", { style: fn, children: [
5565
- /* @__PURE__ */ h("div", { className: "srow", children: [
5566
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5564
+ ] }) : z === "audio" ? /* @__PURE__ */ g("div", { style: fn, children: [
5565
+ /* @__PURE__ */ g("div", { className: "srow", children: [
5566
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5567
5567
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Translate audio" }),
5568
5568
  /* @__PURE__ */ i("div", { className: "srow__s", children: ne ? En ? "Hear the translation read aloud instead of the original speech" : se.canSpeak ? "Not available right now" : "Not available in this language" : "Pick a language to hear the translation read aloud" })
5569
5569
  ] }),
5570
5570
  /* @__PURE__ */ i(pt, { checked: Pn, onChange: Be, label: "Translate audio", disabled: !En || !ne })
5571
5571
  ] }),
5572
- Pn && se.hasClone && /* @__PURE__ */ h("div", { className: "srow", children: [
5573
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5572
+ Pn && se.hasClone && /* @__PURE__ */ g("div", { className: "srow", children: [
5573
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5574
5574
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Voices" }),
5575
5575
  /* @__PURE__ */ i("div", { className: "srow__s", children: Oe ? "Each speaker in their own cloned voice" : "Synthetic voices matched to each speaker" })
5576
5576
  ] }),
5577
5577
  /* @__PURE__ */ i(cs, { value: Oe ? "clone" : "stock", onChange: (T) => G(T === "clone"), size: "sm", options: [{ value: "stock", label: "Synthetic" }, { value: "clone", label: "Cloned" }] })
5578
5578
  ] }),
5579
- /* @__PURE__ */ h("div", { className: "srow", children: [
5580
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5579
+ /* @__PURE__ */ g("div", { className: "srow", children: [
5580
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5581
5581
  /* @__PURE__ */ i("div", { className: "srow__t", children: jn }),
5582
5582
  /* @__PURE__ */ i("div", { className: "srow__s", children: Va(B, Rn, "video", se.on ? 0 : _n.untilS) })
5583
5583
  ] }),
5584
- /* @__PURE__ */ i(pt, { checked: B && gt, onChange: X, label: jn, disabled: !gt || Rn === "unavailable" && !B })
5584
+ /* @__PURE__ */ i(pt, { checked: B && ht, onChange: X, label: jn, disabled: !ht || Rn === "unavailable" && !B })
5585
5585
  ] })
5586
- ] }) : z === "export" ? /* @__PURE__ */ h("div", { style: fn, children: [
5586
+ ] }) : z === "export" ? /* @__PURE__ */ g("div", { style: fn, children: [
5587
5587
  ir("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5588
5588
  ir("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5589
5589
  ] }) : /* @__PURE__ */ i("div", { style: fn, children: [
5590
- Ee.can && R.language && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => re("lang"), children: [
5591
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5590
+ Ee.can && R.language && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("lang"), children: [
5591
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5592
5592
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
5593
5593
  /* @__PURE__ */ i("div", { className: "srow__s", children: ne ? `Translated to ${Ee.label ?? ne.toUpperCase()}` : "Original language" })
5594
5594
  ] }),
5595
5595
  /* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: Ee.flag }),
5596
- hn
5596
+ gn
5597
5597
  ] }, "lang"),
5598
- R.subtitles && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => re("subs"), children: [
5599
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5598
+ R.subtitles && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("subs"), children: [
5599
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5600
5600
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
5601
5601
  /* @__PURE__ */ i("div", { className: "srow__s", children: ye ? "On · speaker labels and word highlighting" : "Off" })
5602
5602
  ] }),
5603
- hn
5603
+ gn
5604
5604
  ] }, "subs"),
5605
- R.audio && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => re("audio"), children: [
5606
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5605
+ R.audio && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("audio"), children: [
5606
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5607
5607
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
5608
5608
  /* @__PURE__ */ i("div", { className: "srow__s", children: Wi })
5609
5609
  ] }),
5610
- hn
5610
+ gn
5611
5611
  ] }, "audio"),
5612
- R.export && Ct && !!P && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => re("export"), children: [
5613
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5614
- /* @__PURE__ */ h("div", { className: "srow__t", children: [
5612
+ R.export && Ct && !!P && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("export"), children: [
5613
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5614
+ /* @__PURE__ */ g("div", { className: "srow__t", children: [
5615
5615
  "Export",
5616
5616
  Tt ? ` in ${Tt}` : ""
5617
5617
  ] }),
5618
5618
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
5619
5619
  ] }),
5620
- hn
5620
+ gn
5621
5621
  ] }, "export")
5622
- ].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__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
5623
- Ee.can && /* @__PURE__ */ h(_e, { children: [
5624
- /* @__PURE__ */ h("div", { className: "srow srow--tap", onClick: () => {
5622
+ ].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__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
5623
+ Ee.can && /* @__PURE__ */ g(_e, { children: [
5624
+ /* @__PURE__ */ g("div", { className: "srow srow--tap", onClick: () => {
5625
5625
  S(!1), Ee.onClick();
5626
5626
  }, children: [
5627
- /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5627
+ /* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
5628
5628
  /* @__PURE__ */ i("div", { className: "srow__t", children: Ut.langLabel }),
5629
5629
  /* @__PURE__ */ i("div", { className: "srow__s", children: Ut.langCount })
5630
5630
  ] }),
@@ -5647,7 +5647,7 @@ function Ec(t) {
5647
5647
  cc: R.subtitles ? { on: ye, onToggle: () => Le((T) => !T) } : void 0,
5648
5648
  noFull: !R.fullscreen,
5649
5649
  ad: nn,
5650
- wait: tt && !Yn ? /* @__PURE__ */ i(hc, { state: tt, line: on ? qs.map((T) => T.t + T.sp).join("") : null, onRetry: Fi, onOriginal: Gi }) : x.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
5650
+ wait: tt && !Yn ? /* @__PURE__ */ i(gc, { state: tt, line: on ? qs.map((T) => T.t + T.sp).join("") : null, onRetry: Fi, onOriginal: Gi }) : x.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
5651
5651
  pct: je ? Math.round(U) : null,
5652
5652
  sub: ye && et ? { who: Mn ? Cs(H, et.speaker) : null, color: Mn ? Mn.fg ?? `var(--lane-${Mn.lane})` : "#fff", words: qs, cursor: qr(x, x.idx, ln) } : null,
5653
5653
  chip: $n(r ? Qn : { ...Qn, width: 64, padding: "0 6px" }, r ? void 0 : "sm"),
@@ -5663,16 +5663,16 @@ function Ec(t) {
5663
5663
  } : void 0,
5664
5664
  compact: !!t.compact,
5665
5665
  paused: { title: Ke, summary: ft.state === "ready" ? ft.summary ?? null : null, share: R.share && (t.shareUrl || !t.onShare) ? { url: tr, at: x.t } : null },
5666
- copied: Xi ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
5666
+ copied: Xi ? /* @__PURE__ */ g("div", { className: "gfull__toast", "aria-live": "polite", children: [
5667
5667
  /* @__PURE__ */ i(oe, { d: J.check, size: 13, sw: 2 }),
5668
5668
  "Link copied"
5669
- ] }) : Wt ? /* @__PURE__ */ h("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
5669
+ ] }) : Wt ? /* @__PURE__ */ g("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
5670
5670
  /* @__PURE__ */ i(oe, { d: J.volumeOff, size: 14, sw: 1.8 }),
5671
5671
  "Tap for sound"
5672
- ] }) : Rs ? /* @__PURE__ */ h("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5672
+ ] }) : Rs ? /* @__PURE__ */ g("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5673
5673
  /* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5674
5674
  Rs
5675
- ] }) : se.on && (Ve ? vt.missing != null : x.silent) ? /* @__PURE__ */ h("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5675
+ ] }) : se.on && (Ve ? vt.missing != null : x.silent) ? /* @__PURE__ */ g("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5676
5676
  /* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5677
5677
  `${an || "Translated"} voice is still being prepared · playing with subtitles`
5678
5678
  ] }) : null,
@@ -5687,34 +5687,34 @@ function Ec(t) {
5687
5687
  _(() => {
5688
5688
  !u && V && !Dt && (Kt(!1), C(!1));
5689
5689
  }, [u, V, Dt]);
5690
- const ar = je && /* @__PURE__ */ h("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
5691
- /* @__PURE__ */ h("div", { className: "pubprog__row", children: [
5690
+ const ar = je && /* @__PURE__ */ g("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
5691
+ /* @__PURE__ */ g("div", { className: "pubprog__row", children: [
5692
5692
  /* @__PURE__ */ i("span", { className: "l", children: `TRANSCRIBING ${U}%` }),
5693
5693
  !r && /* @__PURE__ */ i("div", { style: { flex: 1 } }),
5694
5694
  r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { flex: 1 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) }),
5695
5695
  /* @__PURE__ */ i("span", { className: "s", children: it })
5696
5696
  ] }),
5697
5697
  !r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
5698
- ] }), Zn = 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." }), or = /* @__PURE__ */ i(Zl, { model: H, rows: he, player: x, tail: ct, tailFg: Ht, running: je, desk: r, feedRef: st, listener: !0, showLabels: un, find: m, findOpen: !r && w, lang: De, warm: Gt, onVisible: Fe, wordHl: cn }), qn = /* @__PURE__ */ i(Ko, { error: g ?? me ?? (An && V ? null : x.error) ?? se.error, onClose: () => {
5698
+ ] }), Zn = 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." }), or = /* @__PURE__ */ i(Zl, { model: H, rows: ge, player: x, tail: ct, tailFg: Ht, running: je, desk: r, feedRef: st, listener: !0, showLabels: un, find: m, findOpen: !r && w, lang: De, warm: Gt, onVisible: Fe, wordHl: cn }), qn = /* @__PURE__ */ i(Ko, { error: h ?? me ?? (An && V ? null : x.error) ?? se.error, onClose: () => {
5699
5699
  M(null), q(), x.clearError(), se.clearError();
5700
- } }), lr = [F ? Lt(F) : null, ee ? ee.toUpperCase() : null, Me || "Read-only copy"].filter(Boolean).join(" · "), cr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ h(_e, { children: [
5701
- /* @__PURE__ */ h("div", { className: "ctrans__row", children: [
5700
+ } }), lr = [F ? Lt(F) : null, ee ? ee.toUpperCase() : null, Me || "Read-only copy"].filter(Boolean).join(" · "), cr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ g(_e, { children: [
5701
+ /* @__PURE__ */ g("div", { className: "ctrans__row", children: [
5702
5702
  /* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
5703
- /* @__PURE__ */ h("div", { className: "ctrans__mid", children: [
5703
+ /* @__PURE__ */ g("div", { className: "ctrans__mid", children: [
5704
5704
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 16, sw: 1.8 }) }),
5705
5705
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !jt, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? Al : El }) }),
5706
- /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= he.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 16, sw: 1.8 }) })
5706
+ /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= ge.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 16, sw: 1.8 }) })
5707
5707
  ] }),
5708
5708
  /* @__PURE__ */ i("span", { className: "ctrans__mute", children: rn(36) })
5709
5709
  ] }),
5710
5710
  /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Qi(T) })
5711
- ] }) }), ia = kl("ga", { tabs: Rt, cur: p, pref: (Er = Rt[0]) == null ? void 0 : Er.key, onPick: N }), ur = Math.max(0, Math.min(100, Math.round(U))), aa = Y && /* @__PURE__ */ h("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5711
+ ] }) }), ia = kl("ga", { tabs: Rt, cur: p, pref: (Er = Rt[0]) == null ? void 0 : Er.key, onPick: N }), ur = Math.max(0, Math.min(100, Math.round(U))), aa = Y && /* @__PURE__ */ g("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5712
5712
  Pe && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Pe}/hqdefault.jpg)` } }),
5713
- /* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ h(_e, { children: [
5713
+ /* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ g(_e, { children: [
5714
5714
  Ke && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Ke }),
5715
5715
  /* @__PURE__ */ i("div", { className: "gfull__holdpct", children: Ne === "transcribing" ? `${ur}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
5716
5716
  /* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${Ne === "transcribing" ? ur : 0}%` } }) }),
5717
- /* @__PURE__ */ h("div", { className: "gfull__holds", children: [
5717
+ /* @__PURE__ */ g("div", { className: "gfull__holds", children: [
5718
5718
  Ne === "transcribing" ? "Transcribing" : Ne === "cropping" ? "Preparing the video" : "Waiting to start",
5719
5719
  Ne === "transcribing" && (ie != null && ie.segmentsDone) ? ` · ${it.toLowerCase()}` : ""
5720
5720
  ] }),
@@ -5732,37 +5732,37 @@ function Ec(t) {
5732
5732
  const la = t.endCard !== !1 && Jn && !oa && /* @__PURE__ */ i(Lc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Kn(!0), onReplay: () => {
5733
5733
  Kn(!0), Je.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
5734
5734
  } });
5735
- if (u) return /* @__PURE__ */ h(_e, { children: [
5735
+ if (u) return /* @__PURE__ */ g(_e, { children: [
5736
5736
  s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Zn }) : aa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5737
5737
  la,
5738
5738
  qn
5739
5739
  ] });
5740
5740
  if (r) {
5741
5741
  const T = Sn && !Dt && !s && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: cr(!0) }), pe = !s && (Rt.length > 0 || Dt || !!se.sidePanel || !!T);
5742
- return /* @__PURE__ */ h(_e, { children: [
5743
- /* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ h("div", { className: "gcolhead", children: [
5744
- /* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */ h("div", { className: "gcolhead__col", children: [
5742
+ return /* @__PURE__ */ g(_e, { children: [
5743
+ /* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ g("div", { className: "gcolhead", children: [
5744
+ /* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */ g("div", { className: "gcolhead__col", children: [
5745
5745
  /* @__PURE__ */ i("div", { style: { flex: "none" }, children: /* @__PURE__ */ i(In, { dark: a, height: 20.38 }) }),
5746
- !s && /* @__PURE__ */ h("div", { className: "dhead__session", children: [
5746
+ !s && /* @__PURE__ */ g("div", { className: "dhead__session", children: [
5747
5747
  /* @__PURE__ */ i("span", { className: "t", children: n ? Ke : "" }),
5748
5748
  /* @__PURE__ */ i("span", { className: "s", children: n ? lr : "" })
5749
5749
  ] })
5750
5750
  ] }) }),
5751
5751
  pe && /* @__PURE__ */ i("div", { className: "gcolhead__side" })
5752
5752
  ] }) }),
5753
- /* @__PURE__ */ h("div", { className: "listenerlive listenerlive--cols listenerlive--pub", children: [
5754
- /* @__PURE__ */ h("div", { className: "listenerlive__main", children: [
5753
+ /* @__PURE__ */ g("div", { className: "listenerlive listenerlive--cols listenerlive--pub", children: [
5754
+ /* @__PURE__ */ g("div", { className: "listenerlive__main", children: [
5755
5755
  Zn,
5756
5756
  !s && tn,
5757
5757
  ar,
5758
5758
  O && /* @__PURE__ */ i("div", { className: "pubflash", children: O }),
5759
5759
  !s && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: or }),
5760
- !s && /* @__PURE__ */ h("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
5760
+ !s && /* @__PURE__ */ g("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
5761
5761
  Ee.can && /* @__PURE__ */ i("span", { className: "barchip", style: Ee.active ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)", borderRadius: 12 } : void 0, children: /* @__PURE__ */ i(vn, { flag: Ee.flag, code: Ee.code, label: Ee.label, bordered: !1, onClick: Ee.onClick }) }),
5762
5762
  Ys
5763
5763
  ] })
5764
5764
  ] }),
5765
- pe && /* @__PURE__ */ h(zl, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5765
+ pe && /* @__PURE__ */ g(zl, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5766
5766
  !se.sidePanel && T,
5767
5767
  !se.sidePanel && Ws,
5768
5768
  !se.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(vl, { col: ia, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Ye) => /* @__PURE__ */ i(Yr, { panel: !0, children: _s(Ye) }) }) }),
@@ -5775,24 +5775,24 @@ function Ec(t) {
5775
5775
  qn
5776
5776
  ] });
5777
5777
  }
5778
- const ca = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ h(Yr, { panel: !0, children: [
5778
+ const ca = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ g(Yr, { panel: !0, children: [
5779
5779
  /* @__PURE__ */ i(Ii, { tabs: Rt, current: p, onPick: N, gap: p !== "none" }),
5780
5780
  p !== "none" && _s(p)
5781
5781
  ] }) });
5782
- return /* @__PURE__ */ h(_e, { children: [
5782
+ return /* @__PURE__ */ g(_e, { children: [
5783
5783
  /* @__PURE__ */ i(lc, { dark: a, title: n ? Ke : "", subline: n ? lr : "", onOptions: () => S(!0), optionsActive: j }),
5784
5784
  Zn,
5785
5785
  ar,
5786
5786
  !s && ca,
5787
5787
  !s && Ws,
5788
- !s && /* @__PURE__ */ h("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
5788
+ !s && /* @__PURE__ */ g("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
5789
5789
  tn,
5790
5790
  or,
5791
5791
  O && /* @__PURE__ */ i("div", { className: "txflash", children: O })
5792
5792
  ] }),
5793
- !s && /* @__PURE__ */ h("div", { className: "gbottom", "data-transport": "1", children: [
5793
+ !s && /* @__PURE__ */ g("div", { className: "gbottom", "data-transport": "1", children: [
5794
5794
  Sn && !Dt && /* @__PURE__ */ i("div", { className: "pubctl", children: cr(!1) }),
5795
- /* @__PURE__ */ h("div", { className: "gbottom__bar", children: [
5795
+ /* @__PURE__ */ g("div", { className: "gbottom__bar", children: [
5796
5796
  Ee.can && /* @__PURE__ */ i("div", { style: { flex: "none" }, children: $n({ width: 87 }, void 0) }),
5797
5797
  /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Ys })
5798
5798
  ] })