@norskvideo/norsk-studio-built-ins 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/client/info.js +17990 -0
  2. package/client/output.preview/styles.css +128 -0
  3. package/client/processor.audioLevel/styles.css +164 -0
  4. package/client/processor.audioMixer/styles.css +249 -0
  5. package/client/processor.cascadingSwitch/extra.css +0 -0
  6. package/lib/index.d.ts +3 -0
  7. package/lib/index.js +15 -0
  8. package/lib/index.js.map +1 -0
  9. package/lib/info.d.ts +3 -0
  10. package/lib/info.js +74 -0
  11. package/lib/info.js.map +1 -0
  12. package/lib/input.mediaconnect/flow-selection.d.ts +9 -0
  13. package/lib/input.mediaconnect/flow-selection.js +40 -0
  14. package/lib/input.mediaconnect/flow-selection.js.map +1 -0
  15. package/lib/input.mediaconnect/info.d.ts +3 -0
  16. package/lib/input.mediaconnect/info.js +70 -0
  17. package/lib/input.mediaconnect/info.js.map +1 -0
  18. package/lib/input.mediaconnect/node-view.d.ts +6 -0
  19. package/lib/input.mediaconnect/node-view.js +38 -0
  20. package/lib/input.mediaconnect/node-view.js.map +1 -0
  21. package/lib/input.mediaconnect/output-selection.d.ts +9 -0
  22. package/lib/input.mediaconnect/output-selection.js +55 -0
  23. package/lib/input.mediaconnect/output-selection.js.map +1 -0
  24. package/lib/input.mediaconnect/runtime.d.ts +23 -0
  25. package/lib/input.mediaconnect/runtime.js +133 -0
  26. package/lib/input.mediaconnect/runtime.js.map +1 -0
  27. package/lib/input.rtmp/info.d.ts +3 -0
  28. package/lib/input.rtmp/info.js +101 -0
  29. package/lib/input.rtmp/info.js.map +1 -0
  30. package/lib/input.rtmp/inline-view.d.ts +6 -0
  31. package/lib/input.rtmp/inline-view.js +16 -0
  32. package/lib/input.rtmp/inline-view.js.map +1 -0
  33. package/lib/input.rtmp/runtime.d.ts +19 -0
  34. package/lib/input.rtmp/runtime.js +75 -0
  35. package/lib/input.rtmp/runtime.js.map +1 -0
  36. package/lib/input.rtmp/summary-view.d.ts +6 -0
  37. package/lib/input.rtmp/summary-view.js +22 -0
  38. package/lib/input.rtmp/summary-view.js.map +1 -0
  39. package/lib/input.silence/info.d.ts +3 -0
  40. package/lib/input.silence/info.js +47 -0
  41. package/lib/input.silence/info.js.map +1 -0
  42. package/lib/input.silence/runtime.d.ts +22 -0
  43. package/lib/input.silence/runtime.js +52 -0
  44. package/lib/input.silence/runtime.js.map +1 -0
  45. package/lib/input.srt-caller/info.d.ts +3 -0
  46. package/lib/input.srt-caller/info.js +74 -0
  47. package/lib/input.srt-caller/info.js.map +1 -0
  48. package/lib/input.srt-caller/runtime.d.ts +12 -0
  49. package/lib/input.srt-caller/runtime.js +14 -0
  50. package/lib/input.srt-caller/runtime.js.map +1 -0
  51. package/lib/input.srt-listener/info.d.ts +3 -0
  52. package/lib/input.srt-listener/info.js +125 -0
  53. package/lib/input.srt-listener/info.js.map +1 -0
  54. package/lib/input.srt-listener/inline-view.d.ts +6 -0
  55. package/lib/input.srt-listener/inline-view.js +16 -0
  56. package/lib/input.srt-listener/inline-view.js.map +1 -0
  57. package/lib/input.srt-listener/runtime.d.ts +24 -0
  58. package/lib/input.srt-listener/runtime.js +75 -0
  59. package/lib/input.srt-listener/runtime.js.map +1 -0
  60. package/lib/input.srt-listener/summary-view.d.ts +6 -0
  61. package/lib/input.srt-listener/summary-view.js +22 -0
  62. package/lib/input.srt-listener/summary-view.js.map +1 -0
  63. package/lib/input.udp-ts/info.d.ts +3 -0
  64. package/lib/input.udp-ts/info.js +34 -0
  65. package/lib/input.udp-ts/info.js.map +1 -0
  66. package/lib/input.udp-ts/runtime.d.ts +10 -0
  67. package/lib/input.udp-ts/runtime.js +24 -0
  68. package/lib/input.udp-ts/runtime.js.map +1 -0
  69. package/lib/input.videoTestCard/info.d.ts +3 -0
  70. package/lib/input.videoTestCard/info.js +42 -0
  71. package/lib/input.videoTestCard/info.js.map +1 -0
  72. package/lib/input.videoTestCard/runtime.d.ts +10 -0
  73. package/lib/input.videoTestCard/runtime.js +14 -0
  74. package/lib/input.videoTestCard/runtime.js.map +1 -0
  75. package/lib/output.autoCmaf/form-views.d.ts +3 -0
  76. package/lib/output.autoCmaf/form-views.js +13 -0
  77. package/lib/output.autoCmaf/form-views.js.map +1 -0
  78. package/lib/output.autoCmaf/fullscreen.d.ts +6 -0
  79. package/lib/output.autoCmaf/fullscreen.js +31 -0
  80. package/lib/output.autoCmaf/fullscreen.js.map +1 -0
  81. package/lib/output.autoCmaf/info.d.ts +3 -0
  82. package/lib/output.autoCmaf/info.js +197 -0
  83. package/lib/output.autoCmaf/info.js.map +1 -0
  84. package/lib/output.autoCmaf/runtime.d.ts +66 -0
  85. package/lib/output.autoCmaf/runtime.js +285 -0
  86. package/lib/output.autoCmaf/runtime.js.map +1 -0
  87. package/lib/output.autoCmaf/summary.d.ts +6 -0
  88. package/lib/output.autoCmaf/summary.js +32 -0
  89. package/lib/output.autoCmaf/summary.js.map +1 -0
  90. package/lib/output.medialive/channel-selection.d.ts +9 -0
  91. package/lib/output.medialive/channel-selection.js +40 -0
  92. package/lib/output.medialive/channel-selection.js.map +1 -0
  93. package/lib/output.medialive/fullscreen.d.ts +6 -0
  94. package/lib/output.medialive/fullscreen.js +31 -0
  95. package/lib/output.medialive/fullscreen.js.map +1 -0
  96. package/lib/output.medialive/info.d.ts +3 -0
  97. package/lib/output.medialive/info.js +111 -0
  98. package/lib/output.medialive/info.js.map +1 -0
  99. package/lib/output.medialive/inline.d.ts +6 -0
  100. package/lib/output.medialive/inline.js +30 -0
  101. package/lib/output.medialive/inline.js.map +1 -0
  102. package/lib/output.medialive/input-selection.d.ts +9 -0
  103. package/lib/output.medialive/input-selection.js +58 -0
  104. package/lib/output.medialive/input-selection.js.map +1 -0
  105. package/lib/output.medialive/node-view.d.ts +6 -0
  106. package/lib/output.medialive/node-view.js +36 -0
  107. package/lib/output.medialive/node-view.js.map +1 -0
  108. package/lib/output.medialive/runtime.d.ts +34 -0
  109. package/lib/output.medialive/runtime.js +142 -0
  110. package/lib/output.medialive/runtime.js.map +1 -0
  111. package/lib/output.medialive/url-selection.d.ts +9 -0
  112. package/lib/output.medialive/url-selection.js +45 -0
  113. package/lib/output.medialive/url-selection.js.map +1 -0
  114. package/lib/output.preview/info.d.ts +5 -0
  115. package/lib/output.preview/info.js +103 -0
  116. package/lib/output.preview/info.js.map +1 -0
  117. package/lib/output.preview/inline-view.d.ts +6 -0
  118. package/lib/output.preview/inline-view.js +29 -0
  119. package/lib/output.preview/inline-view.js.map +1 -0
  120. package/lib/output.preview/runtime.d.ts +34 -0
  121. package/lib/output.preview/runtime.js +86 -0
  122. package/lib/output.preview/runtime.js.map +1 -0
  123. package/lib/output.rtmp/info.d.ts +3 -0
  124. package/lib/output.rtmp/info.js +76 -0
  125. package/lib/output.rtmp/info.js.map +1 -0
  126. package/lib/output.rtmp/inline-view.d.ts +6 -0
  127. package/lib/output.rtmp/inline-view.js +10 -0
  128. package/lib/output.rtmp/inline-view.js.map +1 -0
  129. package/lib/output.rtmp/runtime.d.ts +23 -0
  130. package/lib/output.rtmp/runtime.js +51 -0
  131. package/lib/output.rtmp/runtime.js.map +1 -0
  132. package/lib/output.srt/info.d.ts +3 -0
  133. package/lib/output.srt/info.js +102 -0
  134. package/lib/output.srt/info.js.map +1 -0
  135. package/lib/output.srt/runtime.d.ts +12 -0
  136. package/lib/output.srt/runtime.js +14 -0
  137. package/lib/output.srt/runtime.js.map +1 -0
  138. package/lib/output.statistics/info.d.ts +4 -0
  139. package/lib/output.statistics/info.js +69 -0
  140. package/lib/output.statistics/info.js.map +1 -0
  141. package/lib/output.statistics/inline-view.d.ts +6 -0
  142. package/lib/output.statistics/inline-view.js +32 -0
  143. package/lib/output.statistics/inline-view.js.map +1 -0
  144. package/lib/output.statistics/runtime.d.ts +18 -0
  145. package/lib/output.statistics/runtime.js +36 -0
  146. package/lib/output.statistics/runtime.js.map +1 -0
  147. package/lib/output.udpTs/info.d.ts +3 -0
  148. package/lib/output.udpTs/info.js +33 -0
  149. package/lib/output.udpTs/info.js.map +1 -0
  150. package/lib/output.udpTs/runtime.d.ts +10 -0
  151. package/lib/output.udpTs/runtime.js +14 -0
  152. package/lib/output.udpTs/runtime.js.map +1 -0
  153. package/lib/output.whep/info.d.ts +3 -0
  154. package/lib/output.whep/info.js +28 -0
  155. package/lib/output.whep/info.js.map +1 -0
  156. package/lib/output.whep/runtime.d.ts +14 -0
  157. package/lib/output.whep/runtime.js +21 -0
  158. package/lib/output.whep/runtime.js.map +1 -0
  159. package/lib/processor.actionReplay/info.d.ts +5 -0
  160. package/lib/processor.actionReplay/info.js +100 -0
  161. package/lib/processor.actionReplay/info.js.map +1 -0
  162. package/lib/processor.actionReplay/runtime.d.ts +59 -0
  163. package/lib/processor.actionReplay/runtime.js +224 -0
  164. package/lib/processor.actionReplay/runtime.js.map +1 -0
  165. package/lib/processor.actionReplay/summary.d.ts +7 -0
  166. package/lib/processor.actionReplay/summary.js +76 -0
  167. package/lib/processor.actionReplay/summary.js.map +1 -0
  168. package/lib/processor.audioLevel/info.d.ts +3 -0
  169. package/lib/processor.audioLevel/info.js +83 -0
  170. package/lib/processor.audioLevel/info.js.map +1 -0
  171. package/lib/processor.audioLevel/inline-view.d.ts +6 -0
  172. package/lib/processor.audioLevel/inline-view.js +23 -0
  173. package/lib/processor.audioLevel/inline-view.js.map +1 -0
  174. package/lib/processor.audioLevel/runtime.d.ts +49 -0
  175. package/lib/processor.audioLevel/runtime.js +82 -0
  176. package/lib/processor.audioLevel/runtime.js.map +1 -0
  177. package/lib/processor.audioLevel/summary-view.d.ts +7 -0
  178. package/lib/processor.audioLevel/summary-view.js +36 -0
  179. package/lib/processor.audioLevel/summary-view.js.map +1 -0
  180. package/lib/processor.audioMixer/fullscreen-view.d.ts +8 -0
  181. package/lib/processor.audioMixer/fullscreen-view.js +121 -0
  182. package/lib/processor.audioMixer/fullscreen-view.js.map +1 -0
  183. package/lib/processor.audioMixer/info.d.ts +4 -0
  184. package/lib/processor.audioMixer/info.js +148 -0
  185. package/lib/processor.audioMixer/info.js.map +1 -0
  186. package/lib/processor.audioMixer/inline-view.d.ts +7 -0
  187. package/lib/processor.audioMixer/inline-view.js +43 -0
  188. package/lib/processor.audioMixer/inline-view.js.map +1 -0
  189. package/lib/processor.audioMixer/runtime.d.ts +119 -0
  190. package/lib/processor.audioMixer/runtime.js +142 -0
  191. package/lib/processor.audioMixer/runtime.js.map +1 -0
  192. package/lib/processor.audioMixer/summary-view.d.ts +7 -0
  193. package/lib/processor.audioMixer/summary-view.js +11 -0
  194. package/lib/processor.audioMixer/summary-view.js.map +1 -0
  195. package/lib/processor.aws-transcribe/info.d.ts +3 -0
  196. package/lib/processor.aws-transcribe/info.js +81 -0
  197. package/lib/processor.aws-transcribe/info.js.map +1 -0
  198. package/lib/processor.aws-transcribe/runtime.d.ts +39 -0
  199. package/lib/processor.aws-transcribe/runtime.js +164 -0
  200. package/lib/processor.aws-transcribe/runtime.js.map +1 -0
  201. package/lib/processor.aws-transcribe/transcribe-language-selection.d.ts +9 -0
  202. package/lib/processor.aws-transcribe/transcribe-language-selection.js +40 -0
  203. package/lib/processor.aws-transcribe/transcribe-language-selection.js.map +1 -0
  204. package/lib/processor.aws-transcribe/translate-language-selection.d.ts +9 -0
  205. package/lib/processor.aws-transcribe/translate-language-selection.js +40 -0
  206. package/lib/processor.aws-transcribe/translate-language-selection.js.map +1 -0
  207. package/lib/processor.browserOverlay/info.d.ts +3 -0
  208. package/lib/processor.browserOverlay/info.js +38 -0
  209. package/lib/processor.browserOverlay/info.js.map +1 -0
  210. package/lib/processor.browserOverlay/runtime.d.ts +29 -0
  211. package/lib/processor.browserOverlay/runtime.js +121 -0
  212. package/lib/processor.browserOverlay/runtime.js.map +1 -0
  213. package/lib/processor.cascadingSwitch/info.d.ts +3 -0
  214. package/lib/processor.cascadingSwitch/info.js +155 -0
  215. package/lib/processor.cascadingSwitch/info.js.map +1 -0
  216. package/lib/processor.cascadingSwitch/inline-view.d.ts +6 -0
  217. package/lib/processor.cascadingSwitch/inline-view.js +15 -0
  218. package/lib/processor.cascadingSwitch/inline-view.js.map +1 -0
  219. package/lib/processor.cascadingSwitch/runtime.d.ts +59 -0
  220. package/lib/processor.cascadingSwitch/runtime.js +117 -0
  221. package/lib/processor.cascadingSwitch/runtime.js.map +1 -0
  222. package/lib/processor.cascadingSwitch/source-selection.d.ts +7 -0
  223. package/lib/processor.cascadingSwitch/source-selection.js +36 -0
  224. package/lib/processor.cascadingSwitch/source-selection.js.map +1 -0
  225. package/lib/processor.fixedLadder/info.d.ts +8 -0
  226. package/lib/processor.fixedLadder/info.js +71 -0
  227. package/lib/processor.fixedLadder/info.js.map +1 -0
  228. package/lib/processor.fixedLadder/runtime.d.ts +16 -0
  229. package/lib/processor.fixedLadder/runtime.js +165 -0
  230. package/lib/processor.fixedLadder/runtime.js.map +1 -0
  231. package/lib/processor.monetise/info.d.ts +3 -0
  232. package/lib/processor.monetise/info.js +90 -0
  233. package/lib/processor.monetise/info.js.map +1 -0
  234. package/lib/processor.monetise/runtime.d.ts +57 -0
  235. package/lib/processor.monetise/runtime.js +141 -0
  236. package/lib/processor.monetise/runtime.js.map +1 -0
  237. package/lib/processor.monetise/summary.d.ts +7 -0
  238. package/lib/processor.monetise/summary.js +39 -0
  239. package/lib/processor.monetise/summary.js.map +1 -0
  240. package/lib/processor.whisper-transcribe/info.d.ts +3 -0
  241. package/lib/processor.whisper-transcribe/info.js +43 -0
  242. package/lib/processor.whisper-transcribe/info.js.map +1 -0
  243. package/lib/processor.whisper-transcribe/runtime.d.ts +29 -0
  244. package/lib/processor.whisper-transcribe/runtime.js +83 -0
  245. package/lib/processor.whisper-transcribe/runtime.js.map +1 -0
  246. package/lib/shared/srt-form-views.d.ts +2 -0
  247. package/lib/shared/srt-form-views.js +10 -0
  248. package/lib/shared/srt-form-views.js.map +1 -0
  249. package/lib/shared/srt-socket-options.d.ts +4 -0
  250. package/lib/shared/srt-socket-options.js +36 -0
  251. package/lib/shared/srt-socket-options.js.map +1 -0
  252. package/lib/shared/srt-types.d.ts +2 -0
  253. package/lib/shared/srt-types.js +3 -0
  254. package/lib/shared/srt-types.js.map +1 -0
  255. package/lib/test/audio-mixer.d.ts +0 -0
  256. package/lib/test/audio-mixer.js +2 -0
  257. package/lib/test/audio-mixer.js.map +1 -0
  258. package/lib/test/auto-cmaf.d.ts +1 -0
  259. package/lib/test/auto-cmaf.js +142 -0
  260. package/lib/test/auto-cmaf.js.map +1 -0
  261. package/lib/test/browser-overlay.d.ts +1 -0
  262. package/lib/test/browser-overlay.js +79 -0
  263. package/lib/test/browser-overlay.js.map +1 -0
  264. package/lib/test/cascading-switch.d.ts +1 -0
  265. package/lib/test/cascading-switch.js +286 -0
  266. package/lib/test/cascading-switch.js.map +1 -0
  267. package/lib/test/fixed-ladder.d.ts +1 -0
  268. package/lib/test/fixed-ladder.js +100 -0
  269. package/lib/test/fixed-ladder.js.map +1 -0
  270. package/lib/test/rtmp-input.d.ts +1 -0
  271. package/lib/test/rtmp-input.js +182 -0
  272. package/lib/test/rtmp-input.js.map +1 -0
  273. package/lib/test/rtmp-output.d.ts +1 -0
  274. package/lib/test/rtmp-output.js +74 -0
  275. package/lib/test/rtmp-output.js.map +1 -0
  276. package/lib/test/silence-generator.d.ts +1 -0
  277. package/lib/test/silence-generator.js +65 -0
  278. package/lib/test/silence-generator.js.map +1 -0
  279. package/lib/test/srt-input-caller.d.ts +1 -0
  280. package/lib/test/srt-input-caller.js +79 -0
  281. package/lib/test/srt-input-caller.js.map +1 -0
  282. package/lib/test/srt-input-listener.d.ts +1 -0
  283. package/lib/test/srt-input-listener.js +382 -0
  284. package/lib/test/srt-input-listener.js.map +1 -0
  285. package/lib/test/srt-output.d.ts +1 -0
  286. package/lib/test/srt-output.js +78 -0
  287. package/lib/test/srt-output.js.map +1 -0
  288. package/lib/test/udp-output.d.ts +1 -0
  289. package/lib/test/udp-output.js +76 -0
  290. package/lib/test/udp-output.js.map +1 -0
  291. package/lib/test/udp-ts-input.d.ts +1 -0
  292. package/lib/test/udp-ts-input.js +78 -0
  293. package/lib/test/udp-ts-input.js.map +1 -0
  294. package/lib/test/video-card.d.ts +1 -0
  295. package/lib/test/video-card.js +68 -0
  296. package/lib/test/video-card.js.map +1 -0
  297. package/lib/test/whep-output.d.ts +1 -0
  298. package/lib/test/whep-output.js +92 -0
  299. package/lib/test/whep-output.js.map +1 -0
  300. package/lib/util.latency/info.d.ts +3 -0
  301. package/lib/util.latency/info.js +116 -0
  302. package/lib/util.latency/info.js.map +1 -0
  303. package/lib/util.latency/inline-view.d.ts +6 -0
  304. package/lib/util.latency/inline-view.js +74 -0
  305. package/lib/util.latency/inline-view.js.map +1 -0
  306. package/lib/util.latency/runtime.d.ts +19 -0
  307. package/lib/util.latency/runtime.js +87 -0
  308. package/lib/util.latency/runtime.js.map +1 -0
  309. package/lib/util.latency/source-node-selection.d.ts +9 -0
  310. package/lib/util.latency/source-node-selection.js +17 -0
  311. package/lib/util.latency/source-node-selection.js.map +1 -0
  312. package/lib/util.ma35d/info.d.ts +3 -0
  313. package/lib/util.ma35d/info.js +78 -0
  314. package/lib/util.ma35d/info.js.map +1 -0
  315. package/lib/util.ma35d/inline-view.d.ts +6 -0
  316. package/lib/util.ma35d/inline-view.js +76 -0
  317. package/lib/util.ma35d/inline-view.js.map +1 -0
  318. package/lib/util.ma35d/runtime.d.ts +21 -0
  319. package/lib/util.ma35d/runtime.js +49 -0
  320. package/lib/util.ma35d/runtime.js.map +1 -0
  321. package/lib/util.timestamps/info.d.ts +5 -0
  322. package/lib/util.timestamps/info.js +86 -0
  323. package/lib/util.timestamps/info.js.map +1 -0
  324. package/lib/util.timestamps/inline-view.d.ts +6 -0
  325. package/lib/util.timestamps/inline-view.js +94 -0
  326. package/lib/util.timestamps/inline-view.js.map +1 -0
  327. package/lib/util.timestamps/runtime.d.ts +29 -0
  328. package/lib/util.timestamps/runtime.js +40 -0
  329. package/lib/util.timestamps/runtime.js.map +1 -0
  330. package/package.json +61 -0
  331. package/shared/style.css +1617 -0
  332. package/shared/tailwind.css +31 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
4
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
5
+ const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
6
+ class WhisperTranscribeDefinition {
7
+ async create(norsk, cfg, cb) {
8
+ const node = new WhisperTranscribeNode(norsk, cfg);
9
+ await node.initialised;
10
+ cb(node);
11
+ }
12
+ }
13
+ exports.default = WhisperTranscribeDefinition;
14
+ class WhisperTranscribeNode {
15
+ norsk;
16
+ cfg;
17
+ initialised;
18
+ whisper;
19
+ whisperCreating = false;
20
+ streamkey;
21
+ source;
22
+ output;
23
+ constructor(norsk, cfg) {
24
+ this.norsk = norsk;
25
+ this.cfg = cfg;
26
+ this.initialised = this.initialise();
27
+ }
28
+ get id() { return this.cfg.id; }
29
+ relatedMediaNodes = new runtime_types_1.RelatedMediaNodes();
30
+ async initialise() {
31
+ this.output = await this.norsk.processor.transform.streamMetadataOverride({ id: `${this.id}-output` });
32
+ this.relatedMediaNodes.addOutput(this.output);
33
+ }
34
+ subscribe(sources) {
35
+ if (sources.length < 1)
36
+ return;
37
+ sources.forEach((s) => s.registerForContextChange(this));
38
+ this.source = sources[0];
39
+ }
40
+ async sourceContextChange(_responseCallback) {
41
+ if (this.whisper || this.whisperCreating)
42
+ return false;
43
+ if (!this.source) {
44
+ return false;
45
+ }
46
+ if (!this.source.source.relatedMediaNodes.output) {
47
+ return false;
48
+ }
49
+ const video = this.source?.latestStreams().find((s) => {
50
+ return s.metadata.message.case == 'video';
51
+ });
52
+ if (video) {
53
+ (0, logging_1.debuglog)("Creating whisper 1: " + (this.whisper != null));
54
+ this.whisperCreating = true;
55
+ this.whisper = await this.norsk.processor.transform.audioTranscribeWhisper({
56
+ id: `${this.id}-whisper`,
57
+ outputStreamId: 540,
58
+ model: this.cfg.model,
59
+ language: this.cfg.language,
60
+ useGpu: true,
61
+ });
62
+ this.relatedMediaNodes.addInput(this.whisper);
63
+ (0, logging_1.debuglog)("CreateD whisper 2", this.whisper);
64
+ this.whisper.subscribe(this.source.selectAudio(), undefined);
65
+ this.streamkey = await this.norsk.processor.transform.streamKeyOverride({
66
+ streamKey: { ...video.metadata.streamKey, renditionName: 'subs' }
67
+ });
68
+ this.streamkey.subscribe([{
69
+ source: this.whisper,
70
+ sourceSelector: norsk_sdk_1.selectSubtitles
71
+ }]);
72
+ this.output?.subscribe([{
73
+ source: this.streamkey,
74
+ sourceSelector: norsk_sdk_1.selectSubtitles
75
+ }]);
76
+ return false;
77
+ }
78
+ else {
79
+ return false;
80
+ }
81
+ }
82
+ }
83
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.whisper-transcribe/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { SocketOptions } from "./srt-types";
2
+ export declare function SocketConfiguration(options: SocketOptions): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SocketConfiguration = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ function SocketConfiguration(options) {
6
+ const show = (n) => n !== undefined && !Number.isNaN(n) ? n.toString() : "";
7
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Receive Latency" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: show(options.receiveLatency) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Peer Latency" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: show(options.peerLatency) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Input Bandwidth" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: show(options.inputBandwidth) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Overhead Bandwidth" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: show(options.overheadBandwidth) }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Max Bandwidth" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: show(options.maxBandwidth) })] }));
8
+ }
9
+ exports.SocketConfiguration = SocketConfiguration;
10
+ //# sourceMappingURL=srt-form-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srt-form-views.js","sourceRoot":"","sources":["../../src/shared/srt-form-views.tsx"],"names":[],"mappings":";;;;AAEA,SAAgB,mBAAmB,CAAC,OAAsB;IACxD,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,OAAO,CAAC,iCAAK,SAAS,EAAC,8CAA8C,aACnE,gCAAK,SAAS,EAAC,YAAY,gCAAsB,EACjD,gCAAK,SAAS,EAAC,YAAY,YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAO,EAEhE,gCAAK,SAAS,EAAC,YAAY,6BAAmB,EAC9C,gCAAK,SAAS,EAAC,YAAY,YAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAO,EAE7D,gCAAK,SAAS,EAAC,YAAY,gCAAsB,EACjD,gCAAK,SAAS,EAAC,YAAY,YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAO,EAEhE,gCAAK,SAAS,EAAC,YAAY,mCAAyB,EACpD,gCAAK,SAAS,EAAC,YAAY,YAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAO,EAEnE,gCAAK,SAAS,EAAC,YAAY,8BAAoB,EAC/C,gCAAK,SAAS,EAAC,YAAY,YAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAO,IACzD,CAAC,CAAA;AACV,CAAC;AAlBD,kDAkBC"}
@@ -0,0 +1,4 @@
1
+ import type { ConfigForm, Validation } from "@norskvideo/norsk-studio/lib/extension/client-types";
2
+ import type { SocketOptions } from "./srt-types";
3
+ declare const result: ({ Z }: Validation) => ConfigForm<SocketOptions>;
4
+ export default result;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const result = ({ Z }) => ({
4
+ receiveLatency: {
5
+ help: "The latency value in the receiving direction of the socket (SRTO_RCVLATENCY)",
6
+ hint: {
7
+ type: "numeric", validation: Z.optional(Z.number())
8
+ },
9
+ },
10
+ peerLatency: {
11
+ help: "The latency value provided by the sender side as a minimum value for the receiver (SRTO_PEERLATENCY)",
12
+ hint: {
13
+ type: "numeric", validation: Z.optional(Z.number())
14
+ }
15
+ },
16
+ inputBandwidth: {
17
+ help: "Input bandwidth (SRTO_INPUTBW xxx",
18
+ hint: {
19
+ type: "numeric", validation: Z.optional(Z.number())
20
+ }
21
+ },
22
+ overheadBandwidth: {
23
+ help: "Overhead bandwidth (SRTO_OHEADBW)",
24
+ hint: {
25
+ type: "numeric", validation: Z.optional(Z.number())
26
+ }
27
+ },
28
+ maxBandwidth: {
29
+ help: "Max bandwidth (SRTO_MAXBW)",
30
+ hint: {
31
+ type: "numeric", validation: Z.optional(Z.number())
32
+ }
33
+ },
34
+ });
35
+ exports.default = result;
36
+ //# sourceMappingURL=srt-socket-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srt-socket-options.js","sourceRoot":"","sources":["../../src/shared/srt-socket-options.ts"],"names":[],"mappings":";;AAGA,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAc,EAA6B,EAAE,CAAC,CAAC;IAChE,cAAc,EAAE;QACd,IAAI,EAAE,8EAA8E;QACpF,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACpD;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,sGAAsG;QAC5G,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACpD;KACF;IACD,cAAc,EAAE;QACd,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACpD;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACpD;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACpD;KACF;CACF,CACA,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { SrtOutputSettings as SdkSettings } from '@norskvideo/norsk-sdk';
2
+ export type SocketOptions = Pick<SdkSettings, 'peerLatency' | 'receiveLatency' | 'inputBandwidth' | 'overheadBandwidth' | 'maxBandwidth'>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=srt-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srt-types.js","sourceRoot":"","sources":["../../src/shared/srt-types.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=audio-mixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-mixer.js","sourceRoot":"","sources":["../../src/test/audio-mixer.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
30
+ const __1 = require("../");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
33
+ const yaml_1 = __importDefault(require("yaml"));
34
+ const execution_1 = __importDefault(require("@norskvideo/norsk-studio/lib/runtime/execution"));
35
+ const chai_1 = require("chai");
36
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
37
+ const HLS = __importStar(require("hls-parser"));
38
+ const node_fetch_1 = __importDefault(require("node-fetch"));
39
+ const info_1 = __importDefault(require("../output.autoCmaf/info"));
40
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
41
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
42
+ const runtime_1 = require("@norskvideo/norsk-studio/lib/test/_util/runtime");
43
+ async function defaultRuntime() {
44
+ const runtime = await (0, runtime_1.testRuntime)();
45
+ await (0, __1.registerAll)(runtime);
46
+ return runtime;
47
+ }
48
+ describe("Auto CMAF Output", () => {
49
+ async function sharedSetup(norsk, sources) {
50
+ const runtime = await defaultRuntime();
51
+ const yaml = new builder_1.YamlBuilder()
52
+ .addNode(new builder_1.YamlNodeBuilder('cmaf', (0, info_1.default)(client_types_1.RegistrationConsts), {
53
+ name: 'default',
54
+ sessionId: false,
55
+ segments: {
56
+ retentionPeriod: 60,
57
+ targetPartDuration: 0.5,
58
+ targetSegmentDuration: 2,
59
+ },
60
+ s3Destinations: [],
61
+ }).reify())
62
+ .reify();
63
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml));
64
+ const result = await (0, execution_1.default)(norsk, compiled);
65
+ const cmaf = result.nodes["cmaf"];
66
+ cmaf.subscribe(sources.map((s) => {
67
+ return new runtime_types_1.StudioNodeSubscriptionSource(s, (0, sources_1.testSourceDescription)(), {
68
+ type: 'take-first-stream', select: ["video", "audio"]
69
+ });
70
+ }));
71
+ return result;
72
+ }
73
+ async function awaitCompleteManifest(url, expectedStreams) {
74
+ return new Promise((r) => {
75
+ const i = setInterval(async () => {
76
+ const request = await (0, node_fetch_1.default)(url);
77
+ if (request.ok) {
78
+ const hls = await request.text();
79
+ const parsed = HLS.parse(hls);
80
+ if (parsed.isMasterPlaylist) {
81
+ const master = parsed;
82
+ const current = master.variants.reduce((acc, v) => {
83
+ acc.add(v.uri);
84
+ v.audio.forEach((a) => { if (a.uri)
85
+ acc.add(a.uri); });
86
+ return acc;
87
+ }, new Set());
88
+ if (current.size >= expectedStreams) {
89
+ clearInterval(i);
90
+ r(master);
91
+ }
92
+ }
93
+ }
94
+ }, 10.0);
95
+ });
96
+ }
97
+ describe("A single video and audio stream", () => {
98
+ let norsk = undefined;
99
+ let result = undefined;
100
+ afterEach(async () => {
101
+ await norsk?.close();
102
+ });
103
+ beforeEach(async () => {
104
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
105
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source');
106
+ result = await sharedSetup(norsk, [source]);
107
+ });
108
+ it("Spins up a multi-variant playlist with the one stream", async () => {
109
+ const mv = result?.registeredOutputs.find((s) => s.url?.endsWith("default.m3u8"));
110
+ (0, chai_1.expect)(mv).exist;
111
+ if (mv?.url) {
112
+ const finalManifest = await awaitCompleteManifest(mv.url, 2);
113
+ (0, chai_1.expect)(finalManifest.variants).length(1);
114
+ (0, chai_1.expect)(finalManifest.variants[0]?.audio).length(1);
115
+ }
116
+ });
117
+ });
118
+ describe("Two videos and one audio stream", () => {
119
+ let norsk = undefined;
120
+ let result = undefined;
121
+ afterEach(async () => {
122
+ await norsk?.close();
123
+ });
124
+ beforeEach(async () => {
125
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
126
+ const video1 = await (0, sources_1.video)(norsk, 'source1', { renditionName: "high", sourceName: "source" });
127
+ const video2 = await (0, sources_1.video)(norsk, 'source2', { renditionName: "low", sourceName: "source" });
128
+ const audio1 = await (0, sources_1.audio)(norsk, 'source3', { renditionName: "default", sourceName: "source" });
129
+ result = await sharedSetup(norsk, [video1, video2, audio1]);
130
+ });
131
+ it("Spins up a multi-variant playlist with all the streams", async () => {
132
+ const mv = result?.registeredOutputs.find((s) => s.url?.endsWith("default.m3u8"));
133
+ (0, chai_1.expect)(mv).exist;
134
+ if (mv?.url) {
135
+ const finalManifest = await awaitCompleteManifest(mv.url, 3);
136
+ (0, chai_1.expect)(finalManifest.variants).length(2);
137
+ (0, chai_1.expect)(finalManifest.variants[0]?.audio).length(1);
138
+ }
139
+ });
140
+ });
141
+ });
142
+ //# sourceMappingURL=auto-cmaf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-cmaf.js","sourceRoot":"","sources":["../../src/test/auto-cmaf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
30
+ const __1 = require("../");
31
+ const builder_1 = require("@norskvideo/norsk-studio/lib/test/_util/builder");
32
+ const document = __importStar(require("@norskvideo/norsk-studio/lib/runtime/document"));
33
+ const yaml_1 = __importDefault(require("yaml"));
34
+ const execution_1 = __importDefault(require("@norskvideo/norsk-studio/lib/runtime/execution"));
35
+ const sources_1 = require("@norskvideo/norsk-studio/lib/test/_util/sources");
36
+ const sinks_1 = require("@norskvideo/norsk-studio/lib/test/_util/sinks");
37
+ const info_1 = __importDefault(require("../processor.browserOverlay/info"));
38
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
39
+ const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
40
+ async function defaultRuntime() {
41
+ const runtime = (0, builder_1.emptyRuntime)();
42
+ await (0, __1.registerAll)(runtime);
43
+ return runtime;
44
+ }
45
+ describe("Browser Overlay", () => {
46
+ async function testDocument() {
47
+ const runtime = await defaultRuntime();
48
+ const yaml = new builder_1.YamlBuilder()
49
+ .addNode(new builder_1.YamlNodeBuilder('browser', (0, info_1.default)(client_types_1.RegistrationConsts), {
50
+ url: 'http://localhost:6791',
51
+ }).reify())
52
+ .reify();
53
+ const compiled = document.load(__filename, runtime, yaml_1.default.stringify(yaml), { resolveConfig: true });
54
+ return compiled;
55
+ }
56
+ let norsk = undefined;
57
+ after(async () => {
58
+ await norsk?.close();
59
+ });
60
+ it("Outputs video that matches the input video", async () => {
61
+ const compiled = await testDocument();
62
+ norsk = await norsk_sdk_1.Norsk.connect({ onShutdown: () => { } });
63
+ const result = await (0, execution_1.default)(norsk, compiled);
64
+ const browser = result.nodes["browser"];
65
+ const videoOpts = {
66
+ resolution: { width: 640, height: 360 },
67
+ frameRate: { frames: 25, seconds: 1 }
68
+ };
69
+ const source = await (0, sources_1.videoAndAudio)(norsk, 'source', videoOpts);
70
+ browser.subscribe([new runtime_types_1.StudioNodeSubscriptionSource(source, (0, sources_1.testSourceDescription)(), {
71
+ type: 'take-all-streams', select: ['video']
72
+ })
73
+ ]);
74
+ await Promise.all([
75
+ (0, sinks_1.assertNodeOutputsVideoFrames)(norsk, result, "browser", videoOpts),
76
+ ]);
77
+ });
78
+ });
79
+ //# sourceMappingURL=browser-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-overlay.js","sourceRoot":"","sources":["../../src/test/browser-overlay.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA8C;AAC9C,2BAAkC;AAElC,6EAA4G;AAC5G,wFAA0E;AAC1E,gDAAwB;AACxB,+FAAgE;AAEhE,6EAAuG;AAEvG,yEAA6F;AAE7F,4EAAkE;AAClE,sFAAyF;AACzF,wFAAoG;AAEpG,KAAK,UAAU,cAAc;IAC3B,MAAM,OAAO,GAAG,IAAA,sBAAY,GAAE,CAAC;IAC/B,MAAM,IAAA,eAAW,EAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,KAAK,UAAU,YAAY;QACzB,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,qBAAW,EAAE;aAC3B,OAAO,CACN,IAAI,yBAAe,CAChB,SAAS,EACR,IAAA,cAAkB,EAAC,iCAAkB,CAAC,EACtC;YACE,GAAG,EAAE,uBAAuB;SAC7B,CACF,CAAC,KAAK,EAAE,CAAC;aACb,KAAK,EAAE,CAAC;QAEX,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,cAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,GAAsB,SAAS,CAAC;IAEzC,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,KAAK,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;QACtC,KAAK,GAAG,MAAM,iBAAK,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAE,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAmB,CAAC;QAE1D,MAAM,SAAS,GAAG;YAChB,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;YACvC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACtC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE/D,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,4CAA4B,CAAC,MAAM,EACxD,IAAA,+BAAqB,GAAE,EACvB;gBACE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC;aAC5C,CAAC;SACH,CAAC,CAAA;QAGF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAA,oCAA4B,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};