@vocalstack/player 0.1.0-alpha.25 → 0.1.0-alpha.26
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 +483 -486
- 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 Me = (t, e, n) =>
|
|
1
|
+
var da = Object.defineProperty;
|
|
2
|
+
var ha = (t, e, n) => e in t ? da(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
|
+
var Me = (t, e, n) => ha(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
4
|
import { jsx as i, jsxs as h, Fragment as xe } from "react/jsx-runtime";
|
|
5
|
-
import { useState as I, useRef as v, useEffect as U, useLayoutEffect as Bt, createContext as
|
|
6
|
-
import { createPortal as
|
|
7
|
-
import { VocalStackError as
|
|
8
|
-
const ai = "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
|
|
5
|
+
import { useState as I, useRef as v, useEffect as U, useLayoutEffect as Bt, createContext as ni, useMemo as Ie, useContext as Ma, useCallback as Ke, Fragment as ga, forwardRef as fa, useImperativeHandle as pa } from "react";
|
|
6
|
+
import { createPortal as Na } from "react-dom";
|
|
7
|
+
import { VocalStackError as ri, VocalStack as si } from "@vocalstack/js-sdk";
|
|
8
|
+
const ii = "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 La({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
|
|
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", ...r }, ...s, children: n });
|
|
11
11
|
}
|
|
12
12
|
const X = {
|
|
@@ -53,9 +53,9 @@ const X = {
|
|
|
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 oe({ d: t, ...e }) {
|
|
56
|
-
return /* @__PURE__ */ i(
|
|
56
|
+
return /* @__PURE__ */ i(La, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
|
|
57
57
|
}
|
|
58
|
-
function
|
|
58
|
+
function ka({ 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
61
|
function jr({ size: t = 13 }) {
|
|
@@ -80,18 +80,18 @@ function at({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
|
|
|
80
80
|
}
|
|
81
81
|
);
|
|
82
82
|
}
|
|
83
|
-
function
|
|
83
|
+
function va({ size: t = 12 }) {
|
|
84
84
|
return /* @__PURE__ */ h("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 bn({ dark: t, height: e = 20, link: n = !0 }) {
|
|
90
|
-
const r = /* @__PURE__ */ i("img", { src: t ?
|
|
91
|
-
return n ? /* @__PURE__ */ i("a", { href:
|
|
90
|
+
const r = /* @__PURE__ */ i("img", { src: t ? ma : ya, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
|
|
91
|
+
return n ? /* @__PURE__ */ i("a", { href: ii, style: { display: "block" }, children: r }) : r;
|
|
92
92
|
}
|
|
93
93
|
function zr({ dark: t, size: e = 30 }) {
|
|
94
|
-
return /* @__PURE__ */ i("img", { src: t ?
|
|
94
|
+
return /* @__PURE__ */ i("img", { src: t ? Ta : wa, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
|
|
95
95
|
}
|
|
96
96
|
function Es({ children: t, panel: e, inset: n, className: r = "", style: s }) {
|
|
97
97
|
return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${r}`, style: s, children: t });
|
|
@@ -122,7 +122,7 @@ function hr({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill
|
|
|
122
122
|
] }, d.value))
|
|
123
123
|
] });
|
|
124
124
|
}
|
|
125
|
-
function
|
|
125
|
+
function ja({ children: t, onClick: e, label: n, size: r, variant: s, bordered: a = !0, active: o, title: l }) {
|
|
126
126
|
return /* @__PURE__ */ i("button", { type: "button", className: `vs-icon-btn${r === "sm" ? " vs-icon-btn--sm" : ""}${s === "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 zn({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bordered: o = !0, size: l, style: c, flagOnly: u }) {
|
|
@@ -135,7 +135,7 @@ function zn({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bord
|
|
|
135
135
|
/* @__PURE__ */ i(oe, { d: X.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: s === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
|
|
136
136
|
] });
|
|
137
137
|
}
|
|
138
|
-
function
|
|
138
|
+
function za({ value: t, label: e = "Copy", onCopied: n }) {
|
|
139
139
|
const [r, s] = I(!1), a = async () => {
|
|
140
140
|
try {
|
|
141
141
|
await navigator.clipboard.writeText(t), s(!0), n == null || n(), setTimeout(() => s(!1), 1400);
|
|
@@ -160,7 +160,7 @@ function Ia({ value: t, label: e = "Copy", onCopied: n }) {
|
|
|
160
160
|
}
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
|
-
function
|
|
163
|
+
function Ia(t, e) {
|
|
164
164
|
Bt(() => {
|
|
165
165
|
const n = t.current, r = window.visualViewport;
|
|
166
166
|
if (!e || !n || !r) return;
|
|
@@ -199,7 +199,7 @@ function Mr({ children: t, ms: e = 220 }) {
|
|
|
199
199
|
}
|
|
200
200
|
function Vt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: u, sticky: d = !1 }) {
|
|
201
201
|
const g = v(null);
|
|
202
|
-
return
|
|
202
|
+
return Ia(g, t), U(() => {
|
|
203
203
|
if (!t) return;
|
|
204
204
|
const M = (N) => {
|
|
205
205
|
N.key === "Escape" && e();
|
|
@@ -216,15 +216,15 @@ function Vt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a
|
|
|
216
216
|
/* @__PURE__ */ i("div", { className: "vs-sheet__body", children: o })
|
|
217
217
|
] }) }) : null;
|
|
218
218
|
}
|
|
219
|
-
|
|
219
|
+
ni(0);
|
|
220
220
|
function gr({ children: t, style: e, className: n }) {
|
|
221
221
|
return /* @__PURE__ */ i("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
|
|
222
222
|
}
|
|
223
223
|
let wn = null;
|
|
224
|
-
function
|
|
224
|
+
function Gc(t) {
|
|
225
225
|
wn = t;
|
|
226
226
|
}
|
|
227
|
-
function
|
|
227
|
+
function ai(t) {
|
|
228
228
|
wn == null || wn(t);
|
|
229
229
|
}
|
|
230
230
|
function xn() {
|
|
@@ -234,11 +234,11 @@ function xn() {
|
|
|
234
234
|
return "ogg";
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
|
-
function
|
|
237
|
+
function Oa(t = {}) {
|
|
238
238
|
const e = new URLSearchParams();
|
|
239
239
|
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();
|
|
240
240
|
}
|
|
241
|
-
async function
|
|
241
|
+
async function Ca(t) {
|
|
242
242
|
try {
|
|
243
243
|
const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
|
|
244
244
|
if (e.type === "opaqueredirect" || e.ok || e.status >= 300 && e.status < 400) return null;
|
|
@@ -253,7 +253,7 @@ async function ba(t) {
|
|
|
253
253
|
return null;
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
|
-
function
|
|
256
|
+
function ba(t, e, n = {}) {
|
|
257
257
|
const r = new URLSearchParams({ kind: "delivery", format: xn() });
|
|
258
258
|
return n.accessToken && r.set("access_token", n.accessToken), n.listenerToken && r.set("listenerToken", n.listenerToken), n.shareCode && r.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
|
|
259
259
|
}
|
|
@@ -265,30 +265,30 @@ function nr(t, e, n, r = {}) {
|
|
|
265
265
|
const s = new URLSearchParams({ kind: n });
|
|
266
266
|
return n === "delivery" && s.set("format", "mp3"), r.accessToken && s.set("access_token", r.accessToken), r.listenerToken && s.set("listenerToken", r.listenerToken), r.shareCode && s.set("shareCode", r.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
|
|
267
267
|
}
|
|
268
|
-
function
|
|
269
|
-
return
|
|
268
|
+
function xa(t, e, n, r, s = {}) {
|
|
269
|
+
return Da(t, e, n, r, "mp3", s);
|
|
270
270
|
}
|
|
271
|
-
function
|
|
271
|
+
function Da(t, e, n, r, s, a) {
|
|
272
272
|
const o = new URLSearchParams({ kind: "voice", lang: n, format: s });
|
|
273
273
|
return r && o.set("voice", r), 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}`;
|
|
274
274
|
}
|
|
275
|
-
function
|
|
275
|
+
function Sa(t, e = !0) {
|
|
276
276
|
const n = (t == null ? void 0 : t.code) ?? 0, r = 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";
|
|
277
|
-
return e &&
|
|
277
|
+
return e && oi(t), `The audio could not be played: ${r}.`;
|
|
278
278
|
}
|
|
279
|
-
function
|
|
279
|
+
function oi(t) {
|
|
280
280
|
const e = (t == null ? void 0 : t.code) ?? 0;
|
|
281
|
-
e !== 1 &&
|
|
281
|
+
e !== 1 && ai(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
|
|
282
282
|
}
|
|
283
|
-
const
|
|
284
|
-
function
|
|
283
|
+
const Aa = 3e3;
|
|
284
|
+
function Ea(t, e, n) {
|
|
285
285
|
if (t !== 503) return null;
|
|
286
286
|
const r = e == null || e.trim() === "" ? NaN : Number(e);
|
|
287
287
|
if (Number.isFinite(r)) return Math.min(15e3, Math.max(1e3, r * 1e3));
|
|
288
288
|
const s = n;
|
|
289
|
-
return s && (s.retryable === !0 || s.code === "engine_unavailable") ?
|
|
289
|
+
return s && (s.retryable === !0 || s.code === "engine_unavailable") ? Aa : null;
|
|
290
290
|
}
|
|
291
|
-
class
|
|
291
|
+
class _a {
|
|
292
292
|
constructor(e = {}) {
|
|
293
293
|
Me(this, "entries", /* @__PURE__ */ new Map());
|
|
294
294
|
Me(this, "wanted", []);
|
|
@@ -381,13 +381,13 @@ class Ya {
|
|
|
381
381
|
}).catch(() => r(n.signal.aborted ? null : { state: "failed", at: this.now() }));
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
|
-
const
|
|
385
|
-
function
|
|
386
|
-
if (!
|
|
384
|
+
const li = { video: !1 };
|
|
385
|
+
function ci(t) {
|
|
386
|
+
if (!li.video) return new Audio(t);
|
|
387
387
|
const e = document.createElement("video");
|
|
388
388
|
return e.playsInline = !0, t && (e.src = t), e;
|
|
389
389
|
}
|
|
390
|
-
class
|
|
390
|
+
class ui extends Error {
|
|
391
391
|
constructor() {
|
|
392
392
|
super("The voice did not start in time."), this.name = "VoiceNotStarted";
|
|
393
393
|
}
|
|
@@ -433,7 +433,7 @@ const nt = class nt {
|
|
|
433
433
|
Me(this, "loading", null);
|
|
434
434
|
Me(this, "readAhead", 0);
|
|
435
435
|
Me(this, "readAheadS", 0);
|
|
436
|
-
Me(this, "prefetch", new
|
|
436
|
+
Me(this, "prefetch", new _a());
|
|
437
437
|
Me(this, "warmed", /* @__PURE__ */ new Set());
|
|
438
438
|
Me(this, "startingSince", /* @__PURE__ */ new Map());
|
|
439
439
|
Me(this, "retries", /* @__PURE__ */ new Map());
|
|
@@ -769,7 +769,7 @@ const nt = class nt {
|
|
|
769
769
|
const l = await fetch(n, { method: "GET" });
|
|
770
770
|
s = l.ok, r = l.status === 202 || l.status === 503 || l.status === 429;
|
|
771
771
|
const c = l.status === 503 ? await l.json().catch(() => null) : null;
|
|
772
|
-
a =
|
|
772
|
+
a = Ea(l.status, l.headers.get("Retry-After"), c);
|
|
773
773
|
} catch {
|
|
774
774
|
r = !0;
|
|
775
775
|
}
|
|
@@ -790,7 +790,7 @@ const nt = class nt {
|
|
|
790
790
|
}, a);
|
|
791
791
|
return;
|
|
792
792
|
}
|
|
793
|
-
this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new
|
|
793
|
+
this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ui()), this.onSentence(e);
|
|
794
794
|
return;
|
|
795
795
|
}
|
|
796
796
|
const o = (this.retries.get(e) ?? 0) + 1;
|
|
@@ -818,7 +818,7 @@ const nt = class nt {
|
|
|
818
818
|
}
|
|
819
819
|
element() {
|
|
820
820
|
if (this.el) return this.el;
|
|
821
|
-
const e =
|
|
821
|
+
const e = ci();
|
|
822
822
|
e.preload = "auto";
|
|
823
823
|
const n = e;
|
|
824
824
|
return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
|
|
@@ -872,14 +872,14 @@ const nt = class nt {
|
|
|
872
872
|
};
|
|
873
873
|
Me(nt, "WAIT_MS", 15e3), Me(nt, "START_WAIT_MS", 4e3), Me(nt, "COMING_MS", 12e4), Me(nt, "SKEW_LINES", 3), Me(nt, "RETRIES", 4), Me(nt, "RETRY_MS", 1200), Me(nt, "STARTING_MS", 3e5);
|
|
874
874
|
let fr = nt;
|
|
875
|
-
function
|
|
875
|
+
function di(t, e) {
|
|
876
876
|
return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
|
|
877
877
|
}
|
|
878
|
-
function
|
|
878
|
+
function Ya(t, e, n, r = {}, s) {
|
|
879
879
|
if (!t) return [];
|
|
880
880
|
const a = s != null && s.length ? s : t.clips;
|
|
881
881
|
if (!(a != null && a.length)) return [];
|
|
882
|
-
const o =
|
|
882
|
+
const o = Oa(r), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
|
|
883
883
|
return a.flatMap((u) => {
|
|
884
884
|
var M, N;
|
|
885
885
|
const d = (M = t.clipRev) == null ? void 0 : M[String(u)], g = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(u)]) ?? 1);
|
|
@@ -898,16 +898,16 @@ function Ua(t, e, n, r = {}, s) {
|
|
|
898
898
|
});
|
|
899
899
|
});
|
|
900
900
|
}
|
|
901
|
-
function
|
|
901
|
+
function hi(t, e) {
|
|
902
902
|
const n = e.words;
|
|
903
903
|
if (n && n.length === t.length && t.length > 0) {
|
|
904
904
|
let r = 0;
|
|
905
905
|
for (let s = 0; s < n.length && e.t >= n[s][0]; s++) r = s;
|
|
906
906
|
return r;
|
|
907
907
|
}
|
|
908
|
-
return e.dur > 0 ?
|
|
908
|
+
return e.dur > 0 ? Ua(t, e.t, e.dur) : null;
|
|
909
909
|
}
|
|
910
|
-
function
|
|
910
|
+
function Ua(t, e, n) {
|
|
911
911
|
if (t.length <= 1 || !(n > 0)) return 0;
|
|
912
912
|
const r = t.map((l) => l.t.length + 1.6), s = r.reduce((l, c) => l + c, 0);
|
|
913
913
|
let a = 0;
|
|
@@ -925,7 +925,7 @@ function mr(t, e) {
|
|
|
925
925
|
return e;
|
|
926
926
|
}
|
|
927
927
|
}
|
|
928
|
-
function
|
|
928
|
+
function Mi(t, e) {
|
|
929
929
|
try {
|
|
930
930
|
e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
|
|
931
931
|
} catch {
|
|
@@ -940,32 +940,32 @@ function Ir(t, e) {
|
|
|
940
940
|
Nr.delete(s), window.removeEventListener("storage", s);
|
|
941
941
|
};
|
|
942
942
|
}, [t]), [n, (s) => {
|
|
943
|
-
r(s),
|
|
943
|
+
r(s), Mi(t, s);
|
|
944
944
|
}];
|
|
945
945
|
}
|
|
946
946
|
function Ys(t) {
|
|
947
947
|
const e = mr(pr, []);
|
|
948
|
-
|
|
948
|
+
Mi(pr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
|
|
949
949
|
}
|
|
950
|
-
function
|
|
950
|
+
function gi() {
|
|
951
951
|
const [t, e] = Ir(pr, []), n = Array.isArray(t) ? t : [];
|
|
952
952
|
return [n, (r) => {
|
|
953
953
|
r && e([r, ...n.filter((s) => s !== r)].slice(0, 3));
|
|
954
954
|
}];
|
|
955
955
|
}
|
|
956
|
-
function
|
|
956
|
+
function fi(t, e) {
|
|
957
957
|
if (!t) return [];
|
|
958
958
|
const n = new Set(t[e]);
|
|
959
959
|
return t.languages.filter((r) => n.has(r.code)).map((r) => ({ code: r.code, label: r.name, native: r.native, flag: r.flag ?? "🌐", voice: !!r.voice }));
|
|
960
960
|
}
|
|
961
|
-
function
|
|
961
|
+
function Ra(t) {
|
|
962
962
|
const [e, n] = Ir(`vs.pins.${t}`, null);
|
|
963
963
|
return [Array.isArray(e) ? e : [], n];
|
|
964
964
|
}
|
|
965
|
-
const
|
|
966
|
-
function
|
|
965
|
+
const Pa = 352;
|
|
966
|
+
function Qa(t) {
|
|
967
967
|
const [e, n] = Ir(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
|
|
968
|
-
return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 :
|
|
968
|
+
return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Pa, n];
|
|
969
969
|
}
|
|
970
970
|
function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: u, keepOpen: d, busy: g }) {
|
|
971
971
|
const [M, N] = I(""), [p, y] = I(!1), [L, m] = I(null);
|
|
@@ -1048,41 +1048,41 @@ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
|
|
|
1048
1048
|
] });
|
|
1049
1049
|
return { search: ee, list: j };
|
|
1050
1050
|
}
|
|
1051
|
-
function
|
|
1051
|
+
function $a({ open: t, onClose: e, title: n, note: r, sticky: s, ...a }) {
|
|
1052
1052
|
const { search: o, list: l } = Or({ ...a, open: t, onClose: e });
|
|
1053
1053
|
return /* @__PURE__ */ i(Vt, { open: t, onClose: e, title: n, note: r, drawer: !1, sticky: s, kind: "picker", header: o, children: l });
|
|
1054
1054
|
}
|
|
1055
|
-
const
|
|
1055
|
+
const Ba = 0.3;
|
|
1056
1056
|
function Us(t, e) {
|
|
1057
|
-
t.muted = e.muted, Math.abs(t.currentTime - e.t) >
|
|
1057
|
+
t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ba && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
|
|
1058
1058
|
}) : t.paused || t.pause();
|
|
1059
1059
|
}
|
|
1060
|
-
const In = "Remove background sound",
|
|
1061
|
-
function
|
|
1060
|
+
const In = "Remove background sound", Va = "Takes out everything that isn't speech: music, ambience and noise.";
|
|
1061
|
+
function Ha(t) {
|
|
1062
1062
|
const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), r = Math.floor(e % 3600 / 60), s = String(e % 60).padStart(2, "0");
|
|
1063
1063
|
return n ? `${n}:${String(r).padStart(2, "0")}:${s}` : `${r}:${s}`;
|
|
1064
1064
|
}
|
|
1065
|
-
function
|
|
1066
|
-
return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? r > 0 ? `Separating the speech from the background… ready up to ${
|
|
1065
|
+
function Wa(t, e, n = "transcription", r = 0) {
|
|
1066
|
+
return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? r > 0 ? `Separating the speech from the background… ready up to ${Ha(r)}` : "Separating the speech from the background…" : Va;
|
|
1067
1067
|
}
|
|
1068
|
-
function
|
|
1068
|
+
function Fa(t, e) {
|
|
1069
1069
|
return { bed: e && !t, speech: !e && t };
|
|
1070
1070
|
}
|
|
1071
|
-
function
|
|
1071
|
+
function Ga(t) {
|
|
1072
1072
|
const e = t.get("bg");
|
|
1073
1073
|
return e === "off" || e === "remove";
|
|
1074
1074
|
}
|
|
1075
|
-
function
|
|
1075
|
+
function Za(t, e) {
|
|
1076
1076
|
e ? t.searchParams.set("bg", "remove") : t.searchParams.delete("bg");
|
|
1077
1077
|
}
|
|
1078
|
-
function
|
|
1078
|
+
function qa(t, e) {
|
|
1079
1079
|
var r, s;
|
|
1080
1080
|
if (t !== 503) return null;
|
|
1081
1081
|
const n = (s = (r = e == null ? void 0 : e.data) == null ? void 0 : r.details) == null ? void 0 : s.retryAfterS;
|
|
1082
1082
|
return typeof n == "number" && n > 0 ? Math.max(2, n) : 3;
|
|
1083
1083
|
}
|
|
1084
|
-
const
|
|
1085
|
-
function
|
|
1084
|
+
const Ka = 0.05;
|
|
1085
|
+
function Ja(t) {
|
|
1086
1086
|
var r, s;
|
|
1087
1087
|
const e = (s = (r = t == null ? void 0 : t.data) == null ? void 0 : r.details) == null ? void 0 : s.parts, n = [];
|
|
1088
1088
|
if (Array.isArray(e))
|
|
@@ -1094,8 +1094,8 @@ function Xa(t) {
|
|
|
1094
1094
|
}
|
|
1095
1095
|
return { untilS: n.length ? n[n.length - 1].endS : 0, parts: n };
|
|
1096
1096
|
}
|
|
1097
|
-
function
|
|
1098
|
-
if (!t.length || e < 0 || e >= t[t.length - 1].endS -
|
|
1097
|
+
function Xa(t, e) {
|
|
1098
|
+
if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ka) return -1;
|
|
1099
1099
|
let n = 0, r = t.length - 1;
|
|
1100
1100
|
for (; n < r; ) {
|
|
1101
1101
|
const s = n + r + 1 >> 1;
|
|
@@ -1103,22 +1103,22 @@ function eo(t, e) {
|
|
|
1103
1103
|
}
|
|
1104
1104
|
return n;
|
|
1105
1105
|
}
|
|
1106
|
-
function
|
|
1106
|
+
function eo(t, e, n, r) {
|
|
1107
1107
|
const s = t[e].startS, a = n[r] === s ? r : n[1 - r] === s ? 1 - r : r, o = [];
|
|
1108
1108
|
n[a] !== s && o.push([a, e]);
|
|
1109
1109
|
const l = 1 - a;
|
|
1110
1110
|
return e + 1 < t.length && n[l] !== t[e + 1].startS && o.push([l, e + 1]), { play: a, load: o };
|
|
1111
1111
|
}
|
|
1112
|
-
async function
|
|
1112
|
+
async function to(t) {
|
|
1113
1113
|
const e = await fetch(t, { redirect: "manual", credentials: "omit" });
|
|
1114
1114
|
if (e.type === "opaqueredirect" || e.status >= 300 && e.status < 400 || e.ok) return { ready: !0 };
|
|
1115
1115
|
const n = await e.json().catch(() => null);
|
|
1116
|
-
return { ready: !1, retryS:
|
|
1116
|
+
return { ready: !1, retryS: qa(e.status, n), ...Ja(n) };
|
|
1117
1117
|
}
|
|
1118
1118
|
function rr(t) {
|
|
1119
1119
|
t && (t.pause(), t.removeAttribute("src"), t.load());
|
|
1120
1120
|
}
|
|
1121
|
-
function
|
|
1121
|
+
function pi(t, e) {
|
|
1122
1122
|
const [n, r] = I("off"), [s, a] = I([]), [o, l] = I(!1), c = v(null), u = v([null, null]), d = v([NaN, NaN]), g = v(0);
|
|
1123
1123
|
return U(() => {
|
|
1124
1124
|
if (a([]), l(!1), !t) {
|
|
@@ -1128,7 +1128,7 @@ function Ni(t, e) {
|
|
|
1128
1128
|
let M = !1, N;
|
|
1129
1129
|
r("making");
|
|
1130
1130
|
const p = () => {
|
|
1131
|
-
|
|
1131
|
+
to(t).then((y) => {
|
|
1132
1132
|
if (!M) {
|
|
1133
1133
|
if (y.ready) {
|
|
1134
1134
|
const L = new Audio();
|
|
@@ -1160,12 +1160,12 @@ function Ni(t, e) {
|
|
|
1160
1160
|
M(), Us(c.current, e), l(!0);
|
|
1161
1161
|
return;
|
|
1162
1162
|
}
|
|
1163
|
-
const N = n === "making" ?
|
|
1163
|
+
const N = n === "making" ? Xa(s, e.t) : -1;
|
|
1164
1164
|
if (N < 0) {
|
|
1165
1165
|
M(), l(!1);
|
|
1166
1166
|
return;
|
|
1167
1167
|
}
|
|
1168
|
-
const p =
|
|
1168
|
+
const p = eo(s, N, d.current, g.current);
|
|
1169
1169
|
for (const [m, f] of p.load) {
|
|
1170
1170
|
let z = u.current[m];
|
|
1171
1171
|
z || (z = new Audio(), z.preload = "auto", u.current[m] = z), z.pause(), z.src = s[f].url, d.current[m] = s[f].startS;
|
|
@@ -1175,16 +1175,16 @@ function Ni(t, e) {
|
|
|
1175
1175
|
L && !L.paused && L.pause(), Us(y, { ...e, t: e.t - s[N].startS }), l(!e.playing || y.readyState >= 3);
|
|
1176
1176
|
}, [n, s, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : s.length ? s[s.length - 1].endS : 0 };
|
|
1177
1177
|
}
|
|
1178
|
-
function
|
|
1179
|
-
return
|
|
1178
|
+
function no(t, e) {
|
|
1179
|
+
return pi(t, e).state;
|
|
1180
1180
|
}
|
|
1181
|
-
const
|
|
1181
|
+
const ro = 0.5, so = 3;
|
|
1182
1182
|
function Cr(t, e) {
|
|
1183
1183
|
let n = -1;
|
|
1184
1184
|
for (let r = 0; r < t.length && t[r].start <= e + 0.02; r++) n = r;
|
|
1185
1185
|
return n;
|
|
1186
1186
|
}
|
|
1187
|
-
function
|
|
1187
|
+
function io(t, e, n) {
|
|
1188
1188
|
const r = Cr(t, n);
|
|
1189
1189
|
if (r < 0) return { kind: "none" };
|
|
1190
1190
|
const s = t[r];
|
|
@@ -1202,14 +1202,14 @@ function ao(t, e, n) {
|
|
|
1202
1202
|
}
|
|
1203
1203
|
return { kind: "done", sid: s.sid };
|
|
1204
1204
|
}
|
|
1205
|
-
function
|
|
1205
|
+
function ao(t, e, n) {
|
|
1206
1206
|
if (n == null) return !1;
|
|
1207
1207
|
const r = Cr(t, e);
|
|
1208
1208
|
if (r < 0) return !1;
|
|
1209
1209
|
const s = t[r];
|
|
1210
1210
|
return e >= s.end ? s.sid === n : r > 0 && t[r - 1].sid === n && e - s.start < 1.5;
|
|
1211
1211
|
}
|
|
1212
|
-
function
|
|
1212
|
+
function oo(t, e, n, r = so) {
|
|
1213
1213
|
const s = Math.max(0, Cr(t, n)), a = [];
|
|
1214
1214
|
for (let o = s; o < t.length && o <= s + r; o++) {
|
|
1215
1215
|
const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
|
|
@@ -1217,7 +1217,7 @@ function lo(t, e, n, r = io) {
|
|
|
1217
1217
|
}
|
|
1218
1218
|
return a;
|
|
1219
1219
|
}
|
|
1220
|
-
function
|
|
1220
|
+
function lo(t) {
|
|
1221
1221
|
const e = Ie(() => {
|
|
1222
1222
|
const c = /* @__PURE__ */ new Map();
|
|
1223
1223
|
for (const u of t.clips) c.set(u.sentenceId, [...c.get(u.sentenceId) ?? [], u]);
|
|
@@ -1238,9 +1238,9 @@ function co(t) {
|
|
|
1238
1238
|
l(), a((p) => p.missing == null && p.sid == null ? p : { missing: null, sid: null });
|
|
1239
1239
|
return;
|
|
1240
1240
|
}
|
|
1241
|
-
const c =
|
|
1241
|
+
const c = io(t.lines, e, t.t), u = c.kind === "missing" ? c.sid : null, d = c.kind === "none" ? null : c.sid;
|
|
1242
1242
|
a((p) => p.missing === u && p.sid === d ? p : { missing: u, sid: d });
|
|
1243
|
-
const g = new Set(
|
|
1243
|
+
const g = new Set(oo(t.lines, e, t.t));
|
|
1244
1244
|
for (const p of g) o(p);
|
|
1245
1245
|
const M = r.current;
|
|
1246
1246
|
M && g.add(M.src);
|
|
@@ -1250,12 +1250,12 @@ function co(t) {
|
|
|
1250
1250
|
return;
|
|
1251
1251
|
}
|
|
1252
1252
|
if (c.kind !== "play") {
|
|
1253
|
-
if (M && !M.el.paused && !M.el.ended &&
|
|
1253
|
+
if (M && !M.el.paused && !M.el.ended && ao(t.lines, t.t, M.sid)) return;
|
|
1254
1254
|
M && M.el.pause(), r.current = null;
|
|
1255
1255
|
return;
|
|
1256
1256
|
}
|
|
1257
1257
|
if (M && M.src === c.src) {
|
|
1258
|
-
if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) >
|
|
1258
|
+
if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > ro)
|
|
1259
1259
|
try {
|
|
1260
1260
|
M.el.currentTime = c.offset;
|
|
1261
1261
|
} catch {
|
|
@@ -1276,7 +1276,7 @@ function co(t) {
|
|
|
1276
1276
|
}, [t.on, t.t, t.playing, t.muted, t.lines, e]), s;
|
|
1277
1277
|
}
|
|
1278
1278
|
const Rs = ["play", "pause", "stop", "nexttrack", "previoustrack"];
|
|
1279
|
-
function
|
|
1279
|
+
function co(t, e) {
|
|
1280
1280
|
var n, r;
|
|
1281
1281
|
if (t === "play") {
|
|
1282
1282
|
e.playing || e.toggle();
|
|
@@ -1292,12 +1292,12 @@ function uo(t, e) {
|
|
|
1292
1292
|
}
|
|
1293
1293
|
(r = e.prev) == null || r.call(e);
|
|
1294
1294
|
}
|
|
1295
|
-
function
|
|
1295
|
+
function uo(t, e) {
|
|
1296
1296
|
for (const n of Rs)
|
|
1297
1297
|
try {
|
|
1298
1298
|
t.setActionHandler(n, () => {
|
|
1299
1299
|
const r = e();
|
|
1300
|
-
r &&
|
|
1300
|
+
r && co(n, r);
|
|
1301
1301
|
});
|
|
1302
1302
|
} catch {
|
|
1303
1303
|
}
|
|
@@ -1309,14 +1309,14 @@ function ho(t, e) {
|
|
|
1309
1309
|
}
|
|
1310
1310
|
};
|
|
1311
1311
|
}
|
|
1312
|
-
function
|
|
1312
|
+
function ho(t, e) {
|
|
1313
1313
|
const n = v(t);
|
|
1314
1314
|
n.current = t;
|
|
1315
1315
|
const r = !!t;
|
|
1316
1316
|
U(() => {
|
|
1317
1317
|
const a = typeof navigator < "u" ? navigator.mediaSession : void 0;
|
|
1318
1318
|
if (!(!a || !r))
|
|
1319
|
-
return
|
|
1319
|
+
return uo(a, () => n.current);
|
|
1320
1320
|
}, [r]);
|
|
1321
1321
|
const s = !!(t != null && t.playing);
|
|
1322
1322
|
U(() => {
|
|
@@ -1348,7 +1348,7 @@ function $t() {
|
|
|
1348
1348
|
spans: []
|
|
1349
1349
|
};
|
|
1350
1350
|
}
|
|
1351
|
-
function
|
|
1351
|
+
function Mo(t, e) {
|
|
1352
1352
|
for (const r of t.spans) {
|
|
1353
1353
|
const s = r.mediaEnd ?? 1 / 0;
|
|
1354
1354
|
if (e < s || r.mediaEnd == null) return r.wallStart + Math.max(0, e - r.mediaStart);
|
|
@@ -1425,7 +1425,7 @@ function Ps(t, e) {
|
|
|
1425
1425
|
const n = e ?? {};
|
|
1426
1426
|
return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
|
|
1427
1427
|
}
|
|
1428
|
-
function
|
|
1428
|
+
function go(t, e) {
|
|
1429
1429
|
const n = e.tail;
|
|
1430
1430
|
if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
|
|
1431
1431
|
let r = !1;
|
|
@@ -1442,7 +1442,7 @@ function fo(t, e) {
|
|
|
1442
1442
|
}
|
|
1443
1443
|
return r;
|
|
1444
1444
|
}
|
|
1445
|
-
function
|
|
1445
|
+
function fo(t, e) {
|
|
1446
1446
|
var n;
|
|
1447
1447
|
switch (delete t.numbers, e.type) {
|
|
1448
1448
|
case "transcript.committed": {
|
|
@@ -1483,7 +1483,7 @@ function po(t, e) {
|
|
|
1483
1483
|
}
|
|
1484
1484
|
case "transcript.amended": {
|
|
1485
1485
|
const r = t.segments.get(e.seq);
|
|
1486
|
-
if (r && r.corrected &&
|
|
1486
|
+
if (r && r.corrected && go(r.words, e)) {
|
|
1487
1487
|
r.text = e.text, r.words = en(e.seq, e.tail.words);
|
|
1488
1488
|
break;
|
|
1489
1489
|
}
|
|
@@ -1531,7 +1531,7 @@ function po(t, e) {
|
|
|
1531
1531
|
seqs: r.seqs,
|
|
1532
1532
|
speaker: r.speaker,
|
|
1533
1533
|
start: r.start,
|
|
1534
|
-
wallStart:
|
|
1534
|
+
wallStart: Mo(t, r.start),
|
|
1535
1535
|
text: a ? s.text : r.text,
|
|
1536
1536
|
status: r.status === "open" ? "open" : "closed",
|
|
1537
1537
|
settled: !!r.settled,
|
|
@@ -1583,7 +1583,7 @@ function po(t, e) {
|
|
|
1583
1583
|
}
|
|
1584
1584
|
return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
|
|
1585
1585
|
}
|
|
1586
|
-
function
|
|
1586
|
+
function po(t) {
|
|
1587
1587
|
const e = [], n = [...t.sentences.values()].sort((r, s) => r.start - s.start || (r.sentenceId ?? 0) - (s.sentenceId ?? 0));
|
|
1588
1588
|
for (const r of n) {
|
|
1589
1589
|
const s = r.seqs.map((l) => t.segments.get(l)).filter(Boolean), a = s.length === r.seqs.length || !r.text ? s.flatMap((l) => l.words) : [], o = s[s.length - 1];
|
|
@@ -1596,16 +1596,16 @@ function No(t) {
|
|
|
1596
1596
|
catchup: s.some((l) => l.catchup),
|
|
1597
1597
|
suppressed: r.suppressed || s.length > 0 && s.every((l) => l.suppressed),
|
|
1598
1598
|
unclear: r.unclear || s.length > 0 && s.every((l) => l.unclear),
|
|
1599
|
-
confidence:
|
|
1599
|
+
confidence: No(s),
|
|
1600
1600
|
latencyS: o == null ? void 0 : o.latencyS,
|
|
1601
1601
|
settled: r.settled || s.length > 0 && s.every((l) => l.settled),
|
|
1602
|
-
translations: Object.keys(r.translations).length ? r.translations :
|
|
1602
|
+
translations: Object.keys(r.translations).length ? r.translations : mo(s),
|
|
1603
1603
|
speaker: r.speaker >= 0 ? r.speaker : (o == null ? void 0 : o.speaker) ?? -1
|
|
1604
1604
|
});
|
|
1605
1605
|
}
|
|
1606
1606
|
return e.sort((r, s) => r.start - s.start), e;
|
|
1607
1607
|
}
|
|
1608
|
-
function
|
|
1608
|
+
function No(t) {
|
|
1609
1609
|
let e = 0, n = 0;
|
|
1610
1610
|
for (const r of t) {
|
|
1611
1611
|
if (r.confidence == null) continue;
|
|
@@ -1614,20 +1614,20 @@ function mo(t) {
|
|
|
1614
1614
|
}
|
|
1615
1615
|
return n ? e / n : void 0;
|
|
1616
1616
|
}
|
|
1617
|
-
function
|
|
1617
|
+
function mo(t) {
|
|
1618
1618
|
const e = {};
|
|
1619
1619
|
for (const n of t) for (const [r, s] of Object.entries(n.translations)) e[r] = e[r] ? `${e[r]} ${s}` : s;
|
|
1620
1620
|
return e;
|
|
1621
1621
|
}
|
|
1622
|
-
const
|
|
1623
|
-
function
|
|
1624
|
-
return t == null ? "" : t <
|
|
1622
|
+
const yo = 0.85, To = 0.75;
|
|
1623
|
+
function wo(t) {
|
|
1624
|
+
return t == null ? "" : t < To ? "low" : t < yo ? "mid" : "";
|
|
1625
1625
|
}
|
|
1626
1626
|
const Tn = ["a", "b", "c", "d", "e", "f", "g", "h"];
|
|
1627
|
-
function
|
|
1627
|
+
function Lo(t) {
|
|
1628
1628
|
return Tn[(t % Tn.length + Tn.length) % Tn.length];
|
|
1629
1629
|
}
|
|
1630
|
-
function
|
|
1630
|
+
function ko(t) {
|
|
1631
1631
|
if (t.numbers) return t.numbers;
|
|
1632
1632
|
const e = /* @__PURE__ */ new Map(), n = (a, o) => {
|
|
1633
1633
|
if (a < 0) return;
|
|
@@ -1643,26 +1643,26 @@ function vo(t) {
|
|
|
1643
1643
|
}
|
|
1644
1644
|
function On(t, e) {
|
|
1645
1645
|
if (e < 0) return 0;
|
|
1646
|
-
const n =
|
|
1646
|
+
const n = ko(t);
|
|
1647
1647
|
return n.get(e) ?? n.size + 1 + e;
|
|
1648
1648
|
}
|
|
1649
|
-
const
|
|
1649
|
+
const vo = /^\s*speaker\s+\d+\s*$/i;
|
|
1650
1650
|
function Qs(t) {
|
|
1651
|
-
return t && t.trim() && !
|
|
1651
|
+
return t && t.trim() && !vo.test(t) ? t : void 0;
|
|
1652
1652
|
}
|
|
1653
|
-
function
|
|
1653
|
+
function Ni(t, e) {
|
|
1654
1654
|
var n;
|
|
1655
1655
|
return Qs(t.speakers[e]) ?? Qs((n = t.speakerIds[e]) == null ? void 0 : n.name);
|
|
1656
1656
|
}
|
|
1657
1657
|
function br(t, e) {
|
|
1658
|
-
return e < 0 ? "" :
|
|
1658
|
+
return e < 0 ? "" : Ni(t, e) ?? `Speaker ${On(t, e)}`;
|
|
1659
1659
|
}
|
|
1660
|
-
function
|
|
1660
|
+
function mi(t, e) {
|
|
1661
1661
|
if (e < 0) return "?";
|
|
1662
|
-
const n =
|
|
1662
|
+
const n = Ni(t, e);
|
|
1663
1663
|
return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((s) => s[0]).join("") || `S${On(t, e)}`).toUpperCase() : `S${On(t, e)}`;
|
|
1664
1664
|
}
|
|
1665
|
-
function
|
|
1665
|
+
function jo(t) {
|
|
1666
1666
|
if (t) {
|
|
1667
1667
|
if (t.startsWith("#"))
|
|
1668
1668
|
return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
|
|
@@ -1671,10 +1671,10 @@ function zo(t) {
|
|
|
1671
1671
|
}
|
|
1672
1672
|
}
|
|
1673
1673
|
function xr(t, e) {
|
|
1674
|
-
const n = t.speakerIds[e], r =
|
|
1675
|
-
return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane:
|
|
1674
|
+
const n = t.speakerIds[e], r = jo(n == null ? void 0 : n.color);
|
|
1675
|
+
return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: Lo(On(t, e) - 1), hasVoice: !!n };
|
|
1676
1676
|
}
|
|
1677
|
-
function
|
|
1677
|
+
function zo(t, e, n, r = !1) {
|
|
1678
1678
|
const s = n ? n.speakerLabels ?? "auto" : null, a = (r ? s : null) ?? t.labels ?? s ?? "on";
|
|
1679
1679
|
if (a !== "auto") return a === "on";
|
|
1680
1680
|
const o = /* @__PURE__ */ new Set();
|
|
@@ -1682,7 +1682,7 @@ function Io(t, e, n, r = !1) {
|
|
|
1682
1682
|
return !0;
|
|
1683
1683
|
return !1;
|
|
1684
1684
|
}
|
|
1685
|
-
const
|
|
1685
|
+
const Io = /* @__PURE__ */ new Set([
|
|
1686
1686
|
"invalid_audio",
|
|
1687
1687
|
"invalid_options",
|
|
1688
1688
|
"invalid_token",
|
|
@@ -1707,14 +1707,14 @@ const Oo = /* @__PURE__ */ new Set([
|
|
|
1707
1707
|
"invalid_request",
|
|
1708
1708
|
"aborted",
|
|
1709
1709
|
"unauthorized"
|
|
1710
|
-
]),
|
|
1710
|
+
]), yi = {
|
|
1711
1711
|
internal: "Something went wrong on our side. Please try again.",
|
|
1712
1712
|
unavailable: "VocalStack is briefly unavailable. Please try again in a moment.",
|
|
1713
1713
|
engine_unavailable: "No transcription engine is available right now. Please try again in a moment.",
|
|
1714
1714
|
engine_lost: "The transcription engine stopped. Please try again.",
|
|
1715
1715
|
capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
|
|
1716
1716
|
timeout: "That took too long. Please try again."
|
|
1717
|
-
}, yr =
|
|
1717
|
+
}, yr = yi.internal, ir = "Can't reach VocalStack. Check your connection.", $s = {
|
|
1718
1718
|
NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
|
|
1719
1719
|
NotSupportedError: "This browser cannot play this.",
|
|
1720
1720
|
AbortError: "It was cancelled."
|
|
@@ -1722,34 +1722,34 @@ const Oo = /* @__PURE__ */ new Set([
|
|
|
1722
1722
|
function Tt(t) {
|
|
1723
1723
|
const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, r = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, s = e == null ? void 0 : e.details;
|
|
1724
1724
|
if (n || r && r >= 400)
|
|
1725
|
-
return n &&
|
|
1725
|
+
return n && Io.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s } : n === "unavailable" && r === void 0 ? { message: ir, code: n, details: s } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : ir, code: n, status: r, details: s } : { message: n && yi[n] || yr, code: n, status: r, details: s };
|
|
1726
1726
|
const a = (e == null ? void 0 : e.name) ?? "";
|
|
1727
|
-
return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 &&
|
|
1727
|
+
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: ir }) : $s[a] ? { message: $s[a] } : t instanceof Error && a === "Error" && !(t instanceof ri) ? { message: t.message } : { message: yr };
|
|
1728
1728
|
}
|
|
1729
|
-
const
|
|
1729
|
+
const Ti = "https://api.vocalstack.com", Dr = ni(null);
|
|
1730
1730
|
function Et() {
|
|
1731
|
-
const t =
|
|
1731
|
+
const t = Ma(Dr);
|
|
1732
1732
|
if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
|
|
1733
1733
|
return t;
|
|
1734
1734
|
}
|
|
1735
|
-
function
|
|
1736
|
-
return t.value ? /* @__PURE__ */ i(Dr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(
|
|
1735
|
+
function Oo(t) {
|
|
1736
|
+
return t.value ? /* @__PURE__ */ i(Dr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(Co, { ...t });
|
|
1737
1737
|
}
|
|
1738
|
-
function
|
|
1739
|
-
const n =
|
|
1738
|
+
function Co({ children: t, ...e }) {
|
|
1739
|
+
const n = wi(e);
|
|
1740
1740
|
return /* @__PURE__ */ i(Dr.Provider, { value: n, children: t });
|
|
1741
1741
|
}
|
|
1742
|
-
const
|
|
1743
|
-
function
|
|
1744
|
-
return
|
|
1742
|
+
const bo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
1743
|
+
function xo(t) {
|
|
1744
|
+
return bo.test(t);
|
|
1745
1745
|
}
|
|
1746
|
-
function
|
|
1747
|
-
const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id ||
|
|
1746
|
+
function wi(t) {
|
|
1747
|
+
const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || xo(t.id)), s = (t.baseUrl ?? Ti).replace(/\/$/, ""), a = v(t.token);
|
|
1748
1748
|
a.current = t.token;
|
|
1749
1749
|
const o = !!t.token, l = Ie(() => async () => {
|
|
1750
1750
|
const d = a.current;
|
|
1751
1751
|
return (typeof d == "function" ? await d() : d) || void 0;
|
|
1752
|
-
}, []), c = t.client ?? null, u = Ie(() => c ?? new
|
|
1752
|
+
}, []), c = t.client ?? null, u = Ie(() => c ?? new si({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
|
|
1753
1753
|
return Ie(() => {
|
|
1754
1754
|
if (e) return { client: u, origin: s, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
|
|
1755
1755
|
if (n) return { client: u, origin: s, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
|
|
@@ -1757,10 +1757,10 @@ function Li(t) {
|
|
|
1757
1757
|
return { client: u, origin: s, owner: r, shareCode: d, listen: null, bearer: l, cred: { shareCode: d }, readAs: d ? { shareCode: d } : {} };
|
|
1758
1758
|
}, [u, s, r, t.id, l, e, n]);
|
|
1759
1759
|
}
|
|
1760
|
-
function
|
|
1760
|
+
function Do(t, e) {
|
|
1761
1761
|
return e ? { ...t, cred: { media: e } } : t;
|
|
1762
1762
|
}
|
|
1763
|
-
async function
|
|
1763
|
+
async function So(t, e) {
|
|
1764
1764
|
if (t.listen) {
|
|
1765
1765
|
const r = await t.client.recordings.get(t.listen.recordingId, t.readAs), s = r;
|
|
1766
1766
|
return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: s.name ?? s.title ?? "", recording: r, job: s.job ?? (s.source ? { source: s.source } : null), allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
|
|
@@ -1785,11 +1785,11 @@ async function Ao(t, e) {
|
|
|
1785
1785
|
sharedBy: n.sharedBy ?? null
|
|
1786
1786
|
};
|
|
1787
1787
|
}
|
|
1788
|
-
function
|
|
1788
|
+
function Ao(t, e) {
|
|
1789
1789
|
const [n, r] = I(null), [s, a] = I(!1), [o, l] = I(null), [c, u] = I(0);
|
|
1790
1790
|
return U(() => {
|
|
1791
1791
|
let d = !0;
|
|
1792
|
-
return
|
|
1792
|
+
return So(t, e).then((g) => {
|
|
1793
1793
|
d && (r(g), a(!1), l(null));
|
|
1794
1794
|
}).catch((g) => {
|
|
1795
1795
|
if (!d) return;
|
|
@@ -1800,7 +1800,7 @@ function Eo(t, e) {
|
|
|
1800
1800
|
};
|
|
1801
1801
|
}, [t, e, c]), { source: n, gone: s, error: o, reload: () => u((d) => d + 1) };
|
|
1802
1802
|
}
|
|
1803
|
-
function
|
|
1803
|
+
function Eo(t, e) {
|
|
1804
1804
|
const [n, r] = I(null);
|
|
1805
1805
|
return U(() => {
|
|
1806
1806
|
if (!t.owner || !e) {
|
|
@@ -1834,7 +1834,7 @@ async function Bs(t, e, n = {}) {
|
|
|
1834
1834
|
return fetch(`${t.origin}${e}${a ? `${e.includes("?") ? "&" : "?"}${a}` : ""}`, { method: n.method ?? "GET", headers: s, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
|
|
1835
1835
|
}
|
|
1836
1836
|
const ar = /* @__PURE__ */ new Map();
|
|
1837
|
-
function
|
|
1837
|
+
function Li() {
|
|
1838
1838
|
const t = Et(), [e, n] = I(ar.get(t.origin) ?? null);
|
|
1839
1839
|
return U(() => {
|
|
1840
1840
|
ar.has(t.origin) || t.client.languages.list().then((r) => {
|
|
@@ -1843,7 +1843,7 @@ function ki() {
|
|
|
1843
1843
|
});
|
|
1844
1844
|
}, [t]), e;
|
|
1845
1845
|
}
|
|
1846
|
-
function
|
|
1846
|
+
function ki(t, e) {
|
|
1847
1847
|
const [n, r] = I(null), [s, a] = I(null), [o, l] = I(0);
|
|
1848
1848
|
return U(() => {
|
|
1849
1849
|
let c = !0;
|
|
@@ -1852,8 +1852,8 @@ function vi(t, e) {
|
|
|
1852
1852
|
};
|
|
1853
1853
|
}, [...e, o]), { data: n, error: s, reload: () => l((c) => c + 1) };
|
|
1854
1854
|
}
|
|
1855
|
-
const
|
|
1856
|
-
function
|
|
1855
|
+
const _o = (t) => new Promise((e) => setTimeout(e, t)), Yo = 2500, Uo = 72;
|
|
1856
|
+
function Ro(t, e) {
|
|
1857
1857
|
const n = Et(), r = v(n);
|
|
1858
1858
|
r.current = n;
|
|
1859
1859
|
const [s, a] = I($t), o = v($t()), l = v(null), c = v(e.lang ?? null), [u, d] = I(!1), [g, M] = I(null), [N, p] = I(!1), y = Ke(() => {
|
|
@@ -1887,7 +1887,7 @@ function Po(t, e) {
|
|
|
1887
1887
|
if (le.type === "snapshot")
|
|
1888
1888
|
o.current = sr(le.snapshot, le.reason === "gap" ? o.current : $t()), y(), re();
|
|
1889
1889
|
else if (le.type === "frame") {
|
|
1890
|
-
|
|
1890
|
+
fo(o.current, le.frame);
|
|
1891
1891
|
const Te = le.frame;
|
|
1892
1892
|
Te.type === "recording.state" && (S = o.current.state, (k = (K = L.current).onState) == null || k.call(K, Te.state, Te.reason)), (te = (ae = L.current).onFrame) == null || te.call(ae, Te), y();
|
|
1893
1893
|
} else le.type === "closed" && d(!1);
|
|
@@ -1922,7 +1922,7 @@ function Po(t, e) {
|
|
|
1922
1922
|
}
|
|
1923
1923
|
const J = o.current.state;
|
|
1924
1924
|
if (!Q || J === "ended" || J === "finalized" || J === "processing") return;
|
|
1925
|
-
T += 1, await
|
|
1925
|
+
T += 1, await _o(Math.min(15e3, 1e3 * 2 ** Math.min(T, 4)));
|
|
1926
1926
|
}
|
|
1927
1927
|
})(), () => {
|
|
1928
1928
|
var K;
|
|
@@ -1938,9 +1938,9 @@ function Po(t, e) {
|
|
|
1938
1938
|
O === D.current && (o.current = sr(k, o.current), _(Q), y(), k.translationPending && K > 0 && window.setTimeout(() => {
|
|
1939
1939
|
O === D.current && S(K - 1).catch(() => {
|
|
1940
1940
|
});
|
|
1941
|
-
},
|
|
1941
|
+
}, Yo));
|
|
1942
1942
|
});
|
|
1943
|
-
S(
|
|
1943
|
+
S(Uo).catch(() => {
|
|
1944
1944
|
O === D.current && Q && C(Q);
|
|
1945
1945
|
}).finally(() => {
|
|
1946
1946
|
O === D.current && f(!1);
|
|
@@ -1964,13 +1964,13 @@ const Vs = {
|
|
|
1964
1964
|
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" },
|
|
1965
1965
|
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" }
|
|
1966
1966
|
};
|
|
1967
|
-
function
|
|
1967
|
+
function vi(t) {
|
|
1968
1968
|
return t && Vs[t] || Vs.English;
|
|
1969
1969
|
}
|
|
1970
|
-
async function
|
|
1970
|
+
async function ji(t) {
|
|
1971
1971
|
var s, a, o, l, c;
|
|
1972
1972
|
const e = await t.json().catch(() => null), n = ((s = e == null ? void 0 : e.error) == null ? void 0 : s.code) ?? (e == null ? void 0 : e.code), r = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
|
|
1973
|
-
return new
|
|
1973
|
+
return new ri(typeof n == "string" ? n : "internal", typeof r == "string" ? r : yr, { 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) });
|
|
1974
1974
|
}
|
|
1975
1975
|
function or(t) {
|
|
1976
1976
|
switch (t) {
|
|
@@ -1988,14 +1988,14 @@ function or(t) {
|
|
|
1988
1988
|
return "queued";
|
|
1989
1989
|
}
|
|
1990
1990
|
}
|
|
1991
|
-
function
|
|
1991
|
+
function Po(t) {
|
|
1992
1992
|
return t ? t.progress ? { 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 } : t.state ? { state: t.state, processedS: 0, totalS: null, segmentsDone: 0, segmentsTotal: null, pct: 0, error: t.error ?? null } : null : null;
|
|
1993
1993
|
}
|
|
1994
|
-
const
|
|
1994
|
+
const Qo = (t, e) => {
|
|
1995
1995
|
const n = (t == null ? void 0 : t.segmentsDone) ?? e, r = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
|
|
1996
1996
|
return `${n} / ${r} SEGMENTS`;
|
|
1997
1997
|
};
|
|
1998
|
-
function
|
|
1998
|
+
function $o(t, e) {
|
|
1999
1999
|
var s;
|
|
2000
2000
|
const n = ((s = t == null ? void 0 : t.source) == null ? void 0 : s.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, r = t == null ? void 0 : t.crop;
|
|
2001
2001
|
if (r && (r.startS != null || r.endS != null)) {
|
|
@@ -2014,20 +2014,20 @@ function Sr(t) {
|
|
|
2014
2014
|
const e = document.createElement("a");
|
|
2015
2015
|
e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
|
|
2016
2016
|
}
|
|
2017
|
-
async function
|
|
2017
|
+
async function Bo(t) {
|
|
2018
2018
|
const e = await fetch(t, { redirect: "manual" });
|
|
2019
|
-
if (e.type !== "opaqueredirect" && !e.ok) throw await
|
|
2019
|
+
if (e.type !== "opaqueredirect" && !e.ok) throw await ji(e);
|
|
2020
2020
|
Sr(t);
|
|
2021
2021
|
}
|
|
2022
|
-
async function
|
|
2022
|
+
async function Vo(t, e, n, r = {}) {
|
|
2023
2023
|
var M, N;
|
|
2024
2024
|
const s = await t.client.recordings.export(e, n, { lang: r.lang ?? void 0, ...t.readAs });
|
|
2025
|
-
if (!s.ok) throw await
|
|
2025
|
+
if (!s.ok) throw await ji(s);
|
|
2026
2026
|
const a = await s.blob(), o = s.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], u = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, d = URL.createObjectURL(a), g = document.createElement("a");
|
|
2027
2027
|
g.href = d, g.download = u, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(d), 6e4);
|
|
2028
2028
|
}
|
|
2029
|
-
async function
|
|
2030
|
-
const { recordingId: n, lang: r, voiceKey: s, cred: a } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) =>
|
|
2029
|
+
async function Ho(t, e) {
|
|
2030
|
+
const { recordingId: n, lang: r, voiceKey: s, cred: a } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) => di(d, s);
|
|
2031
2031
|
let c = l(await o());
|
|
2032
2032
|
(!c || c.state === "clips" || c.state === "failed") && await e.request();
|
|
2033
2033
|
const u = Date.now() + (e.timeoutMs ?? 10 * 6e4);
|
|
@@ -2036,25 +2036,25 @@ async function Wo(t, e) {
|
|
|
2036
2036
|
if (Date.now() > u) throw new Error("The spoken track is taking too long; try again in a moment.");
|
|
2037
2037
|
await new Promise((d) => setTimeout(d, 4e3)), c = l(await o());
|
|
2038
2038
|
}
|
|
2039
|
-
Sr(
|
|
2039
|
+
Sr(xa(t.origin, n, r, c.voiceKey, a));
|
|
2040
2040
|
}
|
|
2041
|
-
const
|
|
2041
|
+
const zi = (t) => {
|
|
2042
2042
|
var e;
|
|
2043
2043
|
return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
|
|
2044
|
-
},
|
|
2045
|
-
function
|
|
2044
|
+
}, Wo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Hs = 0.3, Fo = 1.5;
|
|
2045
|
+
function Ii(t, e, n) {
|
|
2046
2046
|
var s;
|
|
2047
2047
|
const r = (s = t.words[t.words.length - 1]) == null ? void 0 : s.end;
|
|
2048
2048
|
return r != null && r > t.start ? r : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
|
|
2049
2049
|
}
|
|
2050
|
-
function
|
|
2050
|
+
function Go(t, e, n) {
|
|
2051
2051
|
var c, u;
|
|
2052
2052
|
const r = t[e];
|
|
2053
2053
|
if (!r) return !1;
|
|
2054
|
-
const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - Hs, a = t[e + 1], o =
|
|
2054
|
+
const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - Hs, a = t[e + 1], o = Ii(r, a, r.start + 4) + Fo, l = a ? Math.min(o, (((u = a.words[0]) == null ? void 0 : u.start) ?? a.start) - Hs) : o;
|
|
2055
2055
|
return n >= s && n < Math.max(l, s + 0.5);
|
|
2056
2056
|
}
|
|
2057
|
-
function
|
|
2057
|
+
function Zo(t, e, n) {
|
|
2058
2058
|
const r = Math.max(0, n - e), s = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), a = s.reduce((l, c) => l + c, 0) || 1;
|
|
2059
2059
|
let o = e;
|
|
2060
2060
|
return t.map((l, c) => {
|
|
@@ -2069,7 +2069,7 @@ function lr(t) {
|
|
|
2069
2069
|
bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
|
|
2070
2070
|
};
|
|
2071
2071
|
}
|
|
2072
|
-
function
|
|
2072
|
+
function qo(t, e, n = 0) {
|
|
2073
2073
|
const r = v(() => {
|
|
2074
2074
|
});
|
|
2075
2075
|
U(() => {
|
|
@@ -2132,10 +2132,10 @@ function Ko(t, e, n = 0) {
|
|
|
2132
2132
|
};
|
|
2133
2133
|
}, []);
|
|
2134
2134
|
}
|
|
2135
|
-
function
|
|
2135
|
+
function Ko({ thumbRef: t }) {
|
|
2136
2136
|
return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
|
|
2137
2137
|
}
|
|
2138
|
-
function
|
|
2138
|
+
function Jo({ error: t, onClose: e }) {
|
|
2139
2139
|
const n = v(e);
|
|
2140
2140
|
if (n.current = e, U(() => {
|
|
2141
2141
|
if (!t) return;
|
|
@@ -2155,10 +2155,10 @@ function Xo({ error: t, onClose: e }) {
|
|
|
2155
2155
|
/* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(oe, { d: X.close, size: 14 }) })
|
|
2156
2156
|
] });
|
|
2157
2157
|
}
|
|
2158
|
-
function
|
|
2158
|
+
function Oi({ color: t }) {
|
|
2159
2159
|
return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: X.voiceClone, size: 13, sw: 1.7, stroke: t }) });
|
|
2160
2160
|
}
|
|
2161
|
-
function
|
|
2161
|
+
function Zc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, next: l }) {
|
|
2162
2162
|
return /* @__PURE__ */ h("div", { className: "vs-tt", children: [
|
|
2163
2163
|
/* @__PURE__ */ h("div", { className: "vs-tt__r1", children: [
|
|
2164
2164
|
/* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
|
|
@@ -2175,7 +2175,7 @@ function Gc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, n
|
|
|
2175
2175
|
] })
|
|
2176
2176
|
] });
|
|
2177
2177
|
}
|
|
2178
|
-
function
|
|
2178
|
+
function Xo({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
|
|
2179
2179
|
const g = v(null), M = v(!1), [N, p] = I(null), y = Math.max(1, e), L = N ?? u, m = L != null ? Math.min(100, Math.max(0, L * 100)) : t / Math.max(1, y - 1) * 100, f = u != null && d > 0 && N == null ? `width ${d}ms linear, left ${d}ms linear` : "none", z = (D) => {
|
|
2180
2180
|
var j;
|
|
2181
2181
|
const V = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
|
|
@@ -2219,7 +2219,7 @@ function el({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek:
|
|
|
2219
2219
|
] })
|
|
2220
2220
|
] });
|
|
2221
2221
|
}
|
|
2222
|
-
function
|
|
2222
|
+
function el(t, e, n) {
|
|
2223
2223
|
const r = new Set(t.seqs ?? t.words.map((l) => l.seq)), s = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && r.has(l.seq) && (l.kind === "word" || l.kind === "line")), a = s.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
|
|
2224
2224
|
return {
|
|
2225
2225
|
script: a ? 0 : t.words.filter((l) => l.script && !o(l)).length,
|
|
@@ -2227,7 +2227,7 @@ function tl(t, e, n) {
|
|
|
2227
2227
|
manualCount: a ? 0 : s.filter((l) => l.kind === "word").length
|
|
2228
2228
|
};
|
|
2229
2229
|
}
|
|
2230
|
-
function
|
|
2230
|
+
function tl({ f: t, desk: e, onOpen: n }) {
|
|
2231
2231
|
const r = (s, a, o) => /* @__PURE__ */ h("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
|
|
2232
2232
|
l.stopPropagation(), n == null || n();
|
|
2233
2233
|
}, children: [
|
|
@@ -2240,7 +2240,7 @@ function nl({ f: t, desk: e, onOpen: n }) {
|
|
|
2240
2240
|
t.manual && r(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
|
|
2241
2241
|
] });
|
|
2242
2242
|
}
|
|
2243
|
-
function
|
|
2243
|
+
function nl({ onOpen: t, alone: e }) {
|
|
2244
2244
|
const [n, r] = I(!1);
|
|
2245
2245
|
return /* @__PURE__ */ h("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => r(!0), onMouseLeave: () => r(!1), onClick: (s) => {
|
|
2246
2246
|
s.stopPropagation(), t();
|
|
@@ -2249,7 +2249,7 @@ function rl({ onOpen: t, alone: e }) {
|
|
|
2249
2249
|
n && "FIX"
|
|
2250
2250
|
] });
|
|
2251
2251
|
}
|
|
2252
|
-
function
|
|
2252
|
+
function rl(t, e, n, r) {
|
|
2253
2253
|
const s = Et(), [a, o] = I([]), [l, c] = I(0), u = v(/* @__PURE__ */ new Set()), d = v(!1), g = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
|
|
2254
2254
|
U(() => {
|
|
2255
2255
|
u.current = /* @__PURE__ */ new Set();
|
|
@@ -2276,13 +2276,13 @@ function sl(t, e, n, r) {
|
|
|
2276
2276
|
}
|
|
2277
2277
|
}, [t, e, a, l, g, r]), M;
|
|
2278
2278
|
}
|
|
2279
|
-
function
|
|
2279
|
+
function sl(t) {
|
|
2280
2280
|
return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
|
|
2281
2281
|
}
|
|
2282
2282
|
function Jt(t, e) {
|
|
2283
2283
|
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 };
|
|
2284
2284
|
}
|
|
2285
|
-
function
|
|
2285
|
+
function il(t, e) {
|
|
2286
2286
|
const n = t.slice().sort((s, a) => Jt(s, e).rank - Jt(a, e).rank || s.name.localeCompare(a.name, void 0, { numeric: !0 })), r = {};
|
|
2287
2287
|
for (const s of n) {
|
|
2288
2288
|
const a = Jt(s, e).head;
|
|
@@ -2293,7 +2293,7 @@ function al(t, e) {
|
|
|
2293
2293
|
return { v: s, headOn: l, head: o, headCount: r[o], rule: l ? "0" : "1px solid var(--hair)" };
|
|
2294
2294
|
});
|
|
2295
2295
|
}
|
|
2296
|
-
function
|
|
2296
|
+
function al(t, e, n) {
|
|
2297
2297
|
const r = /* @__PURE__ */ new Set();
|
|
2298
2298
|
let s = !1;
|
|
2299
2299
|
for (const o of t)
|
|
@@ -2304,7 +2304,7 @@ function ol(t, e, n) {
|
|
|
2304
2304
|
return {
|
|
2305
2305
|
key: o,
|
|
2306
2306
|
name: br(e, o),
|
|
2307
|
-
initial:
|
|
2307
|
+
initial: mi(e, o),
|
|
2308
2308
|
lane: l.lane,
|
|
2309
2309
|
sex: e.speakerSex[o] ?? null,
|
|
2310
2310
|
voiceId: ((c = e.speakerIds[o]) == null ? void 0 : c.voiceId) ?? null,
|
|
@@ -2343,7 +2343,7 @@ function Gs(t, e, n = !0) {
|
|
|
2343
2343
|
}
|
|
2344
2344
|
return a;
|
|
2345
2345
|
}
|
|
2346
|
-
function
|
|
2346
|
+
function ol({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: a, warn: o, sexOf: l, t: c }) {
|
|
2347
2347
|
const u = t.find((d) => d.key === e) ?? t[0] ?? null;
|
|
2348
2348
|
return u ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((d) => {
|
|
2349
2349
|
const g = d.key === u.key, M = d.key >= 0 ? (o == null ? void 0 : o(d)) ?? null : null, N = d.key >= 0 && !M && !!(s != null && s(d)), p = d.key >= 0 && !M && !N && r(d), y = d.key >= 0 && !M && !N && !p && !d.hasVoice && !!(a != null && a(d));
|
|
@@ -2365,7 +2365,7 @@ function ll({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
|
|
|
2365
2365
|
}
|
|
2366
2366
|
),
|
|
2367
2367
|
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: d.name }),
|
|
2368
|
-
d.hasVoice && !M && /* @__PURE__ */ i(
|
|
2368
|
+
d.hasVoice && !M && /* @__PURE__ */ i(Oi, { color: d.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
|
|
2369
2369
|
M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
|
|
2370
2370
|
y && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: X.micOff, size: 13, sw: 1.7 }) }),
|
|
2371
2371
|
(p || 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(at, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
|
|
@@ -2375,8 +2375,8 @@ function ll({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
|
|
|
2375
2375
|
);
|
|
2376
2376
|
}) }) : null;
|
|
2377
2377
|
}
|
|
2378
|
-
function
|
|
2379
|
-
const y = Ie(() =>
|
|
2378
|
+
function ll({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: g = null, problem: M, noClone: N = null, t: p }) {
|
|
2379
|
+
const y = Ie(() => il(e, p), [e, p]), [L, m] = I({});
|
|
2380
2380
|
U(() => {
|
|
2381
2381
|
m({});
|
|
2382
2382
|
}, [d, g]);
|
|
@@ -2389,7 +2389,7 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2389
2389
|
M && /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
|
|
2390
2390
|
/* @__PURE__ */ i(oe, { d: X.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
|
|
2391
2391
|
/* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
|
|
2392
|
-
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(
|
|
2392
|
+
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(za, { value: M, label: "Copy this error" }) })
|
|
2393
2393
|
] }),
|
|
2394
2394
|
t,
|
|
2395
2395
|
N && /* @__PURE__ */ h(xe, { children: [
|
|
@@ -2405,8 +2405,8 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2405
2405
|
] })
|
|
2406
2406
|
] }),
|
|
2407
2407
|
y.map(({ v: D, headOn: V, head: _, headCount: ee, rule: j }, E) => {
|
|
2408
|
-
const Q =
|
|
2409
|
-
return /* @__PURE__ */ h(
|
|
2408
|
+
const Q = sl(D), T = a === D.id, O = z(_), S = (u == null ? void 0 : u(D)) ?? null;
|
|
2409
|
+
return /* @__PURE__ */ h(ga, { children: [
|
|
2410
2410
|
V && _ === p.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: E === 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: _ }) }),
|
|
2411
2411
|
V && _ !== p.vcSheet && /* @__PURE__ */ h(
|
|
2412
2412
|
"button",
|
|
@@ -2436,8 +2436,8 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2436
2436
|
style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: O ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: O ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: r === D.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: O ? 1 : 0, maxHeight: O ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
|
|
2437
2437
|
children: [
|
|
2438
2438
|
/* @__PURE__ */ i("span", { title: T ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: T ? "transparent" : D.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: T ? /* @__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" } }) : s === D.id ? /* @__PURE__ */ h("span", { className: "vcplay", children: [
|
|
2439
|
-
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(
|
|
2440
|
-
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(
|
|
2439
|
+
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(cl, { height: 13, width: 2.5 }) }),
|
|
2440
|
+
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(ka, { size: 11 }) })
|
|
2441
2441
|
] }) : /* @__PURE__ */ i(oe, { d: D.cloned ? X.voiceClone : D.gender === "female" ? X.venus : D.gender === "male" ? X.mars : X.mic, size: 15, sw: 1.6, style: { color: D.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
|
|
2442
2442
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2443
2443
|
/* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: D.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: D.name }) }),
|
|
@@ -2465,7 +2465,7 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2465
2465
|
C && /* @__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: () => r && c(r), children: /* @__PURE__ */ i("span", { children: p.vcUse }) }) })
|
|
2466
2466
|
] });
|
|
2467
2467
|
}
|
|
2468
|
-
function
|
|
2468
|
+
function cl({ height: t, width: e = 2 }) {
|
|
2469
2469
|
const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
|
|
2470
2470
|
return /* @__PURE__ */ h("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
|
|
2471
2471
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
|
|
@@ -2473,16 +2473,16 @@ function ul({ height: t, width: e = 2 }) {
|
|
|
2473
2473
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
|
|
2474
2474
|
] });
|
|
2475
2475
|
}
|
|
2476
|
-
const
|
|
2476
|
+
const ul = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
|
|
2477
2477
|
/* @__PURE__ */ i(oe, { d: X.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
|
|
2478
2478
|
/* @__PURE__ */ i(oe, { d: X.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
|
|
2479
2479
|
] });
|
|
2480
2480
|
function wr(t, e) {
|
|
2481
2481
|
const n = e ? t == null ? void 0 : t.languages.find((r) => r.code === e) : null;
|
|
2482
|
-
return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" :
|
|
2482
|
+
return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : ul, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
|
|
2483
2483
|
}
|
|
2484
|
-
function
|
|
2485
|
-
const s = (r == null ? void 0 : r.id) ?? null, a = (r == null ? void 0 : r.token) ?? null, o = (r == null ? void 0 : r.shareCode) ?? null, l = Et(), { data: c } =
|
|
2484
|
+
function dl(t, e, n = 0, r) {
|
|
2485
|
+
const s = (r == null ? void 0 : r.id) ?? null, a = (r == null ? void 0 : r.token) ?? null, o = (r == null ? void 0 : r.shareCode) ?? null, l = Et(), { data: c } = ki(async () => {
|
|
2486
2486
|
if (!t || !e) return null;
|
|
2487
2487
|
try {
|
|
2488
2488
|
return await l.client.voices.available(t, { recording: s ?? void 0, shareCode: s ? o ?? void 0 : void 0, asOwner: l.owner });
|
|
@@ -2492,18 +2492,18 @@ function hl(t, e, n = 0, r) {
|
|
|
2492
2492
|
}, [t, e, n, s, a, o]);
|
|
2493
2493
|
return c;
|
|
2494
2494
|
}
|
|
2495
|
-
function
|
|
2495
|
+
function hl(t) {
|
|
2496
2496
|
return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
|
|
2497
2497
|
}
|
|
2498
|
-
function
|
|
2499
|
-
const o = Et(), { data: l, reload: c } =
|
|
2498
|
+
function Ml({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: a }) {
|
|
2499
|
+
const o = Et(), { data: l, reload: c } = ki(async () => {
|
|
2500
2500
|
if (!t || !e) return null;
|
|
2501
2501
|
const K = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
|
|
2502
2502
|
return { recordingId: t, lang: e, rows: K.filter((k) => k.lang === e) };
|
|
2503
2503
|
}, [t, e, o, n]), u = Ie(
|
|
2504
2504
|
() => l && l.lang === e && l.recordingId === t ? l.rows : [],
|
|
2505
2505
|
[l, e, t]
|
|
2506
|
-
), d = Ie(() =>
|
|
2506
|
+
), d = Ie(() => di(u, s), [u, s]), g = d ? d.voiceKey || null : s, [M, N] = I(null), [p, y] = I(null), L = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, f = Ke(async (K, k) => {
|
|
2507
2507
|
if (!t || !e || !n) return;
|
|
2508
2508
|
const ae = k != null && k.size ? null : Fs(K), te = k != null && k.size ? k : ae, G = te && te.size ? Object.fromEntries([...te].map(([Te, je]) => [String(Te), je])) : null, J = `${t}|${e}|${G ? JSON.stringify(G) : K ?? ""}`;
|
|
2509
2509
|
if (L.current.has(J)) return;
|
|
@@ -2547,12 +2547,12 @@ function gl({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
|
|
|
2547
2547
|
const S = Ie(() => {
|
|
2548
2548
|
if (!t) return [];
|
|
2549
2549
|
const K = V ? V.split(",").map(Number).filter((ae) => !n || j.has(ae)) : void 0, k = d ?? (K != null && K.length && e ? { lang: e, voiceKey: s ?? "", clips: [], voice: null } : null);
|
|
2550
|
-
return
|
|
2550
|
+
return Ya(k, t, o.origin, r, K);
|
|
2551
2551
|
}, [d, t, o, r, V, e, s, n, j]), re = Ie(() => new Set(E), [E]);
|
|
2552
2552
|
return { listed: l, rows: u, track: d, renderVoiceId: g, rendering: C, failed: D, clips: S, requestRender: f, forget: z, reload: c, setNear: ee, missing: E.length, coming: re };
|
|
2553
2553
|
}
|
|
2554
|
-
const
|
|
2555
|
-
function
|
|
2554
|
+
const gl = { share: X.share, delay: X.tabGauge, video: X.video, source: X.tabSources, script: X.tabScript, fix: X.tabFix, ending: X.tabEnding, summary: X.tabSummary, export: X.tabExport, settings: X.tabSettings, sources: X.tabSources, recs: X.mic };
|
|
2555
|
+
function Ci({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s }) {
|
|
2556
2556
|
const o = s && t.length <= 3, l = t.some((L) => L.key === e), [c, u] = I(null), d = v(null), [g, M] = I(0);
|
|
2557
2557
|
U(() => {
|
|
2558
2558
|
d.current && M(d.current.offsetWidth);
|
|
@@ -2570,7 +2570,7 @@ function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
|
|
|
2570
2570
|
let y = null;
|
|
2571
2571
|
if (c) {
|
|
2572
2572
|
const L = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = g || 80, f = Math.max(L.l + 8, Math.min(L.r - m - 8, c.x - m / 2));
|
|
2573
|
-
y =
|
|
2573
|
+
y = Na(
|
|
2574
2574
|
/* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ h("div", { ref: d, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: f, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
|
|
2575
2575
|
/* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
|
|
2576
2576
|
/* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(m - 19, c.x - f - 5.5))) } })
|
|
@@ -2580,7 +2580,7 @@ function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
|
|
|
2580
2580
|
}
|
|
2581
2581
|
return /* @__PURE__ */ h("div", { role: "tablist", className: `tabbar tabbar--icons${s ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: r ? 12 : 0 }, onMouseLeave: p, children: [
|
|
2582
2582
|
t.map((L) => {
|
|
2583
|
-
const m = e === L.key, f = o || m, z = o ? "1 1 0" : m ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = L.icon ??
|
|
2583
|
+
const m = e === L.key, f = o || m, z = o ? "1 1 0" : m ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = L.icon ?? gl[L.key], D = () => {
|
|
2584
2584
|
p(), n(s && m ? "none" : L.key);
|
|
2585
2585
|
};
|
|
2586
2586
|
return s ? /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, title: L.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: z }, onClick: D, children: [
|
|
@@ -2594,8 +2594,8 @@ function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
|
|
|
2594
2594
|
y
|
|
2595
2595
|
] });
|
|
2596
2596
|
}
|
|
2597
|
-
const
|
|
2598
|
-
function
|
|
2597
|
+
const fl = "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";
|
|
2598
|
+
function Nl({ audio: t, video: e, formats: n, onExport: r }) {
|
|
2599
2599
|
const [s, a] = I(null), [o, l] = I(null), c = v(void 0), u = v(!0);
|
|
2600
2600
|
U(() => (u.current = !0, () => {
|
|
2601
2601
|
u.current = !1, window.clearTimeout(c.current);
|
|
@@ -2624,11 +2624,11 @@ function ml({ audio: t, video: e, formats: n, onExport: r }) {
|
|
|
2624
2624
|
/* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: y.name }),
|
|
2625
2625
|
/* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: y.meta })
|
|
2626
2626
|
] }),
|
|
2627
|
-
/* @__PURE__ */ i(oe, { d: s === p ? X.check :
|
|
2627
|
+
/* @__PURE__ */ i(oe, { d: s === p ? X.check : fl, size: 17, sw: 1.6, style: { flex: "none", color: s === p ? "var(--brand)" : "var(--ink-62)" } })
|
|
2628
2628
|
] })
|
|
2629
2629
|
] });
|
|
2630
2630
|
return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
2631
|
-
t && N("audio", t,
|
|
2631
|
+
t && N("audio", t, pl, "DOWNLOAD AUDIO"),
|
|
2632
2632
|
e && N("video", e, X.video, "DOWNLOAD VIDEO"),
|
|
2633
2633
|
n !== !1 && /* @__PURE__ */ h(xe, { children: [
|
|
2634
2634
|
/* @__PURE__ */ i(gr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
|
|
@@ -2653,7 +2653,7 @@ function Ar(t, e, n) {
|
|
|
2653
2653
|
}
|
|
2654
2654
|
r();
|
|
2655
2655
|
}
|
|
2656
|
-
function
|
|
2656
|
+
function ml(t, e, n) {
|
|
2657
2657
|
const [r, s] = I(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
|
|
2658
2658
|
${t.summary}` : ""}`, l = Et();
|
|
2659
2659
|
return U(() => {
|
|
@@ -2670,12 +2670,12 @@ ${t.summary}` : ""}`, l = Et();
|
|
|
2670
2670
|
};
|
|
2671
2671
|
}, [o, l]), !n || !a ? t : (r == null ? void 0 : r.key) === o ? r.s : { state: "pending", retry: t.retry };
|
|
2672
2672
|
}
|
|
2673
|
-
function
|
|
2673
|
+
function yl(t) {
|
|
2674
2674
|
return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
|
|
2675
2675
|
} } : { state: "unavailable", retry: () => {
|
|
2676
2676
|
} };
|
|
2677
2677
|
}
|
|
2678
|
-
function
|
|
2678
|
+
function Tl({ s: t }) {
|
|
2679
2679
|
const [e, n] = I(!1), r = v(void 0);
|
|
2680
2680
|
U(() => () => window.clearTimeout(r.current), []);
|
|
2681
2681
|
const s = t.title ?? "", a = t.summary ?? "", o = () => {
|
|
@@ -2692,7 +2692,7 @@ ${a}`).catch(() => {
|
|
|
2692
2692
|
/* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
|
|
2693
2693
|
/* @__PURE__ */ i(gr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
|
|
2694
2694
|
t.state === "ready" && /* @__PURE__ */ h("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
|
|
2695
|
-
/* @__PURE__ */ i(oe, { d: e ? X.check :
|
|
2695
|
+
/* @__PURE__ */ i(oe, { d: e ? X.check : kl, size: 13, sw: 1.6 }),
|
|
2696
2696
|
e ? "Copied" : "Copy"
|
|
2697
2697
|
] })
|
|
2698
2698
|
] }),
|
|
@@ -2705,15 +2705,15 @@ ${a}`).catch(() => {
|
|
|
2705
2705
|
] })
|
|
2706
2706
|
] });
|
|
2707
2707
|
}
|
|
2708
|
-
function
|
|
2708
|
+
function wl({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: a, children: o, picture: l }) {
|
|
2709
2709
|
return /* @__PURE__ */ h("div", { className: "livevid", style: { ...r != null ? { borderRadius: r } : null, ...s }, children: [
|
|
2710
2710
|
/* @__PURE__ */ i(oe, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
|
|
2711
|
-
l ?? /* @__PURE__ */ i("iframe", { src:
|
|
2711
|
+
l ?? /* @__PURE__ */ i("iframe", { src: Wo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
|
|
2712
2712
|
n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
|
|
2713
2713
|
o
|
|
2714
2714
|
] });
|
|
2715
2715
|
}
|
|
2716
|
-
function
|
|
2716
|
+
function Ll(t = !0, e) {
|
|
2717
2717
|
const n = v(null), r = e ?? n;
|
|
2718
2718
|
return U(() => {
|
|
2719
2719
|
const s = r.current;
|
|
@@ -2734,9 +2734,9 @@ function kl(t = !0, e) {
|
|
|
2734
2734
|
};
|
|
2735
2735
|
}, [t]), r;
|
|
2736
2736
|
}
|
|
2737
|
-
const
|
|
2738
|
-
function
|
|
2739
|
-
const [n, r] =
|
|
2737
|
+
const kl = "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";
|
|
2738
|
+
function vl(t, e) {
|
|
2739
|
+
const [n, r] = Ra(t), s = e.tabs.map((f) => f.key), a = e.tabbed !== !1, o = e.pinnable ?? s;
|
|
2740
2740
|
let l = n;
|
|
2741
2741
|
[...e.autoPin ?? []].reverse().forEach((f) => {
|
|
2742
2742
|
s.includes(f) && !l.includes(f) && !l.includes(`!${f}`) && (l = [f, ...l]);
|
|
@@ -2774,8 +2774,8 @@ function jl(t, e) {
|
|
|
2774
2774
|
};
|
|
2775
2775
|
return { id: t, tabbed: a && g.length > 1, cur: M, seq: d, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((f) => g.includes(f.key)), panel: m, pin: p, unpin: y };
|
|
2776
2776
|
}
|
|
2777
|
-
function
|
|
2778
|
-
return
|
|
2777
|
+
function jl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
|
|
2778
|
+
return zl(t), /* @__PURE__ */ h(xe, { children: [
|
|
2779
2779
|
e.map((o) => {
|
|
2780
2780
|
const l = t.panel(o);
|
|
2781
2781
|
if (!l.show) return null;
|
|
@@ -2785,13 +2785,13 @@ function zl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
|
|
|
2785
2785
|
l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: X.pin, size: 12, sw: 2 }) })
|
|
2786
2786
|
] }, o) : null;
|
|
2787
2787
|
}),
|
|
2788
|
-
t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(
|
|
2788
|
+
t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Ci, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
|
|
2789
2789
|
o !== "none" && (s ?? (() => {
|
|
2790
2790
|
}))(o);
|
|
2791
2791
|
}, fold: !1 }) })
|
|
2792
2792
|
] });
|
|
2793
2793
|
}
|
|
2794
|
-
function
|
|
2794
|
+
function zl(t) {
|
|
2795
2795
|
const e = v(t);
|
|
2796
2796
|
e.current = t;
|
|
2797
2797
|
const n = t.id;
|
|
@@ -2892,9 +2892,9 @@ function Il(t) {
|
|
|
2892
2892
|
};
|
|
2893
2893
|
}, [n]);
|
|
2894
2894
|
}
|
|
2895
|
-
function
|
|
2896
|
-
const [o, l] =
|
|
2897
|
-
|
|
2895
|
+
function Il({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
|
|
2896
|
+
const [o, l] = Qa(t), c = v(null), u = v(null);
|
|
2897
|
+
Ol(u), U(() => {
|
|
2898
2898
|
document.documentElement.style.setProperty("--colw", `${o}px`);
|
|
2899
2899
|
}, [o]);
|
|
2900
2900
|
const d = (M) => {
|
|
@@ -2918,7 +2918,7 @@ function Ol({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
|
|
|
2918
2918
|
/* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: s ? a : /* @__PURE__ */ i("div", { ref: u, "data-panel-grid": "", className: "panelgrid", children: a }) })
|
|
2919
2919
|
] });
|
|
2920
2920
|
}
|
|
2921
|
-
function
|
|
2921
|
+
function Ol(t) {
|
|
2922
2922
|
U(() => {
|
|
2923
2923
|
const e = t.current;
|
|
2924
2924
|
if (!e) return;
|
|
@@ -2946,11 +2946,11 @@ function Cl(t) {
|
|
|
2946
2946
|
};
|
|
2947
2947
|
}, [t]);
|
|
2948
2948
|
}
|
|
2949
|
-
function
|
|
2949
|
+
function Cl(t) {
|
|
2950
2950
|
return /\bwas not captured\b/i.test(t ?? "");
|
|
2951
2951
|
}
|
|
2952
|
-
const
|
|
2953
|
-
function
|
|
2952
|
+
const bl = 1500, xl = 3e5;
|
|
2953
|
+
function Dl(t) {
|
|
2954
2954
|
const e = Et(), [n, r] = I(null), [s, a] = I(null), [o, l] = I(null), [c, u] = I(null), d = v(null), g = v(null), M = v(null), N = v(0), p = Ke(() => {
|
|
2955
2955
|
M.current && (clearTimeout(M.current), M.current = null), d.current && (d.current.pause(), d.current.removeAttribute("src"), d.current.load(), d.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
|
|
2956
2956
|
}, []), y = Ke(() => {
|
|
@@ -2982,13 +2982,13 @@ function Sl(t) {
|
|
|
2982
2982
|
}
|
|
2983
2983
|
if (N.current !== z) return;
|
|
2984
2984
|
if (_.status === 202 || _.status === 503) {
|
|
2985
|
-
if (Date.now() - D >
|
|
2985
|
+
if (Date.now() - D > xl) {
|
|
2986
2986
|
l(null), u({ message: "This voice is still being fetched. Try it again in a moment." });
|
|
2987
2987
|
return;
|
|
2988
2988
|
}
|
|
2989
2989
|
l(f.id), M.current = setTimeout(() => {
|
|
2990
2990
|
V();
|
|
2991
|
-
},
|
|
2991
|
+
}, bl);
|
|
2992
2992
|
return;
|
|
2993
2993
|
}
|
|
2994
2994
|
if (!_.ok) {
|
|
@@ -3013,13 +3013,13 @@ function Sl(t) {
|
|
|
3013
3013
|
}, [t, p, e]);
|
|
3014
3014
|
return { armId: n, sampleId: s, dlId: o, error: c, clearError: () => u(null), arm: m, stop: y, reset: L };
|
|
3015
3015
|
}
|
|
3016
|
-
const Lr = 0.05,
|
|
3016
|
+
const Lr = 0.05, bi = (t, e) => {
|
|
3017
3017
|
let n = 0;
|
|
3018
3018
|
for (let r = 0; r < t.length; r++) t[r].start <= e + 1e-6 && (n = r);
|
|
3019
3019
|
return n;
|
|
3020
3020
|
};
|
|
3021
|
-
function
|
|
3022
|
-
const s = Math.max(0, e), a = r > 0 && s >= r - Lr, o = t.length && t[0].start <= s + 1e-6 ?
|
|
3021
|
+
function Sl(t, e, n, r) {
|
|
3022
|
+
const s = Math.max(0, e), a = r > 0 && s >= r - Lr, o = t.length && t[0].start <= s + 1e-6 ? bi(t, s) : -1;
|
|
3023
3023
|
return o < 0 ? { t: s, playing: n && !a, sentenceId: null, offset: 0, ended: a } : { t: s, playing: n && !a, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, s - t[o].start), ended: a };
|
|
3024
3024
|
}
|
|
3025
3025
|
function Ln(t, e, n) {
|
|
@@ -3034,18 +3034,18 @@ function Ln(t, e, n) {
|
|
|
3034
3034
|
}
|
|
3035
3035
|
a = Math.max(0, Math.min(r, a));
|
|
3036
3036
|
const o = r > 0 && a >= r - Lr && s < 0;
|
|
3037
|
-
return { t: a, playing: t.playing && !o, index: s >= 0 ? s :
|
|
3037
|
+
return { t: a, playing: t.playing && !o, index: s >= 0 ? s : bi(e, a) };
|
|
3038
3038
|
}
|
|
3039
|
-
function
|
|
3039
|
+
function xi(t, e, n) {
|
|
3040
3040
|
var c;
|
|
3041
3041
|
const r = t[e], s = n && r.translations[n] && r.language !== n ? r.translations[n] : null;
|
|
3042
3042
|
if (!s && r.words.length) return r.words;
|
|
3043
|
-
const a = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l =
|
|
3044
|
-
return
|
|
3043
|
+
const a = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l = Ii(r, t[e + 1], r.start + Math.max(2, a.length * 0.4));
|
|
3044
|
+
return Zo(a, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
|
|
3045
3045
|
}
|
|
3046
3046
|
function Zs(t, e, n) {
|
|
3047
3047
|
if (!t.engaged || e !== t.idx || !n.length) return null;
|
|
3048
|
-
if (!t.wordSync) return t.clipPos ?
|
|
3048
|
+
if (!t.wordSync) return t.clipPos ? hi(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
|
|
3049
3049
|
const r = t.t;
|
|
3050
3050
|
let s = -1;
|
|
3051
3051
|
for (let a = 0; a < n.length && n[a].start <= r; a++) s = a;
|
|
@@ -3063,7 +3063,7 @@ function At(t, e, n) {
|
|
|
3063
3063
|
const r = (s = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : s.end;
|
|
3064
3064
|
return r != null && r > e ? r : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
|
|
3065
3065
|
}
|
|
3066
|
-
function
|
|
3066
|
+
function Al({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: M = !1 }) {
|
|
3067
3067
|
const N = v(null), [p, y] = I(!1);
|
|
3068
3068
|
U(() => {
|
|
3069
3069
|
if (!M) {
|
|
@@ -3191,22 +3191,22 @@ function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
|
|
|
3191
3191
|
] })
|
|
3192
3192
|
] });
|
|
3193
3193
|
}
|
|
3194
|
-
const
|
|
3194
|
+
const El = /* @__PURE__ */ h(xe, { children: [
|
|
3195
3195
|
/* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
|
|
3196
3196
|
/* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
|
|
3197
|
-
] }),
|
|
3198
|
-
function
|
|
3197
|
+
] }), _l = /* @__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" });
|
|
3198
|
+
function Yl({ player: t, size: e }) {
|
|
3199
3199
|
const n = t.muted ? "Unmute" : "Mute";
|
|
3200
3200
|
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(oe, { d: t.muted ? X.volumeOff : X.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
|
|
3201
3201
|
}
|
|
3202
|
-
function
|
|
3202
|
+
function Ul() {
|
|
3203
3203
|
const [t, e] = I(""), n = v(null), r = Ke((s) => {
|
|
3204
3204
|
clearTimeout(n.current), e(s), n.current = setTimeout(() => e(""), 3e3);
|
|
3205
3205
|
}, []);
|
|
3206
3206
|
return U(() => () => clearTimeout(n.current), []), [t, r];
|
|
3207
3207
|
}
|
|
3208
|
-
const
|
|
3209
|
-
function
|
|
3208
|
+
const Rl = 0.2, Pl = 140, Ql = 320;
|
|
3209
|
+
function $l(t, e) {
|
|
3210
3210
|
const n = v(t);
|
|
3211
3211
|
n.current = t;
|
|
3212
3212
|
const r = v(0), s = v(1), a = Ke((o, l) => {
|
|
@@ -3220,13 +3220,13 @@ function Bl(t, e) {
|
|
|
3220
3220
|
d();
|
|
3221
3221
|
}, []);
|
|
3222
3222
|
U(() => {
|
|
3223
|
-
a(e ?
|
|
3223
|
+
a(e ? Rl : 1, e ? Pl : Ql);
|
|
3224
3224
|
}, [e, a]), U(() => () => {
|
|
3225
3225
|
cancelAnimationFrame(r.current), s.current = 1;
|
|
3226
3226
|
for (const o of n.current) o.setVolume(1);
|
|
3227
3227
|
}, []);
|
|
3228
3228
|
}
|
|
3229
|
-
function
|
|
3229
|
+
function Bl(t, e, n, r) {
|
|
3230
3230
|
var Se;
|
|
3231
3231
|
const s = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [u, d] = I(!0), g = v(!0), M = v(!1), [N, p] = I(0), y = v(0);
|
|
3232
3232
|
y.current = N;
|
|
@@ -3369,7 +3369,7 @@ function Vl(t, e, n, r) {
|
|
|
3369
3369
|
setVolume: (B) => _("setVolume", [Math.round(B * 100)])
|
|
3370
3370
|
}, lead: Q, setVideoSound: we };
|
|
3371
3371
|
}
|
|
3372
|
-
function
|
|
3372
|
+
function Vl(t, e, n, r, s = 0, a = null) {
|
|
3373
3373
|
var A;
|
|
3374
3374
|
const o = v(null), [l, c] = I(!1), [u, d] = I(0), [g, M] = I(!1), N = v(g);
|
|
3375
3375
|
N.current = g;
|
|
@@ -3383,16 +3383,16 @@ function Hl(t, e, n, r, s = 0, a = null) {
|
|
|
3383
3383
|
c(!1), o.current = null;
|
|
3384
3384
|
return;
|
|
3385
3385
|
}
|
|
3386
|
-
const H =
|
|
3386
|
+
const H = ci(t), ce = z.current;
|
|
3387
3387
|
return H.preload = "metadata", H.muted = N.current || p.current, H.onplay = () => c(!0), H.onpause = () => c(!1), H.onended = () => c(!1), H.onloadedmetadata = () => {
|
|
3388
3388
|
f(!0), H.currentTime = ((b == null ? void 0 : b.t) ?? 0) + ce, b != null && b.playing && H.play().catch((F) => {
|
|
3389
3389
|
b.asked && (F == null ? void 0 : F.name) === "NotAllowedError" || L(Tt(F));
|
|
3390
3390
|
});
|
|
3391
3391
|
}, H.onerror = () => {
|
|
3392
3392
|
c(!1);
|
|
3393
|
-
const F = H.error, me =
|
|
3394
|
-
|
|
3395
|
-
|
|
3393
|
+
const F = H.error, me = Sa(F, !1);
|
|
3394
|
+
Ca(t).then((Z) => {
|
|
3395
|
+
Cl(Z == null ? void 0 : Z.message) || oi(F), o.current === H && (L({ message: (Z == null ? void 0 : Z.message) ?? me }), Z != null && Z.permanent || (o.current = null));
|
|
3396
3396
|
});
|
|
3397
3397
|
}, o.current = H, () => {
|
|
3398
3398
|
C.current = { t: Math.max(0, H.currentTime - ce), playing: !H.paused && !H.ended }, H.pause(), H.onplay = H.onpause = H.onended = H.onloadedmetadata = H.onerror = null, o.current = null;
|
|
@@ -3561,7 +3561,7 @@ function Hl(t, e, n, r, s = 0, a = null) {
|
|
|
3561
3561
|
}
|
|
3562
3562
|
};
|
|
3563
3563
|
}
|
|
3564
|
-
function
|
|
3564
|
+
function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
3565
3565
|
const c = v(/* @__PURE__ */ new Set());
|
|
3566
3566
|
c.current = l ?? c.current;
|
|
3567
3567
|
const u = v(null), [d, g] = I(!1), [M, N] = I(0), [p, y] = I(0), [L, m] = I(!1), f = v(L);
|
|
@@ -3582,7 +3582,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3582
3582
|
const q = G.current.findIndex((ne) => ne.sentenceId === R);
|
|
3583
3583
|
q >= 0 && N(q);
|
|
3584
3584
|
}, Y.onError = (R) => {
|
|
3585
|
-
g(Y.playing), C(R instanceof
|
|
3585
|
+
g(Y.playing), C(R 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." });
|
|
3586
3586
|
}, Y.gapBefore = (R, q) => {
|
|
3587
3587
|
if (!J.current) return 0;
|
|
3588
3588
|
const ne = G.current, de = ne.find((Ce) => Ce.sentenceId === R), Oe = ne.find((Ce) => Ce.sentenceId === q);
|
|
@@ -3675,7 +3675,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3675
3675
|
return { from: q, span: Math.max(0, ne - q) };
|
|
3676
3676
|
}, he = $(Z), ue = Math.max(0, Math.min(he.span, At(e[Z], he.from, he.from + 4) - he.from)), ie = j ? j.t : o ? S != null && ae ? he.from + Math.min(he.span, S) : S != null ? K != null ? Math.min(he.from, K + S) : he.from + Math.min(he.span, ue + S) : T && T.dur > 0 ? he.from + Math.min(ue, T.t / T.dur * ue) : he.from : T && T.dur > 0 ? he.from + Math.min(he.span, T.t / T.dur * he.span) : he.from;
|
|
3677
3677
|
U(() => {
|
|
3678
|
-
we.current = _e.current ??
|
|
3678
|
+
we.current = _e.current ?? Sl(e, ie, d, ze);
|
|
3679
3679
|
});
|
|
3680
3680
|
const fe = {
|
|
3681
3681
|
playing: d || Pe,
|
|
@@ -3810,22 +3810,22 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3810
3810
|
(q = fe.seekFrac) == null || q.call(fe, R.t / ze), R.playing && ge(Ae.current);
|
|
3811
3811
|
}, fe;
|
|
3812
3812
|
}
|
|
3813
|
-
const
|
|
3814
|
-
},
|
|
3815
|
-
function
|
|
3813
|
+
const Wl = () => {
|
|
3814
|
+
}, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
|
|
3815
|
+
function Zl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: M = !1, timed: N = !1, stockVoices: p = !1, stickyPicker: y = !1, pickerBusy: L = null, voiceSheet: m, forcedVoice: f = null }) {
|
|
3816
3816
|
var on, Gt, Zt, qt;
|
|
3817
|
-
const { onAddVoice: z, onPickVoice: C, onSelectSpeaker: D, noCloneFor: V, castNoClone: _, castShort: ee, castBuilding: j, castWarn: E, badge: Q, titleNode: T } = m ?? {}, O = !!m, S = !!(m != null && m.pendingClones), [re, K] =
|
|
3817
|
+
const { onAddVoice: z, onPickVoice: C, onSelectSpeaker: D, noCloneFor: V, castNoClone: _, castShort: ee, castBuilding: j, castWarn: E, badge: Q, titleNode: T } = m ?? {}, O = !!m, S = !!(m != null && m.pendingClones), [re, K] = gi(), [k, ae] = I(null), [te, G] = I(!1), [J, pe] = I(!1), [le, Te] = I(!1), [je, Ee] = I(!1), Le = u ?? l, we = u === null, _e = u != null || k != null, Se = ((P) => !!P && !!(o != null && o.voice.includes(P)))(we ? l : Le) ? we ? l : Le : "en", B = Dl(Se), W = (m == null ? void 0 : m.cloneOn) ?? !0, [A, b] = I(0), H = v(W);
|
|
3818
3818
|
U(() => {
|
|
3819
3819
|
H.current !== W && (H.current = W, b((P) => P + 1));
|
|
3820
3820
|
}, [W]);
|
|
3821
|
-
const ce =
|
|
3821
|
+
const ce = dl(Se, _e || s || J, hl(e) * 1e3 + A, { id: t ?? null, shareCode: a.shareCode ?? null }), F = Ie(() => ((ce == null ? void 0 : ce.voices) ?? []).filter((P) => O || !P.cloned || P.speaker != null), [ce, O]), me = F.length > 1, Z = wr(o, Le), ke = vi(), ze = Ie(() => fi(o, "translation"), [o]), [Ge, Ae] = I(null), [ge] = I(() => /* @__PURE__ */ new Set()), [Ye, Ve] = I({}), $ = Ie(() => al(n, e, ke.vcUnknownSpk), [n, e, ke]), he = me && $.filter((P) => P.key >= 0).length > 1, ue = Ge != null && $.some((P) => P.key === Ge) ? Ge : ((on = $[0]) == null ? void 0 : on.key) ?? null, ie = Ie(() => {
|
|
3822
3822
|
const P = Gs($, F, W);
|
|
3823
3823
|
for (const [De, Be] of Object.entries(Ye[Se ?? ""] ?? {})) P.set(Number(De), Be);
|
|
3824
3824
|
return P;
|
|
3825
3825
|
}, [$, F, Ye, Se, W]), fe = he && Object.keys(Ye[Se ?? ""] ?? {}).length > 0, Ue = Ie(() => p && !fe ? Gs($, F, !1) : null, [p, fe, $, F]), Y = Ie(() => fe ? Ws(ie) || null : Ue && Ws(Ue) || null, [fe, ie, Ue]), R = fe ? ie : Ue, q = F.some((P) => P.cloned && P.consent !== "pending"), ne = !!Le && !!(o != null && o.voice.includes(Le)), de = ne && !M, Oe = Ie(
|
|
3826
3826
|
() => n.filter((P) => !P.suppressed && !P.unclear).map((P) => P.sentenceId).filter((P) => P != null),
|
|
3827
3827
|
[n]
|
|
3828
|
-
), ye =
|
|
3828
|
+
), ye = Ml({ recordingId: t, lang: Le, ended: s, cred: a, pickedVoice: f || (Y ?? k), sentenceIds: s && de ? Oe : void 0 }), ve = F.find((P) => P.id === k) ?? F.find((P) => {
|
|
3829
3829
|
var De;
|
|
3830
3830
|
return P.id === ((De = ye.track) == null ? void 0 : De.voice);
|
|
3831
3831
|
}) ?? F.find((P) => P.default) ?? F[0] ?? null, Ce = (ve == null ? void 0 : ve.id) ?? null;
|
|
@@ -3834,7 +3834,7 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
3834
3834
|
const P = setInterval(ye.reload, 4e3);
|
|
3835
3835
|
return () => clearInterval(P);
|
|
3836
3836
|
}, [ye.rendering, ye.reload]);
|
|
3837
|
-
const Ze = `${t ?? ""}|${Le ?? ""}|${f || (Y ?? k ?? ((Gt = ye.track) == null ? void 0 : Gt.voiceKey) ?? "default")}`, $e =
|
|
3837
|
+
const Ze = `${t ?? ""}|${Le ?? ""}|${f || (Y ?? k ?? ((Gt = ye.track) == null ? void 0 : Gt.voiceKey) ?? "default")}`, $e = Hl(ye.clips, n, r, Ze, ge, (Zt = ye.track) == null ? void 0 : Zt.wordTimes, N, ye.coming);
|
|
3838
3838
|
U(() => {
|
|
3839
3839
|
var De;
|
|
3840
3840
|
const P = (De = n[$e.idx]) == null ? void 0 : De.sentenceId;
|
|
@@ -3885,7 +3885,7 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
3885
3885
|
return;
|
|
3886
3886
|
}
|
|
3887
3887
|
ae(P);
|
|
3888
|
-
}, ct = we ? { ...wr(o, null), flag: /* @__PURE__ */ i(oe, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, nn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: x ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: Lt, flagOnly: !0, label: ct.label }) }) : /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: it, flagOnly: !0, label: ct.label }) : null, Je = X.voiceClone, ut = _e && (!!ye.track || ot), Ft = rt ? "var(--conf-low)" : ut || g && wt ? "var(--brand)" : "var(--ink-55)", dt = ot || !!$e.preparing && _e, kt = $e.preparing ? `Speaking this line in ${(ve == null ? void 0 : ve.name) ?? "this voice"}…` : ot ? `Preparing this recording in ${(ve == null ? void 0 : ve.name) ?? "this voice"} — it will play as soon as it is ready` : rt ? `This voice could not be prepared: ${rt}` : ne ? me ? "Choose a voice" : ve ? ve.name : ke.vcNoVoice + Z.label : `${ke.vcNoVoice}${Z.label}`, rn = /* @__PURE__ */ i(
|
|
3888
|
+
}, ct = we ? { ...wr(o, null), flag: /* @__PURE__ */ i(oe, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, nn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: x ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: Lt, flagOnly: !0, label: ct.label }) }) : /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: it, flagOnly: !0, label: ct.label }) : null, Je = X.voiceClone, ut = _e && (!!ye.track || ot), Ft = rt ? "var(--conf-low)" : ut || g && wt ? "var(--brand)" : "var(--ink-55)", dt = ot || !!$e.preparing && _e, kt = $e.preparing ? `Speaking this line in ${(ve == null ? void 0 : ve.name) ?? "this voice"}…` : ot ? `Preparing this recording in ${(ve == null ? void 0 : ve.name) ?? "this voice"} — it will play as soon as it is ready` : rt ? `This voice could not be prepared: ${rt}` : ne ? me ? "Choose a voice" : ve ? ve.name : ke.vcNoVoice + Z.label : `${ke.vcNoVoice}${Z.label}`, rn = /* @__PURE__ */ i($a, { open: te, onClose: lt, keepOpen: (!!g || y) && !le, value: we ? null : Le, onSelect: Ht, languages: ze, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Fl, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: re, requireVoice: le, sticky: y, busy: L }), bt = Ie(() => F.filter((P) => P.cloned && !P.auto), [F]), _t = (P) => P.voiceId ? bt.find((De) => De.id === `clone:${P.voiceId}`) ?? null : null, ht = Ie(() => $.filter((P) => P.key >= 0), [$]), Yt = Ie(() => {
|
|
3889
3889
|
const P = F.filter((Be) => !Be.cloned);
|
|
3890
3890
|
if (!he) return [...P, ...s && ht.length === 1 ? bt.filter((Be) => Be.id === `clone:${ht[0].voiceId}`) : []];
|
|
3891
3891
|
const De = [];
|
|
@@ -3902,11 +3902,11 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
3902
3902
|
dt ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: Je, size: 17, sw: 1.6, style: { color: Ft } }),
|
|
3903
3903
|
vt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: vt.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
|
|
3904
3904
|
] }), an = /* @__PURE__ */ i(Vt, { open: J, onClose: Wt, title: ke.vcSheet, titleNode: T, doneLabel: ke.done, children: /* @__PURE__ */ i(
|
|
3905
|
-
|
|
3905
|
+
ll,
|
|
3906
3906
|
{
|
|
3907
3907
|
t: ke,
|
|
3908
3908
|
cast: he && /* @__PURE__ */ i(
|
|
3909
|
-
|
|
3909
|
+
ol,
|
|
3910
3910
|
{
|
|
3911
3911
|
t: ke,
|
|
3912
3912
|
roster: $,
|
|
@@ -4003,11 +4003,11 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
4003
4003
|
langList: { value: we ? null : Le, onSelect: Ht, languages: ze, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: re }
|
|
4004
4004
|
};
|
|
4005
4005
|
}
|
|
4006
|
-
function
|
|
4006
|
+
function ql({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: M, tailFg: N, running: p, desk: y, feedRef: L, listener: m, showLabels: f, find: z, findOpen: C, lang: D, warm: V, onVisible: _, wordHl: ee = !0 }) {
|
|
4007
4007
|
const { playing: j, engaged: E, t: Q, idx: T, seekN: O, wordSync: S, clipPos: re } = n;
|
|
4008
|
-
|
|
4008
|
+
Ll(!0, L);
|
|
4009
4009
|
const K = v(null);
|
|
4010
|
-
|
|
4010
|
+
qo(L, K);
|
|
4011
4011
|
const [k, ae] = I(null), te = (z ?? "").trim().toLowerCase(), [G, J] = I(0), pe = v(0), le = v(null), Te = v(T), je = (W) => {
|
|
4012
4012
|
var A;
|
|
4013
4013
|
return ((A = L.current) == null ? void 0 : A.querySelector(`[data-tx-row="${W}"]`)) ?? null;
|
|
@@ -4085,27 +4085,27 @@ function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
|
|
|
4085
4085
|
"Now playing"
|
|
4086
4086
|
] }) });
|
|
4087
4087
|
return /* @__PURE__ */ h("div", { ref: L, "data-tx-feed": "1", className: `txfeed${y ? " txfeed--desk" : ""}${C && !p ? " is-find" : ""}`, children: [
|
|
4088
|
-
/* @__PURE__ */ i(
|
|
4088
|
+
/* @__PURE__ */ i(Ko, { thumbRef: K }),
|
|
4089
4089
|
j && G === -1 && B("up"),
|
|
4090
4090
|
e.map((W, A) => {
|
|
4091
4091
|
var he;
|
|
4092
4092
|
const b = j && A === T, H = E && A === T, ce = !!u && u === W.id, F = te && !W.text.toLowerCase().includes(te) && !(D && ((he = W.translations[D]) != null && he.toLowerCase().includes(te))) ? 0.22 : !E || A <= T || ce ? 1 : 0.38, me = m ? () => n.playRow(A) : c && l ? () => {
|
|
4093
4093
|
j && !b && n.seekRow(A), l(W);
|
|
4094
|
-
} : j && b ? void 0 : () => n.playRow(A), Z = m ? null :
|
|
4094
|
+
} : j && b ? void 0 : () => n.playRow(A), Z = m ? null : el(W, s, r), ke = !!Z && (Z.script > 0 || Z.manual), ze = y && !!a && k === W.id && !!Z && !ke, Ge = br(t, W.speaker), Ae = xr(t, W.speaker), ge = Ae.lane, Ye = D && W.translations[D] && W.language !== D ? W.translations[D] : null, Ve = xi(e, A, D), $ = H && !S && re ? hi(Ve.map((ue) => ({ t: ue.text, sp: " " })), re) : null;
|
|
4095
4095
|
return /* @__PURE__ */ h("div", { "data-tx-row": A, "data-sentence": W.sentenceId, className: `txline${V ? " txline--warm" : ""}${ce ? " txline--fixing" : ""}`, "aria-current": ce || void 0, style: { opacity: F }, onClick: me, onMouseEnter: y && a ? () => ae(W.id) : void 0, onMouseLeave: y && a ? () => ae(null) : void 0, children: [
|
|
4096
4096
|
/* @__PURE__ */ h("div", { className: "txline__meta", children: [
|
|
4097
4097
|
/* @__PURE__ */ i("span", { className: "txline__at", children: yt(W.start) }),
|
|
4098
4098
|
f && W.speaker >= 0 && /* @__PURE__ */ h(xe, { children: [
|
|
4099
|
-
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${ge}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children:
|
|
4099
|
+
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${ge}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, W.speaker) }),
|
|
4100
4100
|
/* @__PURE__ */ i("span", { className: `txline__who lane-${ge}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Ge }),
|
|
4101
|
-
Ae.hasVoice && /* @__PURE__ */ i(
|
|
4101
|
+
Ae.hasVoice && /* @__PURE__ */ i(Oi, { color: Ae.fg ?? `var(--lane-${ge})` })
|
|
4102
4102
|
] }),
|
|
4103
4103
|
b && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: X.headphones, size: y ? 15 : 14, sw: 1.6, stroke: f && W.speaker >= 0 ? Ae.fg ?? `var(--lane-${ge})` : "var(--ink-45)" }) }),
|
|
4104
|
-
Z && g && /* @__PURE__ */ i(
|
|
4105
|
-
ze && /* @__PURE__ */ i(
|
|
4104
|
+
Z && g && /* @__PURE__ */ i(tl, { f: Z, desk: y, onOpen: a ? () => a(W, !0) : void 0 }),
|
|
4105
|
+
ze && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(W, !1) })
|
|
4106
4106
|
] }),
|
|
4107
4107
|
/* @__PURE__ */ i("div", { className: "txline__text", children: Ve.map((ue, ie) => {
|
|
4108
|
-
const fe = `${ue.seq}:${ue.idx}`, Ue =
|
|
4108
|
+
const fe = `${ue.seq}:${ue.idx}`, Ue = wo(ue.prob), Y = H && ee, R = Y && (S ? Q >= ue.start && (Q < ue.end || ie === Ve.length - 1 || Q < Ve[ie + 1].start) : ie === $), q = Y && !R && (S ? ue.start > Q : $ != null && ie > $), ne = !Ye && !m && (!!(r != null && r.has(fe)) || !!ue.script), de = !Ye && !m && d && !!Ue && !ne, Oe = de ? Ue === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ye = ne ? "var(--brand)" : q ? "var(--ink-40)" : Oe ?? "var(--ink-96)";
|
|
4109
4109
|
return /* @__PURE__ */ h("span", { children: [
|
|
4110
4110
|
/* @__PURE__ */ i(
|
|
4111
4111
|
"span",
|
|
@@ -4141,7 +4141,7 @@ function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
|
|
|
4141
4141
|
j && G === 1 && B("down")
|
|
4142
4142
|
] });
|
|
4143
4143
|
}
|
|
4144
|
-
function
|
|
4144
|
+
function Kl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, flash: l }) {
|
|
4145
4145
|
return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ h("div", { children: [
|
|
4146
4146
|
/* @__PURE__ */ i(oe, { d: X.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
|
|
4147
4147
|
/* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
|
|
@@ -4155,7 +4155,7 @@ function Jl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, fl
|
|
|
4155
4155
|
e.trim() && /* @__PURE__ */ i("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ i(oe, { d: X.close, size: 15, sw: 1.7 }) })
|
|
4156
4156
|
] }) });
|
|
4157
4157
|
}
|
|
4158
|
-
function
|
|
4158
|
+
function Jl(t, e, n, r, s) {
|
|
4159
4159
|
const a = v(n);
|
|
4160
4160
|
a.current = n;
|
|
4161
4161
|
const o = v(r);
|
|
@@ -4185,7 +4185,7 @@ function Xl(t, e, n, r, s) {
|
|
|
4185
4185
|
}, []), l;
|
|
4186
4186
|
}
|
|
4187
4187
|
const tn = { 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] };
|
|
4188
|
-
function
|
|
4188
|
+
function Di(t) {
|
|
4189
4189
|
let e = (16 * t + 128) * t + 64;
|
|
4190
4190
|
if (t >= 2) {
|
|
4191
4191
|
const n = Math.floor(t / 7) + 2;
|
|
@@ -4193,14 +4193,14 @@ function Si(t) {
|
|
|
4193
4193
|
}
|
|
4194
4194
|
return e;
|
|
4195
4195
|
}
|
|
4196
|
-
const qs = (t) => Math.floor(
|
|
4196
|
+
const qs = (t) => Math.floor(Di(t) / 8) - tn.perBlock[t] * tn.blocks[t];
|
|
4197
4197
|
function kr(t, e) {
|
|
4198
4198
|
let n = 0;
|
|
4199
4199
|
for (let r = 7; r >= 0; r--)
|
|
4200
4200
|
n = n << 1 ^ (n >>> 7) * 285, n ^= (e >>> r & 1) * t;
|
|
4201
4201
|
return n;
|
|
4202
4202
|
}
|
|
4203
|
-
function
|
|
4203
|
+
function Xl(t) {
|
|
4204
4204
|
const e = new Array(t).fill(0);
|
|
4205
4205
|
e[t - 1] = 1;
|
|
4206
4206
|
let n = 1;
|
|
@@ -4210,7 +4210,7 @@ function ec(t) {
|
|
|
4210
4210
|
}
|
|
4211
4211
|
return e;
|
|
4212
4212
|
}
|
|
4213
|
-
function
|
|
4213
|
+
function ec(t, e) {
|
|
4214
4214
|
const n = new Array(e.length).fill(0);
|
|
4215
4215
|
for (const r of t) {
|
|
4216
4216
|
const s = r ^ n.shift();
|
|
@@ -4220,13 +4220,13 @@ function tc(t, e) {
|
|
|
4220
4220
|
}
|
|
4221
4221
|
return n;
|
|
4222
4222
|
}
|
|
4223
|
-
function
|
|
4223
|
+
function tc(t) {
|
|
4224
4224
|
if (t === 1) return [];
|
|
4225
4225
|
const e = Math.floor(t / 7) + 2, n = t * 4 + 17, r = t === 32 ? 26 : Math.ceil((t * 4 + 4) / (e * 2 - 2)) * 2, s = [6];
|
|
4226
4226
|
for (let a = n - 7; s.length < e; a -= r) s.splice(1, 0, a);
|
|
4227
4227
|
return s;
|
|
4228
4228
|
}
|
|
4229
|
-
function
|
|
4229
|
+
function nc(t) {
|
|
4230
4230
|
const e = Array.from(new TextEncoder().encode(t));
|
|
4231
4231
|
let n = 1;
|
|
4232
4232
|
for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= qs(n) * 8); n++)
|
|
@@ -4241,11 +4241,11 @@ function rc(t) {
|
|
|
4241
4241
|
for (let T = 236; a.length < s; T ^= 253) o(T, 8);
|
|
4242
4242
|
const l = [];
|
|
4243
4243
|
for (let T = 0; T < a.length; T += 8) l.push(a.slice(T, T + 8).reduce((O, S) => O << 1 | S, 0));
|
|
4244
|
-
const c = tn.blocks[n], u = tn.perBlock[n], d = Math.floor(
|
|
4244
|
+
const c = tn.blocks[n], u = tn.perBlock[n], d = Math.floor(Di(n) / 8), g = c - d % c, M = Math.floor(d / c), N = [], p = Xl(u);
|
|
4245
4245
|
for (let T = 0, O = 0; T < c; T++) {
|
|
4246
4246
|
const S = l.slice(O, O + M - u + (T < g ? 0 : 1));
|
|
4247
4247
|
O += S.length;
|
|
4248
|
-
const re =
|
|
4248
|
+
const re = ec(S, p);
|
|
4249
4249
|
T < g && S.push(0), N.push(S.concat(re));
|
|
4250
4250
|
}
|
|
4251
4251
|
const y = [];
|
|
@@ -4264,7 +4264,7 @@ function rc(t) {
|
|
|
4264
4264
|
}
|
|
4265
4265
|
};
|
|
4266
4266
|
z(3, 3), z(r - 4, 3), z(3, r - 4);
|
|
4267
|
-
const C =
|
|
4267
|
+
const C = tc(n);
|
|
4268
4268
|
for (let T = 0; T < C.length; T++) for (let O = 0; O < C.length; O++)
|
|
4269
4269
|
if (!(T === 0 && O === 0 || T === 0 && O === C.length - 1 || T === C.length - 1 && O === 0))
|
|
4270
4270
|
for (let S = -2; S <= 2; S++) for (let re = -2; re <= 2; re++) f(C[T] + re, C[O] + S, Math.max(Math.abs(re), Math.abs(S)) !== 1);
|
|
@@ -4351,14 +4351,14 @@ function rc(t) {
|
|
|
4351
4351
|
}
|
|
4352
4352
|
return ee(E), D(E), L;
|
|
4353
4353
|
}
|
|
4354
|
-
function
|
|
4355
|
-
const e =
|
|
4354
|
+
function rc(t) {
|
|
4355
|
+
const e = nc(t), n = e.length, r = 2;
|
|
4356
4356
|
let s = "";
|
|
4357
4357
|
for (let o = 0; o < n; o++) for (let l = 0; l < n; l++) e[o][l] && (s += `M${l} ${o}h1v1h-1z`);
|
|
4358
4358
|
const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-r} ${-r} ${n + r * 2} ${n + r * 2}" shape-rendering="crispEdges"><rect x="${-r}" y="${-r}" width="${n + r * 2}" height="${n + r * 2}" fill="#fff"/><path fill="#111" d="${s}"/></svg>`;
|
|
4359
4359
|
return `data:image/svg+xml,${encodeURIComponent(a)}`;
|
|
4360
4360
|
}
|
|
4361
|
-
const
|
|
4361
|
+
const Si = "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", sc = "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";
|
|
4362
4362
|
function ur() {
|
|
4363
4363
|
const t = document;
|
|
4364
4364
|
return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
|
|
@@ -4371,7 +4371,7 @@ function Js() {
|
|
|
4371
4371
|
const t = document;
|
|
4372
4372
|
return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
|
|
4373
4373
|
}
|
|
4374
|
-
function
|
|
4374
|
+
function ic() {
|
|
4375
4375
|
var e;
|
|
4376
4376
|
if (typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches)) return !1;
|
|
4377
4377
|
const t = Er ?? document.documentElement;
|
|
@@ -4392,7 +4392,7 @@ function kn(t) {
|
|
|
4392
4392
|
} catch {
|
|
4393
4393
|
}
|
|
4394
4394
|
}
|
|
4395
|
-
function
|
|
4395
|
+
function ac(t) {
|
|
4396
4396
|
const [e, n] = I(() => {
|
|
4397
4397
|
var r;
|
|
4398
4398
|
return typeof window < "u" && !!((r = window.matchMedia) != null && r.call(window, t).matches);
|
|
@@ -4444,7 +4444,7 @@ function vn({ pos: t, interactive: e, axis: n = "x" }) {
|
|
|
4444
4444
|
/* @__PURE__ */ i("span", { className: "gfull__t gfull__end", style: { color: t.live ? "#ec634d" : "rgba(234,236,250,.6)" }, children: t.endLabel })
|
|
4445
4445
|
] });
|
|
4446
4446
|
}
|
|
4447
|
-
function
|
|
4447
|
+
function qc({ pos: t }) {
|
|
4448
4448
|
const [e, n] = I(null), r = (l) => {
|
|
4449
4449
|
const c = l.currentTarget.getBoundingClientRect();
|
|
4450
4450
|
return Math.min(1, Math.max(0, (l.clientX - c.left) / Math.max(1, c.width)));
|
|
@@ -4498,7 +4498,7 @@ function jn({ t, mini: e }) {
|
|
|
4498
4498
|
disabled: !t.playable,
|
|
4499
4499
|
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" },
|
|
4500
4500
|
onClick: t.onPlay,
|
|
4501
|
-
children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(
|
|
4501
|
+
children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(va, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(jr, { size: e ? 15 : 19 })
|
|
4502
4502
|
}
|
|
4503
4503
|
),
|
|
4504
4504
|
/* @__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(oe, { d: X.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
|
|
@@ -4506,7 +4506,7 @@ function jn({ t, mini: e }) {
|
|
|
4506
4506
|
}
|
|
4507
4507
|
function vr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
|
|
4508
4508
|
return /* @__PURE__ */ h("div", { className: `gfull__brand${s ? " gfull__brand--mark" : ""}`, children: [
|
|
4509
|
-
/* @__PURE__ */ i("a", { href:
|
|
4509
|
+
/* @__PURE__ */ i("a", { href: ii, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ i(zr, { dark: !0, size: 22 }) : /* @__PURE__ */ i(bn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
|
|
4510
4510
|
t && /* @__PURE__ */ h("span", { className: "gfull__live", children: [
|
|
4511
4511
|
/* @__PURE__ */ i("i", {}),
|
|
4512
4512
|
"LIVE"
|
|
@@ -4514,10 +4514,10 @@ function vr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
|
|
|
4514
4514
|
r != null && /* @__PURE__ */ i("span", { className: "gfull__txpct", title: "Still being transcribed: it plays as far as it is written", children: `TRANSCRIBING ${r}%` })
|
|
4515
4515
|
] });
|
|
4516
4516
|
}
|
|
4517
|
-
function
|
|
4517
|
+
function Ai({ v: t, size: e }) {
|
|
4518
4518
|
return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d: X.headphones, size: e, sw: 1.6 }) });
|
|
4519
4519
|
}
|
|
4520
|
-
function
|
|
4520
|
+
function oc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, copied: o }) {
|
|
4521
4521
|
return /* @__PURE__ */ h("div", { className: "gmini", "data-theme": "dark", children: [
|
|
4522
4522
|
/* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
|
|
4523
4523
|
/* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(vr, { live: t.live, mini: !0 }) }),
|
|
@@ -4527,18 +4527,18 @@ function lc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, c
|
|
|
4527
4527
|
/* @__PURE__ */ i(jn, { t: e, mini: !0 }),
|
|
4528
4528
|
/* @__PURE__ */ i("span", { style: { flex: 1 } }),
|
|
4529
4529
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
|
|
4530
|
-
/* @__PURE__ */ i(
|
|
4530
|
+
/* @__PURE__ */ i(Ai, { v: r, size: 14 }),
|
|
4531
4531
|
s && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
|
|
4532
4532
|
l.stopPropagation(), s();
|
|
4533
4533
|
}, children: /* @__PURE__ */ i(oe, { d: X.share, size: 13, sw: 1.8 }) }),
|
|
4534
|
-
/* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d:
|
|
4534
|
+
/* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: Si, size: 14, sw: 1.8 }) })
|
|
4535
4535
|
] })
|
|
4536
4536
|
] }),
|
|
4537
4537
|
o
|
|
4538
4538
|
] });
|
|
4539
4539
|
}
|
|
4540
|
-
const
|
|
4541
|
-
function
|
|
4540
|
+
const lc = { color: "rgba(255,255,255,.4)" };
|
|
4541
|
+
function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: g, ad: M, chip: N, transport: p, picker: y, sheet: L, voices: m, voicesBtn: f, sheetOpen: z, onShare: C, onSettings: D, paused: V, copied: _, onTouch: ee, onClose: j }) {
|
|
4542
4542
|
const [E, Q] = I(() => !!ur());
|
|
4543
4543
|
U(() => {
|
|
4544
4544
|
const $ = () => Q(!!ur());
|
|
@@ -4564,7 +4564,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4564
4564
|
}), ue && ie && (ue.content = ie);
|
|
4565
4565
|
};
|
|
4566
4566
|
}, []);
|
|
4567
|
-
const te = Ie(() => n &&
|
|
4567
|
+
const te = Ie(() => n && ic(), [n]), [G, J] = I(te);
|
|
4568
4568
|
U(() => {
|
|
4569
4569
|
if (!n) return;
|
|
4570
4570
|
const $ = [document.documentElement, document.body], he = $.map((fe) => [fe.style.overflow, fe.style.overscrollBehavior]);
|
|
@@ -4595,7 +4595,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4595
4595
|
window.removeEventListener("keydown", he, !0), window.removeEventListener("keyup", ue, !0);
|
|
4596
4596
|
};
|
|
4597
4597
|
}, []);
|
|
4598
|
-
const le =
|
|
4598
|
+
const le = ac("(orientation: landscape) and (max-height: 540px)"), Te = v(null), [je, Ee] = I(null);
|
|
4599
4599
|
Bt(() => {
|
|
4600
4600
|
const $ = Te.current;
|
|
4601
4601
|
if (!$ || (Ee($.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
|
|
@@ -4628,7 +4628,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4628
4628
|
}, [b, W]);
|
|
4629
4629
|
const [H, ce] = I(!0), [F, me] = I(!1), Z = v(void 0);
|
|
4630
4630
|
U(() => () => window.clearTimeout(Z.current), []);
|
|
4631
|
-
const ke = V != null && V.share ? V.share.url(H && V.share.at >= 1 ? Math.floor(V.share.at) : null) : "", ze = Ie(() => we && ke && !p.playing ?
|
|
4631
|
+
const ke = V != null && V.share ? V.share.url(H && V.share.at >= 1 ? Math.floor(V.share.at) : null) : "", ze = Ie(() => we && ke && !p.playing ? rc(ke) : "", [we, ke, p.playing]), Ge = () => {
|
|
4632
4632
|
var $;
|
|
4633
4633
|
($ = navigator.clipboard) == null || $.writeText(ke).then(() => {
|
|
4634
4634
|
me(!0), window.clearTimeout(Z.current), Z.current = window.setTimeout(() => me(!1), 1800);
|
|
@@ -4656,9 +4656,9 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4656
4656
|
] })
|
|
4657
4657
|
] })
|
|
4658
4658
|
] }), ge = ($, he, ue, ie, fe, Ue = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: $, "aria-label": $, onClick: ie, children: /* @__PURE__ */ i(oe, { d: he, size: (we ? 20 : _e ? 15 : 18) + Ue, sw: ue, style: fe }) }), Ye = /* @__PURE__ */ h("div", { className: "gfull__acts", children: [
|
|
4659
|
-
f && /* @__PURE__ */ i(
|
|
4659
|
+
f && /* @__PURE__ */ i(Ai, { v: f, size: we ? 20 : _e ? 15 : 18 }),
|
|
4660
4660
|
C && ge("Share", X.share, 1.6, C),
|
|
4661
|
-
Js() && !e && ge(E ? "Exit full screen" : "Full screen", E ?
|
|
4661
|
+
Js() && !e && ge(E ? "Exit full screen" : "Full screen", E ? sc : Si, 1.7, () => kn(!E)),
|
|
4662
4662
|
j && ge("Close player", X.close, 1.7, j)
|
|
4663
4663
|
] }), Ve = (d || g || D) && /* @__PURE__ */ h("div", { className: "gfull__top", children: [
|
|
4664
4664
|
d && ge(d.muted ? "Unmute" : "Mute", d.muted ? X.volumeOff : X.volume, 1.6, d.onToggle),
|
|
@@ -4723,7 +4723,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4723
4723
|
] }),
|
|
4724
4724
|
" "
|
|
4725
4725
|
] }),
|
|
4726
|
-
l.words.map(($, he) => /* @__PURE__ */ h("span", { "data-said": $.dim ? void 0 : "", "data-at": l.cursor != null && he <= l.cursor ? "" : void 0, style: $.dim ?
|
|
4726
|
+
l.words.map(($, he) => /* @__PURE__ */ h("span", { "data-said": $.dim ? void 0 : "", "data-at": l.cursor != null && he <= l.cursor ? "" : void 0, style: $.dim ? lc : void 0, children: [
|
|
4727
4727
|
$.t,
|
|
4728
4728
|
$.sp
|
|
4729
4729
|
] }, he))
|
|
@@ -4760,7 +4760,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4760
4760
|
}
|
|
4761
4761
|
);
|
|
4762
4762
|
}
|
|
4763
|
-
function
|
|
4763
|
+
function cc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o, onOptions: l, optionsActive: c }) {
|
|
4764
4764
|
return /* @__PURE__ */ h("div", { className: "ghead", children: [
|
|
4765
4765
|
e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 19, sw: 1.7 }) }),
|
|
4766
4766
|
r && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(zr, { dark: t, size: 30 }) }),
|
|
@@ -4771,20 +4771,20 @@ function uc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o
|
|
|
4771
4771
|
] }),
|
|
4772
4772
|
o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
|
|
4773
4773
|
] }) }),
|
|
4774
|
-
/* @__PURE__ */ i(
|
|
4774
|
+
/* @__PURE__ */ i(ja, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
|
|
4775
4775
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
|
|
4776
4776
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
|
|
4777
4777
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
|
|
4778
4778
|
] }) })
|
|
4779
4779
|
] });
|
|
4780
4780
|
}
|
|
4781
|
-
const
|
|
4782
|
-
function
|
|
4781
|
+
const uc = "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", dc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: X.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? uc : X.headphones, size: 19, sw: 1.5 }) }];
|
|
4782
|
+
function hc(t) {
|
|
4783
4783
|
if (!t.lang) return null;
|
|
4784
4784
|
const e = t.langName;
|
|
4785
4785
|
return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
|
|
4786
4786
|
}
|
|
4787
|
-
function
|
|
4787
|
+
function Mc(t, e) {
|
|
4788
4788
|
const [n, r] = I(null), [s, a] = I(!1);
|
|
4789
4789
|
return U(() => {
|
|
4790
4790
|
if (!t) {
|
|
@@ -4797,8 +4797,8 @@ function gc(t, e) {
|
|
|
4797
4797
|
return () => clearTimeout(l);
|
|
4798
4798
|
}, [t, e]), [s, n];
|
|
4799
4799
|
}
|
|
4800
|
-
const
|
|
4801
|
-
function
|
|
4800
|
+
const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
4801
|
+
function fc({ state: t, line: e, onRetry: n, onOriginal: r }) {
|
|
4802
4802
|
const [s, a] = I(() => Date.now());
|
|
4803
4803
|
U(() => {
|
|
4804
4804
|
if (t.since == null) return;
|
|
@@ -4831,7 +4831,7 @@ function pc({ state: t, line: e, onRetry: n, onOriginal: r }) {
|
|
|
4831
4831
|
/* @__PURE__ */ h("div", { className: "pwait__head", children: [
|
|
4832
4832
|
l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: X.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
|
|
4833
4833
|
/* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
|
|
4834
|
-
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children:
|
|
4834
|
+
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
|
|
4835
4835
|
] }),
|
|
4836
4836
|
/* @__PURE__ */ i("div", { className: "pwait__note", children: u }),
|
|
4837
4837
|
!l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
|
|
@@ -4844,13 +4844,13 @@ function pc({ state: t, line: e, onRetry: n, onOriginal: r }) {
|
|
|
4844
4844
|
}
|
|
4845
4845
|
);
|
|
4846
4846
|
}
|
|
4847
|
-
const _r = "https://app.vocalstack.com",
|
|
4848
|
-
function
|
|
4847
|
+
const _r = "https://app.vocalstack.com", pc = "/connect/transcribe";
|
|
4848
|
+
function Nc() {
|
|
4849
4849
|
const t = new Uint8Array(24);
|
|
4850
4850
|
return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
4851
4851
|
}
|
|
4852
|
-
function
|
|
4853
|
-
const r = new URL(t ?? _r), s =
|
|
4852
|
+
function _i(t, e, n) {
|
|
4853
|
+
const r = new URL(t ?? _r), s = Nc(), a = new URL(pc, r);
|
|
4854
4854
|
e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", s);
|
|
4855
4855
|
const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), u = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), d = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(u)}`);
|
|
4856
4856
|
return d ? new Promise((g, M) => {
|
|
@@ -4890,33 +4890,33 @@ function Yi(t, e, n) {
|
|
|
4890
4890
|
}, 500);
|
|
4891
4891
|
}) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
|
|
4892
4892
|
}
|
|
4893
|
-
async function
|
|
4894
|
-
const r = await
|
|
4893
|
+
async function mc(t, e, n) {
|
|
4894
|
+
const r = await _i(t, { url: e }, n);
|
|
4895
4895
|
return r === "connected" ? null : r;
|
|
4896
4896
|
}
|
|
4897
|
-
const
|
|
4898
|
-
function
|
|
4897
|
+
const Yi = "vsp.connected";
|
|
4898
|
+
function yc(t) {
|
|
4899
4899
|
try {
|
|
4900
|
-
return localStorage.getItem(
|
|
4900
|
+
return localStorage.getItem(Yi) === new URL(t ?? _r).origin;
|
|
4901
4901
|
} catch {
|
|
4902
4902
|
return !1;
|
|
4903
4903
|
}
|
|
4904
4904
|
}
|
|
4905
|
-
function
|
|
4905
|
+
function Tc(t) {
|
|
4906
4906
|
try {
|
|
4907
|
-
localStorage.setItem(
|
|
4907
|
+
localStorage.setItem(Yi, new URL(t ?? _r).origin);
|
|
4908
4908
|
} catch {
|
|
4909
4909
|
}
|
|
4910
4910
|
}
|
|
4911
|
-
const
|
|
4911
|
+
const wc = {
|
|
4912
4912
|
"signing-in": "Sign in to VocalStack in the window that opened…",
|
|
4913
4913
|
consent: "Confirm in the VocalStack window…",
|
|
4914
4914
|
looking: "Looking for your transcription of this video…",
|
|
4915
4915
|
confirm: "Confirm in the VocalStack window…",
|
|
4916
4916
|
checking: "Checking the link…",
|
|
4917
4917
|
starting: "Starting the transcription…"
|
|
4918
|
-
},
|
|
4919
|
-
function
|
|
4918
|
+
}, Lc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
|
|
4919
|
+
function kc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
|
|
4920
4920
|
const [s, a] = I(""), [o, l] = I(!1), [c, u] = I(null), [d, g] = I(null);
|
|
4921
4921
|
U(() => {
|
|
4922
4922
|
const y = (L) => {
|
|
@@ -4924,11 +4924,11 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
|
|
|
4924
4924
|
};
|
|
4925
4925
|
return window.addEventListener("keydown", y), () => window.removeEventListener("keydown", y);
|
|
4926
4926
|
}, [r]);
|
|
4927
|
-
const M = s.trim(), N =
|
|
4927
|
+
const M = s.trim(), N = Lc.test(M), p = async () => {
|
|
4928
4928
|
if (!(!N || o)) {
|
|
4929
4929
|
l(!0), u(null);
|
|
4930
4930
|
try {
|
|
4931
|
-
const y = await
|
|
4931
|
+
const y = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
|
|
4932
4932
|
y && e(y);
|
|
4933
4933
|
} catch (y) {
|
|
4934
4934
|
u(y instanceof Error ? y.message : "Something went wrong. Please try again.");
|
|
@@ -4952,7 +4952,7 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
|
|
|
4952
4952
|
}, "aria-label": "Video link" }),
|
|
4953
4953
|
/* @__PURE__ */ i("button", { type: "submit", className: "vsp-end__go", disabled: !N || o, children: o ? /* @__PURE__ */ i(at, { size: 15, color: "#050507", track: "rgba(5,5,7,.2)" }) : "Transcribe" })
|
|
4954
4954
|
] }),
|
|
4955
|
-
o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children:
|
|
4955
|
+
o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: wc[d ?? "checking"] }),
|
|
4956
4956
|
c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
|
|
4957
4957
|
/* @__PURE__ */ h("div", { className: "vsp-end__foot", children: [
|
|
4958
4958
|
/* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
|
|
@@ -4963,7 +4963,7 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
|
|
|
4963
4963
|
] })
|
|
4964
4964
|
] }) });
|
|
4965
4965
|
}
|
|
4966
|
-
function
|
|
4966
|
+
function Ui(t) {
|
|
4967
4967
|
const [e, n] = I(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
|
|
4968
4968
|
return U(() => {
|
|
4969
4969
|
if (t != null) return;
|
|
@@ -4971,9 +4971,9 @@ function Ri(t) {
|
|
|
4971
4971
|
return window.addEventListener("resize", r), () => window.removeEventListener("resize", r);
|
|
4972
4972
|
}, [t]), t ?? e;
|
|
4973
4973
|
}
|
|
4974
|
-
const
|
|
4975
|
-
function
|
|
4976
|
-
const n =
|
|
4974
|
+
const vc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
|
|
4975
|
+
function jc(t, e) {
|
|
4976
|
+
const n = Li(), [r, s] = gi(), [a, o] = I(null), [l, c] = I("main"), u = wr(n, t.lang), d = Ie(() => fi(n, "translation"), [n]), g = (_) => {
|
|
4977
4977
|
e({ lang: _ }), s(_);
|
|
4978
4978
|
}, M = Or({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: d, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: r, keepOpen: !0 }), N = () => {
|
|
4979
4979
|
o(null), c("main");
|
|
@@ -5090,35 +5090,32 @@ const pt = (t, e = "nonzero") => /* @__PURE__ */ i("path", { d: t, fill: "curren
|
|
|
5090
5090
|
/* @__PURE__ */ i("circle", { cx: "8", cy: "12", r: "1.6", fill: "currentColor", stroke: "none" }),
|
|
5091
5091
|
/* @__PURE__ */ i("path", { d: "M11.5 10h6M11.5 14h4" })
|
|
5092
5092
|
] }) }
|
|
5093
|
-
], Ic =
|
|
5093
|
+
], zc = 14, Ic = 4;
|
|
5094
5094
|
function Oc(t) {
|
|
5095
5095
|
const e = Xs.length, n = [];
|
|
5096
5096
|
for (let r = 0; r < 11; r++) n.push(Xs[(r + t * 7) % e]);
|
|
5097
5097
|
return n;
|
|
5098
5098
|
}
|
|
5099
|
-
function
|
|
5099
|
+
function Cc({ t }) {
|
|
5100
5100
|
return /* @__PURE__ */ h("span", { className: "vsp-prov__tile", style: { "--tint": t.tint }, children: [
|
|
5101
5101
|
/* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "100%", height: "100%", "aria-hidden": "true", children: t.glyph }),
|
|
5102
5102
|
/* @__PURE__ */ i("span", { className: "vsp-prov__name", children: t.name })
|
|
5103
5103
|
] });
|
|
5104
5104
|
}
|
|
5105
|
-
function
|
|
5106
|
-
return /* @__PURE__ */ i("div", { className: "vsp-prov", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { className: "vsp-prov__plane", children: Array.from({ length:
|
|
5105
|
+
function bc() {
|
|
5106
|
+
return /* @__PURE__ */ i("div", { className: "vsp-prov", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { className: "vsp-prov__plane", children: Array.from({ length: zc }, (t, e) => {
|
|
5107
5107
|
const n = Oc(e);
|
|
5108
|
-
return /* @__PURE__ */
|
|
5109
|
-
n.map((r, s) => /* @__PURE__ */ i(ei, { t: r }, `a${s}`)),
|
|
5110
|
-
n.map((r, s) => /* @__PURE__ */ i(ei, { t: r }, `b${s}`))
|
|
5111
|
-
] }, e);
|
|
5108
|
+
return /* @__PURE__ */ i("div", { className: `vsp-prov__row${e % 2 ? " vsp-prov__row--rev" : ""}`, style: { animationDuration: `${80 + e * 11}s`, animationDelay: `-${e * 17}s` }, children: Array.from({ length: Ic }, (r, s) => n.map((a, o) => /* @__PURE__ */ i(Cc, { t: a }, `${s}-${o}`))) }, e);
|
|
5112
5109
|
}) }) });
|
|
5113
5110
|
}
|
|
5114
|
-
const
|
|
5111
|
+
const Ri = {
|
|
5115
5112
|
"signing-in": "Sign in to VocalStack in the window that opened…",
|
|
5116
5113
|
consent: "Confirm in the VocalStack window…",
|
|
5117
5114
|
looking: "Looking for your transcription of this video…",
|
|
5118
5115
|
confirm: "Confirm in the VocalStack window…",
|
|
5119
5116
|
checking: "Checking the link…",
|
|
5120
5117
|
starting: "Starting the transcription…"
|
|
5121
|
-
},
|
|
5118
|
+
}, ei = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
|
|
5122
5119
|
function dr(t) {
|
|
5123
5120
|
try {
|
|
5124
5121
|
return new URL(t).hostname.replace(/^www\./, "");
|
|
@@ -5126,38 +5123,38 @@ function dr(t) {
|
|
|
5126
5123
|
return t;
|
|
5127
5124
|
}
|
|
5128
5125
|
}
|
|
5129
|
-
function
|
|
5130
|
-
const [n, r] = I(!1), [s, a] = I(null), [o, l] = I(null), [c, u] = I(() =>
|
|
5126
|
+
function xc(t, e) {
|
|
5127
|
+
const [n, r] = I(!1), [s, a] = I(null), [o, l] = I(null), [c, u] = I(() => yc(t)), d = Ke((N) => {
|
|
5131
5128
|
if (n) return;
|
|
5132
5129
|
r(!0), l(null);
|
|
5133
5130
|
let p;
|
|
5134
5131
|
try {
|
|
5135
|
-
p =
|
|
5132
|
+
p = _i(t, N, a);
|
|
5136
5133
|
} catch (y) {
|
|
5137
5134
|
p = Promise.reject(y);
|
|
5138
5135
|
}
|
|
5139
5136
|
p.then((y) => {
|
|
5140
|
-
y && (
|
|
5137
|
+
y && (Tc(t), u(!0), y !== "connected" && e(y));
|
|
5141
5138
|
}).catch((y) => l(y instanceof Error ? y.message : "Something went wrong. Please try again.")).finally(() => {
|
|
5142
5139
|
r(!1), a(null);
|
|
5143
5140
|
});
|
|
5144
5141
|
}, [t, n, e]), g = Ke(() => d({ connect: !0 }), [d]), M = Ke((N, p) => d({ url: N, ask: p }), [d]);
|
|
5145
5142
|
return { busy: n, status: s, err: o, connected: c, connect: g, start: M };
|
|
5146
5143
|
}
|
|
5147
|
-
function
|
|
5144
|
+
function Dc(t) {
|
|
5148
5145
|
return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
|
|
5149
5146
|
}
|
|
5150
|
-
function
|
|
5151
|
-
const n = e ?
|
|
5152
|
-
return r ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${r})` } }) : e &&
|
|
5147
|
+
function Sc({ poster: t, src: e }) {
|
|
5148
|
+
const n = e ? zi(e) : null, r = t ?? (n ? `https://i.ytimg.com/vi/${n}/hqdefault.jpg` : null);
|
|
5149
|
+
return r ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${r})` } }) : e && Dc(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ h(xe, { children: [
|
|
5153
5150
|
/* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }),
|
|
5154
|
-
/* @__PURE__ */ i(
|
|
5151
|
+
/* @__PURE__ */ i(bc, {})
|
|
5155
5152
|
] });
|
|
5156
5153
|
}
|
|
5157
|
-
const
|
|
5154
|
+
const Ac = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
|
|
5158
5155
|
} };
|
|
5159
5156
|
function Cn({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children: o }) {
|
|
5160
|
-
const l =
|
|
5157
|
+
const l = jc(t.prefs, t.set), c = Ui(), u = v(null), [d, g] = I(!1);
|
|
5161
5158
|
Bt(() => {
|
|
5162
5159
|
var L;
|
|
5163
5160
|
const N = (L = u.current) == null ? void 0 : L.parentElement;
|
|
@@ -5171,38 +5168,38 @@ function Cn({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children:
|
|
|
5171
5168
|
}, onNext: () => {
|
|
5172
5169
|
}, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
|
|
5173
5170
|
return /* @__PURE__ */ h("div", { ref: u, className: `vsp-idleroot${d ? " vsp-idleroot--small" : ""}`, children: [
|
|
5174
|
-
/* @__PURE__ */ i(
|
|
5171
|
+
/* @__PURE__ */ i(Ei, { page: s, picture: /* @__PURE__ */ i(Sc, { poster: e, src: n }), title: r, desk: c, pos: Ac, 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: () => Ar(t.shareUrl ?? window.location.href, r), copied: null, onTouch: () => {
|
|
5175
5172
|
} }),
|
|
5176
5173
|
!l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
|
|
5177
5174
|
] });
|
|
5178
5175
|
}
|
|
5179
|
-
function
|
|
5176
|
+
function Pi({ connect: t, onClick: e, label: n }) {
|
|
5180
5177
|
return /* @__PURE__ */ h(xe, { children: [
|
|
5181
5178
|
/* @__PURE__ */ h("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
|
|
5182
5179
|
t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: X.link, size: 18, sw: 1.8 }),
|
|
5183
5180
|
/* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
|
|
5184
5181
|
] }),
|
|
5185
|
-
t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children:
|
|
5182
|
+
t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ri[t.status ?? "checking"] }),
|
|
5186
5183
|
t.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: t.err })
|
|
5187
5184
|
] });
|
|
5188
5185
|
}
|
|
5189
|
-
function
|
|
5186
|
+
function Ec({ idle: t, src: e, ask: n, connect: r, page: s, poster: a = null, onClear: o }) {
|
|
5190
5187
|
const l = () => r.start(e, n);
|
|
5191
5188
|
return /* @__PURE__ */ h(Cn, { idle: t, poster: a, src: e, title: dr(e), page: s, onAct: l, children: [
|
|
5192
|
-
/* @__PURE__ */ i(
|
|
5189
|
+
/* @__PURE__ */ i(Pi, { connect: r, onClick: l, label: r.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
|
|
5193
5190
|
!r.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: r.connected ? `Plays ${dr(e)} with subtitles and spoken translations.` : `Connect to play ${dr(e)} with subtitles and spoken translations.` }),
|
|
5194
5191
|
o && !r.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
|
|
5195
5192
|
] });
|
|
5196
5193
|
}
|
|
5197
|
-
function
|
|
5198
|
-
const [a, o] = I(""), l = v(null), c = v(null), u = a.trim(), d =
|
|
5194
|
+
function _c({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
|
|
5195
|
+
const [a, o] = I(""), l = v(null), c = v(null), u = a.trim(), d = ei.test(u), g = () => {
|
|
5199
5196
|
if (!d || e.busy) return;
|
|
5200
5197
|
const p = /^https?:\/\//i.test(u) ? u : `https://${u}`;
|
|
5201
5198
|
s(p), e.start(p, !1);
|
|
5202
5199
|
};
|
|
5203
5200
|
if (!e.connected)
|
|
5204
5201
|
return /* @__PURE__ */ h(Cn, { idle: t, poster: r, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
|
|
5205
|
-
/* @__PURE__ */ i(
|
|
5202
|
+
/* @__PURE__ */ i(Pi, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
|
|
5206
5203
|
!e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
|
|
5207
5204
|
] });
|
|
5208
5205
|
const M = () => {
|
|
@@ -5210,7 +5207,7 @@ function Ec({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
|
|
|
5210
5207
|
d ? g() : (p = l.current) == null || p.focus();
|
|
5211
5208
|
}, N = (p) => {
|
|
5212
5209
|
const y = p.trim();
|
|
5213
|
-
if (!
|
|
5210
|
+
if (!ei.test(y) || e.busy || y === c.current) return;
|
|
5214
5211
|
c.current = y;
|
|
5215
5212
|
const L = /^https?:\/\//i.test(y) ? y : `https://${y}`;
|
|
5216
5213
|
s(L), e.start(L, !1);
|
|
@@ -5226,11 +5223,11 @@ function Ec({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
|
|
|
5226
5223
|
}, "aria-label": "Video link", autoFocus: !0 }),
|
|
5227
5224
|
e.busy && /* @__PURE__ */ i(at, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
|
|
5228
5225
|
] }) }),
|
|
5229
|
-
e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children:
|
|
5226
|
+
e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ri[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." }),
|
|
5230
5227
|
e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
|
|
5231
5228
|
] });
|
|
5232
5229
|
}
|
|
5233
|
-
function
|
|
5230
|
+
function Yc({ idle: t, message: e, onRetry: n, page: r }) {
|
|
5234
5231
|
return /* @__PURE__ */ h(Cn, { idle: t, poster: null, src: null, title: "VocalStack", page: r, onAct: n, children: [
|
|
5235
5232
|
/* @__PURE__ */ h("div", { className: "vsp-idle__err", role: "alert", children: [
|
|
5236
5233
|
/* @__PURE__ */ i(oe, { d: X.warn, size: 16, sw: 1.8 }),
|
|
@@ -5242,7 +5239,7 @@ function _c({ idle: t, message: e, onRetry: n, page: r }) {
|
|
|
5242
5239
|
] })
|
|
5243
5240
|
] });
|
|
5244
5241
|
}
|
|
5245
|
-
function
|
|
5242
|
+
function Uc(t, e, n) {
|
|
5246
5243
|
const [r, s] = I(t && e ? void 0 : null);
|
|
5247
5244
|
return U(() => {
|
|
5248
5245
|
if (!t) {
|
|
@@ -5255,7 +5252,7 @@ function Yc(t, e, n) {
|
|
|
5255
5252
|
}
|
|
5256
5253
|
let a = !0;
|
|
5257
5254
|
s(void 0);
|
|
5258
|
-
const o = new
|
|
5255
|
+
const o = new si({ baseUrl: (n ?? Ti).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
|
|
5259
5256
|
if (!l) {
|
|
5260
5257
|
s(null);
|
|
5261
5258
|
return;
|
|
@@ -5269,24 +5266,24 @@ function Yc(t, e, n) {
|
|
|
5269
5266
|
};
|
|
5270
5267
|
}, [t, e, n]), r;
|
|
5271
5268
|
}
|
|
5272
|
-
const
|
|
5273
|
-
function
|
|
5269
|
+
const Rc = 100, ti = (t) => t == null ? null : t ? "on" : "off";
|
|
5270
|
+
function Pc(t) {
|
|
5274
5271
|
const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, r = (a) => a === "on" || a === "off" ? a : null, s = Number(e == null ? void 0 : e.get("t"));
|
|
5275
5272
|
return {
|
|
5276
5273
|
lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
|
|
5277
|
-
labels: r(e == null ? void 0 : e.get("labels")) ??
|
|
5278
|
-
words: r(e == null ? void 0 : e.get("words")) ??
|
|
5274
|
+
labels: r(e == null ? void 0 : e.get("labels")) ?? ti(n.speakerLabels),
|
|
5275
|
+
words: r(e == null ? void 0 : e.get("words")) ?? ti(n.wordHighlight),
|
|
5279
5276
|
cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
|
|
5280
5277
|
translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
|
|
5281
5278
|
clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
|
|
5282
|
-
removeBackground: e && e.get("bg") ?
|
|
5279
|
+
removeBackground: e && e.get("bg") ? Ga(e) : n.removeBackground ?? !1,
|
|
5283
5280
|
startAt: Number.isFinite(s) && s > 0 ? s : t.startAt ?? null
|
|
5284
5281
|
};
|
|
5285
5282
|
}
|
|
5286
|
-
const
|
|
5283
|
+
const Kc = fa(function(e, n) {
|
|
5287
5284
|
var K;
|
|
5288
5285
|
const r = v(null);
|
|
5289
|
-
|
|
5286
|
+
pa(n, () => ({
|
|
5290
5287
|
seek: (k) => {
|
|
5291
5288
|
var ae;
|
|
5292
5289
|
return (ae = r.current) == null ? void 0 : ae.seek(k);
|
|
@@ -5312,17 +5309,17 @@ const qc = pa(function(e, n) {
|
|
|
5312
5309
|
U(() => {
|
|
5313
5310
|
a({ id: e.id ?? "", token: e.token });
|
|
5314
5311
|
}, [e.id, e.token, e.src]);
|
|
5315
|
-
const o =
|
|
5312
|
+
const o = Uc(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
|
|
5316
5313
|
U(() => {
|
|
5317
5314
|
o != null && o.id && a({ id: o.id, token: e.token });
|
|
5318
5315
|
}, [o == null ? void 0 : o.id]);
|
|
5319
|
-
const [l, c] = I(null), [u, d] = I(() => ({ ...
|
|
5316
|
+
const [l, c] = I(null), [u, d] = I(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, k]) => k !== void 0)) })), [g, M] = I({}), N = { prefs: u, set: (k) => {
|
|
5320
5317
|
d((ae) => ({ ...ae, ...k })), M((ae) => ({ ...ae, ...k }));
|
|
5321
5318
|
}, shareUrl: (K = e.shareUrl) == null ? void 0 : K.call(e, null) }, { muted: p, ...y } = g;
|
|
5322
5319
|
U(() => {
|
|
5323
5320
|
c(null);
|
|
5324
5321
|
}, [e.id, e.src]);
|
|
5325
|
-
const L = e.src ?? l, m = !s.id && !!L && (l != null || o !== void 0), f = !s.id && !e.src && !l, z =
|
|
5322
|
+
const L = e.src ?? l, m = !s.id && !!L && (l != null || o !== void 0), f = !s.id && !e.src && !l, z = wi({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source: C, gone: D, error: V, reload: _ } = Ao(z, s.id), ee = Eo(z, (C == null ? void 0 : C.recording.id) ?? null), j = Ie(() => Do(z, ee), [z, ee]);
|
|
5326
5323
|
U(() => {
|
|
5327
5324
|
var k;
|
|
5328
5325
|
C && ((k = e.onSource) == null || k.call(e, C));
|
|
@@ -5330,16 +5327,16 @@ const qc = pa(function(e, n) {
|
|
|
5330
5327
|
var k;
|
|
5331
5328
|
V && ((k = e.onError) == null || k.call(e, V));
|
|
5332
5329
|
}, [V]);
|
|
5333
|
-
const E =
|
|
5334
|
-
return U(() => (Ks(Q ? re.current : null), () => Ks(null)), [Q]), /* @__PURE__ */ i(
|
|
5330
|
+
const E = Ui(e.desk), Q = (e.layout ?? "embed") === "embed", T = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), O = Ke((k) => a({ id: k.transcriptionId, token: null, listen: { transcriptionId: k.transcriptionId, recordingId: k.recordingId, token: k.token } }), []), S = xc(T, O), re = v(null);
|
|
5331
|
+
return U(() => (Ks(Q ? re.current : null), () => Ks(null)), [Q]), /* @__PURE__ */ i(Oo, { value: j, children: /* @__PURE__ */ i("div", { ref: re, className: `vsp${Q ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: f ? /* @__PURE__ */ i(_c, { idle: N, connect: S, page: !Q, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(Ec, { idle: N, src: L, ask: !l, connect: S, page: !Q, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : s.id ? V && !C ? /* @__PURE__ */ i(Yc, { idle: N, message: V.message, onRetry: _, page: !Q }) : /* @__PURE__ */ i(Qc, { ...e, initial: { ...e.initial ?? {}, ...y }, startMuted: p === !0, handle: r, id: s.id, api: j, shared: C, gone: D, loadError: V, reread: _, desk: E, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (k) => a({ id: k.transcriptionId, token: null, listen: { transcriptionId: k.transcriptionId, recordingId: k.recordingId, token: k.token } }) }, s.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
|
|
5335
5332
|
});
|
|
5336
|
-
function
|
|
5333
|
+
function Qc(t) {
|
|
5337
5334
|
var Ms, gs, fs, ps, Ns, ms, ys, Ts, ws, Ls, ks, vs, js, zs, Is, Os, Cs, bs, xs, Ds, Ss, As;
|
|
5338
|
-
const { api: e, shared: n, gone: r, desk: s, dark: a } = t, o = t.id ?? "", l = Ie(() =>
|
|
5335
|
+
const { api: e, shared: n, gone: r, desk: s, dark: a } = t, o = t.id ?? "", l = Ie(() => Pc(t), []), u = (t.mode ?? "video") === "video", [d, g] = I(t.loadError);
|
|
5339
5336
|
U(() => {
|
|
5340
5337
|
t.loadError && g(t.loadError);
|
|
5341
5338
|
}, [t.loadError]);
|
|
5342
|
-
const [M, N] = I("none"), [p, y] = I(!1), [L, m] = I(""), [f, z] =
|
|
5339
|
+
const [M, N] = I("none"), [p, y] = I(!1), [L, m] = I(""), [f, z] = Ul(), [C, D] = I(null), [V, _] = I(u ? "listen" : "read"), [ee, j] = I(!1), E = v(null), Q = v(/* @__PURE__ */ new Map()), [T, O] = I("main"), S = (w) => {
|
|
5343
5340
|
const Ne = document.querySelector(".vs-sheet--settings"), Qe = Ne == null ? void 0 : Ne.parentElement;
|
|
5344
5341
|
Ne && Qe && T === "main" && w !== "main" && Qe.style.setProperty("--vs-sheet-top", `${Math.round(Ne.getBoundingClientRect().top - Qe.getBoundingClientRect().top)}px`), O(w);
|
|
5345
5342
|
};
|
|
@@ -5366,20 +5363,20 @@ function Pc(t) {
|
|
|
5366
5363
|
U(() => {
|
|
5367
5364
|
if (!t.syncUrl) return;
|
|
5368
5365
|
const w = new URL(window.location.href);
|
|
5369
|
-
J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Ee ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Pe ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"),
|
|
5366
|
+
J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Ee ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Pe ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), Za(w, B), w.href !== window.location.href && window.history.replaceState(window.history.state, "", w);
|
|
5370
5367
|
}, [J, pe, Te, Ee, we, Pe, B]), U(() => {
|
|
5371
5368
|
n && !n.allowTranslate && J && G(null);
|
|
5372
5369
|
}, [n, J]);
|
|
5373
|
-
const { model: ce, error: F, clearError: me, setLanguage: Z, mergeTranslations: ke, translating: ze, translateFailed: Ge, shownLang: Ae } =
|
|
5370
|
+
const { model: ce, error: F, clearError: me, setLanguage: Z, mergeTranslations: ke, translating: ze, translateFailed: Ge, shownLang: Ae } = Ro(ae, {
|
|
5374
5371
|
lang: null,
|
|
5375
5372
|
onFrame: (w) => {
|
|
5376
5373
|
w.type === "job.progress" && D({ state: w.state, processedS: w.processedS ?? 0, totalS: w.totalS ?? null, segmentsDone: w.segmentsDone ?? 0, segmentsTotal: w.segmentsTotal ?? null, pct: w.pct ?? 0, error: w.error ?? null });
|
|
5377
5374
|
}
|
|
5378
|
-
}), ge = Ie(() =>
|
|
5375
|
+
}), ge = Ie(() => po(ce).filter((w) => !w.suppressed), [ce]), Ye = Po((n == null ? void 0 : n.job) ?? null), Ve = ["done", "failed", "stopped"].includes(or((Ye == null ? void 0 : Ye.state) ?? ((Ms = n == null ? void 0 : n.job) == null ? void 0 : Ms.state))), $ = Ve ? Ye : C ?? Ye, he = !!C && !["done", "failed", "stopped"].includes(or(C.state)), ue = v(0);
|
|
5379
5376
|
U(() => {
|
|
5380
5377
|
!Ve || !he || Date.now() - ue.current < 1e4 || (ue.current = Date.now(), t.reread());
|
|
5381
5378
|
}, [Ve, he, C == null ? void 0 : C.state, C == null ? void 0 : C.processedS, o]);
|
|
5382
|
-
const ie = or(($ == null ? void 0 : $.state) ?? ((gs = n == null ? void 0 : n.job) == null ? void 0 : gs.state)), fe = !!ae && (ie === "transcribing" || ie === "queued"), Ue = u && !r && (!n || (fe || ie === "cropping") && ge.length === 0), Y = fe ? ($ == null ? void 0 : $.pct) ?? 0 : 100, R =
|
|
5379
|
+
const ie = or(($ == null ? void 0 : $.state) ?? ((gs = n == null ? void 0 : n.job) == null ? void 0 : gs.state)), fe = !!ae && (ie === "transcribing" || ie === "queued"), Ue = u && !r && (!n || (fe || ie === "cropping") && ge.length === 0), Y = fe ? ($ == null ? void 0 : $.pct) ?? 0 : 100, R = $o(n == null ? void 0 : n.job, $) ?? (k == null ? void 0 : k.mediaDurationS) ?? null, q = ((fs = ce.segments.values().next().value) == null ? void 0 : fs.language) ?? (k == null ? void 0 : k.spokenLanguage) ?? null, ne = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", de = ((ms = (Ns = (ps = n == null ? void 0 : n.job) == null ? void 0 : ps.source) == null ? void 0 : Ns.name) == null ? void 0 : ms.trim()) || null, Oe = n ? ((ys = n.name) == null ? void 0 : ys.trim()) || de : null, ye = !!((Ts = n == null ? void 0 : n.job) != null && Ts.hasAudio), ve = (ws = n == null ? void 0 : n.job) == null ? void 0 : ws.source, Ce = !ye && !!ve && (ve.kind !== "url" || ve.bytes != null) && (ie === "transcribing" || ie === "queued" || ie === "done"), Ze = ae && (n != null && n.allowDownload) && ye ? ba(e.origin, ae, e.cred) : ae && (n != null && n.allowDownload) && Ce ? nr(e.origin, ae, "source", e.cred) : null, $e = ge[ge.length - 1], ot = $e ? ((Ls = $e.words[$e.words.length - 1]) == null ? void 0 : Ls.end) ?? $e.start : 0, rt = u && fe ? Math.max(ot, ($ == null ? void 0 : $.processedS) ?? 0) : null, gt = Vl(Ze, (ye || Ce) && !!(n != null && n.allowDownload), ge, R, Ce ? ((vs = (ks = n == null ? void 0 : n.job) == null ? void 0 : ks.crop) == null ? void 0 : vs.startS) ?? 0 : 0, rt), be = ((zs = (js = n == null ? void 0 : n.job) == null ? void 0 : js.source) == null ? void 0 : zs.kind) === "url" ? zi(n.job.source.url) : null, st = Bl(ge, R, ((Os = (Is = n == null ? void 0 : n.job) == null ? void 0 : Is.crop) == null ? void 0 : Os.startS) ?? 0, rt), He = !!be, it = He ? st.player : gt, lt = Li(), Ht = v(null), se = Zl({ forcedVoice: t.voice ?? null, recordingId: ae, model: ce, rows: ge, lenS: R, ended: !!ae && !fe, cred: e.cred, langs: lt, srcLang: q, canTranslate: !!(n != null && n.allowTranslate), pickedLang: te, setPickedLang: G, side: s && !re ? Gl : void 0, hearOriginal: H, timed: !!be, stockVoices: u && !Pe, stickyPicker: u, pickerBusy: Ht.current }), Wt = v(null);
|
|
5383
5380
|
U(() => {
|
|
5384
5381
|
!ae || Wt.current === J || (Wt.current = J, Z(J));
|
|
5385
5382
|
}, [J, ae]);
|
|
@@ -5394,23 +5391,23 @@ function Pc(t) {
|
|
|
5394
5391
|
const wt = Ie(() => ge.filter((w) => w.sentenceId != null).map((w, Ne, Qe) => {
|
|
5395
5392
|
var Fe;
|
|
5396
5393
|
return { sid: w.sentenceId, start: w.start, end: ((Fe = Qe[Ne + 1]) == null ? void 0 : Fe.start) ?? At(w, w.start, w.start + 4) };
|
|
5397
|
-
}), [ge]), Lt =
|
|
5394
|
+
}), [ge]), Lt = lo({ on: He && se.on, lines: wt, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Ot = !!J && (ze || se.relang || se.on && Lt.missing != null);
|
|
5398
5395
|
Ht.current = Ot ? J : null, U(() => {
|
|
5399
5396
|
He && se.on && Lt.sid != null && se.setNear(Lt.sid);
|
|
5400
|
-
}, [Lt.sid, He, se.on]),
|
|
5397
|
+
}, [Lt.sid, He, se.on]), $l([it, se.player], se.sampling);
|
|
5401
5398
|
const Ct = v(null);
|
|
5402
5399
|
U(() => {
|
|
5403
5400
|
fe && !x.playing && Ct.current && (Ct.current.scrollTop = Ct.current.scrollHeight);
|
|
5404
5401
|
}, [fe, ge.length]);
|
|
5405
|
-
const ct =
|
|
5402
|
+
const ct = Jl(Ct, ge, p, L, y), nn = /* @__PURE__ */ i(Kl, { open: p, q: L, onQ: m, onClose: () => y(!1), hits: ct, desk: s, inline: s }), Je = (n == null ? void 0 : n.name) || t.src || o, ut = !!(n != null && n.allowDownload), Ft = !!(n != null && n.allowExport), dt = se.readLang, kt = dt ? ((Cs = lt == null ? void 0 : lt.languages.find((w) => w.code === dt)) == null ? void 0 : Cs.name) ?? dt.toUpperCase() : null, rn = async () => {
|
|
5406
5403
|
if (ae)
|
|
5407
5404
|
try {
|
|
5408
5405
|
if (dt && se.canSpeak) {
|
|
5409
|
-
z(`Preparing ${Je} in ${kt}${se.readVoiceName ? `, read by ${se.readVoiceName}` : ""} — the download starts when it is ready.`), await
|
|
5406
|
+
z(`Preparing ${Je} in ${kt}${se.readVoiceName ? `, read by ${se.readVoiceName}` : ""} — the download starts when it is ready.`), await Ho(e, { recordingId: ae, lang: dt, voiceKey: se.readVoiceKey, cred: e.cred, request: se.requestTrack }), z(`Downloading ${Je} in ${kt}.`);
|
|
5410
5407
|
return;
|
|
5411
5408
|
}
|
|
5412
5409
|
if (ye) {
|
|
5413
|
-
z(`Preparing ${Je} as MP3 — the download starts when it is ready.`), await
|
|
5410
|
+
z(`Preparing ${Je} as MP3 — the download starts when it is ready.`), await Bo(nr(e.origin, ae, "delivery", e.cred)), z(`Downloading ${Je}.`);
|
|
5414
5411
|
return;
|
|
5415
5412
|
}
|
|
5416
5413
|
Sr(nr(e.origin, ae, "source", e.cred)), z(`Downloading ${Je} — the full audio, since the transcript is still being written.`);
|
|
@@ -5420,10 +5417,10 @@ function Pc(t) {
|
|
|
5420
5417
|
}, bt = (w) => {
|
|
5421
5418
|
if (!ae) return;
|
|
5422
5419
|
const Ne = Tr.find((Fe) => Fe.key === w).name, Qe = kt ? ` in ${kt}` : "";
|
|
5423
|
-
return
|
|
5420
|
+
return Vo(e, ae, w, { lang: dt }).then(() => z(fe ? `${Ne} exported${Qe} for the first ${ge.length} segments — the rest is still transcribing.` : `${Ne} exported${Qe}.`)).catch((Fe) => {
|
|
5424
5421
|
throw g(Tt(Fe)), Fe;
|
|
5425
5422
|
});
|
|
5426
|
-
}, _t = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ht = fe ? "var(--brand)" : "var(--ink-28)", Yt =
|
|
5423
|
+
}, _t = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ht = fe ? "var(--brand)" : "var(--ink-28)", Yt = Qo($, ge.length), Xe = x.has && (!se.relang || !!be), qe = v(x);
|
|
5427
5424
|
qe.current = x;
|
|
5428
5425
|
const Ut = `${J ?? ""}|${se.on ? "voice" : "source"}`, sn = v({ key: Ut, idx: 0, t: 0, playing: !1, until: 0 });
|
|
5429
5426
|
U(() => {
|
|
@@ -5441,7 +5438,7 @@ function Pc(t) {
|
|
|
5441
5438
|
}
|
|
5442
5439
|
});
|
|
5443
5440
|
const Rt = v(!1), We = v(!1);
|
|
5444
|
-
u && (
|
|
5441
|
+
u && (li.video = !0);
|
|
5445
5442
|
const [xt, vt] = I(!1), [Dn, an] = I(!1);
|
|
5446
5443
|
U(() => {
|
|
5447
5444
|
if (!u || Rt.current || !Xe || !re || Ue || t.autoplay === !1) return;
|
|
@@ -5475,7 +5472,7 @@ function Pc(t) {
|
|
|
5475
5472
|
return;
|
|
5476
5473
|
}
|
|
5477
5474
|
We.current = !0, qe.current.toggle();
|
|
5478
|
-
}, on = (w) => /* @__PURE__ */ i(
|
|
5475
|
+
}, on = (w) => /* @__PURE__ */ i(Yl, { player: x, size: w }), Gt = !!ae && !fe, [Zt, qt] = I(!1);
|
|
5479
5476
|
U(() => {
|
|
5480
5477
|
if (!ze) {
|
|
5481
5478
|
qt(!1);
|
|
@@ -5484,12 +5481,12 @@ function Pc(t) {
|
|
|
5484
5481
|
const w = setTimeout(() => qt(!0), 180);
|
|
5485
5482
|
return () => clearTimeout(w);
|
|
5486
5483
|
}, [ze]);
|
|
5487
|
-
const P = Zt ? Ae : J, De =
|
|
5484
|
+
const P = Zt ? Ae : J, De = rl(ae, J, ge, ke), Be = ml(yl(k), ae, se.readLang), zt = ut || Ft, Kt = (((xs = (bs = n == null ? void 0 : n.job) == null ? void 0 : bs.crop) == null ? void 0 : xs.startS) ?? 0) + cr(x, ge), _n = V === "listen", Dt = _n && (!!be || u), Qi = (w) => {
|
|
5488
5485
|
it.pause(), se.player.pause(), _(w), w === "read" && re && (Xt(!1), K(!1));
|
|
5489
|
-
}, Re = se.barChip, Pt =
|
|
5490
|
-
w === "summary" && Gt && /* @__PURE__ */ i(
|
|
5491
|
-
w === "export" && /* @__PURE__ */ i(
|
|
5492
|
-
] }),
|
|
5486
|
+
}, Re = se.barChip, Pt = vi(Re.label), Yr = /* @__PURE__ */ i(hr, { value: V, onChange: Qi, bordered: !1, options: dc(Pt, !!be) }), Qt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...zt ? [{ key: "export", label: "Export" }] : []], Ur = (w) => /* @__PURE__ */ h(xe, { children: [
|
|
5487
|
+
w === "summary" && Gt && /* @__PURE__ */ i(Tl, { s: Be }),
|
|
5488
|
+
w === "export" && /* @__PURE__ */ i(Nl, { audio: ut ? { name: Je, meta: dt && se.canSpeak || ye ? `MP3${R ? ` · ${yt(R)}` : ""}` : "ORIGINAL AUDIO", onClick: rn } : null, formats: Ft, onExport: bt })
|
|
5489
|
+
] }), $i = (w) => /* @__PURE__ */ i(Xo, { index: x.idx, total: Math.max(1, ge.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: yt(x.t), durLabel: yt(x.dur), stepLabel: w ? `${x.idx + 1} / ${ge.length}` : "", onSeek: se.relang ? Wl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Rr = {
|
|
5493
5490
|
live: !1,
|
|
5494
5491
|
atEdge: !1,
|
|
5495
5492
|
edgeFrac: null,
|
|
@@ -5502,24 +5499,24 @@ function Pc(t) {
|
|
|
5502
5499
|
var Ne;
|
|
5503
5500
|
se.relang || (Ne = x.seekFrac) == null || Ne.call(x, w);
|
|
5504
5501
|
}
|
|
5505
|
-
}, [
|
|
5502
|
+
}, [Bi, Vi] = Mc(se.on && !!x.preparing && x.playing, 1500), Yn = se.on && ((Ds = x.error) == null ? void 0 : Ds.code) === "voice_not_started", Un = se.canSpeak && !se.error && !Yn, ln = J ? ((Ss = lt == null ? void 0 : lt.languages.find((w) => w.code === J)) == null ? void 0 : Ss.name) ?? Re.label : "", tt = re ? hc({ lang: J, langName: ln, translating: ze && !!J, translateFailed: Ge, voiceFailed: Yn, relang: se.relang, starting: se.on ? x.starting : null, slowLine: Bi, lineSince: Vi }) : null, Rn = !!be && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Pr = !Rn || !tt ? null : tt.kind === "translating" ? `Translating into ${ln || "the new language"}…` : `Preparing the ${ln || "translated"} voice…`, cn = !Rn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Qr = Or({ ...se.langList, keepOpen: !0, open: T === "lang", onClose: () => S("main") }), $r = Fa(B, se.on), Hi = u && $r.bed && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred) : null, Br = no(Hi, { t: cr(x, ge), playing: x.playing && !cn && !(x.timed && x.preparing), muted: x.muted }), Wi = u && $r.speech && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred, "speech") : null, Pn = pi(Wi, { t: cr(x, ge), playing: !se.on && x.playing, muted: x.muted }), Qn = !se.on && Pn.on;
|
|
5506
5503
|
U(() => {
|
|
5507
5504
|
var w;
|
|
5508
5505
|
st.setVideoSound(!(He && (se.on || Qn))), (w = gt.silence) == null || w.call(gt, !He && Qn);
|
|
5509
5506
|
}, [He, se.on, Qn, Ze]);
|
|
5510
|
-
const $n = ut ? se.on ? Br : Pn.state : "unavailable", Bn = we && Un && !!J,
|
|
5507
|
+
const $n = ut ? se.on ? Br : Pn.state : "unavailable", Bn = we && Un && !!J, Fi = Bn ? [`Translated${se.hasClone ? Pe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && ut && Br !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && $n !== "unavailable" ? "Original speech, background removed" : "Original sound", Gi = () => {
|
|
5511
5508
|
if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
|
|
5512
5509
|
Z(J);
|
|
5513
5510
|
return;
|
|
5514
5511
|
}
|
|
5515
5512
|
We.current = !0, x.toggle();
|
|
5516
|
-
},
|
|
5513
|
+
}, Zi = () => {
|
|
5517
5514
|
const w = x.idx;
|
|
5518
5515
|
x.pause(), G(null), We.current = !0, it.playRow(w);
|
|
5519
5516
|
}, Vr = { prevOn: x.idx > 0, nextOn: x.idx < ge.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: Xe, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
|
|
5520
5517
|
We.current = !0, x.toggle();
|
|
5521
5518
|
}, busy: se.relang && !be || cn };
|
|
5522
|
-
|
|
5519
|
+
ho(Xe ? { playing: x.playing, toggle: () => {
|
|
5523
5520
|
We.current = !0, x.toggle();
|
|
5524
5521
|
}, next: x.next, prev: x.prev } : null, Oe);
|
|
5525
5522
|
const Vn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Hn = (w, Ne) => !Re.can || !b.language ? null : u ? /* @__PURE__ */ h("button", { type: "button", className: "gfull__btn", title: Ot ? `${Re.label ?? Re.code}: still being prepared` : Re.label ?? Re.code, "aria-label": `Language: ${Re.label ?? Re.code}`, "aria-busy": Ot || void 0, onClick: () => {
|
|
@@ -5528,31 +5525,31 @@ function Pc(t) {
|
|
|
5528
5525
|
/* @__PURE__ */ i("span", { style: { fontSize: Ne === "sm" ? 17 : 21, lineHeight: 1 }, children: Re.flag }),
|
|
5529
5526
|
Ot && /* @__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(at, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
|
|
5530
5527
|
] }) : /* @__PURE__ */ i(zn, { flag: Re.flag, code: Re.code, label: Re.label, bordered: !1, size: Ne, onClick: Re.onClick, style: w }), Hr = { on: !1, title: "Voices", onClick: () => {
|
|
5531
|
-
} }, [
|
|
5528
|
+
} }, [qi, Ki] = I(!1);
|
|
5532
5529
|
U(() => {
|
|
5533
|
-
x.t > 0.3 &&
|
|
5530
|
+
x.t > 0.3 && Ki(!0);
|
|
5534
5531
|
}, [x.t]);
|
|
5535
5532
|
const Wr = be ? /* @__PURE__ */ h(xe, { children: [
|
|
5536
|
-
/* @__PURE__ */ i(
|
|
5533
|
+
/* @__PURE__ */ i(Al, { ytId: be, title: Je, t: Kt, playing: x.playing && !cn, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (w) => {
|
|
5537
5534
|
var Ne, Qe, Fe;
|
|
5538
5535
|
return (Fe = x.videoAt) == null ? void 0 : Fe.call(x, w - (((Qe = (Ne = n == null ? void 0 : n.job) == null ? void 0 : Ne.crop) == null ? void 0 : Qe.startS) ?? 0));
|
|
5539
5536
|
}, onToggle: x.has ? En : void 0, onAd: an, lead: He ? st.lead : void 0 }),
|
|
5540
|
-
/* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity:
|
|
5537
|
+
/* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: qi ? 0 : 1 }, children: [
|
|
5541
5538
|
/* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${be}/hqdefault.jpg)` } }),
|
|
5542
5539
|
/* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(jr, { size: 44 }) })
|
|
5543
5540
|
] })
|
|
5544
|
-
] }) : u ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }) : null, Fr = Dt && be && !re ? /* @__PURE__ */ i(
|
|
5541
|
+
] }) : u ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }) : null, Fr = Dt && be && !re ? /* @__PURE__ */ i(wl, { ytId: be, title: Je, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: Wr, children: /* @__PURE__ */ i(oc, { pos: Rr, transport: Vr, chip: Hn({ ...Vn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hr, onFull: () => {
|
|
5545
5542
|
Xt(!0), K(!0);
|
|
5546
|
-
}, copied: null }) }) : null, et = x.wordSync ?
|
|
5543
|
+
}, copied: null }) }) : null, et = x.wordSync ? Go(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
|
|
5547
5544
|
for (const w of ge) for (const [Ne, Qe] of Object.entries(w.translations)) Qe && Q.current.set(`${w.sentenceId ?? w.start}|${Ne}`, Qe);
|
|
5548
5545
|
const Gr = (w, Ne) => w.translations[Ne] || Q.current.get(`${w.sentenceId ?? w.start}|${Ne}`) || null, Wn = (w, Ne) => !w || !Ne || w.language === Ne || !!Gr(w, Ne), mt = Wn(et, J) ? J : Wn(et, E.current) ? E.current : J;
|
|
5549
5546
|
et && Wn(et, mt) && (E.current = mt);
|
|
5550
|
-
const Zr = et && mt && et.language !== mt ? Gr(et, mt) : null,
|
|
5547
|
+
const Zr = et && mt && et.language !== mt ? Gr(et, mt) : null, Ji = et && Zr && mt && !et.translations[mt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [mt]: Zr } } }) : ge, un = et ? xi(Ji, x.idx, mt) : [], dn = Te ? Te === "on" : !u || se.on || !P || P === q, qr = dn ? Zs(x, x.idx, un) : null, Kr = un.map((w, Ne) => ({ t: w.text, sp: Ne < un.length - 1 ? " " : "", dim: qr != null && Ne > qr })), hn = pe ? pe === "on" : u ? !1 : zo(ce, ge, k == null ? void 0 : k.settings), Jr = { lang: J, subtitles: Ee, speakerLabels: hn, wordHighlight: dn, translateAudio: we, voices: Pe ? "cloned" : "synthetic", removeBackground: B }, Xi = JSON.stringify(Jr), Mn = v(t.onSettingsChange);
|
|
5551
5548
|
Mn.current = t.onSettingsChange, U(() => {
|
|
5552
5549
|
var w;
|
|
5553
5550
|
(w = Mn.current) == null || w.call(Mn, Jr);
|
|
5554
|
-
}, [
|
|
5555
|
-
const gn = et && et.speaker >= 0 && hn ? xr(ce, et.speaker) : null, [
|
|
5551
|
+
}, [Xi]);
|
|
5552
|
+
const gn = et && et.speaker >= 0 && hn ? xr(ce, et.speaker) : null, [ea, Xr] = I(!1), [Fn, es] = I(null), [ta, ts] = I(null), Gn = v(void 0);
|
|
5556
5553
|
U(() => () => window.clearTimeout(Gn.current), []);
|
|
5557
5554
|
const Zn = v(void 0);
|
|
5558
5555
|
U(() => () => window.clearTimeout(Zn.current), []);
|
|
@@ -5576,11 +5573,11 @@ function Pc(t) {
|
|
|
5576
5573
|
const w = fn.current;
|
|
5577
5574
|
w == null || !x.playing || (fn.current = null, Math.abs(x.t - w) > 2 && qn(w));
|
|
5578
5575
|
}, [x.playing]);
|
|
5579
|
-
const
|
|
5576
|
+
const na = (w) => {
|
|
5580
5577
|
We.current = !0, fn.current = null, qn(Math.max(0, w));
|
|
5581
5578
|
};
|
|
5582
5579
|
t.handle.current = {
|
|
5583
|
-
seek: (w) =>
|
|
5580
|
+
seek: (w) => na(w),
|
|
5584
5581
|
play: () => {
|
|
5585
5582
|
We.current = !0, qe.current.playing || qe.current.toggle();
|
|
5586
5583
|
},
|
|
@@ -5608,13 +5605,13 @@ function Pc(t) {
|
|
|
5608
5605
|
yn !== w && (w = yn, Fe(Mt));
|
|
5609
5606
|
};
|
|
5610
5607
|
Ne();
|
|
5611
|
-
const Qe = window.setInterval(Ne,
|
|
5608
|
+
const Qe = window.setInterval(Ne, Rc);
|
|
5612
5609
|
return () => window.clearInterval(Qe);
|
|
5613
5610
|
}, []);
|
|
5614
|
-
const
|
|
5611
|
+
const ra = () => t.onShare ? t.onShare() : Ar(ns(null), Je, () => {
|
|
5615
5612
|
window.clearTimeout(Zn.current), Xr(!0), Zn.current = window.setTimeout(() => Xr(!1), 2200);
|
|
5616
5613
|
}), as = (w, Ne, Qe) => {
|
|
5617
|
-
const Fe = Tr.find((yn) => yn.key === w), ft = Fn === w, Mt =
|
|
5614
|
+
const Fe = Tr.find((yn) => yn.key === w), ft = Fn === w, Mt = ta === w;
|
|
5618
5615
|
return /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", "aria-busy": ft || void 0, style: Fn && !ft ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
|
|
5619
5616
|
Fn || (es(w), Promise.resolve().then(() => bt(w)).then(() => {
|
|
5620
5617
|
ts(w), window.clearTimeout(Gn.current), Gn.current = window.setTimeout(() => ts(null), 1600);
|
|
@@ -5628,13 +5625,13 @@ function Pc(t) {
|
|
|
5628
5625
|
] }),
|
|
5629
5626
|
/* @__PURE__ */ i(oe, { d: Mt ? X.check : X.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: Mt ? "var(--brand)" : "var(--ink-62)" } })
|
|
5630
5627
|
] });
|
|
5631
|
-
},
|
|
5628
|
+
}, sa = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
5632
5629
|
" ",
|
|
5633
5630
|
/* @__PURE__ */ h("button", { type: "button", onClick: () => S("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: [
|
|
5634
5631
|
/* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 18, sw: 1.8 }),
|
|
5635
5632
|
"Back"
|
|
5636
5633
|
] })
|
|
5637
|
-
] }), pn = /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }),
|
|
5634
|
+
] }), pn = /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ia = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[T], Nn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Kn = u ? /* @__PURE__ */ i(Vt, { open: ee, onClose: () => j(!1), title: ia, titleNode: T === "main" ? void 0 : sa, doneLabel: Pt.done, kind: T === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(Mr, { children: T === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
5638
5635
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Qr.search }),
|
|
5639
5636
|
Qr.list
|
|
5640
5637
|
] }) : T === "subs" ? /* @__PURE__ */ h("div", { style: Nn, children: [
|
|
@@ -5677,7 +5674,7 @@ function Pc(t) {
|
|
|
5677
5674
|
/* @__PURE__ */ h("div", { className: "srow", children: [
|
|
5678
5675
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5679
5676
|
/* @__PURE__ */ i("div", { className: "srow__t", children: In }),
|
|
5680
|
-
/* @__PURE__ */ i("div", { className: "srow__s", children:
|
|
5677
|
+
/* @__PURE__ */ i("div", { className: "srow__s", children: Wa(B, $n, "video", se.on ? 0 : Pn.untilS) })
|
|
5681
5678
|
] }),
|
|
5682
5679
|
/* @__PURE__ */ i(Nt, { checked: B && ut, onChange: W, label: In, disabled: !ut || $n === "unavailable" && !B })
|
|
5683
5680
|
] })
|
|
@@ -5703,7 +5700,7 @@ function Pc(t) {
|
|
|
5703
5700
|
b.audio && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => S("audio"), children: [
|
|
5704
5701
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5705
5702
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5706
|
-
/* @__PURE__ */ i("div", { className: "srow__s", children:
|
|
5703
|
+
/* @__PURE__ */ i("div", { className: "srow__s", children: Fi })
|
|
5707
5704
|
] }),
|
|
5708
5705
|
pn
|
|
5709
5706
|
] }, "audio"),
|
|
@@ -5734,7 +5731,7 @@ function Pc(t) {
|
|
|
5734
5731
|
] }),
|
|
5735
5732
|
t.settingsExtra
|
|
5736
5733
|
] }) }), It = re && Dt && (!!be || u) && /* @__PURE__ */ i(
|
|
5737
|
-
|
|
5734
|
+
Ei,
|
|
5738
5735
|
{
|
|
5739
5736
|
page: (t.layout ?? "embed") === "page",
|
|
5740
5737
|
picture: Wr,
|
|
@@ -5745,7 +5742,7 @@ function Pc(t) {
|
|
|
5745
5742
|
cc: b.subtitles ? { on: Ee, onToggle: () => Le((w) => !w) } : void 0,
|
|
5746
5743
|
noFull: !b.fullscreen,
|
|
5747
5744
|
ad: Dn,
|
|
5748
|
-
wait: tt && !Rn ? /* @__PURE__ */ i(
|
|
5745
|
+
wait: tt && !Rn ? /* @__PURE__ */ i(fc, { state: tt, line: cn ? Kr.map((w) => w.t + w.sp).join("") : null, onRetry: Gi, onOriginal: Zi }) : x.edgeWait ? `Transcribing ${Math.round(Y)}% — it plays on as more is written` : null,
|
|
5749
5746
|
pct: fe ? Math.round(Y) : null,
|
|
5750
5747
|
sub: Ee && et ? { who: gn ? br(ce, et.speaker) : null, color: gn ? gn.fg ?? `var(--lane-${gn.lane})` : "#fff", words: Kr, cursor: Zs(x, x.idx, un) } : null,
|
|
5751
5748
|
chip: Hn(s ? Vn : { ...Vn, width: 64, padding: "0 6px" }, s ? void 0 : "sm"),
|
|
@@ -5755,13 +5752,13 @@ function Pc(t) {
|
|
|
5755
5752
|
voices: null,
|
|
5756
5753
|
voicesBtn: u ? null : Hr,
|
|
5757
5754
|
sheetOpen: se.sheetsOpen || ee,
|
|
5758
|
-
onShare: u && b.share ?
|
|
5755
|
+
onShare: u && b.share ? ra : void 0,
|
|
5759
5756
|
onSettings: u && b.settings ? () => {
|
|
5760
5757
|
se.closePicker(), j((w) => !w);
|
|
5761
5758
|
} : void 0,
|
|
5762
5759
|
compact: !!t.compact,
|
|
5763
5760
|
paused: { title: Je, summary: Be.state === "ready" ? Be.summary ?? null : null, share: b.share && (t.shareUrl || !t.onShare) ? { url: ns, at: x.t } : null },
|
|
5764
|
-
copied:
|
|
5761
|
+
copied: ea ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
|
|
5765
5762
|
/* @__PURE__ */ i(oe, { d: X.check, size: 13, sw: 2 }),
|
|
5766
5763
|
"Link copied"
|
|
5767
5764
|
] }) : xt ? /* @__PURE__ */ h("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
|
|
@@ -5793,20 +5790,20 @@ function Pc(t) {
|
|
|
5793
5790
|
/* @__PURE__ */ i("span", { className: "s", children: Yt })
|
|
5794
5791
|
] }),
|
|
5795
5792
|
!s && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${Y}%` } }) })
|
|
5796
|
-
] }), Jn = r && /* @__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." }), ls = /* @__PURE__ */ i(
|
|
5793
|
+
] }), Jn = r && /* @__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." }), ls = /* @__PURE__ */ i(ql, { model: ce, rows: ge, player: x, tail: _t, tailFg: ht, running: fe, desk: s, feedRef: Ct, listener: !0, showLabels: hn, find: L, findOpen: !s && p, lang: P, warm: Zt, onVisible: De, wordHl: dn }), Xn = /* @__PURE__ */ i(Jo, { error: d ?? F ?? (Yn && re ? null : x.error) ?? se.error, onClose: () => {
|
|
5797
5794
|
g(null), me(), x.clearError(), se.clearError();
|
|
5798
5795
|
} }), cs = [R ? yt(R) : null, q ? q.toUpperCase() : null, ne || "Read-only copy"].filter(Boolean).join(" · "), us = (w) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ h(xe, { children: [
|
|
5799
5796
|
/* @__PURE__ */ h("div", { className: "ctrans__row", children: [
|
|
5800
5797
|
/* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
|
|
5801
5798
|
/* @__PURE__ */ h("div", { className: "ctrans__mid", children: [
|
|
5802
5799
|
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 16, sw: 1.8 }) }),
|
|
5803
|
-
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !Xe, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ?
|
|
5800
|
+
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !Xe, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? El : _l }) }),
|
|
5804
5801
|
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= ge.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 16, sw: 1.8 }) })
|
|
5805
5802
|
] }),
|
|
5806
5803
|
/* @__PURE__ */ i("span", { className: "ctrans__mute", children: on(36) })
|
|
5807
5804
|
] }),
|
|
5808
|
-
/* @__PURE__ */ i("div", { className: "ctrans__scrub", children:
|
|
5809
|
-
] }) }),
|
|
5805
|
+
/* @__PURE__ */ i("div", { className: "ctrans__scrub", children: $i(w) })
|
|
5806
|
+
] }) }), aa = vl("ga", { tabs: Qt, cur: M, pref: (As = Qt[0]) == null ? void 0 : As.key, onPick: N }), ds = Math.max(0, Math.min(100, Math.round(Y))), oa = Ue && /* @__PURE__ */ h("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
|
|
5810
5807
|
be && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${be}/hqdefault.jpg)` } }),
|
|
5811
5808
|
/* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ h(xe, { children: [
|
|
5812
5809
|
Je && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Je }),
|
|
@@ -5823,16 +5820,16 @@ function Pc(t) {
|
|
|
5823
5820
|
var w;
|
|
5824
5821
|
(w = mn.current) == null || w.call(mn, hs);
|
|
5825
5822
|
}, [hs]);
|
|
5826
|
-
const [
|
|
5823
|
+
const [la, er] = I(!1), tr = !!It && !Ue && (He ? !!x.ended : !x.playing && x.dur > 0 && x.t >= x.dur - 0.5);
|
|
5827
5824
|
U(() => {
|
|
5828
5825
|
tr || er(!1);
|
|
5829
5826
|
}, [tr]);
|
|
5830
|
-
const
|
|
5827
|
+
const ca = t.endCard !== !1 && tr && !la && /* @__PURE__ */ i(kc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => er(!0), onReplay: () => {
|
|
5831
5828
|
er(!0), We.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
|
|
5832
5829
|
} });
|
|
5833
5830
|
if (u) return /* @__PURE__ */ h(xe, { children: [
|
|
5834
|
-
r ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Jn }) :
|
|
5835
|
-
|
|
5831
|
+
r ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Jn }) : oa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
|
|
5832
|
+
ca,
|
|
5836
5833
|
Xn
|
|
5837
5834
|
] });
|
|
5838
5835
|
if (s) {
|
|
@@ -5860,10 +5857,10 @@ function Pc(t) {
|
|
|
5860
5857
|
Yr
|
|
5861
5858
|
] })
|
|
5862
5859
|
] }),
|
|
5863
|
-
Ne && /* @__PURE__ */ h(
|
|
5860
|
+
Ne && /* @__PURE__ */ h(Il, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
|
|
5864
5861
|
!se.sidePanel && w,
|
|
5865
5862
|
!se.sidePanel && Fr,
|
|
5866
|
-
!se.sidePanel && Qt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(
|
|
5863
|
+
!se.sidePanel && Qt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(jl, { col: aa, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Qe) => /* @__PURE__ */ i(Es, { panel: !0, children: Ur(Qe) }) }) }),
|
|
5867
5864
|
se.sidePanel
|
|
5868
5865
|
] })
|
|
5869
5866
|
] }),
|
|
@@ -5873,15 +5870,15 @@ function Pc(t) {
|
|
|
5873
5870
|
Xn
|
|
5874
5871
|
] });
|
|
5875
5872
|
}
|
|
5876
|
-
const
|
|
5877
|
-
/* @__PURE__ */ i(
|
|
5873
|
+
const ua = Qt.length > 0 && !p && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ h(Es, { panel: !0, children: [
|
|
5874
|
+
/* @__PURE__ */ i(Ci, { tabs: Qt, current: M, onPick: N, gap: M !== "none" }),
|
|
5878
5875
|
M !== "none" && Ur(M)
|
|
5879
5876
|
] }) });
|
|
5880
5877
|
return /* @__PURE__ */ h(xe, { children: [
|
|
5881
|
-
/* @__PURE__ */ i(
|
|
5878
|
+
/* @__PURE__ */ i(cc, { dark: a, title: n ? Je : "", subline: n ? cs : "", onOptions: () => j(!0), optionsActive: ee }),
|
|
5882
5879
|
Jn,
|
|
5883
5880
|
os,
|
|
5884
|
-
!r &&
|
|
5881
|
+
!r && ua,
|
|
5885
5882
|
!r && Fr,
|
|
5886
5883
|
!r && /* @__PURE__ */ h("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
|
|
5887
5884
|
nn,
|
|
@@ -5902,53 +5899,53 @@ function Pc(t) {
|
|
|
5902
5899
|
] });
|
|
5903
5900
|
}
|
|
5904
5901
|
export {
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5902
|
+
Nl as ExportPanel,
|
|
5903
|
+
Ei as FullVideo,
|
|
5904
|
+
oc as MiniPlayer,
|
|
5905
|
+
Yl as MuteButton,
|
|
5906
|
+
Wl as NO_SEEK,
|
|
5907
|
+
El as PAUSE_D,
|
|
5908
|
+
_l as PLAY_D,
|
|
5909
|
+
Gl as PUB_SIDE,
|
|
5910
|
+
qc as PanelSeek,
|
|
5911
|
+
Oo as PlayerApiProvider,
|
|
5915
5912
|
In as REMOVE_BG_LABEL,
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
5913
|
+
Va as REMOVE_BG_NOTE,
|
|
5914
|
+
Xo as ReplayScrub,
|
|
5915
|
+
ol as SpeakerCast,
|
|
5916
|
+
Tl as SummaryPanel,
|
|
5917
|
+
Zc as Transport,
|
|
5918
|
+
Kl as TxFind,
|
|
5919
|
+
ql as TxLines,
|
|
5920
|
+
Kc as VocalStackPlayer,
|
|
5921
|
+
ll as VoiceSheetBody,
|
|
5922
|
+
Al as YtFollow,
|
|
5923
|
+
Wa as bedNote,
|
|
5927
5924
|
Xt as browserFull,
|
|
5928
5925
|
At as lineEnd,
|
|
5929
|
-
|
|
5926
|
+
xi as lineWords,
|
|
5930
5927
|
cr as pictureT,
|
|
5931
5928
|
Ln as placePosition,
|
|
5932
5929
|
kn as realFull,
|
|
5933
|
-
|
|
5930
|
+
Gc as setErrorReporter,
|
|
5934
5931
|
Ks as setFullTarget,
|
|
5935
|
-
|
|
5932
|
+
Sl as snapPosition,
|
|
5936
5933
|
Zs as spokenWordOf,
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5934
|
+
Fa as trackPlan,
|
|
5935
|
+
wi as useApi,
|
|
5936
|
+
Ml as useArchiveVoice,
|
|
5937
|
+
no as useBackgroundBed,
|
|
5938
|
+
$l as useDuck,
|
|
5939
|
+
Jl as useFindPull,
|
|
5940
|
+
Ul as useFlash,
|
|
5944
5941
|
Et as usePlayerApi,
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5942
|
+
pi as useSeparatedTrack,
|
|
5943
|
+
ml as useSummaryIn,
|
|
5944
|
+
Ro as useTranscript,
|
|
5945
|
+
Vl as useTxPlayer,
|
|
5946
|
+
Zl as useTxVoice,
|
|
5947
|
+
rl as useViewportTranslation,
|
|
5948
|
+
dl as useVoiceCatalogue,
|
|
5949
|
+
Bl as useYtLead
|
|
5953
5950
|
};
|
|
5954
5951
|
//# sourceMappingURL=index.js.map
|