@vocalstack/player 0.1.0-alpha.10 → 0.1.0-alpha.11
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 +389 -389
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var ge = (t, e, n) =>
|
|
1
|
+
var Ma = Object.defineProperty;
|
|
2
|
+
var ha = (t, e, n) => e in t ? Ma(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
|
+
var ge = (t, e, n) => ha(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
4
|
import { jsx as i, jsxs as f, Fragment as Pe } from "react/jsx-runtime";
|
|
5
|
-
import { useState as O, useRef as z, useEffect as Y, useLayoutEffect as Qt, createContext as
|
|
6
|
-
import { createPortal as
|
|
7
|
-
import { VocalStackError as
|
|
8
|
-
const ni = "https://vocalstack.com", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
|
|
9
|
-
function
|
|
5
|
+
import { useState as O, useRef as z, useEffect as Y, useLayoutEffect as Qt, createContext as ei, useMemo as Ie, useContext as ga, useCallback as qe, Fragment as fa, forwardRef as Na, useImperativeHandle as pa } from "react";
|
|
6
|
+
import { createPortal as ma } from "react-dom";
|
|
7
|
+
import { VocalStackError as ti, VocalStack as ni } from "@vocalstack/js-sdk";
|
|
8
|
+
const si = "https://vocalstack.com", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", La = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
|
|
9
|
+
function ka({ size: t = 16, sw: e = 1.5, children: n, style: s, ...r }) {
|
|
10
10
|
return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...s }, ...r, children: n });
|
|
11
11
|
}
|
|
12
12
|
const q = {
|
|
@@ -53,12 +53,12 @@ const q = {
|
|
|
53
53
|
video: "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"
|
|
54
54
|
};
|
|
55
55
|
function de({ d: t, ...e }) {
|
|
56
|
-
return /* @__PURE__ */ i(
|
|
56
|
+
return /* @__PURE__ */ i(ka, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
|
|
57
57
|
}
|
|
58
|
-
function
|
|
58
|
+
function va({ size: t = 15 }) {
|
|
59
59
|
return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ i("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2.5" }) });
|
|
60
60
|
}
|
|
61
|
-
function
|
|
61
|
+
function ri({ size: t = 13 }) {
|
|
62
62
|
return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", style: { marginLeft: 2 }, "aria-hidden": "true", children: /* @__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" }) });
|
|
63
63
|
}
|
|
64
64
|
function ct({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,127,.35)", sw: s }) {
|
|
@@ -80,18 +80,18 @@ function ct({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
|
|
|
80
80
|
}
|
|
81
81
|
);
|
|
82
82
|
}
|
|
83
|
-
function
|
|
83
|
+
function ja({ size: t = 12 }) {
|
|
84
84
|
return /* @__PURE__ */ f("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
|
] });
|
|
88
88
|
}
|
|
89
89
|
function vn({ dark: t, height: e = 20, link: n = !0 }) {
|
|
90
|
-
const s = /* @__PURE__ */ i("img", { src: t ?
|
|
91
|
-
return n ? /* @__PURE__ */ i("a", { href:
|
|
90
|
+
const s = /* @__PURE__ */ i("img", { src: t ? ya : Ta, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
|
|
91
|
+
return n ? /* @__PURE__ */ i("a", { href: si, style: { display: "block" }, children: s }) : s;
|
|
92
92
|
}
|
|
93
|
-
function
|
|
94
|
-
return /* @__PURE__ */ i("img", { src: t ?
|
|
93
|
+
function ii({ dark: t, size: e = 30 }) {
|
|
94
|
+
return /* @__PURE__ */ i("img", { src: t ? wa : La, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
|
|
95
95
|
}
|
|
96
96
|
function Sr({ children: t, panel: e, inset: n, className: s = "", style: r }) {
|
|
97
97
|
return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${s}`, style: r, children: t });
|
|
@@ -122,7 +122,7 @@ function as({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill
|
|
|
122
122
|
] }, u.value))
|
|
123
123
|
] });
|
|
124
124
|
}
|
|
125
|
-
function
|
|
125
|
+
function za({ children: t, onClick: e, label: n, size: s, variant: r, bordered: a = !0, active: o, title: l }) {
|
|
126
126
|
return /* @__PURE__ */ i("button", { type: "button", className: `vs-icon-btn${s === "sm" ? " vs-icon-btn--sm" : ""}${r === "primary" ? " vs-icon-btn--primary" : ""}${o ? " vs-icon-btn--primary" : ""}${a ? "" : " vs-icon-btn--borderless"}`, onClick: e, "aria-label": n, title: l ?? n, children: t });
|
|
127
127
|
}
|
|
128
128
|
function wn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c }) {
|
|
@@ -133,7 +133,7 @@ function wn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bord
|
|
|
133
133
|
/* @__PURE__ */ i(de, { d: q.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: r === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
|
|
134
134
|
] });
|
|
135
135
|
}
|
|
136
|
-
function
|
|
136
|
+
function Ia({ value: t, label: e = "Copy", onCopied: n }) {
|
|
137
137
|
const [s, r] = O(!1), a = async () => {
|
|
138
138
|
try {
|
|
139
139
|
await navigator.clipboard.writeText(t), r(!0), n == null || n(), setTimeout(() => r(!1), 1400);
|
|
@@ -158,7 +158,7 @@ function za({ value: t, label: e = "Copy", onCopied: n }) {
|
|
|
158
158
|
}
|
|
159
159
|
);
|
|
160
160
|
}
|
|
161
|
-
function
|
|
161
|
+
function Oa(t, e) {
|
|
162
162
|
Qt(() => {
|
|
163
163
|
const n = t.current, s = window.visualViewport;
|
|
164
164
|
if (!e || !n || !s) return;
|
|
@@ -197,7 +197,7 @@ function os({ children: t, ms: e = 220 }) {
|
|
|
197
197
|
}
|
|
198
198
|
function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: d, sticky: u = !1 }) {
|
|
199
199
|
const g = z(null);
|
|
200
|
-
return
|
|
200
|
+
return Oa(g, t), Y(() => {
|
|
201
201
|
if (!t) return;
|
|
202
202
|
const M = (N) => {
|
|
203
203
|
N.key === "Escape" && e();
|
|
@@ -214,7 +214,7 @@ function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a
|
|
|
214
214
|
/* @__PURE__ */ i("div", { className: "vs-sheet__body", children: o })
|
|
215
215
|
] }) }) : null;
|
|
216
216
|
}
|
|
217
|
-
|
|
217
|
+
ei(0);
|
|
218
218
|
function ls({ children: t, style: e, className: n }) {
|
|
219
219
|
return /* @__PURE__ */ i("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
|
|
220
220
|
}
|
|
@@ -222,7 +222,7 @@ let mn = null;
|
|
|
222
222
|
function Bc(t) {
|
|
223
223
|
mn = t;
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function ai(t) {
|
|
226
226
|
mn == null || mn(t);
|
|
227
227
|
}
|
|
228
228
|
function jn() {
|
|
@@ -232,11 +232,11 @@ function jn() {
|
|
|
232
232
|
return "ogg";
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
|
-
function
|
|
235
|
+
function Ca(t = {}) {
|
|
236
236
|
const e = new URLSearchParams();
|
|
237
237
|
return t.media ? e.set("media", t.media) : t.accessToken && e.set("access_token", t.accessToken), t.listenerToken && e.set("listenerToken", t.listenerToken), t.shareCode && e.set("shareCode", t.shareCode), e.toString();
|
|
238
238
|
}
|
|
239
|
-
async function
|
|
239
|
+
async function ba(t) {
|
|
240
240
|
try {
|
|
241
241
|
const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
|
|
242
242
|
if (e.type === "opaqueredirect" || e.ok || e.status >= 300 && e.status < 400) return null;
|
|
@@ -251,7 +251,7 @@ async function Ca(t) {
|
|
|
251
251
|
return null;
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
-
function
|
|
254
|
+
function xa(t, e, n = {}) {
|
|
255
255
|
const s = new URLSearchParams({ kind: "delivery", format: jn() });
|
|
256
256
|
return n.accessToken && s.set("access_token", n.accessToken), n.listenerToken && s.set("listenerToken", n.listenerToken), n.shareCode && s.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
|
|
257
257
|
}
|
|
@@ -263,30 +263,30 @@ function qn(t, e, n, s = {}) {
|
|
|
263
263
|
const r = new URLSearchParams({ kind: n });
|
|
264
264
|
return n === "delivery" && r.set("format", "mp3"), s.accessToken && r.set("access_token", s.accessToken), s.listenerToken && r.set("listenerToken", s.listenerToken), s.shareCode && r.set("shareCode", s.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
|
|
265
265
|
}
|
|
266
|
-
function
|
|
267
|
-
return
|
|
266
|
+
function Da(t, e, n, s, r = {}) {
|
|
267
|
+
return Sa(t, e, n, s, "mp3", r);
|
|
268
268
|
}
|
|
269
|
-
function
|
|
269
|
+
function Sa(t, e, n, s, r, a) {
|
|
270
270
|
const o = new URLSearchParams({ kind: "voice", lang: n, format: r });
|
|
271
271
|
return s && o.set("voice", s), a.accessToken && o.set("access_token", a.accessToken), a.listenerToken && o.set("listenerToken", a.listenerToken), a.shareCode && o.set("shareCode", a.shareCode), `${t}/v1/recordings/${e}/audio?${o}`;
|
|
272
272
|
}
|
|
273
|
-
function
|
|
273
|
+
function Aa(t, e = !0) {
|
|
274
274
|
const n = (t == null ? void 0 : t.code) ?? 0, s = n === 2 ? "the download failed" : n === 3 ? "this browser could not decode it" : n === 4 ? "the file is not available, or this browser cannot play it" : n === 1 ? "the load was stopped" : "something went wrong";
|
|
275
|
-
return e &&
|
|
275
|
+
return e && oi(t), `The audio could not be played: ${s}.`;
|
|
276
276
|
}
|
|
277
|
-
function
|
|
277
|
+
function oi(t) {
|
|
278
278
|
const e = (t == null ? void 0 : t.code) ?? 0;
|
|
279
|
-
e !== 1 &&
|
|
279
|
+
e !== 1 && ai(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
|
|
280
280
|
}
|
|
281
|
-
const
|
|
282
|
-
function
|
|
281
|
+
const Ea = 3e3;
|
|
282
|
+
function Ya(t, e, n) {
|
|
283
283
|
if (t !== 503) return null;
|
|
284
284
|
const s = e == null || e.trim() === "" ? NaN : Number(e);
|
|
285
285
|
if (Number.isFinite(s)) return Math.min(15e3, Math.max(1e3, s * 1e3));
|
|
286
286
|
const r = n;
|
|
287
|
-
return r && (r.retryable === !0 || r.code === "engine_unavailable") ?
|
|
287
|
+
return r && (r.retryable === !0 || r.code === "engine_unavailable") ? Ea : null;
|
|
288
288
|
}
|
|
289
|
-
class
|
|
289
|
+
class _a {
|
|
290
290
|
constructor(e = {}) {
|
|
291
291
|
ge(this, "entries", /* @__PURE__ */ new Map());
|
|
292
292
|
ge(this, "wanted", []);
|
|
@@ -379,13 +379,13 @@ class Ya {
|
|
|
379
379
|
}).catch(() => s(n.signal.aborted ? null : { state: "failed", at: this.now() }));
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
|
-
const
|
|
383
|
-
function
|
|
384
|
-
if (!
|
|
382
|
+
const li = { video: !1 };
|
|
383
|
+
function ci(t) {
|
|
384
|
+
if (!li.video) return new Audio(t);
|
|
385
385
|
const e = document.createElement("video");
|
|
386
386
|
return e.playsInline = !0, t && (e.src = t), e;
|
|
387
387
|
}
|
|
388
|
-
class
|
|
388
|
+
class ui extends Error {
|
|
389
389
|
constructor() {
|
|
390
390
|
super("The voice did not start in time."), this.name = "VoiceNotStarted";
|
|
391
391
|
}
|
|
@@ -431,7 +431,7 @@ const nt = class nt {
|
|
|
431
431
|
ge(this, "loading", null);
|
|
432
432
|
ge(this, "readAhead", 0);
|
|
433
433
|
ge(this, "readAheadS", 0);
|
|
434
|
-
ge(this, "prefetch", new
|
|
434
|
+
ge(this, "prefetch", new _a());
|
|
435
435
|
ge(this, "warmed", /* @__PURE__ */ new Set());
|
|
436
436
|
ge(this, "startingSince", /* @__PURE__ */ new Map());
|
|
437
437
|
ge(this, "retries", /* @__PURE__ */ new Map());
|
|
@@ -767,7 +767,7 @@ const nt = class nt {
|
|
|
767
767
|
const l = await fetch(n, { method: "GET" });
|
|
768
768
|
r = l.ok, s = l.status === 202 || l.status === 503 || l.status === 429;
|
|
769
769
|
const c = l.status === 503 ? await l.json().catch(() => null) : null;
|
|
770
|
-
a =
|
|
770
|
+
a = Ya(l.status, l.headers.get("Retry-After"), c);
|
|
771
771
|
} catch {
|
|
772
772
|
s = !0;
|
|
773
773
|
}
|
|
@@ -788,7 +788,7 @@ const nt = class nt {
|
|
|
788
788
|
}, a);
|
|
789
789
|
return;
|
|
790
790
|
}
|
|
791
|
-
this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new
|
|
791
|
+
this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ui()), this.onSentence(e);
|
|
792
792
|
return;
|
|
793
793
|
}
|
|
794
794
|
const o = (this.retries.get(e) ?? 0) + 1;
|
|
@@ -816,7 +816,7 @@ const nt = class nt {
|
|
|
816
816
|
}
|
|
817
817
|
element() {
|
|
818
818
|
if (this.el) return this.el;
|
|
819
|
-
const e =
|
|
819
|
+
const e = ci();
|
|
820
820
|
e.preload = "auto";
|
|
821
821
|
const n = e;
|
|
822
822
|
return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
|
|
@@ -870,14 +870,14 @@ const nt = class nt {
|
|
|
870
870
|
};
|
|
871
871
|
ge(nt, "WAIT_MS", 15e3), ge(nt, "START_WAIT_MS", 4e3), ge(nt, "COMING_MS", 12e4), ge(nt, "SKEW_LINES", 3), ge(nt, "RETRIES", 4), ge(nt, "RETRY_MS", 1200), ge(nt, "STARTING_MS", 3e5);
|
|
872
872
|
let cs = nt;
|
|
873
|
-
function
|
|
873
|
+
function di(t, e) {
|
|
874
874
|
return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
|
|
875
875
|
}
|
|
876
|
-
function
|
|
876
|
+
function Ua(t, e, n, s = {}, r) {
|
|
877
877
|
if (!t) return [];
|
|
878
878
|
const a = r != null && r.length ? r : t.clips;
|
|
879
879
|
if (!(a != null && a.length)) return [];
|
|
880
|
-
const o =
|
|
880
|
+
const o = Ca(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
|
|
881
881
|
return a.flatMap((d) => {
|
|
882
882
|
var M, N;
|
|
883
883
|
const u = (M = t.clipRev) == null ? void 0 : M[String(d)], g = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(d)]) ?? 1);
|
|
@@ -896,16 +896,16 @@ function _a(t, e, n, s = {}, r) {
|
|
|
896
896
|
});
|
|
897
897
|
});
|
|
898
898
|
}
|
|
899
|
-
function
|
|
899
|
+
function Mi(t, e) {
|
|
900
900
|
const n = e.words;
|
|
901
901
|
if (n && n.length === t.length && t.length > 0) {
|
|
902
902
|
let s = 0;
|
|
903
903
|
for (let r = 0; r < n.length && e.t >= n[r][0]; r++) s = r;
|
|
904
904
|
return s;
|
|
905
905
|
}
|
|
906
|
-
return e.dur > 0 ?
|
|
906
|
+
return e.dur > 0 ? Ra(t, e.t, e.dur) : null;
|
|
907
907
|
}
|
|
908
|
-
function
|
|
908
|
+
function Ra(t, e, n) {
|
|
909
909
|
if (t.length <= 1 || !(n > 0)) return 0;
|
|
910
910
|
const s = t.map((l) => l.t.length + 1.6), r = s.reduce((l, c) => l + c, 0);
|
|
911
911
|
let a = 0;
|
|
@@ -923,7 +923,7 @@ function Ms(t, e) {
|
|
|
923
923
|
return e;
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
|
-
function
|
|
926
|
+
function hi(t, e) {
|
|
927
927
|
try {
|
|
928
928
|
e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
|
|
929
929
|
} catch {
|
|
@@ -938,32 +938,32 @@ function ks(t, e) {
|
|
|
938
938
|
ds.delete(r), window.removeEventListener("storage", r);
|
|
939
939
|
};
|
|
940
940
|
}, [t]), [n, (r) => {
|
|
941
|
-
s(r),
|
|
941
|
+
s(r), hi(t, r);
|
|
942
942
|
}];
|
|
943
943
|
}
|
|
944
944
|
function Er(t) {
|
|
945
945
|
const e = Ms(us, []);
|
|
946
|
-
|
|
946
|
+
hi(us, Array.isArray(e) ? e.filter((n) => n !== t) : []);
|
|
947
947
|
}
|
|
948
|
-
function
|
|
948
|
+
function gi() {
|
|
949
949
|
const [t, e] = ks(us, []), n = Array.isArray(t) ? t : [];
|
|
950
950
|
return [n, (s) => {
|
|
951
951
|
s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
|
|
952
952
|
}];
|
|
953
953
|
}
|
|
954
|
-
function
|
|
954
|
+
function fi(t, e) {
|
|
955
955
|
if (!t) return [];
|
|
956
956
|
const n = new Set(t[e]);
|
|
957
957
|
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 }));
|
|
958
958
|
}
|
|
959
|
-
function
|
|
959
|
+
function Pa(t) {
|
|
960
960
|
const [e, n] = ks(`vs.pins.${t}`, null);
|
|
961
961
|
return [Array.isArray(e) ? e : [], n];
|
|
962
962
|
}
|
|
963
|
-
const
|
|
964
|
-
function
|
|
963
|
+
const Qa = 352;
|
|
964
|
+
function $a(t) {
|
|
965
965
|
const [e, n] = ks(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
|
|
966
|
-
return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 :
|
|
966
|
+
return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Qa, n];
|
|
967
967
|
}
|
|
968
968
|
function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: g }) {
|
|
969
969
|
const [M, N] = O(""), [m, w] = O(!1), [v, p] = O(null);
|
|
@@ -1046,41 +1046,41 @@ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
1046
1046
|
] });
|
|
1047
1047
|
return { search: K, list: j };
|
|
1048
1048
|
}
|
|
1049
|
-
function
|
|
1049
|
+
function Ba({ open: t, onClose: e, title: n, note: s, sticky: r, ...a }) {
|
|
1050
1050
|
const { search: o, list: l } = vs({ ...a, open: t, onClose: e });
|
|
1051
1051
|
return /* @__PURE__ */ i($t, { open: t, onClose: e, title: n, note: s, drawer: !1, sticky: r, kind: "picker", header: o, children: l });
|
|
1052
1052
|
}
|
|
1053
|
-
const
|
|
1053
|
+
const Ha = 0.3;
|
|
1054
1054
|
function Yr(t, e) {
|
|
1055
|
-
t.muted = e.muted, Math.abs(t.currentTime - e.t) >
|
|
1055
|
+
t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ha && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
|
|
1056
1056
|
}) : t.paused || t.pause();
|
|
1057
1057
|
}
|
|
1058
|
-
const Ln = "Remove background sound",
|
|
1059
|
-
function
|
|
1058
|
+
const Ln = "Remove background sound", Va = "Takes out everything that isn't speech: music, ambience and noise.";
|
|
1059
|
+
function Wa(t) {
|
|
1060
1060
|
const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), s = Math.floor(e % 3600 / 60), r = String(e % 60).padStart(2, "0");
|
|
1061
1061
|
return n ? `${n}:${String(s).padStart(2, "0")}:${r}` : `${s}:${r}`;
|
|
1062
1062
|
}
|
|
1063
|
-
function
|
|
1064
|
-
return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? s > 0 ? `Separating the speech from the background… ready up to ${
|
|
1063
|
+
function Fa(t, e, n = "transcription", s = 0) {
|
|
1064
|
+
return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? s > 0 ? `Separating the speech from the background… ready up to ${Wa(s)}` : "Separating the speech from the background…" : Va;
|
|
1065
1065
|
}
|
|
1066
|
-
function
|
|
1066
|
+
function Ga(t, e) {
|
|
1067
1067
|
return { bed: e && !t, speech: !e && t };
|
|
1068
1068
|
}
|
|
1069
|
-
function
|
|
1069
|
+
function Za(t) {
|
|
1070
1070
|
const e = t.get("bg");
|
|
1071
1071
|
return e === "off" || e === "remove";
|
|
1072
1072
|
}
|
|
1073
|
-
function
|
|
1073
|
+
function qa(t, e) {
|
|
1074
1074
|
e ? t.searchParams.set("bg", "remove") : t.searchParams.delete("bg");
|
|
1075
1075
|
}
|
|
1076
|
-
function
|
|
1076
|
+
function Ka(t, e) {
|
|
1077
1077
|
var s, r;
|
|
1078
1078
|
if (t !== 503) return null;
|
|
1079
1079
|
const n = (r = (s = e == null ? void 0 : e.data) == null ? void 0 : s.details) == null ? void 0 : r.retryAfterS;
|
|
1080
1080
|
return typeof n == "number" && n > 0 ? Math.max(2, n) : 3;
|
|
1081
1081
|
}
|
|
1082
|
-
const
|
|
1083
|
-
function
|
|
1082
|
+
const Ja = 0.05;
|
|
1083
|
+
function Xa(t) {
|
|
1084
1084
|
var s, r;
|
|
1085
1085
|
const e = (r = (s = t == null ? void 0 : t.data) == null ? void 0 : s.details) == null ? void 0 : r.parts, n = [];
|
|
1086
1086
|
if (Array.isArray(e))
|
|
@@ -1092,8 +1092,8 @@ function Ja(t) {
|
|
|
1092
1092
|
}
|
|
1093
1093
|
return { untilS: n.length ? n[n.length - 1].endS : 0, parts: n };
|
|
1094
1094
|
}
|
|
1095
|
-
function
|
|
1096
|
-
if (!t.length || e < 0 || e >= t[t.length - 1].endS -
|
|
1095
|
+
function eo(t, e) {
|
|
1096
|
+
if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ja) return -1;
|
|
1097
1097
|
let n = 0, s = t.length - 1;
|
|
1098
1098
|
for (; n < s; ) {
|
|
1099
1099
|
const r = n + s + 1 >> 1;
|
|
@@ -1101,22 +1101,22 @@ function Xa(t, e) {
|
|
|
1101
1101
|
}
|
|
1102
1102
|
return n;
|
|
1103
1103
|
}
|
|
1104
|
-
function
|
|
1104
|
+
function to(t, e, n, s) {
|
|
1105
1105
|
const r = t[e].startS, a = n[s] === r ? s : n[1 - s] === r ? 1 - s : s, o = [];
|
|
1106
1106
|
n[a] !== r && o.push([a, e]);
|
|
1107
1107
|
const l = 1 - a;
|
|
1108
1108
|
return e + 1 < t.length && n[l] !== t[e + 1].startS && o.push([l, e + 1]), { play: a, load: o };
|
|
1109
1109
|
}
|
|
1110
|
-
async function
|
|
1110
|
+
async function no(t) {
|
|
1111
1111
|
const e = await fetch(t, { redirect: "manual", credentials: "omit" });
|
|
1112
1112
|
if (e.type === "opaqueredirect" || e.status >= 300 && e.status < 400 || e.ok) return { ready: !0 };
|
|
1113
1113
|
const n = await e.json().catch(() => null);
|
|
1114
|
-
return { ready: !1, retryS:
|
|
1114
|
+
return { ready: !1, retryS: Ka(e.status, n), ...Xa(n) };
|
|
1115
1115
|
}
|
|
1116
1116
|
function Kn(t) {
|
|
1117
1117
|
t && (t.pause(), t.removeAttribute("src"), t.load());
|
|
1118
1118
|
}
|
|
1119
|
-
function
|
|
1119
|
+
function Ni(t, e) {
|
|
1120
1120
|
const [n, s] = O("off"), [r, a] = O([]), [o, l] = O(!1), c = z(null), d = z([null, null]), u = z([NaN, NaN]), g = z(0);
|
|
1121
1121
|
return Y(() => {
|
|
1122
1122
|
if (a([]), l(!1), !t) {
|
|
@@ -1126,7 +1126,7 @@ function fi(t, e) {
|
|
|
1126
1126
|
let M = !1, N;
|
|
1127
1127
|
s("making");
|
|
1128
1128
|
const m = () => {
|
|
1129
|
-
|
|
1129
|
+
no(t).then((w) => {
|
|
1130
1130
|
if (!M) {
|
|
1131
1131
|
if (w.ready) {
|
|
1132
1132
|
const v = new Audio();
|
|
@@ -1158,12 +1158,12 @@ function fi(t, e) {
|
|
|
1158
1158
|
M(), Yr(c.current, e), l(!0);
|
|
1159
1159
|
return;
|
|
1160
1160
|
}
|
|
1161
|
-
const N = n === "making" ?
|
|
1161
|
+
const N = n === "making" ? eo(r, e.t) : -1;
|
|
1162
1162
|
if (N < 0) {
|
|
1163
1163
|
M(), l(!1);
|
|
1164
1164
|
return;
|
|
1165
1165
|
}
|
|
1166
|
-
const m =
|
|
1166
|
+
const m = to(r, N, u.current, g.current);
|
|
1167
1167
|
for (const [p, h] of m.load) {
|
|
1168
1168
|
let C = d.current[p];
|
|
1169
1169
|
C || (C = new Audio(), C.preload = "auto", d.current[p] = C), C.pause(), C.src = r[h].url, u.current[p] = r[h].startS;
|
|
@@ -1173,16 +1173,16 @@ function fi(t, e) {
|
|
|
1173
1173
|
v && !v.paused && v.pause(), Yr(w, { ...e, t: e.t - r[N].startS }), l(!e.playing || w.readyState >= 3);
|
|
1174
1174
|
}, [n, r, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : r.length ? r[r.length - 1].endS : 0 };
|
|
1175
1175
|
}
|
|
1176
|
-
function
|
|
1177
|
-
return
|
|
1176
|
+
function so(t, e) {
|
|
1177
|
+
return Ni(t, e).state;
|
|
1178
1178
|
}
|
|
1179
|
-
const
|
|
1179
|
+
const ro = 0.5, io = 3;
|
|
1180
1180
|
function js(t, e) {
|
|
1181
1181
|
let n = -1;
|
|
1182
1182
|
for (let s = 0; s < t.length && t[s].start <= e + 0.02; s++) n = s;
|
|
1183
1183
|
return n;
|
|
1184
1184
|
}
|
|
1185
|
-
function
|
|
1185
|
+
function ao(t, e, n) {
|
|
1186
1186
|
const s = js(t, n);
|
|
1187
1187
|
if (s < 0) return { kind: "none" };
|
|
1188
1188
|
const r = t[s];
|
|
@@ -1200,14 +1200,14 @@ function io(t, e, n) {
|
|
|
1200
1200
|
}
|
|
1201
1201
|
return { kind: "done", sid: r.sid };
|
|
1202
1202
|
}
|
|
1203
|
-
function
|
|
1203
|
+
function oo(t, e, n) {
|
|
1204
1204
|
if (n == null) return !1;
|
|
1205
1205
|
const s = js(t, e);
|
|
1206
1206
|
if (s < 0) return !1;
|
|
1207
1207
|
const r = t[s];
|
|
1208
1208
|
return e >= r.end ? r.sid === n : s > 0 && t[s - 1].sid === n && e - r.start < 1.5;
|
|
1209
1209
|
}
|
|
1210
|
-
function
|
|
1210
|
+
function lo(t, e, n, s = io) {
|
|
1211
1211
|
const r = Math.max(0, js(t, n)), a = [];
|
|
1212
1212
|
for (let o = r; o < t.length && o <= r + s; o++) {
|
|
1213
1213
|
const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
|
|
@@ -1215,7 +1215,7 @@ function oo(t, e, n, s = ro) {
|
|
|
1215
1215
|
}
|
|
1216
1216
|
return a;
|
|
1217
1217
|
}
|
|
1218
|
-
function
|
|
1218
|
+
function co(t) {
|
|
1219
1219
|
const e = Ie(() => {
|
|
1220
1220
|
const c = /* @__PURE__ */ new Map();
|
|
1221
1221
|
for (const d of t.clips) c.set(d.sentenceId, [...c.get(d.sentenceId) ?? [], d]);
|
|
@@ -1236,9 +1236,9 @@ function lo(t) {
|
|
|
1236
1236
|
l(), a((m) => m.missing == null && m.sid == null ? m : { missing: null, sid: null });
|
|
1237
1237
|
return;
|
|
1238
1238
|
}
|
|
1239
|
-
const c =
|
|
1239
|
+
const c = ao(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
|
|
1240
1240
|
a((m) => m.missing === d && m.sid === u ? m : { missing: d, sid: u });
|
|
1241
|
-
const g = new Set(
|
|
1241
|
+
const g = new Set(lo(t.lines, e, t.t));
|
|
1242
1242
|
for (const m of g) o(m);
|
|
1243
1243
|
const M = s.current;
|
|
1244
1244
|
M && g.add(M.src);
|
|
@@ -1248,12 +1248,12 @@ function lo(t) {
|
|
|
1248
1248
|
return;
|
|
1249
1249
|
}
|
|
1250
1250
|
if (c.kind !== "play") {
|
|
1251
|
-
if (M && !M.el.paused && !M.el.ended &&
|
|
1251
|
+
if (M && !M.el.paused && !M.el.ended && oo(t.lines, t.t, M.sid)) return;
|
|
1252
1252
|
M && M.el.pause(), s.current = null;
|
|
1253
1253
|
return;
|
|
1254
1254
|
}
|
|
1255
1255
|
if (M && M.src === c.src) {
|
|
1256
|
-
if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) >
|
|
1256
|
+
if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > ro)
|
|
1257
1257
|
try {
|
|
1258
1258
|
M.el.currentTime = c.offset;
|
|
1259
1259
|
} catch {
|
|
@@ -1274,7 +1274,7 @@ function lo(t) {
|
|
|
1274
1274
|
}, [t.on, t.t, t.playing, t.muted, t.lines, e]), r;
|
|
1275
1275
|
}
|
|
1276
1276
|
const _r = ["play", "pause", "stop", "nexttrack", "previoustrack"];
|
|
1277
|
-
function
|
|
1277
|
+
function uo(t, e) {
|
|
1278
1278
|
var n, s;
|
|
1279
1279
|
if (t === "play") {
|
|
1280
1280
|
e.playing || e.toggle();
|
|
@@ -1290,12 +1290,12 @@ function co(t, e) {
|
|
|
1290
1290
|
}
|
|
1291
1291
|
(s = e.prev) == null || s.call(e);
|
|
1292
1292
|
}
|
|
1293
|
-
function
|
|
1293
|
+
function Mo(t, e) {
|
|
1294
1294
|
for (const n of _r)
|
|
1295
1295
|
try {
|
|
1296
1296
|
t.setActionHandler(n, () => {
|
|
1297
1297
|
const s = e();
|
|
1298
|
-
s &&
|
|
1298
|
+
s && uo(n, s);
|
|
1299
1299
|
});
|
|
1300
1300
|
} catch {
|
|
1301
1301
|
}
|
|
@@ -1307,14 +1307,14 @@ function uo(t, e) {
|
|
|
1307
1307
|
}
|
|
1308
1308
|
};
|
|
1309
1309
|
}
|
|
1310
|
-
function
|
|
1310
|
+
function ho(t, e) {
|
|
1311
1311
|
const n = z(t);
|
|
1312
1312
|
n.current = t;
|
|
1313
1313
|
const s = !!t;
|
|
1314
1314
|
Y(() => {
|
|
1315
1315
|
const a = typeof navigator < "u" ? navigator.mediaSession : void 0;
|
|
1316
1316
|
if (!(!a || !s))
|
|
1317
|
-
return
|
|
1317
|
+
return Mo(a, () => n.current);
|
|
1318
1318
|
}, [s]);
|
|
1319
1319
|
const r = !!(t != null && t.playing);
|
|
1320
1320
|
Y(() => {
|
|
@@ -1346,7 +1346,7 @@ function Pt() {
|
|
|
1346
1346
|
spans: []
|
|
1347
1347
|
};
|
|
1348
1348
|
}
|
|
1349
|
-
function
|
|
1349
|
+
function go(t, e) {
|
|
1350
1350
|
for (const s of t.spans) {
|
|
1351
1351
|
const r = s.mediaEnd ?? 1 / 0;
|
|
1352
1352
|
if (e < r || s.mediaEnd == null) return s.wallStart + Math.max(0, e - s.mediaStart);
|
|
@@ -1423,7 +1423,7 @@ function Ur(t, e) {
|
|
|
1423
1423
|
const n = e ?? {};
|
|
1424
1424
|
return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
|
|
1425
1425
|
}
|
|
1426
|
-
function
|
|
1426
|
+
function fo(t, e) {
|
|
1427
1427
|
const n = e.tail;
|
|
1428
1428
|
if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
|
|
1429
1429
|
let s = !1;
|
|
@@ -1440,7 +1440,7 @@ function go(t, e) {
|
|
|
1440
1440
|
}
|
|
1441
1441
|
return s;
|
|
1442
1442
|
}
|
|
1443
|
-
function
|
|
1443
|
+
function No(t, e) {
|
|
1444
1444
|
var n;
|
|
1445
1445
|
switch (delete t.numbers, e.type) {
|
|
1446
1446
|
case "transcript.committed": {
|
|
@@ -1481,7 +1481,7 @@ function fo(t, e) {
|
|
|
1481
1481
|
}
|
|
1482
1482
|
case "transcript.amended": {
|
|
1483
1483
|
const s = t.segments.get(e.seq);
|
|
1484
|
-
if (s && s.corrected &&
|
|
1484
|
+
if (s && s.corrected && fo(s.words, e)) {
|
|
1485
1485
|
s.text = e.text, s.words = Kt(e.seq, e.tail.words);
|
|
1486
1486
|
break;
|
|
1487
1487
|
}
|
|
@@ -1529,7 +1529,7 @@ function fo(t, e) {
|
|
|
1529
1529
|
seqs: s.seqs,
|
|
1530
1530
|
speaker: s.speaker,
|
|
1531
1531
|
start: s.start,
|
|
1532
|
-
wallStart:
|
|
1532
|
+
wallStart: go(t, s.start),
|
|
1533
1533
|
text: a ? r.text : s.text,
|
|
1534
1534
|
status: s.status === "open" ? "open" : "closed",
|
|
1535
1535
|
settled: !!s.settled,
|
|
@@ -1581,7 +1581,7 @@ function fo(t, e) {
|
|
|
1581
1581
|
}
|
|
1582
1582
|
return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
|
|
1583
1583
|
}
|
|
1584
|
-
function
|
|
1584
|
+
function po(t) {
|
|
1585
1585
|
const e = [], n = [...t.sentences.values()].sort((s, r) => s.start - r.start || (s.sentenceId ?? 0) - (r.sentenceId ?? 0));
|
|
1586
1586
|
for (const s of n) {
|
|
1587
1587
|
const r = s.seqs.map((l) => t.segments.get(l)).filter(Boolean), a = r.length === s.seqs.length || !s.text ? r.flatMap((l) => l.words) : [], o = r[r.length - 1];
|
|
@@ -1594,16 +1594,16 @@ function No(t) {
|
|
|
1594
1594
|
catchup: r.some((l) => l.catchup),
|
|
1595
1595
|
suppressed: s.suppressed || r.length > 0 && r.every((l) => l.suppressed),
|
|
1596
1596
|
unclear: s.unclear || r.length > 0 && r.every((l) => l.unclear),
|
|
1597
|
-
confidence:
|
|
1597
|
+
confidence: mo(r),
|
|
1598
1598
|
latencyS: o == null ? void 0 : o.latencyS,
|
|
1599
1599
|
settled: s.settled || r.length > 0 && r.every((l) => l.settled),
|
|
1600
|
-
translations: Object.keys(s.translations).length ? s.translations :
|
|
1600
|
+
translations: Object.keys(s.translations).length ? s.translations : yo(r),
|
|
1601
1601
|
speaker: s.speaker >= 0 ? s.speaker : (o == null ? void 0 : o.speaker) ?? -1
|
|
1602
1602
|
});
|
|
1603
1603
|
}
|
|
1604
1604
|
return e.sort((s, r) => s.start - r.start), e;
|
|
1605
1605
|
}
|
|
1606
|
-
function
|
|
1606
|
+
function mo(t) {
|
|
1607
1607
|
let e = 0, n = 0;
|
|
1608
1608
|
for (const s of t) {
|
|
1609
1609
|
if (s.confidence == null) continue;
|
|
@@ -1612,20 +1612,20 @@ function po(t) {
|
|
|
1612
1612
|
}
|
|
1613
1613
|
return n ? e / n : void 0;
|
|
1614
1614
|
}
|
|
1615
|
-
function
|
|
1615
|
+
function yo(t) {
|
|
1616
1616
|
const e = {};
|
|
1617
1617
|
for (const n of t) for (const [s, r] of Object.entries(n.translations)) e[s] = e[s] ? `${e[s]} ${r}` : r;
|
|
1618
1618
|
return e;
|
|
1619
1619
|
}
|
|
1620
|
-
const
|
|
1621
|
-
function
|
|
1622
|
-
return t == null ? "" : t <
|
|
1620
|
+
const To = 0.85, wo = 0.75;
|
|
1621
|
+
function Lo(t) {
|
|
1622
|
+
return t == null ? "" : t < wo ? "low" : t < To ? "mid" : "";
|
|
1623
1623
|
}
|
|
1624
1624
|
const pn = ["a", "b", "c", "d", "e", "f", "g", "h"];
|
|
1625
|
-
function
|
|
1625
|
+
function ko(t) {
|
|
1626
1626
|
return pn[(t % pn.length + pn.length) % pn.length];
|
|
1627
1627
|
}
|
|
1628
|
-
function
|
|
1628
|
+
function vo(t) {
|
|
1629
1629
|
if (t.numbers) return t.numbers;
|
|
1630
1630
|
const e = /* @__PURE__ */ new Map(), n = (a, o) => {
|
|
1631
1631
|
if (a < 0) return;
|
|
@@ -1641,26 +1641,26 @@ function ko(t) {
|
|
|
1641
1641
|
}
|
|
1642
1642
|
function kn(t, e) {
|
|
1643
1643
|
if (e < 0) return 0;
|
|
1644
|
-
const n =
|
|
1644
|
+
const n = vo(t);
|
|
1645
1645
|
return n.get(e) ?? n.size + 1 + e;
|
|
1646
1646
|
}
|
|
1647
|
-
const
|
|
1647
|
+
const jo = /^\s*speaker\s+\d+\s*$/i;
|
|
1648
1648
|
function Rr(t) {
|
|
1649
|
-
return t && t.trim() && !
|
|
1649
|
+
return t && t.trim() && !jo.test(t) ? t : void 0;
|
|
1650
1650
|
}
|
|
1651
|
-
function
|
|
1651
|
+
function pi(t, e) {
|
|
1652
1652
|
var n;
|
|
1653
1653
|
return Rr(t.speakers[e]) ?? Rr((n = t.speakerIds[e]) == null ? void 0 : n.name);
|
|
1654
1654
|
}
|
|
1655
1655
|
function zs(t, e) {
|
|
1656
|
-
return e < 0 ? "" :
|
|
1656
|
+
return e < 0 ? "" : pi(t, e) ?? `Speaker ${kn(t, e)}`;
|
|
1657
1657
|
}
|
|
1658
|
-
function
|
|
1658
|
+
function mi(t, e) {
|
|
1659
1659
|
if (e < 0) return "?";
|
|
1660
|
-
const n =
|
|
1660
|
+
const n = pi(t, e);
|
|
1661
1661
|
return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((r) => r[0]).join("") || `S${kn(t, e)}`).toUpperCase() : `S${kn(t, e)}`;
|
|
1662
1662
|
}
|
|
1663
|
-
function
|
|
1663
|
+
function zo(t) {
|
|
1664
1664
|
if (t) {
|
|
1665
1665
|
if (t.startsWith("#"))
|
|
1666
1666
|
return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
|
|
@@ -1669,10 +1669,10 @@ function jo(t) {
|
|
|
1669
1669
|
}
|
|
1670
1670
|
}
|
|
1671
1671
|
function Is(t, e) {
|
|
1672
|
-
const n = t.speakerIds[e], s =
|
|
1673
|
-
return { fg: s == null ? void 0 : s.fg, soft: s == null ? void 0 : s.soft, lane:
|
|
1672
|
+
const n = t.speakerIds[e], s = zo(n == null ? void 0 : n.color);
|
|
1673
|
+
return { fg: s == null ? void 0 : s.fg, soft: s == null ? void 0 : s.soft, lane: ko(kn(t, e) - 1), hasVoice: !!n };
|
|
1674
1674
|
}
|
|
1675
|
-
function
|
|
1675
|
+
function Io(t, e, n, s = !1) {
|
|
1676
1676
|
const r = n ? n.speakerLabels ?? "auto" : null, a = (s ? r : null) ?? t.labels ?? r ?? "on";
|
|
1677
1677
|
if (a !== "auto") return a === "on";
|
|
1678
1678
|
const o = /* @__PURE__ */ new Set();
|
|
@@ -1680,7 +1680,7 @@ function zo(t, e, n, s = !1) {
|
|
|
1680
1680
|
return !0;
|
|
1681
1681
|
return !1;
|
|
1682
1682
|
}
|
|
1683
|
-
const
|
|
1683
|
+
const Oo = /* @__PURE__ */ new Set([
|
|
1684
1684
|
"invalid_audio",
|
|
1685
1685
|
"invalid_options",
|
|
1686
1686
|
"invalid_token",
|
|
@@ -1705,14 +1705,14 @@ const Io = /* @__PURE__ */ new Set([
|
|
|
1705
1705
|
"invalid_request",
|
|
1706
1706
|
"aborted",
|
|
1707
1707
|
"unauthorized"
|
|
1708
|
-
]),
|
|
1708
|
+
]), yi = {
|
|
1709
1709
|
internal: "Something went wrong on our side. Please try again.",
|
|
1710
1710
|
unavailable: "VocalStack is briefly unavailable. Please try again in a moment.",
|
|
1711
1711
|
engine_unavailable: "No transcription engine is available right now. Please try again in a moment.",
|
|
1712
1712
|
engine_lost: "The transcription engine stopped. Please try again.",
|
|
1713
1713
|
capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
|
|
1714
1714
|
timeout: "That took too long. Please try again."
|
|
1715
|
-
}, hs =
|
|
1715
|
+
}, hs = yi.internal, Xn = "Can't reach VocalStack. Check your connection.", Pr = {
|
|
1716
1716
|
NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
|
|
1717
1717
|
NotSupportedError: "This browser cannot play this.",
|
|
1718
1718
|
AbortError: "It was cancelled."
|
|
@@ -1720,34 +1720,34 @@ const Io = /* @__PURE__ */ new Set([
|
|
|
1720
1720
|
function wt(t) {
|
|
1721
1721
|
const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, s = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, r = e == null ? void 0 : e.details;
|
|
1722
1722
|
if (n || s && s >= 400)
|
|
1723
|
-
return n &&
|
|
1723
|
+
return n && Oo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: Xn, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Xn, code: n, status: s, details: r } : { message: n && yi[n] || hs, code: n, status: s, details: r };
|
|
1724
1724
|
const a = (e == null ? void 0 : e.name) ?? "";
|
|
1725
|
-
return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 &&
|
|
1725
|
+
return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: Xn }) : Pr[a] ? { message: Pr[a] } : t instanceof Error && a === "Error" && !(t instanceof ti) ? { message: t.message } : { message: hs };
|
|
1726
1726
|
}
|
|
1727
|
-
const
|
|
1727
|
+
const Ti = "https://api.vocalstack.com", Os = ei(null);
|
|
1728
1728
|
function Yt() {
|
|
1729
|
-
const t =
|
|
1729
|
+
const t = ga(Os);
|
|
1730
1730
|
if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
|
|
1731
1731
|
return t;
|
|
1732
1732
|
}
|
|
1733
|
-
function
|
|
1734
|
-
return t.value ? /* @__PURE__ */ i(Os.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(
|
|
1733
|
+
function Co(t) {
|
|
1734
|
+
return t.value ? /* @__PURE__ */ i(Os.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(bo, { ...t });
|
|
1735
1735
|
}
|
|
1736
|
-
function
|
|
1737
|
-
const n =
|
|
1736
|
+
function bo({ children: t, ...e }) {
|
|
1737
|
+
const n = wi(e);
|
|
1738
1738
|
return /* @__PURE__ */ i(Os.Provider, { value: n, children: t });
|
|
1739
1739
|
}
|
|
1740
|
-
const
|
|
1741
|
-
function
|
|
1742
|
-
return
|
|
1740
|
+
const xo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
1741
|
+
function Do(t) {
|
|
1742
|
+
return xo.test(t);
|
|
1743
1743
|
}
|
|
1744
|
-
function
|
|
1745
|
-
const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, s = !e && !n && !!t.token && (!t.id ||
|
|
1744
|
+
function wi(t) {
|
|
1745
|
+
const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, s = !e && !n && !!t.token && (!t.id || Do(t.id)), r = (t.baseUrl ?? Ti).replace(/\/$/, ""), a = z(t.token);
|
|
1746
1746
|
a.current = t.token;
|
|
1747
1747
|
const o = !!t.token, l = Ie(() => async () => {
|
|
1748
1748
|
const u = a.current;
|
|
1749
1749
|
return (typeof u == "function" ? await u() : u) || void 0;
|
|
1750
|
-
}, []), c = t.client ?? null, d = Ie(() => c ?? new
|
|
1750
|
+
}, []), c = t.client ?? null, d = Ie(() => c ?? new ni({ baseUrl: r, token: o && !e ? l : void 0 }), [c, r, o, l, e]);
|
|
1751
1751
|
return Ie(() => {
|
|
1752
1752
|
if (e) return { client: d, origin: r, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
|
|
1753
1753
|
if (n) return { client: d, origin: r, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
|
|
@@ -1755,10 +1755,10 @@ function Ti(t) {
|
|
|
1755
1755
|
return { client: d, origin: r, owner: s, shareCode: u, listen: null, bearer: l, cred: { shareCode: u }, readAs: u ? { shareCode: u } : {} };
|
|
1756
1756
|
}, [d, r, s, t.id, l, e, n]);
|
|
1757
1757
|
}
|
|
1758
|
-
function
|
|
1758
|
+
function So(t, e) {
|
|
1759
1759
|
return e ? { ...t, cred: { media: e } } : t;
|
|
1760
1760
|
}
|
|
1761
|
-
async function
|
|
1761
|
+
async function Ao(t, e) {
|
|
1762
1762
|
if (t.listen) {
|
|
1763
1763
|
const s = await t.client.recordings.get(t.listen.recordingId, t.readAs), r = s;
|
|
1764
1764
|
return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: r.name ?? r.title ?? "", recording: s, job: r.job ?? null, allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
|
|
@@ -1783,11 +1783,11 @@ async function So(t, e) {
|
|
|
1783
1783
|
sharedBy: n.sharedBy ?? null
|
|
1784
1784
|
};
|
|
1785
1785
|
}
|
|
1786
|
-
function
|
|
1786
|
+
function Eo(t, e) {
|
|
1787
1787
|
const [n, s] = O(null), [r, a] = O(!1), [o, l] = O(null), [c, d] = O(0);
|
|
1788
1788
|
return Y(() => {
|
|
1789
1789
|
let u = !0;
|
|
1790
|
-
return
|
|
1790
|
+
return Ao(t, e).then((g) => {
|
|
1791
1791
|
u && (s(g), a(!1), l(null));
|
|
1792
1792
|
}).catch((g) => {
|
|
1793
1793
|
if (!u) return;
|
|
@@ -1798,7 +1798,7 @@ function Ao(t, e) {
|
|
|
1798
1798
|
};
|
|
1799
1799
|
}, [t, e, c]), { source: n, gone: r, error: o, reload: () => d((u) => u + 1) };
|
|
1800
1800
|
}
|
|
1801
|
-
function
|
|
1801
|
+
function Yo(t, e) {
|
|
1802
1802
|
const [n, s] = O(null);
|
|
1803
1803
|
return Y(() => {
|
|
1804
1804
|
if (!t.owner || !e) {
|
|
@@ -1832,7 +1832,7 @@ async function Qr(t, e, n = {}) {
|
|
|
1832
1832
|
return fetch(`${t.origin}${e}${a ? `${e.includes("?") ? "&" : "?"}${a}` : ""}`, { method: n.method ?? "GET", headers: r, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
|
|
1833
1833
|
}
|
|
1834
1834
|
const es = /* @__PURE__ */ new Map();
|
|
1835
|
-
function
|
|
1835
|
+
function Li() {
|
|
1836
1836
|
const t = Yt(), [e, n] = O(es.get(t.origin) ?? null);
|
|
1837
1837
|
return Y(() => {
|
|
1838
1838
|
es.has(t.origin) || t.client.languages.list().then((s) => {
|
|
@@ -1841,7 +1841,7 @@ function wi() {
|
|
|
1841
1841
|
});
|
|
1842
1842
|
}, [t]), e;
|
|
1843
1843
|
}
|
|
1844
|
-
function
|
|
1844
|
+
function ki(t, e) {
|
|
1845
1845
|
const [n, s] = O(null), [r, a] = O(null), [o, l] = O(0);
|
|
1846
1846
|
return Y(() => {
|
|
1847
1847
|
let c = !0;
|
|
@@ -1850,8 +1850,8 @@ function Li(t, e) {
|
|
|
1850
1850
|
};
|
|
1851
1851
|
}, [...e, o]), { data: n, error: r, reload: () => l((c) => c + 1) };
|
|
1852
1852
|
}
|
|
1853
|
-
const
|
|
1854
|
-
function
|
|
1853
|
+
const _o = (t) => new Promise((e) => setTimeout(e, t)), Uo = 2500, Ro = 72;
|
|
1854
|
+
function Po(t, e) {
|
|
1855
1855
|
const n = Yt(), s = z(n);
|
|
1856
1856
|
s.current = n;
|
|
1857
1857
|
const [r, a] = O(Pt), o = z(Pt()), l = z(null), c = z(e.lang ?? null), [d, u] = O(!1), [g, M] = O(null), [N, m] = O(!1), w = qe(() => {
|
|
@@ -1885,7 +1885,7 @@ function Ro(t, e) {
|
|
|
1885
1885
|
if (le.type === "snapshot")
|
|
1886
1886
|
o.current = Jn(le.snapshot, le.reason === "gap" ? o.current : Pt()), w(), oe();
|
|
1887
1887
|
else if (le.type === "frame") {
|
|
1888
|
-
|
|
1888
|
+
No(o.current, le.frame);
|
|
1889
1889
|
const ve = le.frame;
|
|
1890
1890
|
ve.type === "recording.state" && (E = o.current.state, (x = (P = v.current).onState) == null || x.call(P, ve.state, ve.reason)), (B = (ue = v.current).onFrame) == null || B.call(ue, ve), w();
|
|
1891
1891
|
} else le.type === "closed" && u(!1);
|
|
@@ -1920,7 +1920,7 @@ function Ro(t, e) {
|
|
|
1920
1920
|
}
|
|
1921
1921
|
const ie = o.current.state;
|
|
1922
1922
|
if (!$ || ie === "ended" || ie === "finalized" || ie === "processing") return;
|
|
1923
|
-
L += 1, await
|
|
1923
|
+
L += 1, await _o(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
|
|
1924
1924
|
}
|
|
1925
1925
|
})(), () => {
|
|
1926
1926
|
var P;
|
|
@@ -1936,9 +1936,9 @@ function Ro(t, e) {
|
|
|
1936
1936
|
I === k.current && (o.current = Jn(x, o.current), A($), w(), x.translationPending && P > 0 && window.setTimeout(() => {
|
|
1937
1937
|
I === k.current && E(P - 1).catch(() => {
|
|
1938
1938
|
});
|
|
1939
|
-
},
|
|
1939
|
+
}, Uo));
|
|
1940
1940
|
});
|
|
1941
|
-
E(
|
|
1941
|
+
E(Ro).catch(() => {
|
|
1942
1942
|
I === k.current && $ && b($);
|
|
1943
1943
|
}).finally(() => {
|
|
1944
1944
|
I === k.current && h(!1);
|
|
@@ -1962,13 +1962,13 @@ const $r = {
|
|
|
1962
1962
|
Romanian: { vcFor: "Vocea pentru", vcMute: "Oprește", vcUnmute: "Pornește", vcMuted: "OPRIT", vcShared: "Folosită și de", vcUsedBy: "Folosită de", vcUnknownSpk: "Necunoscut", vcUse: "Folosește această voce", vcGetting: "Se descarcă…", vcSample: "Așa sună această voce.", vcPreview: "MOSTRĂ", vcMale: "Bărbat", vcFemale: "Femeie", vcSynth: "SINTETICĂ", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCI", vcBadge: "CLONATĂ", vcNone: "DOAR TEXT", vcNoVoice: "Nicio voce pentru ", vcSheet: "VOCE", vcNeutral: "VOCE SINTETICĂ", vcWarm: "VOCE SINTETICĂ", searchPlaceholder: "Caută în transmisiune", noise: "Sunet neclar", newLines: "noi", live: "ÎN DIRECT", ended: "ÎNCHEIAT", waiting: "ÎN AȘTEPTARE", corrected: "CORECTAT", hostLine: "Prezentat de Marcus Reed · 4 vorbitori", langLabel: "LIMBĂ", langCount: "100+ de limbi", read: "Citește", listen: "Ascultă", watch: "Vizionează", waitTitle: "Transmisiunea nu a început încă", waitBody: "Transcrierea va apărea aici imediat ce gazda începe să vorbească.", english: "ENGLEZĂ", playing: "Se redă traducerea în română", ready: "Atinge pentru a porni audio", readyNote: "Reglează întâi volumul", voiceMeta: "VOCE NEUTRĂ", voice: "Voce", sheetTitle: "LIMBA APLICAȚIEI", done: "Gata", search: "Caută printre 100+ de limbi", sheetNote: "Urmărește transmisiunea în limba ta.", moreLangs: "în plus", confTitle: "Unele cuvinte nu s-au auzit clar", confBody: "Transcrierea marchează cuvintele incerte cu o subliniere întreruptă. Cuvintele își păstrează culoarea, doar sublinierea îți arată unde să te uiți.", confMid: "Ușoară nesiguranță — probabil corect", confHigh: "Încredere scăzută — poate fi greșit", settings: "TRANSMISIUNE", setOrig: "Arată limba originală", setTheme: "Aspect", light: "Luminos", dark: "Întunecat", setConf: "Arată cuvintele incerte", setConfHint1: "Colorează cuvintele incerte — ", setConfMid: "galben", setConfSep: " sau ", setConfLow: "roșu", setConfHint2: "", behindLive: "LATENȚA TRADUCERII", behindNote: "Cu cât urmează traducerea vorbitorul în acest moment.", shareLabel: "LINK DE URMĂRIRE", copy: "Copiază", copied: "Copiat" },
|
|
1963
1963
|
Portuguese: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Ativar", vcMuted: "SILENCIADO", vcShared: "Também usada por", vcUsedBy: "Usada por", vcUnknownSpk: "Desconhecido", vcUse: "Usar esta voz", vcGetting: "Baixando…", vcSample: "É assim que soa.", vcPreview: "AMOSTRA", vcMale: "Homem", vcFemale: "Mulher", vcSynth: "SINTÉTICA", origAudio: "ÁUDIO ORIGINAL", vcCloned: "VOZES", vcBadge: "CLONADA", vcNone: "SÓ TEXTO", vcNoVoice: "Sem voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Pesquisar nesta transmissão", noise: "Áudio pouco claro", newLines: "novas", live: "AO VIVO", ended: "ENCERRADA", waiting: "AGUARDANDO", corrected: "CORRIGIDO", hostLine: "Apresentado por Marcus Reed · 4 falantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Ler", listen: "Ouvir", watch: "Assistir", waitTitle: "A transmissão ainda não começou", waitBody: "A transcrição aparece aqui assim que o apresentador começar a falar.", english: "INGLÊS", playing: "Reproduzindo a tradução em português", ready: "Toque para iniciar o áudio", readyNote: "Ajuste o volume primeiro", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DO APP", done: "Concluído", search: "Pesquisar entre 100+ idiomas", sheetNote: "Acompanhe a transmissão no seu idioma.", moreLangs: "mais", confTitle: "Algumas palavras não foram bem ouvidas", confBody: "A transcrição marca as palavras duvidosas com um sublinhado tracejado. As palavras mantêm a sua cor, por isso só o sublinhado indica onde olhar.", confMid: "Pouca dúvida — provavelmente certa", confHigh: "Baixa confiança — pode estar errada", settings: "TRANSMISSÃO", setOrig: "Mostrar idioma original", setTheme: "Aparência", light: "Claro", dark: "Escuro", setConf: "Mostrar palavras duvidosas", setConfHint1: "Colore as palavras duvidosas: ", setConfMid: "âmbar", setConfSep: " ou ", setConfLow: "vermelho", setConfHint2: "", behindLive: "LATÊNCIA DE TRADUÇÃO", behindNote: "Quanto a tradução está atrás de quem fala agora.", shareLabel: "LINK PARA ACOMPANHAR", copy: "Copiar", copied: "Copiado" }
|
|
1964
1964
|
};
|
|
1965
|
-
function
|
|
1965
|
+
function vi(t) {
|
|
1966
1966
|
return t && $r[t] || $r.English;
|
|
1967
1967
|
}
|
|
1968
|
-
async function
|
|
1968
|
+
async function ji(t) {
|
|
1969
1969
|
var r, a, o, l, c;
|
|
1970
1970
|
const e = await t.json().catch(() => null), n = ((r = e == null ? void 0 : e.error) == null ? void 0 : r.code) ?? (e == null ? void 0 : e.code), s = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
|
|
1971
|
-
return new
|
|
1971
|
+
return new ti(typeof n == "string" ? n : "internal", typeof s == "string" ? s : hs, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
|
|
1972
1972
|
}
|
|
1973
1973
|
function ts(t) {
|
|
1974
1974
|
switch (t) {
|
|
@@ -1986,14 +1986,14 @@ function ts(t) {
|
|
|
1986
1986
|
return "queued";
|
|
1987
1987
|
}
|
|
1988
1988
|
}
|
|
1989
|
-
function
|
|
1989
|
+
function Qo(t) {
|
|
1990
1990
|
return t ? { state: t.state, processedS: t.progress.processedS, totalS: t.progress.totalS ?? null, segmentsDone: t.progress.segmentsDone, segmentsTotal: t.progress.segmentsTotal ?? null, pct: t.progress.pct, error: t.error ?? null } : null;
|
|
1991
1991
|
}
|
|
1992
|
-
const
|
|
1992
|
+
const $o = (t, e) => {
|
|
1993
1993
|
const n = (t == null ? void 0 : t.segmentsDone) ?? e, s = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
|
|
1994
1994
|
return `${n} / ${s} SEGMENTS`;
|
|
1995
1995
|
};
|
|
1996
|
-
function
|
|
1996
|
+
function Bo(t, e) {
|
|
1997
1997
|
var r;
|
|
1998
1998
|
const n = ((r = t == null ? void 0 : t.source) == null ? void 0 : r.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, s = t == null ? void 0 : t.crop;
|
|
1999
1999
|
if (s && (s.startS != null || s.endS != null)) {
|
|
@@ -2012,20 +2012,20 @@ function Cs(t) {
|
|
|
2012
2012
|
const e = document.createElement("a");
|
|
2013
2013
|
e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
|
|
2014
2014
|
}
|
|
2015
|
-
async function
|
|
2015
|
+
async function Ho(t) {
|
|
2016
2016
|
const e = await fetch(t, { redirect: "manual" });
|
|
2017
|
-
if (e.type !== "opaqueredirect" && !e.ok) throw await
|
|
2017
|
+
if (e.type !== "opaqueredirect" && !e.ok) throw await ji(e);
|
|
2018
2018
|
Cs(t);
|
|
2019
2019
|
}
|
|
2020
|
-
async function
|
|
2020
|
+
async function Vo(t, e, n, s = {}) {
|
|
2021
2021
|
var M, N;
|
|
2022
2022
|
const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
|
|
2023
|
-
if (!r.ok) throw await
|
|
2023
|
+
if (!r.ok) throw await ji(r);
|
|
2024
2024
|
const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), g = document.createElement("a");
|
|
2025
2025
|
g.href = u, g.download = d, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
|
|
2026
2026
|
}
|
|
2027
|
-
async function
|
|
2028
|
-
const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((g) => g.lang === s), l = (u) =>
|
|
2027
|
+
async function Wo(t, e) {
|
|
2028
|
+
const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((g) => g.lang === s), l = (u) => di(u, r);
|
|
2029
2029
|
let c = l(await o());
|
|
2030
2030
|
(!c || c.state === "clips" || c.state === "failed") && await e.request();
|
|
2031
2031
|
const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
|
|
@@ -2034,25 +2034,25 @@ async function Vo(t, e) {
|
|
|
2034
2034
|
if (Date.now() > d) throw new Error("The spoken track is taking too long; try again in a moment.");
|
|
2035
2035
|
await new Promise((u) => setTimeout(u, 4e3)), c = l(await o());
|
|
2036
2036
|
}
|
|
2037
|
-
Cs(
|
|
2037
|
+
Cs(Da(t.origin, n, s, c.voiceKey, a));
|
|
2038
2038
|
}
|
|
2039
2039
|
const fs = (t) => {
|
|
2040
2040
|
var e;
|
|
2041
2041
|
return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
|
|
2042
|
-
},
|
|
2043
|
-
function
|
|
2042
|
+
}, Fo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Br = 0.3, Go = 1.5;
|
|
2043
|
+
function zi(t, e, n) {
|
|
2044
2044
|
var r;
|
|
2045
2045
|
const s = (r = t.words[t.words.length - 1]) == null ? void 0 : r.end;
|
|
2046
2046
|
return s != null && s > t.start ? s : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
|
|
2047
2047
|
}
|
|
2048
|
-
function
|
|
2048
|
+
function Zo(t, e, n) {
|
|
2049
2049
|
var c, d;
|
|
2050
2050
|
const s = t[e];
|
|
2051
2051
|
if (!s) return !1;
|
|
2052
|
-
const r = (((c = s.words[0]) == null ? void 0 : c.start) ?? s.start) - Br, a = t[e + 1], o =
|
|
2052
|
+
const r = (((c = s.words[0]) == null ? void 0 : c.start) ?? s.start) - Br, a = t[e + 1], o = zi(s, a, s.start + 4) + Go, l = a ? Math.min(o, (((d = a.words[0]) == null ? void 0 : d.start) ?? a.start) - Br) : o;
|
|
2053
2053
|
return n >= r && n < Math.max(l, r + 0.5);
|
|
2054
2054
|
}
|
|
2055
|
-
function
|
|
2055
|
+
function qo(t, e, n) {
|
|
2056
2056
|
const s = Math.max(0, n - e), r = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), a = r.reduce((l, c) => l + c, 0) || 1;
|
|
2057
2057
|
let o = e;
|
|
2058
2058
|
return t.map((l, c) => {
|
|
@@ -2067,7 +2067,7 @@ function ns(t) {
|
|
|
2067
2067
|
bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
|
|
2068
2068
|
};
|
|
2069
2069
|
}
|
|
2070
|
-
function
|
|
2070
|
+
function Ko(t, e, n = 0) {
|
|
2071
2071
|
const s = z(() => {
|
|
2072
2072
|
});
|
|
2073
2073
|
Y(() => {
|
|
@@ -2130,10 +2130,10 @@ function qo(t, e, n = 0) {
|
|
|
2130
2130
|
};
|
|
2131
2131
|
}, []);
|
|
2132
2132
|
}
|
|
2133
|
-
function
|
|
2133
|
+
function Jo({ thumbRef: t }) {
|
|
2134
2134
|
return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
|
|
2135
2135
|
}
|
|
2136
|
-
function
|
|
2136
|
+
function Xo({ error: t, onClose: e }) {
|
|
2137
2137
|
const n = z(e);
|
|
2138
2138
|
if (n.current = e, Y(() => {
|
|
2139
2139
|
if (!t) return;
|
|
@@ -2153,7 +2153,7 @@ function Jo({ error: t, onClose: e }) {
|
|
|
2153
2153
|
/* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(de, { d: q.close, size: 14 }) })
|
|
2154
2154
|
] });
|
|
2155
2155
|
}
|
|
2156
|
-
function
|
|
2156
|
+
function Ii({ color: t }) {
|
|
2157
2157
|
return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(de, { d: q.voiceClone, size: 13, sw: 1.7, stroke: t }) });
|
|
2158
2158
|
}
|
|
2159
2159
|
function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
|
|
@@ -2173,7 +2173,7 @@ function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
|
|
|
2173
2173
|
] })
|
|
2174
2174
|
] });
|
|
2175
2175
|
}
|
|
2176
|
-
function
|
|
2176
|
+
function el({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
|
|
2177
2177
|
const g = z(null), M = z(!1), [N, m] = O(null), w = Math.max(1, e), v = N ?? d, p = v != null ? Math.min(100, Math.max(0, v * 100)) : t / Math.max(1, w - 1) * 100, h = d != null && u > 0 && N == null ? `width ${u}ms linear, left ${u}ms linear` : "none", C = (k) => {
|
|
2178
2178
|
var j;
|
|
2179
2179
|
const J = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
|
|
@@ -2217,7 +2217,7 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
|
|
|
2217
2217
|
] })
|
|
2218
2218
|
] });
|
|
2219
2219
|
}
|
|
2220
|
-
function
|
|
2220
|
+
function tl(t, e, n) {
|
|
2221
2221
|
const s = new Set(t.seqs ?? t.words.map((l) => l.seq)), r = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && s.has(l.seq) && (l.kind === "word" || l.kind === "line")), a = r.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
|
|
2222
2222
|
return {
|
|
2223
2223
|
script: a ? 0 : t.words.filter((l) => l.script && !o(l)).length,
|
|
@@ -2225,7 +2225,7 @@ function el(t, e, n) {
|
|
|
2225
2225
|
manualCount: a ? 0 : r.filter((l) => l.kind === "word").length
|
|
2226
2226
|
};
|
|
2227
2227
|
}
|
|
2228
|
-
function
|
|
2228
|
+
function nl({ f: t, desk: e, onOpen: n }) {
|
|
2229
2229
|
const s = (r, a, o) => /* @__PURE__ */ f("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
|
|
2230
2230
|
l.stopPropagation(), n == null || n();
|
|
2231
2231
|
}, children: [
|
|
@@ -2238,7 +2238,7 @@ function tl({ f: t, desk: e, onOpen: n }) {
|
|
|
2238
2238
|
t.manual && s(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
|
|
2239
2239
|
] });
|
|
2240
2240
|
}
|
|
2241
|
-
function
|
|
2241
|
+
function sl({ onOpen: t, alone: e }) {
|
|
2242
2242
|
const [n, s] = O(!1);
|
|
2243
2243
|
return /* @__PURE__ */ f("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) => {
|
|
2244
2244
|
r.stopPropagation(), t();
|
|
@@ -2247,7 +2247,7 @@ function nl({ onOpen: t, alone: e }) {
|
|
|
2247
2247
|
n && "FIX"
|
|
2248
2248
|
] });
|
|
2249
2249
|
}
|
|
2250
|
-
function
|
|
2250
|
+
function rl(t, e, n, s) {
|
|
2251
2251
|
const r = Yt(), [a, o] = O([]), [l, c] = O(0), d = z(/* @__PURE__ */ new Set()), u = z(!1), g = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
|
|
2252
2252
|
Y(() => {
|
|
2253
2253
|
d.current = /* @__PURE__ */ new Set();
|
|
@@ -2274,13 +2274,13 @@ function sl(t, e, n, s) {
|
|
|
2274
2274
|
}
|
|
2275
2275
|
}, [t, e, a, l, g, s]), M;
|
|
2276
2276
|
}
|
|
2277
|
-
function
|
|
2277
|
+
function il(t) {
|
|
2278
2278
|
return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
|
|
2279
2279
|
}
|
|
2280
2280
|
function Zt(t, e) {
|
|
2281
2281
|
return t.cloned ? { rank: 0, head: e.vcSheet } : t.gender === "male" ? { rank: 1, head: e.vcMale.toUpperCase() } : t.gender === "female" ? { rank: 2, head: e.vcFemale.toUpperCase() } : { rank: 3, head: e.vcSynth };
|
|
2282
2282
|
}
|
|
2283
|
-
function
|
|
2283
|
+
function al(t, e) {
|
|
2284
2284
|
const n = t.slice().sort((r, a) => Zt(r, e).rank - Zt(a, e).rank || r.name.localeCompare(a.name, void 0, { numeric: !0 })), s = {};
|
|
2285
2285
|
for (const r of n) {
|
|
2286
2286
|
const a = Zt(r, e).head;
|
|
@@ -2291,7 +2291,7 @@ function il(t, e) {
|
|
|
2291
2291
|
return { v: r, headOn: l, head: o, headCount: s[o], rule: l ? "0" : "1px solid var(--hair)" };
|
|
2292
2292
|
});
|
|
2293
2293
|
}
|
|
2294
|
-
function
|
|
2294
|
+
function ol(t, e, n) {
|
|
2295
2295
|
const s = /* @__PURE__ */ new Set();
|
|
2296
2296
|
let r = !1;
|
|
2297
2297
|
for (const o of t)
|
|
@@ -2302,7 +2302,7 @@ function al(t, e, n) {
|
|
|
2302
2302
|
return {
|
|
2303
2303
|
key: o,
|
|
2304
2304
|
name: zs(e, o),
|
|
2305
|
-
initial:
|
|
2305
|
+
initial: mi(e, o),
|
|
2306
2306
|
lane: l.lane,
|
|
2307
2307
|
sex: e.speakerSex[o] ?? null,
|
|
2308
2308
|
voiceId: ((c = e.speakerIds[o]) == null ? void 0 : c.voiceId) ?? null,
|
|
@@ -2341,7 +2341,7 @@ function Wr(t, e, n = !0) {
|
|
|
2341
2341
|
}
|
|
2342
2342
|
return a;
|
|
2343
2343
|
}
|
|
2344
|
-
function
|
|
2344
|
+
function ll({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
|
|
2345
2345
|
const d = t.find((u) => u.key === e) ?? t[0] ?? null;
|
|
2346
2346
|
return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
|
|
2347
2347
|
const g = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, N = u.key >= 0 && !M && !!(r != null && r(u)), m = u.key >= 0 && !M && !N && s(u), w = u.key >= 0 && !M && !N && !m && !u.hasVoice && !!(a != null && a(u));
|
|
@@ -2363,7 +2363,7 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
|
|
|
2363
2363
|
}
|
|
2364
2364
|
),
|
|
2365
2365
|
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
|
|
2366
|
-
u.hasVoice && !M && /* @__PURE__ */ i(
|
|
2366
|
+
u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
|
|
2367
2367
|
M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
|
|
2368
2368
|
w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(de, { d: q.micOff, size: 13, sw: 1.7 }) }),
|
|
2369
2369
|
(m || N) && /* @__PURE__ */ i("span", { title: N ? "Cloning this voice…" : "No voice clone yet", "aria-label": N ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: N ? /* @__PURE__ */ i(ct, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
|
|
@@ -2373,8 +2373,8 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
|
|
|
2373
2373
|
);
|
|
2374
2374
|
}) }) : null;
|
|
2375
2375
|
}
|
|
2376
|
-
function
|
|
2377
|
-
const w = Ie(() =>
|
|
2376
|
+
function cl({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: g = null, problem: M, noClone: N = null, t: m }) {
|
|
2377
|
+
const w = Ie(() => al(e, m), [e, m]), [v, p] = O({});
|
|
2378
2378
|
Y(() => {
|
|
2379
2379
|
p({});
|
|
2380
2380
|
}, [u, g]);
|
|
@@ -2387,7 +2387,7 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2387
2387
|
M && /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
|
|
2388
2388
|
/* @__PURE__ */ i(de, { d: q.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
|
|
2389
2389
|
/* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
|
|
2390
|
-
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(
|
|
2390
|
+
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(Ia, { value: M, label: "Copy this error" }) })
|
|
2391
2391
|
] }),
|
|
2392
2392
|
t,
|
|
2393
2393
|
N && /* @__PURE__ */ f(Pe, { children: [
|
|
@@ -2403,8 +2403,8 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2403
2403
|
] })
|
|
2404
2404
|
] }),
|
|
2405
2405
|
w.map(({ v: k, headOn: J, head: A, headCount: K, rule: j }, S) => {
|
|
2406
|
-
const $ =
|
|
2407
|
-
return /* @__PURE__ */ f(
|
|
2406
|
+
const $ = il(k), L = a === k.id, I = C(A), E = (d == null ? void 0 : d(k)) ?? null;
|
|
2407
|
+
return /* @__PURE__ */ f(fa, { children: [
|
|
2408
2408
|
J && A === m.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: S === 0 && !N ? "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 }) }),
|
|
2409
2409
|
J && A !== m.vcSheet && /* @__PURE__ */ f(
|
|
2410
2410
|
"button",
|
|
@@ -2434,8 +2434,8 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2434
2434
|
style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: I ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: I ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: s === k.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: I ? 1 : 0, maxHeight: I ? 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" },
|
|
2435
2435
|
children: [
|
|
2436
2436
|
/* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : k.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 === k.id ? /* @__PURE__ */ f("span", { className: "vcplay", children: [
|
|
2437
|
-
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(
|
|
2438
|
-
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(
|
|
2437
|
+
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(ul, { height: 13, width: 2.5 }) }),
|
|
2438
|
+
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(va, { size: 11 }) })
|
|
2439
2439
|
] }) : /* @__PURE__ */ i(de, { d: k.cloned ? q.voiceClone : k.gender === "female" ? q.venus : k.gender === "male" ? q.mars : q.mic, size: 15, sw: 1.6, style: { color: k.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
|
|
2440
2440
|
/* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2441
2441
|
/* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: k.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: k.name }) }),
|
|
@@ -2463,7 +2463,7 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2463
2463
|
b && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => s && c(s), children: /* @__PURE__ */ i("span", { children: m.vcUse }) }) })
|
|
2464
2464
|
] });
|
|
2465
2465
|
}
|
|
2466
|
-
function
|
|
2466
|
+
function ul({ height: t, width: e = 2 }) {
|
|
2467
2467
|
const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
|
|
2468
2468
|
return /* @__PURE__ */ f("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
|
|
2469
2469
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
|
|
@@ -2471,17 +2471,17 @@ function cl({ height: t, width: e = 2 }) {
|
|
|
2471
2471
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
|
|
2472
2472
|
] });
|
|
2473
2473
|
}
|
|
2474
|
-
const
|
|
2474
|
+
const dl = /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
|
|
2475
2475
|
/* @__PURE__ */ i(de, { d: q.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
|
|
2476
2476
|
/* @__PURE__ */ i(de, { d: q.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
|
|
2477
2477
|
] });
|
|
2478
2478
|
function Ns(t, e) {
|
|
2479
2479
|
const n = e ? t == null ? void 0 : t.languages.find((s) => s.code === e) : null;
|
|
2480
|
-
return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" :
|
|
2480
|
+
return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : dl, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
|
|
2481
2481
|
}
|
|
2482
2482
|
const Fr = { minHeight: 36, height: 36, padding: "0 11px", background: "var(--fill-06)" };
|
|
2483
|
-
function
|
|
2484
|
-
const r = (s == null ? void 0 : s.id) ?? null, a = (s == null ? void 0 : s.token) ?? null, o = (s == null ? void 0 : s.shareCode) ?? null, l = Yt(), { data: c } =
|
|
2483
|
+
function Ml(t, e, n = 0, s) {
|
|
2484
|
+
const r = (s == null ? void 0 : s.id) ?? null, a = (s == null ? void 0 : s.token) ?? null, o = (s == null ? void 0 : s.shareCode) ?? null, l = Yt(), { data: c } = ki(async () => {
|
|
2485
2485
|
if (!t || !e) return null;
|
|
2486
2486
|
try {
|
|
2487
2487
|
return await l.client.voices.available(t, { recording: r ?? void 0, shareCode: r ? o ?? void 0 : void 0, asOwner: l.owner });
|
|
@@ -2491,18 +2491,18 @@ function dl(t, e, n = 0, s) {
|
|
|
2491
2491
|
}, [t, e, n, r, a, o]);
|
|
2492
2492
|
return c;
|
|
2493
2493
|
}
|
|
2494
|
-
function
|
|
2494
|
+
function hl(t) {
|
|
2495
2495
|
return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
|
|
2496
2496
|
}
|
|
2497
|
-
function
|
|
2498
|
-
const o = Yt(), { data: l, reload: c } =
|
|
2497
|
+
function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
|
|
2498
|
+
const o = Yt(), { data: l, reload: c } = ki(async () => {
|
|
2499
2499
|
if (!t || !e) return null;
|
|
2500
2500
|
const P = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
|
|
2501
2501
|
return { recordingId: t, lang: e, rows: P.filter((x) => x.lang === e) };
|
|
2502
2502
|
}, [t, e, o, n]), d = Ie(
|
|
2503
2503
|
() => l && l.lang === e && l.recordingId === t ? l.rows : [],
|
|
2504
2504
|
[l, e, t]
|
|
2505
|
-
), u = Ie(() =>
|
|
2505
|
+
), u = Ie(() => di(d, r), [d, r]), g = u ? u.voiceKey || null : r, [M, N] = O(null), [m, w] = O(null), v = z(/* @__PURE__ */ new Set()), p = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, h = qe(async (P, x) => {
|
|
2506
2506
|
if (!t || !e || !n) return;
|
|
2507
2507
|
const ue = x != null && x.size ? null : Vr(P), B = x != null && x.size ? x : ue, F = B && B.size ? Object.fromEntries([...B].map(([ve, Le]) => [String(ve), Le])) : null, ie = `${t}|${e}|${F ? JSON.stringify(F) : P ?? ""}`;
|
|
2508
2508
|
if (v.current.has(ie)) return;
|
|
@@ -2546,12 +2546,12 @@ function hl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2546
2546
|
const E = Ie(() => {
|
|
2547
2547
|
if (!t) return [];
|
|
2548
2548
|
const P = J ? J.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, x = u ?? (P != null && P.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
|
|
2549
|
-
return
|
|
2549
|
+
return Ua(x, t, o.origin, s, P);
|
|
2550
2550
|
}, [u, t, o, s, J, e, r, n, j]), oe = Ie(() => new Set(S), [S]);
|
|
2551
2551
|
return { listed: l, rows: d, track: u, renderVoiceId: g, rendering: b, failed: k, clips: E, requestRender: h, forget: C, reload: c, setNear: K, missing: S.length, coming: oe };
|
|
2552
2552
|
}
|
|
2553
|
-
const
|
|
2554
|
-
function
|
|
2553
|
+
const fl = { share: q.share, delay: q.tabGauge, video: q.video, source: q.tabSources, script: q.tabScript, fix: q.tabFix, ending: q.tabEnding, summary: q.tabSummary, export: q.tabExport, settings: q.tabSettings, sources: q.tabSources, recs: q.mic };
|
|
2554
|
+
function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
|
|
2555
2555
|
const o = r && t.length <= 3, l = t.some((v) => v.key === e), [c, d] = O(null), u = z(null), [g, M] = O(0);
|
|
2556
2556
|
Y(() => {
|
|
2557
2557
|
u.current && M(u.current.offsetWidth);
|
|
@@ -2569,7 +2569,7 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
|
|
|
2569
2569
|
let w = null;
|
|
2570
2570
|
if (c) {
|
|
2571
2571
|
const v = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, p = g || 80, h = Math.max(v.l + 8, Math.min(v.r - p - 8, c.x - p / 2));
|
|
2572
|
-
w =
|
|
2572
|
+
w = ma(
|
|
2573
2573
|
/* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ f("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: h, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
|
|
2574
2574
|
/* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
|
|
2575
2575
|
/* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(p - 19, c.x - h - 5.5))) } })
|
|
@@ -2579,7 +2579,7 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
|
|
|
2579
2579
|
}
|
|
2580
2580
|
return /* @__PURE__ */ f("div", { role: "tablist", className: `tabbar tabbar--icons${r ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: s ? 12 : 0 }, onMouseLeave: m, children: [
|
|
2581
2581
|
t.map((v) => {
|
|
2582
|
-
const p = e === v.key, h = o || p, C = o ? "1 1 0" : p ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", b = v.icon ??
|
|
2582
|
+
const p = e === v.key, h = o || p, C = o ? "1 1 0" : p ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", b = v.icon ?? fl[v.key], k = () => {
|
|
2583
2583
|
m(), n(r && p ? "none" : v.key);
|
|
2584
2584
|
};
|
|
2585
2585
|
return r ? /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": p, title: v.label, className: `tabbar__tab${p ? " is-on" : ""}`, style: { flex: C }, onClick: k, children: [
|
|
@@ -2593,8 +2593,8 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
|
|
|
2593
2593
|
w
|
|
2594
2594
|
] });
|
|
2595
2595
|
}
|
|
2596
|
-
const
|
|
2597
|
-
function
|
|
2596
|
+
const Nl = "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", pl = "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
|
+
function ml({ audio: t, video: e, formats: n, onExport: s }) {
|
|
2598
2598
|
const [r, a] = O(null), [o, l] = O(null), c = z(void 0), d = z(!0);
|
|
2599
2599
|
Y(() => (d.current = !0, () => {
|
|
2600
2600
|
d.current = !1, window.clearTimeout(c.current);
|
|
@@ -2623,11 +2623,11 @@ function pl({ audio: t, video: e, formats: n, onExport: s }) {
|
|
|
2623
2623
|
/* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: w.name }),
|
|
2624
2624
|
/* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: w.meta })
|
|
2625
2625
|
] }),
|
|
2626
|
-
/* @__PURE__ */ i(de, { d: r === m ? q.check :
|
|
2626
|
+
/* @__PURE__ */ i(de, { d: r === m ? q.check : Nl, size: 17, sw: 1.6, style: { flex: "none", color: r === m ? "var(--brand)" : "var(--ink-62)" } })
|
|
2627
2627
|
] })
|
|
2628
2628
|
] });
|
|
2629
2629
|
return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
2630
|
-
t && N("audio", t,
|
|
2630
|
+
t && N("audio", t, pl, "DOWNLOAD AUDIO"),
|
|
2631
2631
|
e && N("video", e, q.video, "DOWNLOAD VIDEO"),
|
|
2632
2632
|
n !== !1 && /* @__PURE__ */ f(Pe, { children: [
|
|
2633
2633
|
/* @__PURE__ */ i(ls, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
|
|
@@ -2652,7 +2652,7 @@ function bs(t, e, n) {
|
|
|
2652
2652
|
}
|
|
2653
2653
|
s();
|
|
2654
2654
|
}
|
|
2655
|
-
function
|
|
2655
|
+
function yl(t, e, n) {
|
|
2656
2656
|
const [s, r] = O(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
|
|
2657
2657
|
${t.summary}` : ""}`, l = Yt();
|
|
2658
2658
|
return Y(() => {
|
|
@@ -2669,12 +2669,12 @@ ${t.summary}` : ""}`, l = Yt();
|
|
|
2669
2669
|
};
|
|
2670
2670
|
}, [o, l]), !n || !a ? t : (s == null ? void 0 : s.key) === o ? s.s : { state: "pending", retry: t.retry };
|
|
2671
2671
|
}
|
|
2672
|
-
function
|
|
2672
|
+
function Tl(t) {
|
|
2673
2673
|
return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
|
|
2674
2674
|
} } : { state: "unavailable", retry: () => {
|
|
2675
2675
|
} };
|
|
2676
2676
|
}
|
|
2677
|
-
function
|
|
2677
|
+
function wl({ s: t }) {
|
|
2678
2678
|
const [e, n] = O(!1), s = z(void 0);
|
|
2679
2679
|
Y(() => () => window.clearTimeout(s.current), []);
|
|
2680
2680
|
const r = t.title ?? "", a = t.summary ?? "", o = () => {
|
|
@@ -2691,7 +2691,7 @@ ${a}`).catch(() => {
|
|
|
2691
2691
|
/* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
|
|
2692
2692
|
/* @__PURE__ */ i(ls, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
|
|
2693
2693
|
t.state === "ready" && /* @__PURE__ */ f("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
|
|
2694
|
-
/* @__PURE__ */ i(de, { d: e ? q.check :
|
|
2694
|
+
/* @__PURE__ */ i(de, { d: e ? q.check : vl, size: 13, sw: 1.6 }),
|
|
2695
2695
|
e ? "Copied" : "Copy"
|
|
2696
2696
|
] })
|
|
2697
2697
|
] }),
|
|
@@ -2704,15 +2704,15 @@ ${a}`).catch(() => {
|
|
|
2704
2704
|
] })
|
|
2705
2705
|
] });
|
|
2706
2706
|
}
|
|
2707
|
-
function
|
|
2707
|
+
function Ll({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
|
|
2708
2708
|
return /* @__PURE__ */ f("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
|
|
2709
2709
|
/* @__PURE__ */ i(de, { 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 }),
|
|
2710
|
-
l ?? /* @__PURE__ */ i("iframe", { src:
|
|
2710
|
+
l ?? /* @__PURE__ */ i("iframe", { src: Fo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
|
|
2711
2711
|
n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
|
|
2712
2712
|
o
|
|
2713
2713
|
] });
|
|
2714
2714
|
}
|
|
2715
|
-
function
|
|
2715
|
+
function kl(t = !0, e) {
|
|
2716
2716
|
const n = z(null), s = e ?? n;
|
|
2717
2717
|
return Y(() => {
|
|
2718
2718
|
const r = s.current;
|
|
@@ -2733,9 +2733,9 @@ function Ll(t = !0, e) {
|
|
|
2733
2733
|
};
|
|
2734
2734
|
}, [t]), s;
|
|
2735
2735
|
}
|
|
2736
|
-
const
|
|
2737
|
-
function
|
|
2738
|
-
const [n, s] =
|
|
2736
|
+
const vl = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
|
|
2737
|
+
function jl(t, e) {
|
|
2738
|
+
const [n, s] = Pa(t), r = e.tabs.map((h) => h.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
|
|
2739
2739
|
let l = n;
|
|
2740
2740
|
[...e.autoPin ?? []].reverse().forEach((h) => {
|
|
2741
2741
|
r.includes(h) && !l.includes(h) && !l.includes(`!${h}`) && (l = [h, ...l]);
|
|
@@ -2773,8 +2773,8 @@ function vl(t, e) {
|
|
|
2773
2773
|
};
|
|
2774
2774
|
return { id: t, tabbed: a && g.length > 1, cur: M, seq: u, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((h) => g.includes(h.key)), panel: p, pin: m, unpin: w };
|
|
2775
2775
|
}
|
|
2776
|
-
function
|
|
2777
|
-
return
|
|
2776
|
+
function zl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
|
|
2777
|
+
return Il(t), /* @__PURE__ */ f(Pe, { children: [
|
|
2778
2778
|
e.map((o) => {
|
|
2779
2779
|
const l = t.panel(o);
|
|
2780
2780
|
if (!l.show) return null;
|
|
@@ -2784,13 +2784,13 @@ function jl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
|
|
|
2784
2784
|
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(de, { d: q.pin, size: 12, sw: 2 }) })
|
|
2785
2785
|
] }, o) : null;
|
|
2786
2786
|
}),
|
|
2787
|
-
t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(
|
|
2787
|
+
t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Oi, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
|
|
2788
2788
|
o !== "none" && (r ?? (() => {
|
|
2789
2789
|
}))(o);
|
|
2790
2790
|
}, fold: !1 }) })
|
|
2791
2791
|
] });
|
|
2792
2792
|
}
|
|
2793
|
-
function
|
|
2793
|
+
function Il(t) {
|
|
2794
2794
|
const e = z(t);
|
|
2795
2795
|
e.current = t;
|
|
2796
2796
|
const n = t.id;
|
|
@@ -2891,9 +2891,9 @@ function zl(t) {
|
|
|
2891
2891
|
};
|
|
2892
2892
|
}, [n]);
|
|
2893
2893
|
}
|
|
2894
|
-
function
|
|
2895
|
-
const [o, l] =
|
|
2896
|
-
|
|
2894
|
+
function Ol({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
|
|
2895
|
+
const [o, l] = $a(t), c = z(null), d = z(null);
|
|
2896
|
+
Cl(d), Y(() => {
|
|
2897
2897
|
document.documentElement.style.setProperty("--colw", `${o}px`);
|
|
2898
2898
|
}, [o]);
|
|
2899
2899
|
const u = (M) => {
|
|
@@ -2917,7 +2917,7 @@ function Il({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
|
|
|
2917
2917
|
/* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
|
|
2918
2918
|
] });
|
|
2919
2919
|
}
|
|
2920
|
-
function
|
|
2920
|
+
function Cl(t) {
|
|
2921
2921
|
Y(() => {
|
|
2922
2922
|
const e = t.current;
|
|
2923
2923
|
if (!e) return;
|
|
@@ -2945,11 +2945,11 @@ function Ol(t) {
|
|
|
2945
2945
|
};
|
|
2946
2946
|
}, [t]);
|
|
2947
2947
|
}
|
|
2948
|
-
function
|
|
2948
|
+
function bl(t) {
|
|
2949
2949
|
return /\bwas not captured\b/i.test(t ?? "");
|
|
2950
2950
|
}
|
|
2951
|
-
const
|
|
2952
|
-
function
|
|
2951
|
+
const xl = 1500, Dl = 3e5;
|
|
2952
|
+
function Sl(t) {
|
|
2953
2953
|
const e = Yt(), [n, s] = O(null), [r, a] = O(null), [o, l] = O(null), [c, d] = O(null), u = z(null), g = z(null), M = z(null), N = z(0), m = qe(() => {
|
|
2954
2954
|
M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
|
|
2955
2955
|
}, []), w = qe(() => {
|
|
@@ -2981,13 +2981,13 @@ function Dl(t) {
|
|
|
2981
2981
|
}
|
|
2982
2982
|
if (N.current !== C) return;
|
|
2983
2983
|
if (A.status === 202 || A.status === 503) {
|
|
2984
|
-
if (Date.now() - k >
|
|
2984
|
+
if (Date.now() - k > Dl) {
|
|
2985
2985
|
l(null), d({ message: "This voice is still being fetched. Try it again in a moment." });
|
|
2986
2986
|
return;
|
|
2987
2987
|
}
|
|
2988
2988
|
l(h.id), M.current = setTimeout(() => {
|
|
2989
2989
|
J();
|
|
2990
|
-
},
|
|
2990
|
+
}, xl);
|
|
2991
2991
|
return;
|
|
2992
2992
|
}
|
|
2993
2993
|
if (!A.ok) {
|
|
@@ -3012,13 +3012,13 @@ function Dl(t) {
|
|
|
3012
3012
|
}, [t, m, e]);
|
|
3013
3013
|
return { armId: n, sampleId: r, dlId: o, error: c, clearError: () => d(null), arm: p, stop: w, reset: v };
|
|
3014
3014
|
}
|
|
3015
|
-
const ps = 0.05,
|
|
3015
|
+
const ps = 0.05, Ci = (t, e) => {
|
|
3016
3016
|
let n = 0;
|
|
3017
3017
|
for (let s = 0; s < t.length; s++) t[s].start <= e + 1e-6 && (n = s);
|
|
3018
3018
|
return n;
|
|
3019
3019
|
};
|
|
3020
|
-
function
|
|
3021
|
-
const r = Math.max(0, e), a = s > 0 && r >= s - ps, o = t.length && t[0].start <= r + 1e-6 ?
|
|
3020
|
+
function Al(t, e, n, s) {
|
|
3021
|
+
const r = Math.max(0, e), a = s > 0 && r >= s - ps, o = t.length && t[0].start <= r + 1e-6 ? Ci(t, r) : -1;
|
|
3022
3022
|
return o < 0 ? { t: r, playing: n && !a, sentenceId: null, offset: 0, ended: a } : { t: r, playing: n && !a, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, r - t[o].start), ended: a };
|
|
3023
3023
|
}
|
|
3024
3024
|
function yn(t, e, n) {
|
|
@@ -3033,18 +3033,18 @@ function yn(t, e, n) {
|
|
|
3033
3033
|
}
|
|
3034
3034
|
a = Math.max(0, Math.min(s, a));
|
|
3035
3035
|
const o = s > 0 && a >= s - ps && r < 0;
|
|
3036
|
-
return { t: a, playing: t.playing && !o, index: r >= 0 ? r :
|
|
3036
|
+
return { t: a, playing: t.playing && !o, index: r >= 0 ? r : Ci(e, a) };
|
|
3037
3037
|
}
|
|
3038
|
-
function
|
|
3038
|
+
function bi(t, e, n) {
|
|
3039
3039
|
var c;
|
|
3040
3040
|
const s = t[e], r = n && s.translations[n] && s.language !== n ? s.translations[n] : null;
|
|
3041
3041
|
if (!r && s.words.length) return s.words;
|
|
3042
|
-
const a = (r ?? s.text).split(/\s+/).filter(Boolean), o = ((c = s.words[0]) == null ? void 0 : c.start) ?? s.start, l =
|
|
3043
|
-
return
|
|
3042
|
+
const a = (r ?? s.text).split(/\s+/).filter(Boolean), o = ((c = s.words[0]) == null ? void 0 : c.start) ?? s.start, l = zi(s, t[e + 1], s.start + Math.max(2, a.length * 0.4));
|
|
3043
|
+
return qo(a, o, l).map((d, u) => ({ ...d, seq: s.seqs[0] ?? 0, idx: u }));
|
|
3044
3044
|
}
|
|
3045
3045
|
function Gr(t, e, n) {
|
|
3046
3046
|
if (!t.engaged || e !== t.idx || !n.length) return null;
|
|
3047
|
-
if (!t.wordSync) return t.clipPos ?
|
|
3047
|
+
if (!t.wordSync) return t.clipPos ? Mi(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
|
|
3048
3048
|
const s = t.t;
|
|
3049
3049
|
let r = -1;
|
|
3050
3050
|
for (let a = 0; a < n.length && n[a].start <= s; a++) r = a;
|
|
@@ -3062,7 +3062,7 @@ function Et(t, e, n) {
|
|
|
3062
3062
|
const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
|
|
3063
3063
|
return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
|
|
3064
3064
|
}
|
|
3065
|
-
function
|
|
3065
|
+
function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: g, waiting: M = !1 }) {
|
|
3066
3066
|
const N = z(null), [m, w] = O(!1);
|
|
3067
3067
|
Y(() => {
|
|
3068
3068
|
if (!M) {
|
|
@@ -3182,7 +3182,7 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3182
3182
|
}, [F]), /* @__PURE__ */ f("div", { className: `txyt${h ? " txyt--ad" : ""}`, children: [
|
|
3183
3183
|
/* @__PURE__ */ i("iframe", { ref: N, onLoad: Le, referrerPolicy: "strict-origin-when-cross-origin", src: `https://www.youtube-nocookie.com/embed/${t}?enablejsapi=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, title: e, allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" }),
|
|
3184
3184
|
!h && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
|
|
3185
|
-
/* @__PURE__ */ i("div", { className: `txyt__paused${ue && !h && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(
|
|
3185
|
+
/* @__PURE__ */ i("div", { className: `txyt__paused${ue && !h && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(ri, { size: 44 }) }) }),
|
|
3186
3186
|
h && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
|
|
3187
3187
|
H && /* @__PURE__ */ f("div", { className: "txyt__gone", children: [
|
|
3188
3188
|
/* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
|
|
@@ -3190,10 +3190,10 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3190
3190
|
] })
|
|
3191
3191
|
] });
|
|
3192
3192
|
}
|
|
3193
|
-
const
|
|
3193
|
+
const Yl = /* @__PURE__ */ f(Pe, { children: [
|
|
3194
3194
|
/* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
|
|
3195
3195
|
/* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
|
|
3196
|
-
] }),
|
|
3196
|
+
] }), Zr = /* @__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" });
|
|
3197
3197
|
function _l({ player: t, size: e }) {
|
|
3198
3198
|
const n = t.muted ? "Unmute" : "Mute";
|
|
3199
3199
|
return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(de, { d: t.muted ? q.volumeOff : q.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
|
|
@@ -3382,16 +3382,16 @@ function Hl(t, e, n, s, r = 0, a = null) {
|
|
|
3382
3382
|
c(!1), o.current = null;
|
|
3383
3383
|
return;
|
|
3384
3384
|
}
|
|
3385
|
-
const R =
|
|
3385
|
+
const R = ci(t), ae = C.current;
|
|
3386
3386
|
return R.preload = "metadata", R.muted = N.current || m.current, R.onplay = () => c(!0), R.onpause = () => c(!1), R.onended = () => c(!1), R.onloadedmetadata = () => {
|
|
3387
3387
|
h(!0), R.currentTime = ((y == null ? void 0 : y.t) ?? 0) + ae, y != null && y.playing && R.play().catch((G) => {
|
|
3388
3388
|
y.asked && (G == null ? void 0 : G.name) === "NotAllowedError" || v(wt(G));
|
|
3389
3389
|
});
|
|
3390
3390
|
}, R.onerror = () => {
|
|
3391
3391
|
c(!1);
|
|
3392
|
-
const G = R.error, me =
|
|
3393
|
-
|
|
3394
|
-
|
|
3392
|
+
const G = R.error, me = Aa(G, !1);
|
|
3393
|
+
ba(t).then((V) => {
|
|
3394
|
+
bl(V == null ? void 0 : V.message) || oi(G), o.current === R && (v({ message: (V == null ? void 0 : V.message) ?? me }), V != null && V.permanent || (o.current = null));
|
|
3395
3395
|
});
|
|
3396
3396
|
}, o.current = R, () => {
|
|
3397
3397
|
b.current = { t: Math.max(0, R.currentTime - ae), playing: !R.paused && !R.ended }, R.pause(), R.onplay = R.onpause = R.onended = R.onloadedmetadata = R.onerror = null, o.current = null;
|
|
@@ -3581,7 +3581,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3581
3581
|
const W = F.current.findIndex((ee) => ee.sentenceId === U);
|
|
3582
3582
|
W >= 0 && N(W);
|
|
3583
3583
|
}, _.onError = (U) => {
|
|
3584
|
-
g(_.playing), b(U instanceof
|
|
3584
|
+
g(_.playing), b(U instanceof ui ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
|
|
3585
3585
|
}, _.gapBefore = (U, W) => {
|
|
3586
3586
|
if (!ie.current) return 0;
|
|
3587
3587
|
const ee = F.current, fe = ee.find((be) => be.sentenceId === U), Ne = ee.find((be) => be.sentenceId === W);
|
|
@@ -3674,7 +3674,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3674
3674
|
return { from: W, span: Math.max(0, ee - W) };
|
|
3675
3675
|
}, ce = Me(V), ke = Math.max(0, Math.min(ce.span, Et(e[V], ce.from, ce.from + 4) - ce.from)), We = j ? j.t : o ? E != null && ue ? ce.from + Math.min(ce.span, E) : E != null ? P != null ? Math.min(ce.from, P + E) : ce.from + Math.min(ce.span, ke + E) : L && L.dur > 0 ? ce.from + Math.min(ke, L.t / L.dur * ke) : ce.from : L && L.dur > 0 ? ce.from + Math.min(ce.span, L.t / L.dur * ce.span) : ce.from;
|
|
3676
3676
|
Y(() => {
|
|
3677
|
-
Ee.current = Be.current ??
|
|
3677
|
+
Ee.current = Be.current ?? Al(e, We, u, je);
|
|
3678
3678
|
});
|
|
3679
3679
|
const xe = {
|
|
3680
3680
|
playing: u || Oe,
|
|
@@ -3813,18 +3813,18 @@ const Wl = () => {
|
|
|
3813
3813
|
}, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
|
|
3814
3814
|
function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: g, hearOriginal: M = !1, timed: N = !1, stockVoices: m = !1, stickyPicker: w = !1, pickerBusy: v = null, voiceSheet: p }) {
|
|
3815
3815
|
var tn, nn, sn, Gt;
|
|
3816
|
-
const { onAddVoice: h, onPickVoice: C, onSelectSpeaker: b, noCloneFor: k, castNoClone: J, castShort: A, castBuilding: K, castWarn: j, badge: S, titleNode: $ } = p ?? {}, L = !!p, I = !!(p != null && p.pendingClones), [E, oe] =
|
|
3816
|
+
const { onAddVoice: h, onPickVoice: C, onSelectSpeaker: b, noCloneFor: k, castNoClone: J, castShort: A, castBuilding: K, castWarn: j, badge: S, titleNode: $ } = p ?? {}, L = !!p, I = !!(p != null && p.pendingClones), [E, oe] = gi(), [P, x] = O(null), [ue, B] = O(!1), [F, ie] = O(!1), [re, le] = O(!1), [ve, Le] = O(!1), Te = d ?? l, we = d === null, Ee = d != null || P != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(we ? l : Te) ? we ? l : Te : "en", ye = Sl(Oe), te = (p == null ? void 0 : p.cloneOn) ?? !0, [H, X] = O(0), y = z(te);
|
|
3817
3817
|
Y(() => {
|
|
3818
3818
|
y.current !== te && (y.current = te, X((Q) => Q + 1));
|
|
3819
3819
|
}, [te]);
|
|
3820
|
-
const R =
|
|
3820
|
+
const R = Ml(Oe, Ee || r || F, hl(e) * 1e3 + H, { id: t ?? null, shareCode: a.shareCode ?? null }), ae = Ie(() => ((R == null ? void 0 : R.voices) ?? []).filter((Q) => L || !Q.cloned || Q.speaker != null), [R, L]), G = ae.length > 1, me = Ns(o, Te), V = vi(), Ye = Ie(() => fi(o, "translation"), [o]), [je, Ve] = O(null), [Ae] = O(() => /* @__PURE__ */ new Set()), [Z, se] = O({}), he = Ie(() => ol(n, e, V.vcUnknownSpk), [n, e, V]), Me = G && he.filter((Q) => Q.key >= 0).length > 1, ce = je != null && he.some((Q) => Q.key === je) ? je : ((tn = he[0]) == null ? void 0 : tn.key) ?? null, ke = Ie(() => {
|
|
3821
3821
|
const Q = Wr(he, ae, te);
|
|
3822
3822
|
for (const [De, $e] of Object.entries(Z[Oe ?? ""] ?? {})) Q.set(Number(De), $e);
|
|
3823
3823
|
return Q;
|
|
3824
3824
|
}, [he, ae, Z, Oe, te]), We = Me && Object.keys(Z[Oe ?? ""] ?? {}).length > 0, xe = Ie(() => m && !We ? Wr(he, ae, !1) : null, [m, We, he, ae]), Ce = Ie(() => We ? Hr(ke) || null : xe && Hr(xe) || null, [We, ke, xe]), _ = We ? ke : xe, U = ae.some((Q) => Q.cloned && Q.consent !== "pending"), W = !!Te && !!(o != null && o.voice.includes(Te)), ee = W && !M, fe = Ie(
|
|
3825
3825
|
() => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
|
|
3826
3826
|
[n]
|
|
3827
|
-
), Ne =
|
|
3827
|
+
), Ne = gl({ recordingId: t, lang: Te, ended: r, cred: a, pickedVoice: Ce ?? P, sentenceIds: r && ee ? fe : void 0 }), ze = ae.find((Q) => Q.id === P) ?? ae.find((Q) => {
|
|
3828
3828
|
var De;
|
|
3829
3829
|
return Q.id === ((De = Ne.track) == null ? void 0 : De.voice);
|
|
3830
3830
|
}) ?? ae.find((Q) => Q.default) ?? ae[0] ?? null, Ue = (ze == null ? void 0 : ze.id) ?? null;
|
|
@@ -3884,7 +3884,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3884
3884
|
return;
|
|
3885
3885
|
}
|
|
3886
3886
|
x(Q);
|
|
3887
|
-
}, at = we ? { ...Ns(o, null), flag: /* @__PURE__ */ i(de, { d: q.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : me, Ct = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: ne ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: D, style: Fr }) }) : /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: rt, style: Fr }) : null, zn = q.voiceClone, Ht = Ee && (!!Ne.track || st), Ke = Xe ? "var(--conf-low)" : Ht || g && Nt ? "var(--brand)" : "var(--ink-55)", ot = st || !!Se.preparing && Ee, Vt = Se.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : Xe ? `This voice could not be prepared: ${Xe}` : W ? G ? "Choose a voice" : ze ? ze.name : V.vcNoVoice + me.label : `${V.vcNoVoice}${me.label}`, ht = /* @__PURE__ */ i(
|
|
3887
|
+
}, at = we ? { ...Ns(o, null), flag: /* @__PURE__ */ i(de, { d: q.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : me, Ct = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: ne ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: D, style: Fr }) }) : /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: rt, style: Fr }) : null, zn = q.voiceClone, Ht = Ee && (!!Ne.track || st), Ke = Xe ? "var(--conf-low)" : Ht || g && Nt ? "var(--brand)" : "var(--ink-55)", ot = st || !!Se.preparing && Ee, Vt = Se.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : Xe ? `This voice could not be prepared: ${Xe}` : W ? G ? "Choose a voice" : ze ? ze.name : V.vcNoVoice + me.label : `${V.vcNoVoice}${me.label}`, ht = /* @__PURE__ */ i(Ba, { open: ue, onClose: He, keepOpen: (!!g || w) && !re, value: we ? null : Te, onSelect: Lt, languages: Ye, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Fl, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E, requireVoice: re, sticky: w, busy: v }), dt = Ie(() => ae.filter((Q) => Q.cloned && !Q.auto), [ae]), _t = (Q) => Q.voiceId ? dt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, lt = Ie(() => he.filter((Q) => Q.key >= 0), [he]), Wt = Ie(() => {
|
|
3888
3888
|
const Q = ae.filter(($e) => !$e.cloned);
|
|
3889
3889
|
if (!Me) return [...Q, ...r && lt.length === 1 ? dt.filter(($e) => $e.id === `clone:${lt[0].voiceId}`) : []];
|
|
3890
3890
|
const De = [];
|
|
@@ -3901,11 +3901,11 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3901
3901
|
ot ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(de, { d: zn, size: 17, sw: 1.6, style: { color: Ke } }),
|
|
3902
3902
|
et.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: et.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
|
|
3903
3903
|
] }), Dt = /* @__PURE__ */ i($t, { open: F, onClose: Bt, title: V.vcSheet, titleNode: $, doneLabel: V.done, children: /* @__PURE__ */ i(
|
|
3904
|
-
|
|
3904
|
+
cl,
|
|
3905
3905
|
{
|
|
3906
3906
|
t: V,
|
|
3907
3907
|
cast: Me && /* @__PURE__ */ i(
|
|
3908
|
-
|
|
3908
|
+
ll,
|
|
3909
3909
|
{
|
|
3910
3910
|
t: V,
|
|
3911
3911
|
roster: he,
|
|
@@ -4003,9 +4003,9 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
4003
4003
|
}
|
|
4004
4004
|
function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: g = !0, tail: M, tailFg: N, running: m, desk: w, feedRef: v, listener: p, showLabels: h, find: C, findOpen: b, lang: k, warm: J, onVisible: A, wordHl: K = !0 }) {
|
|
4005
4005
|
const { playing: j, engaged: S, t: $, idx: L, seekN: I, wordSync: E, clipPos: oe } = n;
|
|
4006
|
-
|
|
4006
|
+
kl(!0, v);
|
|
4007
4007
|
const P = z(null);
|
|
4008
|
-
|
|
4008
|
+
Ko(v, P);
|
|
4009
4009
|
const [x, ue] = O(null), B = (C ?? "").trim().toLowerCase(), [F, ie] = O(0), re = z(0), le = z(null), ve = z(L), Le = (H) => {
|
|
4010
4010
|
var X;
|
|
4011
4011
|
return ((X = v.current) == null ? void 0 : X.querySelector(`[data-tx-row="${H}"]`)) ?? null;
|
|
@@ -4083,27 +4083,27 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4083
4083
|
"Now playing"
|
|
4084
4084
|
] }) });
|
|
4085
4085
|
return /* @__PURE__ */ f("div", { ref: v, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${b && !m ? " is-find" : ""}`, children: [
|
|
4086
|
-
/* @__PURE__ */ i(
|
|
4086
|
+
/* @__PURE__ */ i(Jo, { thumbRef: P }),
|
|
4087
4087
|
j && F === -1 && te("up"),
|
|
4088
4088
|
e.map((H, X) => {
|
|
4089
4089
|
var ce;
|
|
4090
4090
|
const y = j && X === L, R = S && X === L, ae = !!d && d === H.id, G = B && !H.text.toLowerCase().includes(B) && !(k && ((ce = H.translations[k]) != null && ce.toLowerCase().includes(B))) ? 0.22 : !S || X <= L || ae ? 1 : 0.38, me = p ? () => n.playRow(X) : c && l ? () => {
|
|
4091
4091
|
j && !y && n.seekRow(X), l(H);
|
|
4092
|
-
} : j && y ? void 0 : () => n.playRow(X), V = p ? null :
|
|
4092
|
+
} : j && y ? void 0 : () => n.playRow(X), V = p ? null : tl(H, r, s), Ye = !!V && (V.script > 0 || V.manual), je = w && !!a && x === H.id && !!V && !Ye, Ve = zs(t, H.speaker), Ae = Is(t, H.speaker), Z = Ae.lane, se = k && H.translations[k] && H.language !== k ? H.translations[k] : null, he = bi(e, X, k), Me = R && !E && oe ? Mi(he.map((ke) => ({ t: ke.text, sp: " " })), oe) : null;
|
|
4093
4093
|
return /* @__PURE__ */ f("div", { "data-tx-row": X, "data-sentence": H.sentenceId, className: `txline${J ? " txline--warm" : ""}${ae ? " txline--fixing" : ""}`, "aria-current": ae || void 0, style: { opacity: G }, onClick: me, onMouseEnter: w && a ? () => ue(H.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
|
|
4094
4094
|
/* @__PURE__ */ f("div", { className: "txline__meta", children: [
|
|
4095
4095
|
/* @__PURE__ */ i("span", { className: "txline__at", children: Tt(H.start) }),
|
|
4096
4096
|
h && H.speaker >= 0 && /* @__PURE__ */ f(Pe, { children: [
|
|
4097
|
-
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Z}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children:
|
|
4097
|
+
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Z}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, H.speaker) }),
|
|
4098
4098
|
/* @__PURE__ */ i("span", { className: `txline__who lane-${Z}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Ve }),
|
|
4099
|
-
Ae.hasVoice && /* @__PURE__ */ i(
|
|
4099
|
+
Ae.hasVoice && /* @__PURE__ */ i(Ii, { color: Ae.fg ?? `var(--lane-${Z})` })
|
|
4100
4100
|
] }),
|
|
4101
4101
|
y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(de, { d: q.headphones, size: w ? 15 : 14, sw: 1.6, stroke: h && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${Z})` : "var(--ink-45)" }) }),
|
|
4102
|
-
V && g && /* @__PURE__ */ i(
|
|
4103
|
-
je && /* @__PURE__ */ i(
|
|
4102
|
+
V && g && /* @__PURE__ */ i(nl, { f: V, desk: w, onOpen: a ? () => a(H, !0) : void 0 }),
|
|
4103
|
+
je && /* @__PURE__ */ i(sl, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
|
|
4104
4104
|
] }),
|
|
4105
4105
|
/* @__PURE__ */ i("div", { className: "txline__text", children: he.map((ke, We) => {
|
|
4106
|
-
const xe = `${ke.seq}:${ke.idx}`, Ce =
|
|
4106
|
+
const xe = `${ke.seq}:${ke.idx}`, Ce = Lo(ke.prob), _ = R && K, U = _ && (E ? $ >= ke.start && ($ < ke.end || We === he.length - 1 || $ < he[We + 1].start) : We === Me), W = _ && !U && (E ? ke.start > $ : Me != null && We > Me), ee = !se && !p && (!!(s != null && s.has(xe)) || !!ke.script), fe = !se && !p && u && !!Ce && !ee, Ne = fe ? Ce === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ze = ee ? "var(--brand)" : W ? "var(--ink-40)" : Ne ?? "var(--ink-96)";
|
|
4107
4107
|
return /* @__PURE__ */ f("span", { children: [
|
|
4108
4108
|
/* @__PURE__ */ i(
|
|
4109
4109
|
"span",
|
|
@@ -4183,7 +4183,7 @@ function Jl(t, e, n, s, r) {
|
|
|
4183
4183
|
}, []), l;
|
|
4184
4184
|
}
|
|
4185
4185
|
const Jt = { formatBits: 0, perBlock: [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], blocks: [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49] };
|
|
4186
|
-
function
|
|
4186
|
+
function xi(t) {
|
|
4187
4187
|
let e = (16 * t + 128) * t + 64;
|
|
4188
4188
|
if (t >= 2) {
|
|
4189
4189
|
const n = Math.floor(t / 7) + 2;
|
|
@@ -4191,7 +4191,7 @@ function bi(t) {
|
|
|
4191
4191
|
}
|
|
4192
4192
|
return e;
|
|
4193
4193
|
}
|
|
4194
|
-
const
|
|
4194
|
+
const qr = (t) => Math.floor(xi(t) / 8) - Jt.perBlock[t] * Jt.blocks[t];
|
|
4195
4195
|
function ms(t, e) {
|
|
4196
4196
|
let n = 0;
|
|
4197
4197
|
for (let s = 7; s >= 0; s--)
|
|
@@ -4227,10 +4227,10 @@ function tc(t) {
|
|
|
4227
4227
|
function nc(t) {
|
|
4228
4228
|
const e = Array.from(new TextEncoder().encode(t));
|
|
4229
4229
|
let n = 1;
|
|
4230
|
-
for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <=
|
|
4230
|
+
for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= qr(n) * 8); n++)
|
|
4231
4231
|
;
|
|
4232
4232
|
if (n > 40) throw new Error("Text too long for a QR code");
|
|
4233
|
-
const s = n * 4 + 17, r =
|
|
4233
|
+
const s = n * 4 + 17, r = qr(n) * 8, a = [], o = (L, I) => {
|
|
4234
4234
|
for (let E = I - 1; E >= 0; E--) a.push(L >>> E & 1);
|
|
4235
4235
|
};
|
|
4236
4236
|
o(4, 4), o(e.length, n <= 9 ? 8 : 16);
|
|
@@ -4239,7 +4239,7 @@ function nc(t) {
|
|
|
4239
4239
|
for (let L = 236; a.length < r; L ^= 253) o(L, 8);
|
|
4240
4240
|
const l = [];
|
|
4241
4241
|
for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((I, E) => I << 1 | E, 0));
|
|
4242
|
-
const c = Jt.blocks[n], d = Jt.perBlock[n], u = Math.floor(
|
|
4242
|
+
const c = Jt.blocks[n], d = Jt.perBlock[n], u = Math.floor(xi(n) / 8), g = c - u % c, M = Math.floor(u / c), N = [], m = Xl(d);
|
|
4243
4243
|
for (let L = 0, I = 0; L < c; L++) {
|
|
4244
4244
|
const E = l.slice(I, I + M - d + (L < g ? 0 : 1));
|
|
4245
4245
|
I += E.length;
|
|
@@ -4356,16 +4356,16 @@ function sc(t) {
|
|
|
4356
4356
|
const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-s} ${-s} ${n + s * 2} ${n + s * 2}" shape-rendering="crispEdges"><rect x="${-s}" y="${-s}" width="${n + s * 2}" height="${n + s * 2}" fill="#fff"/><path fill="#111" d="${r}"/></svg>`;
|
|
4357
4357
|
return `data:image/svg+xml,${encodeURIComponent(a)}`;
|
|
4358
4358
|
}
|
|
4359
|
-
const
|
|
4359
|
+
const Di = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", rc = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
|
|
4360
4360
|
function rs() {
|
|
4361
4361
|
const t = document;
|
|
4362
4362
|
return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
|
|
4363
4363
|
}
|
|
4364
4364
|
let xs = null;
|
|
4365
|
-
function
|
|
4365
|
+
function Kr(t) {
|
|
4366
4366
|
xs = t;
|
|
4367
4367
|
}
|
|
4368
|
-
function
|
|
4368
|
+
function Jr() {
|
|
4369
4369
|
const t = document;
|
|
4370
4370
|
return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
|
|
4371
4371
|
}
|
|
@@ -4496,7 +4496,7 @@ function Ts({ t, mini: e }) {
|
|
|
4496
4496
|
disabled: !t.playable,
|
|
4497
4497
|
style: { background: t.playable ? t.playing ? "rgba(238,240,248,.92)" : "var(--brand)" : "rgba(5,6,21,.42)", color: t.playable ? t.playing ? "#131326" : "var(--brand-ink)" : "rgba(234,236,250,.5)", cursor: t.playable ? "pointer" : "default" },
|
|
4498
4498
|
onClick: t.onPlay,
|
|
4499
|
-
children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(
|
|
4499
|
+
children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(ja, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(ri, { size: e ? 15 : 19 })
|
|
4500
4500
|
}
|
|
4501
4501
|
),
|
|
4502
4502
|
/* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(de, { d: q.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
|
|
@@ -4504,7 +4504,7 @@ function Ts({ t, mini: e }) {
|
|
|
4504
4504
|
}
|
|
4505
4505
|
function ws({ live: t, mini: e, desk: n, pct: s, mark: r }) {
|
|
4506
4506
|
return /* @__PURE__ */ f("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
|
|
4507
|
-
/* @__PURE__ */ i("a", { href:
|
|
4507
|
+
/* @__PURE__ */ i("a", { href: si, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(ii, { dark: !0, size: 22 }) : /* @__PURE__ */ i(vn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
|
|
4508
4508
|
t && /* @__PURE__ */ f("span", { className: "gfull__live", children: [
|
|
4509
4509
|
/* @__PURE__ */ i("i", {}),
|
|
4510
4510
|
"LIVE"
|
|
@@ -4512,7 +4512,7 @@ function ws({ live: t, mini: e, desk: n, pct: s, mark: r }) {
|
|
|
4512
4512
|
s != null && /* @__PURE__ */ i("span", { className: "gfull__txpct", title: "Still being transcribed: it plays as far as it is written", children: `TRANSCRIBING ${s}%` })
|
|
4513
4513
|
] });
|
|
4514
4514
|
}
|
|
4515
|
-
function
|
|
4515
|
+
function Si({ v: t, size: e }) {
|
|
4516
4516
|
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(de, { d: q.headphones, size: e, sw: 1.6 }) });
|
|
4517
4517
|
}
|
|
4518
4518
|
function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
|
|
@@ -4525,18 +4525,18 @@ function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
|
|
|
4525
4525
|
/* @__PURE__ */ i(Ts, { t: e, mini: !0 }),
|
|
4526
4526
|
/* @__PURE__ */ i("span", { style: { flex: 1 } }),
|
|
4527
4527
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
|
|
4528
|
-
/* @__PURE__ */ i(
|
|
4528
|
+
/* @__PURE__ */ i(Si, { v: s, size: 14 }),
|
|
4529
4529
|
r && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
|
|
4530
4530
|
l.stopPropagation(), r();
|
|
4531
4531
|
}, children: /* @__PURE__ */ i(de, { d: q.share, size: 13, sw: 1.8 }) }),
|
|
4532
|
-
/* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(de, { d:
|
|
4532
|
+
/* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(de, { d: Di, size: 14, sw: 1.8 }) })
|
|
4533
4533
|
] })
|
|
4534
4534
|
] }),
|
|
4535
4535
|
o
|
|
4536
4536
|
] });
|
|
4537
4537
|
}
|
|
4538
4538
|
const lc = { color: "rgba(255,255,255,.4)" };
|
|
4539
|
-
function
|
|
4539
|
+
function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos: a, sub: o, wait: l, pct: c, mute: d, cc: u, ad: g, chip: M, transport: N, picker: m, sheet: w, voices: v, voicesBtn: p, sheetOpen: h, onShare: C, onSettings: b, paused: k, copied: J, onTouch: A, onClose: K }) {
|
|
4540
4540
|
const [j, S] = O(() => !!rs());
|
|
4541
4541
|
Y(() => {
|
|
4542
4542
|
const Z = () => S(!!rs());
|
|
@@ -4585,7 +4585,7 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
|
|
|
4585
4585
|
ie.current = h, Y(() => {
|
|
4586
4586
|
const Z = (Me) => Me instanceof HTMLElement && (Me.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(Me.tagName)), se = (Me) => {
|
|
4587
4587
|
var ce;
|
|
4588
|
-
Me.key === "Escape" && !ie.current && $.current && (Me.stopPropagation(), $.current()), Me.key === " " && !ie.current && !Z(Me.target) && (Me.preventDefault(), Me.stopPropagation(), Me.repeat || (ce = L.current) == null || ce.call(L)), (Me.key === "f" || Me.key === "F") && !Me.metaKey && !Me.ctrlKey && !Me.altKey && !ie.current && !Z(Me.target) &&
|
|
4588
|
+
Me.key === "Escape" && !ie.current && $.current && (Me.stopPropagation(), $.current()), Me.key === " " && !ie.current && !Z(Me.target) && (Me.preventDefault(), Me.stopPropagation(), Me.repeat || (ce = L.current) == null || ce.call(L)), (Me.key === "f" || Me.key === "F") && !Me.metaKey && !Me.ctrlKey && !Me.altKey && !ie.current && !Z(Me.target) && Jr() && (Me.preventDefault(), Me.repeat || Tn(!rs()));
|
|
4589
4589
|
}, he = (Me) => {
|
|
4590
4590
|
Me.key === " " && !ie.current && !Z(Me.target) && Me.preventDefault();
|
|
4591
4591
|
};
|
|
@@ -4654,9 +4654,9 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
|
|
|
4654
4654
|
] })
|
|
4655
4655
|
] })
|
|
4656
4656
|
] }), je = (Z, se, he, Me, ce, ke = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: Z, "aria-label": Z, onClick: Me, children: /* @__PURE__ */ i(de, { d: se, size: (Te ? 20 : 18) + ke, sw: he, style: ce }) }), Ve = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
|
|
4657
|
-
p && /* @__PURE__ */ i(
|
|
4657
|
+
p && /* @__PURE__ */ i(Si, { v: p, size: Te ? 20 : 18 }),
|
|
4658
4658
|
C && je("Share", q.share, 1.6, C),
|
|
4659
|
-
|
|
4659
|
+
Jr() && !t && je(j ? "Exit full screen" : "Full screen", j ? rc : Di, 1.7, () => Tn(!j)),
|
|
4660
4660
|
K && je("Close player", q.close, 1.7, K)
|
|
4661
4661
|
] }), Ae = (d || u || b) && /* @__PURE__ */ f("div", { className: "gfull__top", children: [
|
|
4662
4662
|
d && je(d.muted ? "Unmute" : "Mute", d.muted ? q.volumeOff : q.volume, 1.6, d.onToggle),
|
|
@@ -4753,7 +4753,7 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
|
|
|
4753
4753
|
function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
|
|
4754
4754
|
return /* @__PURE__ */ f("div", { className: "ghead", children: [
|
|
4755
4755
|
e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 19, sw: 1.7 }) }),
|
|
4756
|
-
s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(
|
|
4756
|
+
s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(ii, { dark: t, size: 30 }) }),
|
|
4757
4757
|
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(vn, { dark: t, height: 22 }) }) : /* @__PURE__ */ f("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
|
|
4758
4758
|
/* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
4759
4759
|
/* @__PURE__ */ i("span", { className: "ghead__name", children: r }),
|
|
@@ -4761,7 +4761,7 @@ function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o
|
|
|
4761
4761
|
] }),
|
|
4762
4762
|
o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
|
|
4763
4763
|
] }) }),
|
|
4764
|
-
/* @__PURE__ */ i(
|
|
4764
|
+
/* @__PURE__ */ i(za, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ f("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
|
|
4765
4765
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
|
|
4766
4766
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
|
|
4767
4767
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
|
|
@@ -4839,7 +4839,7 @@ function pc() {
|
|
|
4839
4839
|
const t = new Uint8Array(24);
|
|
4840
4840
|
return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
4841
4841
|
}
|
|
4842
|
-
function
|
|
4842
|
+
function Ei(t, e, n) {
|
|
4843
4843
|
const s = new URL(t ?? Ds), r = pc(), a = new URL(Nc, s);
|
|
4844
4844
|
e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", r);
|
|
4845
4845
|
const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), d = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), u = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(d)}`);
|
|
@@ -4881,20 +4881,20 @@ function Ai(t, e, n) {
|
|
|
4881
4881
|
}) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
|
|
4882
4882
|
}
|
|
4883
4883
|
async function mc(t, e, n) {
|
|
4884
|
-
const s = await
|
|
4884
|
+
const s = await Ei(t, { url: e }, n);
|
|
4885
4885
|
return s === "connected" ? null : s;
|
|
4886
4886
|
}
|
|
4887
|
-
const
|
|
4887
|
+
const Yi = "vsp.connected";
|
|
4888
4888
|
function yc(t) {
|
|
4889
4889
|
try {
|
|
4890
|
-
return localStorage.getItem(
|
|
4890
|
+
return localStorage.getItem(Yi) === new URL(t ?? Ds).origin;
|
|
4891
4891
|
} catch {
|
|
4892
4892
|
return !1;
|
|
4893
4893
|
}
|
|
4894
4894
|
}
|
|
4895
4895
|
function Tc(t) {
|
|
4896
4896
|
try {
|
|
4897
|
-
localStorage.setItem(
|
|
4897
|
+
localStorage.setItem(Yi, new URL(t ?? Ds).origin);
|
|
4898
4898
|
} catch {
|
|
4899
4899
|
}
|
|
4900
4900
|
}
|
|
@@ -4953,7 +4953,7 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
|
4953
4953
|
] })
|
|
4954
4954
|
] }) });
|
|
4955
4955
|
}
|
|
4956
|
-
function
|
|
4956
|
+
function _i(t) {
|
|
4957
4957
|
const [e, n] = O(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
|
|
4958
4958
|
return Y(() => {
|
|
4959
4959
|
if (t != null) return;
|
|
@@ -4963,7 +4963,7 @@ function Yi(t) {
|
|
|
4963
4963
|
}
|
|
4964
4964
|
const vc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
|
|
4965
4965
|
function jc(t, e) {
|
|
4966
|
-
const n =
|
|
4966
|
+
const n = Li(), [s, r] = gi(), [a, o] = O(null), [l, c] = O("main"), d = Ns(n, t.lang), u = Ie(() => fi(n, "translation"), [n]), g = (A) => {
|
|
4967
4967
|
e({ lang: A }), r(A);
|
|
4968
4968
|
}, M = vs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), N = () => {
|
|
4969
4969
|
o(null), c("main");
|
|
@@ -5030,7 +5030,7 @@ function jc(t, e) {
|
|
|
5030
5030
|
}
|
|
5031
5031
|
};
|
|
5032
5032
|
}
|
|
5033
|
-
const
|
|
5033
|
+
const Ui = {
|
|
5034
5034
|
"signing-in": "Sign in to VocalStack in the window that opened…",
|
|
5035
5035
|
consent: "Confirm in the VocalStack window…",
|
|
5036
5036
|
looking: "Looking for your transcription of this video…",
|
|
@@ -5051,7 +5051,7 @@ function Ic(t, e) {
|
|
|
5051
5051
|
s(!0), l(null);
|
|
5052
5052
|
let m;
|
|
5053
5053
|
try {
|
|
5054
|
-
m =
|
|
5054
|
+
m = Ei(t, N, a);
|
|
5055
5055
|
} catch (w) {
|
|
5056
5056
|
m = Promise.reject(w);
|
|
5057
5057
|
}
|
|
@@ -5073,7 +5073,7 @@ function Cc({ poster: t, src: e }) {
|
|
|
5073
5073
|
const bc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
|
|
5074
5074
|
} };
|
|
5075
5075
|
function Ls({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
|
|
5076
|
-
const l = jc(t.prefs, t.set), c =
|
|
5076
|
+
const l = jc(t.prefs, t.set), c = _i(), d = z(null), [u, g] = O(!1);
|
|
5077
5077
|
Qt(() => {
|
|
5078
5078
|
var v;
|
|
5079
5079
|
const N = (v = d.current) == null ? void 0 : v.parentElement;
|
|
@@ -5087,25 +5087,25 @@ function Ls({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children:
|
|
|
5087
5087
|
}, onNext: () => {
|
|
5088
5088
|
}, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
|
|
5089
5089
|
return /* @__PURE__ */ f("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
|
|
5090
|
-
/* @__PURE__ */ i(
|
|
5090
|
+
/* @__PURE__ */ i(Ai, { page: r, picture: /* @__PURE__ */ i(Cc, { poster: e, src: n }), title: s, desk: c, pos: bc, 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: () => bs(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
|
|
5091
5091
|
} }),
|
|
5092
5092
|
!l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
|
|
5093
5093
|
] });
|
|
5094
5094
|
}
|
|
5095
|
-
function
|
|
5095
|
+
function Ri({ connect: t, onClick: e, label: n }) {
|
|
5096
5096
|
return /* @__PURE__ */ f(Pe, { children: [
|
|
5097
5097
|
/* @__PURE__ */ f("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
|
|
5098
5098
|
t.busy ? /* @__PURE__ */ i(ct, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(de, { d: q.link, size: 18, sw: 1.8 }),
|
|
5099
5099
|
/* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
|
|
5100
5100
|
] }),
|
|
5101
|
-
t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children:
|
|
5101
|
+
t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[t.status ?? "checking"] }),
|
|
5102
5102
|
t.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: t.err })
|
|
5103
5103
|
] });
|
|
5104
5104
|
}
|
|
5105
5105
|
function xc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
|
|
5106
5106
|
const l = () => s.start(e, n);
|
|
5107
5107
|
return /* @__PURE__ */ f(Ls, { idle: t, poster: a, src: e, title: is(e), page: r, onAct: l, children: [
|
|
5108
|
-
/* @__PURE__ */ i(
|
|
5108
|
+
/* @__PURE__ */ i(Ri, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
|
|
5109
5109
|
!s.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: s.connected ? `Plays ${is(e)} with subtitles and spoken translations.` : `Connect to play ${is(e)} with subtitles and spoken translations.` }),
|
|
5110
5110
|
o && !s.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
|
|
5111
5111
|
] });
|
|
@@ -5127,10 +5127,10 @@ function Dc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
|
|
|
5127
5127
|
/* @__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 }),
|
|
5128
5128
|
e.busy && /* @__PURE__ */ i(ct, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
|
|
5129
5129
|
] }) }),
|
|
5130
|
-
e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children:
|
|
5130
|
+
e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[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." }),
|
|
5131
5131
|
e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
|
|
5132
5132
|
] }) : /* @__PURE__ */ f(Ls, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
|
|
5133
|
-
/* @__PURE__ */ i(
|
|
5133
|
+
/* @__PURE__ */ i(Ri, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
|
|
5134
5134
|
!e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
|
|
5135
5135
|
] });
|
|
5136
5136
|
}
|
|
@@ -5147,7 +5147,7 @@ function Sc(t, e, n) {
|
|
|
5147
5147
|
}
|
|
5148
5148
|
let a = !0;
|
|
5149
5149
|
r(void 0);
|
|
5150
|
-
const o = new
|
|
5150
|
+
const o = new ni({ baseUrl: (n ?? Ti).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
|
|
5151
5151
|
if (!l) {
|
|
5152
5152
|
r(null);
|
|
5153
5153
|
return;
|
|
@@ -5161,24 +5161,24 @@ function Sc(t, e, n) {
|
|
|
5161
5161
|
};
|
|
5162
5162
|
}, [t, e, n]), s;
|
|
5163
5163
|
}
|
|
5164
|
-
const Ac = 100,
|
|
5164
|
+
const Ac = 100, Xr = (t) => t == null ? null : t ? "on" : "off";
|
|
5165
5165
|
function Ec(t) {
|
|
5166
5166
|
const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, s = (a) => a === "on" || a === "off" ? a : null, r = Number(e == null ? void 0 : e.get("t"));
|
|
5167
5167
|
return {
|
|
5168
5168
|
lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
|
|
5169
|
-
labels: s(e == null ? void 0 : e.get("labels")) ??
|
|
5170
|
-
words: s(e == null ? void 0 : e.get("words")) ??
|
|
5169
|
+
labels: s(e == null ? void 0 : e.get("labels")) ?? Xr(n.speakerLabels),
|
|
5170
|
+
words: s(e == null ? void 0 : e.get("words")) ?? Xr(n.wordHighlight),
|
|
5171
5171
|
cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
|
|
5172
5172
|
translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
|
|
5173
5173
|
clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
|
|
5174
|
-
removeBackground: e && e.get("bg") ?
|
|
5174
|
+
removeBackground: e && e.get("bg") ? Za(e) : n.removeBackground ?? !1,
|
|
5175
5175
|
startAt: Number.isFinite(r) && r > 0 ? r : t.startAt ?? null
|
|
5176
5176
|
};
|
|
5177
5177
|
}
|
|
5178
|
-
const Wc =
|
|
5178
|
+
const Wc = Na(function(e, n) {
|
|
5179
5179
|
var P;
|
|
5180
5180
|
const s = z(null);
|
|
5181
|
-
|
|
5181
|
+
pa(n, () => ({
|
|
5182
5182
|
seek: (x) => {
|
|
5183
5183
|
var ue;
|
|
5184
5184
|
return (ue = s.current) == null ? void 0 : ue.seek(x);
|
|
@@ -5210,7 +5210,7 @@ const Wc = fa(function(e, n) {
|
|
|
5210
5210
|
Y(() => {
|
|
5211
5211
|
c(null);
|
|
5212
5212
|
}, [e.id, e.src]);
|
|
5213
|
-
const v = e.src ?? l, p = !r.id && !!v && (l != null || o !== void 0), h = !r.id && !e.src && !l, C =
|
|
5213
|
+
const v = e.src ?? l, p = !r.id && !!v && (l != null || o !== void 0), h = !r.id && !e.src && !l, C = wi({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: b, gone: k, error: J, reload: A } = Eo(C, r.id), K = Yo(C, (b == null ? void 0 : b.recording.id) ?? null), j = Ie(() => So(C, K), [C, K]);
|
|
5214
5214
|
Y(() => {
|
|
5215
5215
|
var x;
|
|
5216
5216
|
b && ((x = e.onSource) == null || x.call(e, b));
|
|
@@ -5218,8 +5218,8 @@ const Wc = fa(function(e, n) {
|
|
|
5218
5218
|
var x;
|
|
5219
5219
|
J && ((x = e.onError) == null || x.call(e, J));
|
|
5220
5220
|
}, [J]);
|
|
5221
|
-
const S =
|
|
5222
|
-
return Y(() => (
|
|
5221
|
+
const S = _i(e.compact ? !1 : e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), I = qe((x) => a({ id: x.transcriptionId, token: null, listen: { transcriptionId: x.transcriptionId, recordingId: x.recordingId, token: x.token } }), []), E = Ic(L, I), oe = z(null);
|
|
5222
|
+
return Y(() => (Kr($ ? oe.current : null), () => Kr(null)), [$]), /* @__PURE__ */ i(Co, { value: j, children: /* @__PURE__ */ i("div", { ref: oe, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: h ? /* @__PURE__ */ i(Dc, { idle: N, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : p ? /* @__PURE__ */ i(xc, { idle: N, src: v, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: m === !0, handle: s, id: r.id, api: j, shared: b, gone: k, loadError: J, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (x) => a({ id: x.transcriptionId, token: null, listen: { transcriptionId: x.transcriptionId, recordingId: x.recordingId, token: x.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
|
|
5223
5223
|
});
|
|
5224
5224
|
function Yc(t) {
|
|
5225
5225
|
var cr, ur, dr, Mr, hr, gr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr;
|
|
@@ -5254,20 +5254,20 @@ function Yc(t) {
|
|
|
5254
5254
|
Y(() => {
|
|
5255
5255
|
if (!t.syncUrl) return;
|
|
5256
5256
|
const T = new URL(window.location.href);
|
|
5257
|
-
re ? T.searchParams.set("lang", re) : T.searchParams.delete("lang"), le ? T.searchParams.set("labels", le) : T.searchParams.delete("labels"), Le ? T.searchParams.set("words", Le) : T.searchParams.delete("words"), we ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Be ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), ye ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"),
|
|
5257
|
+
re ? T.searchParams.set("lang", re) : T.searchParams.delete("lang"), le ? T.searchParams.set("labels", le) : T.searchParams.delete("labels"), Le ? T.searchParams.set("words", Le) : T.searchParams.delete("words"), we ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Be ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), ye ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), qa(T, H), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
|
|
5258
5258
|
}, [re, le, Le, we, Be, ye, H]), Y(() => {
|
|
5259
5259
|
n && !n.allowTranslate && re && ie(null);
|
|
5260
5260
|
}, [n, re]);
|
|
5261
|
-
const { model: G, error: me, clearError: V, setLanguage: Ye, mergeTranslations: je, translating: Ve, translateFailed: Ae, shownLang: Z } =
|
|
5261
|
+
const { model: G, error: me, clearError: V, setLanguage: Ye, mergeTranslations: je, translating: Ve, translateFailed: Ae, shownLang: Z } = Po(B, {
|
|
5262
5262
|
lang: null,
|
|
5263
5263
|
onFrame: (T) => {
|
|
5264
5264
|
T.type === "job.progress" && J({ state: T.state, processedS: T.processedS ?? 0, totalS: T.totalS ?? null, segmentsDone: T.segmentsDone ?? 0, segmentsTotal: T.segmentsTotal ?? null, pct: T.pct ?? 0, error: T.error ?? null });
|
|
5265
5265
|
}
|
|
5266
|
-
}), se = Ie(() =>
|
|
5266
|
+
}), se = Ie(() => po(G).filter((T) => !T.suppressed), [G]), he = Qo((n == null ? void 0 : n.job) ?? null), Me = ["done", "failed", "stopped"].includes(ts((he == null ? void 0 : he.state) ?? ((dr = n == null ? void 0 : n.job) == null ? void 0 : dr.state))), ce = Me ? he : k ?? he, ke = !!k && !["done", "failed", "stopped"].includes(ts(k.state)), We = z(0);
|
|
5267
5267
|
Y(() => {
|
|
5268
5268
|
!Me || !ke || Date.now() - We.current < 1e4 || (We.current = Date.now(), t.reread());
|
|
5269
5269
|
}, [Me, ke, k == null ? void 0 : k.state, k == null ? void 0 : k.processedS, o]);
|
|
5270
|
-
const xe = ts((ce == null ? void 0 : ce.state) ?? ((Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.state)), Ce = !!B && (xe === "transcribing" || xe === "queued"), _ = u && !s && (!n || (Ce || xe === "cropping") && se.length === 0), U = Ce ? (ce == null ? void 0 : ce.pct) ?? 0 : 100, W =
|
|
5270
|
+
const xe = ts((ce == null ? void 0 : ce.state) ?? ((Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.state)), Ce = !!B && (xe === "transcribing" || xe === "queued"), _ = u && !s && (!n || (Ce || xe === "cropping") && se.length === 0), U = Ce ? (ce == null ? void 0 : ce.pct) ?? 0 : 100, W = Bo(n == null ? void 0 : n.job, ce) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((hr = G.segments.values().next().value) == null ? void 0 : hr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, fe = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Ne = ((Nr = (fr = (gr = n == null ? void 0 : n.job) == null ? void 0 : gr.source) == null ? void 0 : fr.name) == null ? void 0 : Nr.trim()) || null, ze = n ? ((pr = n.name) == null ? void 0 : pr.trim()) || Ne : null, Ue = !!((mr = n == null ? void 0 : n.job) != null && mr.hasAudio), be = (yr = n == null ? void 0 : n.job) == null ? void 0 : yr.source, Se = !Ue && !!be && (be.kind !== "url" || be.bytes != null) && (xe === "transcribing" || xe === "queued" || xe === "done"), st = B && (n != null && n.allowDownload) && Ue ? xa(e.origin, B, e.cred) : B && (n != null && n.allowDownload) && Se ? qn(e.origin, B, "source", e.cred) : null, Xe = se[se.length - 1], It = Xe ? ((Tr = Xe.words[Xe.words.length - 1]) == null ? void 0 : Tr.end) ?? Xe.start : 0, ut = u && Ce ? Math.max(It, (ce == null ? void 0 : ce.processedS) ?? 0) : null, Ge = Hl(st, (Ue || Se) && !!(n != null && n.allowDownload), se, W, Se ? ((Lr = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.crop) == null ? void 0 : Lr.startS) ?? 0 : 0, ut), Qe = ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.source) == null ? void 0 : vr.kind) === "url" ? fs(n.job.source.url) : null, rt = Bl(se, W, ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.crop) == null ? void 0 : zr.startS) ?? 0, ut), He = !!Qe, Lt = He ? rt.player : Ge, Mt = Li(), Bt = z(null), ne = Zl({ recordingId: B, model: G, rows: se, lenS: W, ended: !!B && !Ce, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: F, setPickedLang: ie, side: r && !P ? Gl : void 0, hearOriginal: ae, timed: !!Qe, stockVoices: u && !ye, stickyPicker: u, pickerBusy: Bt.current }), Nt = z(null);
|
|
5271
5271
|
Y(() => {
|
|
5272
5272
|
!B || Nt.current === re || (Nt.current = re, Ye(re));
|
|
5273
5273
|
}, [re, B]);
|
|
@@ -5282,7 +5282,7 @@ function Yc(t) {
|
|
|
5282
5282
|
const Xt = Ie(() => se.filter((T) => T.sentenceId != null).map((T, pe, Re) => {
|
|
5283
5283
|
var Fe;
|
|
5284
5284
|
return { sid: T.sentenceId, start: T.start, end: ((Fe = Re[pe + 1]) == null ? void 0 : Fe.start) ?? Et(T, T.start, T.start + 4) };
|
|
5285
|
-
}), [se]), Ot =
|
|
5285
|
+
}), [se]), Ot = co({ on: He && ne.on, lines: Xt, clips: ne.clips, t: D.t, playing: D.playing, muted: D.muted }), at = !!re && (Ve || ne.relang || ne.on && Ot.missing != null);
|
|
5286
5286
|
Bt.current = at ? re : null, Y(() => {
|
|
5287
5287
|
He && ne.on && Ot.sid != null && ne.setNear(Ot.sid);
|
|
5288
5288
|
}, [Ot.sid, He, ne.on]), $l([Lt, ne.player], ne.sampling);
|
|
@@ -5294,11 +5294,11 @@ function Yc(t) {
|
|
|
5294
5294
|
if (B)
|
|
5295
5295
|
try {
|
|
5296
5296
|
if (ht && ne.canSpeak) {
|
|
5297
|
-
b(`Preparing ${Ke} in ${dt}${ne.readVoiceName ? `, read by ${ne.readVoiceName}` : ""} — the download starts when it is ready.`), await
|
|
5297
|
+
b(`Preparing ${Ke} in ${dt}${ne.readVoiceName ? `, read by ${ne.readVoiceName}` : ""} — the download starts when it is ready.`), await Wo(e, { recordingId: B, lang: ht, voiceKey: ne.readVoiceKey, cred: e.cred, request: ne.requestTrack }), b(`Downloading ${Ke} in ${dt}.`);
|
|
5298
5298
|
return;
|
|
5299
5299
|
}
|
|
5300
5300
|
if (Ue) {
|
|
5301
|
-
b(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await
|
|
5301
|
+
b(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await Ho(qn(e.origin, B, "delivery", e.cred)), b(`Downloading ${Ke}.`);
|
|
5302
5302
|
return;
|
|
5303
5303
|
}
|
|
5304
5304
|
Cs(qn(e.origin, B, "source", e.cred)), b(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
|
|
@@ -5308,10 +5308,10 @@ function Yc(t) {
|
|
|
5308
5308
|
}, lt = (T) => {
|
|
5309
5309
|
if (!B) return;
|
|
5310
5310
|
const pe = gs.find((Fe) => Fe.key === T).name, Re = dt ? ` in ${dt}` : "";
|
|
5311
|
-
return
|
|
5311
|
+
return Vo(e, B, T, { lang: ht }).then(() => b(Ce ? `${pe} exported${Re} for the first ${se.length} segments — the rest is still transcribing.` : `${pe} exported${Re}.`)).catch((Fe) => {
|
|
5312
5312
|
throw M(wt(Fe)), Fe;
|
|
5313
5313
|
});
|
|
5314
|
-
}, Wt = Ce ? "MORE TO COME…" : "END OF TRANSCRIPT", it = Ce ? "var(--brand)" : "var(--ink-28)", Ft =
|
|
5314
|
+
}, Wt = Ce ? "MORE TO COME…" : "END OF TRANSCRIPT", it = Ce ? "var(--brand)" : "var(--ink-28)", Ft = $o(ce, se.length), kt = D.has && (!ne.relang || !!Qe), Ze = z(D);
|
|
5315
5315
|
Ze.current = D;
|
|
5316
5316
|
const bt = `${re ?? ""}|${ne.on ? "voice" : "source"}`, pt = z({ key: bt, idx: 0, t: 0, playing: !1, until: 0 });
|
|
5317
5317
|
Y(() => {
|
|
@@ -5329,7 +5329,7 @@ function Yc(t) {
|
|
|
5329
5329
|
}
|
|
5330
5330
|
});
|
|
5331
5331
|
const xt = z(!1), et = z(!1);
|
|
5332
|
-
u && (
|
|
5332
|
+
u && (li.video = !0);
|
|
5333
5333
|
const [en, Dt] = O(!1), [In, On] = O(!1);
|
|
5334
5334
|
Y(() => {
|
|
5335
5335
|
if (!u || xt.current || !kt || !P || _ || t.autoplay === !1) return;
|
|
@@ -5372,12 +5372,12 @@ function Yc(t) {
|
|
|
5372
5372
|
const T = setTimeout(() => De(!0), 180);
|
|
5373
5373
|
return () => clearTimeout(T);
|
|
5374
5374
|
}, [Ve]);
|
|
5375
|
-
const $e = Q ? Z : re, jt =
|
|
5375
|
+
const $e = Q ? Z : re, jt = rl(B, re, se, je), St = yl(Tl(ue), B, ne.readLang), Pi = ot || Vt, Qi = (((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0) + ss(D, se), bn = A === "listen", At = bn && !!Qe, $i = (T) => {
|
|
5376
5376
|
Lt.pause(), ne.player.pause(), K(T), T === "read" && P && (qt(!1), x(!1));
|
|
5377
|
-
}, _e = ne.barChip, Ut =
|
|
5378
|
-
T === "summary" && Gt && /* @__PURE__ */ i(
|
|
5379
|
-
T === "export" && /* @__PURE__ */ i(
|
|
5380
|
-
] }),
|
|
5377
|
+
}, _e = ne.barChip, Ut = vi(_e.label), Ss = /* @__PURE__ */ i(as, { value: A, onChange: $i, bordered: !1, options: dc(Ut, !!Qe) }), Rt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...Pi ? [{ key: "export", label: "Export" }] : []], As = (T) => /* @__PURE__ */ f(Pe, { children: [
|
|
5378
|
+
T === "summary" && Gt && /* @__PURE__ */ i(wl, { s: St }),
|
|
5379
|
+
T === "export" && /* @__PURE__ */ i(ml, { audio: ot ? { name: Ke, meta: ht && ne.canSpeak || Ue ? `MP3${W ? ` · ${Tt(W)}` : ""}` : "ORIGINAL AUDIO", onClick: _t } : null, formats: Vt, onExport: lt })
|
|
5380
|
+
] }), Bi = (T) => /* @__PURE__ */ i(el, { index: D.idx, total: Math.max(1, se.length), frac: D.dur > 0 ? Math.min(1, D.t / D.dur) : 0, glideMs: D.wordSync ? 0 : 220, atLabel: Tt(D.t), durLabel: Tt(D.dur), stepLabel: T ? `${D.idx + 1} / ${se.length}` : "", onSeek: ne.relang ? Wl : D.seekRow, onSeekFrac: ne.relang ? void 0 : D.seekFrac, onScrubStart: D.hold, onScrubEnd: D.release }), Es = {
|
|
5381
5381
|
live: !1,
|
|
5382
5382
|
atEdge: !1,
|
|
5383
5383
|
edgeFrac: null,
|
|
@@ -5390,24 +5390,24 @@ function Yc(t) {
|
|
|
5390
5390
|
var pe;
|
|
5391
5391
|
ne.relang || (pe = D.seekFrac) == null || pe.call(D, T);
|
|
5392
5392
|
}
|
|
5393
|
-
}, [
|
|
5393
|
+
}, [Hi, Vi] = hc(ne.on && !!D.preparing && D.playing, 1500), xn = ne.on && ((br = D.error) == null ? void 0 : br.code) === "voice_not_started", Dn = ne.canSpeak && !ne.error && !xn, rn = re ? ((xr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === re)) == null ? void 0 : xr.name) ?? _e.label : "", tt = P ? Mc({ lang: re, langName: rn, translating: Ve && !!re, translateFailed: Ae, voiceFailed: xn, relang: ne.relang, starting: ne.on ? D.starting : null, slowLine: Hi, lineSince: Vi }) : null, Sn = !!Qe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && ne.relang), Ys = !Sn || !tt ? null : tt.kind === "translating" ? `Translating into ${rn || "the new language"}…` : `Preparing the ${rn || "translated"} voice…`, an = !Sn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), _s = vs({ ...ne.langList, keepOpen: !0, open: I === "lang", onClose: () => oe("main") }), Us = Ga(H, ne.on), Wi = u && Us.bed && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred) : null, Rs = so(Wi, { t: ss(D, se), playing: D.playing && !an && !(D.timed && D.preparing), muted: D.muted }), Fi = u && Us.speech && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred, "speech") : null, An = Ni(Fi, { t: ss(D, se), playing: !ne.on && D.playing, muted: D.muted }), En = !ne.on && An.on;
|
|
5394
5394
|
Y(() => {
|
|
5395
5395
|
var T;
|
|
5396
5396
|
rt.setVideoSound(!(He && (ne.on || En))), (T = Ge.silence) == null || T.call(Ge, !He && En);
|
|
5397
5397
|
}, [He, ne.on, En, st]);
|
|
5398
|
-
const Yn = ot ? ne.on ? Rs : An.state : "unavailable", _n = Be && Dn && !!re,
|
|
5398
|
+
const Yn = ot ? ne.on ? Rs : An.state : "unavailable", _n = Be && Dn && !!re, Gi = _n ? [`Translated${ne.hasClone ? ye ? ", cloned voices" : ", synthetic voices" : ""}`, !H && ot && Rs !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : H && Yn !== "unavailable" ? "Original speech, background removed" : "Original sound", Zi = () => {
|
|
5399
5399
|
if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
|
|
5400
5400
|
Ye(re);
|
|
5401
5401
|
return;
|
|
5402
5402
|
}
|
|
5403
5403
|
et.current = !0, D.toggle();
|
|
5404
|
-
},
|
|
5404
|
+
}, qi = () => {
|
|
5405
5405
|
const T = D.idx;
|
|
5406
5406
|
D.pause(), ie(null), et.current = !0, Lt.playRow(T);
|
|
5407
5407
|
}, Ps = { prevOn: D.idx > 0, nextOn: D.idx < se.length - 1, onPrev: D.prev, onNext: D.next, playing: D.playing, playable: kt, playTitle: ne.playTitle ?? (D.playing ? "Pause" : "Play"), onPlay: () => {
|
|
5408
5408
|
et.current = !0, D.toggle();
|
|
5409
5409
|
}, busy: ne.relang && !Qe || an };
|
|
5410
|
-
|
|
5410
|
+
ho(kt ? { playing: D.playing, toggle: () => {
|
|
5411
5411
|
et.current = !0, D.toggle();
|
|
5412
5412
|
}, next: D.next, prev: D.prev } : null, ze);
|
|
5413
5413
|
const Un = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Rn = (T, pe) => !_e.can || !R.language ? null : u ? /* @__PURE__ */ f("button", { type: "button", className: "gfull__btn", title: at ? `${_e.label ?? _e.code}: still being prepared` : _e.label ?? _e.code, "aria-label": `Language: ${_e.label ?? _e.code}`, "aria-busy": at || void 0, onClick: () => {
|
|
@@ -5416,28 +5416,28 @@ function Yc(t) {
|
|
|
5416
5416
|
/* @__PURE__ */ i("span", { style: { fontSize: pe === "sm" ? 17 : 21, lineHeight: 1 }, children: _e.flag }),
|
|
5417
5417
|
at && /* @__PURE__ */ i("span", { style: { position: "absolute", right: 2, bottom: 2, display: "flex", borderRadius: 999, background: "rgba(5,6,21,.7)", padding: 1 }, children: /* @__PURE__ */ i(ct, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
|
|
5418
5418
|
] }) : /* @__PURE__ */ i(wn, { flag: _e.flag, code: _e.code, label: _e.label, bordered: !1, size: pe, onClick: _e.onClick, style: T }), Qs = { on: !1, title: "Voices", onClick: () => {
|
|
5419
|
-
} }, [
|
|
5419
|
+
} }, [Ki, Ji] = O(!1);
|
|
5420
5420
|
Y(() => {
|
|
5421
|
-
D.t > 0.3 &&
|
|
5421
|
+
D.t > 0.3 && Ji(!0);
|
|
5422
5422
|
}, [D.t]);
|
|
5423
5423
|
const $s = Qe && /* @__PURE__ */ f(Pe, { children: [
|
|
5424
|
-
/* @__PURE__ */ i(
|
|
5424
|
+
/* @__PURE__ */ i(El, { ytId: Qe, title: Ke, t: Qi, playing: D.playing && !an, waiting: ne.on && !!D.timed && !!D.preparing, seekN: D.seekN, onTime: (T) => {
|
|
5425
5425
|
var pe, Re, Fe;
|
|
5426
5426
|
return (Fe = D.videoAt) == null ? void 0 : Fe.call(D, T - (((Re = (pe = n == null ? void 0 : n.job) == null ? void 0 : pe.crop) == null ? void 0 : Re.startS) ?? 0));
|
|
5427
5427
|
}, onToggle: D.has ? nn : void 0, onAd: On, lead: He ? rt.lead : void 0 }),
|
|
5428
|
-
/* @__PURE__ */ i("div", { className: "vsp-poster", "aria-hidden": "true", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)`, opacity:
|
|
5429
|
-
] }), Bs = At && Qe && !P ? /* @__PURE__ */ i(
|
|
5428
|
+
/* @__PURE__ */ i("div", { className: "vsp-poster", "aria-hidden": "true", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)`, opacity: Ki ? 0 : 1 }, children: !D.playing && /* @__PURE__ */ i("span", { className: "vsp-poster__play", children: /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "42%", height: "42%", fill: "currentColor", style: { marginLeft: "6%" }, children: Zr }) }) })
|
|
5429
|
+
] }), Bs = At && Qe && !P ? /* @__PURE__ */ i(Ll, { ytId: Qe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: $s, children: /* @__PURE__ */ i(oc, { pos: Es, transport: Ps, chip: Rn({ ...Un, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Qs, onFull: () => {
|
|
5430
5430
|
qt(!0), x(!0);
|
|
5431
|
-
}, copied: null }) }) : null, Je = D.wordSync ?
|
|
5431
|
+
}, copied: null }) }) : null, Je = D.wordSync ? Zo(se, D.idx, D.t) ? se[D.idx] : void 0 : se[D.idx];
|
|
5432
5432
|
for (const T of se) for (const [pe, Re] of Object.entries(T.translations)) Re && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Re);
|
|
5433
5433
|
const Hs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Pn = (T, pe) => !T || !pe || T.language === pe || !!Hs(T, pe), mt = Pn(Je, re) ? re : Pn(Je, $.current) ? $.current : re;
|
|
5434
5434
|
Je && Pn(Je, mt) && ($.current = mt);
|
|
5435
|
-
const Vs = Je && mt && Je.language !== mt ? Hs(Je, mt) : null,
|
|
5435
|
+
const Vs = Je && mt && Je.language !== mt ? Hs(Je, mt) : null, Xi = Je && Vs && mt && !Je.translations[mt] ? Object.assign([...se], { [D.idx]: { ...Je, translations: { ...Je.translations, [mt]: Vs } } }) : se, on = Je ? bi(Xi, D.idx, mt) : [], ln = Le ? Le === "on" : !u || ne.on || !$e || $e === ee, Ws = ln ? Gr(D, D.idx, on) : null, Fs = on.map((T, pe) => ({ t: T.text, sp: pe < on.length - 1 ? " " : "", dim: Ws != null && pe > Ws })), cn = le ? le === "on" : u ? !1 : Io(G, se, ue == null ? void 0 : ue.settings), Gs = { lang: re, subtitles: we, speakerLabels: cn, wordHighlight: ln, translateAudio: Be, voices: ye ? "cloned" : "synthetic", removeBackground: H }, ea = JSON.stringify(Gs), un = z(t.onSettingsChange);
|
|
5436
5436
|
un.current = t.onSettingsChange, Y(() => {
|
|
5437
5437
|
var T;
|
|
5438
5438
|
(T = un.current) == null || T.call(un, Gs);
|
|
5439
|
-
}, [
|
|
5440
|
-
const dn = Je && Je.speaker >= 0 && cn ? Is(G, Je.speaker) : null, [
|
|
5439
|
+
}, [ea]);
|
|
5440
|
+
const dn = Je && Je.speaker >= 0 && cn ? Is(G, Je.speaker) : null, [ta, Zs] = O(!1), [Qn, qs] = O(null), [na, Ks] = O(null), $n = z(void 0);
|
|
5441
5441
|
Y(() => () => window.clearTimeout($n.current), []);
|
|
5442
5442
|
const Bn = z(void 0);
|
|
5443
5443
|
Y(() => () => window.clearTimeout(Bn.current), []);
|
|
@@ -5461,11 +5461,11 @@ function Yc(t) {
|
|
|
5461
5461
|
const T = Mn.current;
|
|
5462
5462
|
T == null || !D.playing || (Mn.current = null, Math.abs(D.t - T) > 2 && Hn(T));
|
|
5463
5463
|
}, [D.playing]);
|
|
5464
|
-
const
|
|
5464
|
+
const sa = (T) => {
|
|
5465
5465
|
et.current = !0, Mn.current = null, Hn(Math.max(0, T));
|
|
5466
5466
|
};
|
|
5467
5467
|
t.handle.current = {
|
|
5468
|
-
seek: (T) =>
|
|
5468
|
+
seek: (T) => sa(T),
|
|
5469
5469
|
play: () => {
|
|
5470
5470
|
et.current = !0, Ze.current.playing || Ze.current.toggle();
|
|
5471
5471
|
},
|
|
@@ -5493,10 +5493,10 @@ function Yc(t) {
|
|
|
5493
5493
|
const Re = window.setInterval(pe, Ac);
|
|
5494
5494
|
return () => window.clearInterval(Re);
|
|
5495
5495
|
}, []);
|
|
5496
|
-
const
|
|
5496
|
+
const ra = () => bs(Js(null), Ke, () => {
|
|
5497
5497
|
window.clearTimeout(Bn.current), Zs(!0), Bn.current = window.setTimeout(() => Zs(!1), 2200);
|
|
5498
5498
|
}), nr = (T, pe, Re) => {
|
|
5499
|
-
const Fe = gs.find((Nn) => Nn.key === T), yt = Qn === T, gt =
|
|
5499
|
+
const Fe = gs.find((Nn) => Nn.key === T), yt = Qn === T, gt = na === T;
|
|
5500
5500
|
return /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", "aria-busy": yt || void 0, style: Qn && !yt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
|
|
5501
5501
|
Qn || (qs(T), Promise.resolve().then(() => lt(T)).then(() => {
|
|
5502
5502
|
Ks(T), window.clearTimeout($n.current), $n.current = window.setTimeout(() => Ks(null), 1600);
|
|
@@ -5510,13 +5510,13 @@ function Yc(t) {
|
|
|
5510
5510
|
] }),
|
|
5511
5511
|
/* @__PURE__ */ i(de, { d: gt ? q.check : q.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: gt ? "var(--brand)" : "var(--ink-62)" } })
|
|
5512
5512
|
] });
|
|
5513
|
-
},
|
|
5513
|
+
}, ia = /* @__PURE__ */ f("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
5514
5514
|
" ",
|
|
5515
5515
|
/* @__PURE__ */ f("button", { type: "button", onClick: () => oe("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: [
|
|
5516
5516
|
/* @__PURE__ */ i(de, { d: q.chevronLeft, size: 18, sw: 1.8 }),
|
|
5517
5517
|
"Back"
|
|
5518
5518
|
] })
|
|
5519
|
-
] }), hn = /* @__PURE__ */ i(de, { d: q.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }),
|
|
5519
|
+
] }), hn = /* @__PURE__ */ i(de, { d: q.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), aa = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[I], gn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Vn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: aa, titleNode: I === "main" ? void 0 : ia, doneLabel: Ut.done, kind: I === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: I === "lang" ? /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
5520
5520
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: _s.search }),
|
|
5521
5521
|
_s.list
|
|
5522
5522
|
] }) : I === "subs" ? /* @__PURE__ */ f("div", { style: gn, children: [
|
|
@@ -5559,7 +5559,7 @@ function Yc(t) {
|
|
|
5559
5559
|
/* @__PURE__ */ f("div", { className: "srow", children: [
|
|
5560
5560
|
/* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5561
5561
|
/* @__PURE__ */ i("div", { className: "srow__t", children: Ln }),
|
|
5562
|
-
/* @__PURE__ */ i("div", { className: "srow__s", children:
|
|
5562
|
+
/* @__PURE__ */ i("div", { className: "srow__s", children: Fa(H, Yn, "video", ne.on ? 0 : An.untilS) })
|
|
5563
5563
|
] }),
|
|
5564
5564
|
/* @__PURE__ */ i(ft, { checked: H && ot, onChange: X, label: Ln, disabled: !ot || Yn === "unavailable" && !H })
|
|
5565
5565
|
] })
|
|
@@ -5585,7 +5585,7 @@ function Yc(t) {
|
|
|
5585
5585
|
R.audio && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("audio"), children: [
|
|
5586
5586
|
/* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5587
5587
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5588
|
-
/* @__PURE__ */ i("div", { className: "srow__s", children:
|
|
5588
|
+
/* @__PURE__ */ i("div", { className: "srow__s", children: Gi })
|
|
5589
5589
|
] }),
|
|
5590
5590
|
hn
|
|
5591
5591
|
] }, "audio"),
|
|
@@ -5616,7 +5616,7 @@ function Yc(t) {
|
|
|
5616
5616
|
] }),
|
|
5617
5617
|
t.settingsExtra
|
|
5618
5618
|
] }) }), zt = P && At && Qe && /* @__PURE__ */ i(
|
|
5619
|
-
|
|
5619
|
+
Ai,
|
|
5620
5620
|
{
|
|
5621
5621
|
page: (t.layout ?? "embed") === "page",
|
|
5622
5622
|
picture: $s,
|
|
@@ -5627,7 +5627,7 @@ function Yc(t) {
|
|
|
5627
5627
|
cc: R.subtitles ? { on: we, onToggle: () => Ee((T) => !T) } : void 0,
|
|
5628
5628
|
noFull: !R.fullscreen,
|
|
5629
5629
|
ad: In,
|
|
5630
|
-
wait: tt && !Sn ? /* @__PURE__ */ i(fc, { state: tt, line: an ? Fs.map((T) => T.t + T.sp).join("") : null, onRetry:
|
|
5630
|
+
wait: tt && !Sn ? /* @__PURE__ */ i(fc, { state: tt, line: an ? Fs.map((T) => T.t + T.sp).join("") : null, onRetry: Zi, onOriginal: qi }) : D.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
|
|
5631
5631
|
pct: Ce ? Math.round(U) : null,
|
|
5632
5632
|
sub: we && Je ? { who: dn ? zs(G, Je.speaker) : null, color: dn ? dn.fg ?? `var(--lane-${dn.lane})` : "#fff", words: Fs, cursor: Gr(D, D.idx, on) } : null,
|
|
5633
5633
|
chip: Rn(r ? Un : { ...Un, width: 64, padding: "0 6px" }, r ? void 0 : "sm"),
|
|
@@ -5637,12 +5637,12 @@ function Yc(t) {
|
|
|
5637
5637
|
voices: null,
|
|
5638
5638
|
voicesBtn: u ? null : Qs,
|
|
5639
5639
|
sheetOpen: ne.sheetsOpen || j,
|
|
5640
|
-
onShare: u && R.share ?
|
|
5640
|
+
onShare: u && R.share ? ra : void 0,
|
|
5641
5641
|
onSettings: u && R.settings ? () => {
|
|
5642
5642
|
ne.closePicker(), S((T) => !T);
|
|
5643
5643
|
} : void 0,
|
|
5644
5644
|
paused: t.compact ? null : { title: Ke, summary: St.state === "ready" ? St.summary ?? null : null, share: R.share ? { url: Js, at: D.t } : null },
|
|
5645
|
-
copied:
|
|
5645
|
+
copied: ta ? /* @__PURE__ */ f("div", { className: "gfull__toast", "aria-live": "polite", children: [
|
|
5646
5646
|
/* @__PURE__ */ i(de, { d: q.check, size: 13, sw: 2 }),
|
|
5647
5647
|
"Link copied"
|
|
5648
5648
|
] }) : en ? /* @__PURE__ */ f("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
|
|
@@ -5674,20 +5674,20 @@ function Yc(t) {
|
|
|
5674
5674
|
/* @__PURE__ */ i("span", { className: "s", children: Ft })
|
|
5675
5675
|
] }),
|
|
5676
5676
|
!r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
|
|
5677
|
-
] }), Wn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), rr = /* @__PURE__ */ i(ql, { model: G, rows: se, player: D, tail: Wt, tailFg: it, running: Ce, desk: r, feedRef: Ct, listener: !0, showLabels: cn, find: p, findOpen: !r && w, lang: $e, warm: Q, onVisible: jt, wordHl: ln }), Fn = /* @__PURE__ */ i(
|
|
5677
|
+
] }), Wn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), rr = /* @__PURE__ */ i(ql, { model: G, rows: se, player: D, tail: Wt, tailFg: it, running: Ce, desk: r, feedRef: Ct, listener: !0, showLabels: cn, find: p, findOpen: !r && w, lang: $e, warm: Q, onVisible: jt, wordHl: ln }), Fn = /* @__PURE__ */ i(Xo, { error: g ?? me ?? (xn && P ? null : D.error) ?? ne.error, onClose: () => {
|
|
5678
5678
|
M(null), V(), D.clearError(), ne.clearError();
|
|
5679
5679
|
} }), ir = [W ? Tt(W) : null, ee ? ee.toUpperCase() : null, fe || "Read-only copy"].filter(Boolean).join(" · "), ar = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: ne.noVoice ? ne.noVoiceNote : /* @__PURE__ */ f(Pe, { children: [
|
|
5680
5680
|
/* @__PURE__ */ f("div", { className: "ctrans__row", children: [
|
|
5681
5681
|
/* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
|
|
5682
5682
|
/* @__PURE__ */ f("div", { className: "ctrans__mid", children: [
|
|
5683
5683
|
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: D.idx <= 0 ? 0.3 : 1 }, onClick: D.prev, children: /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 16, sw: 1.8 }) }),
|
|
5684
|
-
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": ne.relang ? "Preparing audio" : D.playing ? "Pause" : "Play", title: ne.relang ? "Preparing audio…" : ne.playTitle ?? (D.playing ? "Pause" : "Play"), disabled: !kt, onClick: D.toggle, children: ne.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: D.playing ? void 0 : { marginLeft: 2 }, children: D.playing ?
|
|
5684
|
+
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": ne.relang ? "Preparing audio" : D.playing ? "Pause" : "Play", title: ne.relang ? "Preparing audio…" : ne.playTitle ?? (D.playing ? "Pause" : "Play"), disabled: !kt, onClick: D.toggle, children: ne.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: D.playing ? void 0 : { marginLeft: 2 }, children: D.playing ? Yl : Zr }) }),
|
|
5685
5685
|
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: D.idx >= se.length - 1 ? 0.3 : 1 }, onClick: D.next, children: /* @__PURE__ */ i(de, { d: q.chevronRight, size: 16, sw: 1.8 }) })
|
|
5686
5686
|
] }),
|
|
5687
5687
|
/* @__PURE__ */ i("span", { className: "ctrans__mute", children: sn(36) })
|
|
5688
5688
|
] }),
|
|
5689
|
-
/* @__PURE__ */ i("div", { className: "ctrans__scrub", children:
|
|
5690
|
-
] }) }),
|
|
5689
|
+
/* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Bi(T) })
|
|
5690
|
+
] }) }), oa = jl("ga", { tabs: Rt, cur: N, pref: (Dr = Rt[0]) == null ? void 0 : Dr.key, onPick: m }), or = Math.max(0, Math.min(100, Math.round(U))), la = _ && /* @__PURE__ */ f("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
|
|
5691
5691
|
Qe && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)` } }),
|
|
5692
5692
|
/* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ f(Pe, { children: [
|
|
5693
5693
|
Ke && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Ke }),
|
|
@@ -5704,16 +5704,16 @@ function Yc(t) {
|
|
|
5704
5704
|
var T;
|
|
5705
5705
|
(T = fn.current) == null || T.call(fn, lr);
|
|
5706
5706
|
}, [lr]);
|
|
5707
|
-
const [
|
|
5707
|
+
const [ca, Gn] = O(!1), Zn = !!zt && !_ && (He ? !!D.ended : !D.playing && D.dur > 0 && D.t >= D.dur - 0.5);
|
|
5708
5708
|
Y(() => {
|
|
5709
5709
|
Zn || Gn(!1);
|
|
5710
5710
|
}, [Zn]);
|
|
5711
|
-
const
|
|
5711
|
+
const ua = t.endCard !== !1 && Zn && !ca && /* @__PURE__ */ i(kc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Gn(!0), onReplay: () => {
|
|
5712
5712
|
Gn(!0), et.current = !0, D.seekFrac ? D.seekFrac(0) : D.seekRow(0), D.playing || D.toggle();
|
|
5713
5713
|
} });
|
|
5714
5714
|
if (u) return /* @__PURE__ */ f(Pe, { children: [
|
|
5715
|
-
s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Wn }) :
|
|
5716
|
-
|
|
5715
|
+
s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Wn }) : la || zt || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
|
|
5716
|
+
ua,
|
|
5717
5717
|
Fn
|
|
5718
5718
|
] });
|
|
5719
5719
|
if (r) {
|
|
@@ -5741,10 +5741,10 @@ function Yc(t) {
|
|
|
5741
5741
|
Ss
|
|
5742
5742
|
] })
|
|
5743
5743
|
] }),
|
|
5744
|
-
pe && /* @__PURE__ */ f(
|
|
5744
|
+
pe && /* @__PURE__ */ f(Ol, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
|
|
5745
5745
|
!ne.sidePanel && T,
|
|
5746
5746
|
!ne.sidePanel && Bs,
|
|
5747
|
-
!ne.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(
|
|
5747
|
+
!ne.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(zl, { col: oa, order: ["summary", "export"], onPick: m, grip: { summary: 40, export: 28 }, render: (Re) => /* @__PURE__ */ i(Sr, { panel: !0, children: As(Re) }) }) }),
|
|
5748
5748
|
ne.sidePanel
|
|
5749
5749
|
] })
|
|
5750
5750
|
] }),
|
|
@@ -5754,15 +5754,15 @@ function Yc(t) {
|
|
|
5754
5754
|
Fn
|
|
5755
5755
|
] });
|
|
5756
5756
|
}
|
|
5757
|
-
const
|
|
5758
|
-
/* @__PURE__ */ i(
|
|
5757
|
+
const da = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ f(Sr, { panel: !0, children: [
|
|
5758
|
+
/* @__PURE__ */ i(Oi, { tabs: Rt, current: N, onPick: m, gap: N !== "none" }),
|
|
5759
5759
|
N !== "none" && As(N)
|
|
5760
5760
|
] }) });
|
|
5761
5761
|
return /* @__PURE__ */ f(Pe, { children: [
|
|
5762
5762
|
/* @__PURE__ */ i(cc, { dark: a, title: n ? Ke : "", subline: n ? ir : "", onOptions: () => S(!0), optionsActive: j }),
|
|
5763
5763
|
Wn,
|
|
5764
5764
|
sr,
|
|
5765
|
-
!s &&
|
|
5765
|
+
!s && da,
|
|
5766
5766
|
!s && Bs,
|
|
5767
5767
|
!s && /* @__PURE__ */ f("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
|
|
5768
5768
|
Ht,
|
|
@@ -5783,53 +5783,53 @@ function Yc(t) {
|
|
|
5783
5783
|
] });
|
|
5784
5784
|
}
|
|
5785
5785
|
export {
|
|
5786
|
-
|
|
5787
|
-
|
|
5786
|
+
ml as ExportPanel,
|
|
5787
|
+
Ai as FullVideo,
|
|
5788
5788
|
oc as MiniPlayer,
|
|
5789
5789
|
_l as MuteButton,
|
|
5790
5790
|
Wl as NO_SEEK,
|
|
5791
|
-
|
|
5792
|
-
|
|
5791
|
+
Yl as PAUSE_D,
|
|
5792
|
+
Zr as PLAY_D,
|
|
5793
5793
|
Gl as PUB_SIDE,
|
|
5794
5794
|
Vc as PanelSeek,
|
|
5795
|
-
|
|
5795
|
+
Co as PlayerApiProvider,
|
|
5796
5796
|
Ln as REMOVE_BG_LABEL,
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5797
|
+
Va as REMOVE_BG_NOTE,
|
|
5798
|
+
el as ReplayScrub,
|
|
5799
|
+
ll as SpeakerCast,
|
|
5800
|
+
wl as SummaryPanel,
|
|
5801
5801
|
Hc as Transport,
|
|
5802
5802
|
Kl as TxFind,
|
|
5803
5803
|
ql as TxLines,
|
|
5804
5804
|
Wc as VocalStackPlayer,
|
|
5805
|
-
|
|
5806
|
-
|
|
5807
|
-
|
|
5805
|
+
cl as VoiceSheetBody,
|
|
5806
|
+
El as YtFollow,
|
|
5807
|
+
Fa as bedNote,
|
|
5808
5808
|
qt as browserFull,
|
|
5809
5809
|
Et as lineEnd,
|
|
5810
|
-
|
|
5810
|
+
bi as lineWords,
|
|
5811
5811
|
ss as pictureT,
|
|
5812
5812
|
yn as placePosition,
|
|
5813
5813
|
Tn as realFull,
|
|
5814
5814
|
Bc as setErrorReporter,
|
|
5815
|
-
|
|
5816
|
-
|
|
5815
|
+
Kr as setFullTarget,
|
|
5816
|
+
Al as snapPosition,
|
|
5817
5817
|
Gr as spokenWordOf,
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
|
|
5818
|
+
Ga as trackPlan,
|
|
5819
|
+
wi as useApi,
|
|
5820
|
+
gl as useArchiveVoice,
|
|
5821
|
+
so as useBackgroundBed,
|
|
5822
5822
|
$l as useDuck,
|
|
5823
5823
|
Jl as useFindPull,
|
|
5824
5824
|
Ul as useFlash,
|
|
5825
5825
|
Yt as usePlayerApi,
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
5826
|
+
Ni as useSeparatedTrack,
|
|
5827
|
+
yl as useSummaryIn,
|
|
5828
|
+
Po as useTranscript,
|
|
5829
5829
|
Hl as useTxPlayer,
|
|
5830
5830
|
Zl as useTxVoice,
|
|
5831
|
-
|
|
5832
|
-
|
|
5831
|
+
rl as useViewportTranslation,
|
|
5832
|
+
Ml as useVoiceCatalogue,
|
|
5833
5833
|
Bl as useYtLead
|
|
5834
5834
|
};
|
|
5835
5835
|
//# sourceMappingURL=index.js.map
|