@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.
- package/client/info.js +17990 -0
- package/client/output.preview/styles.css +128 -0
- package/client/processor.audioLevel/styles.css +164 -0
- package/client/processor.audioMixer/styles.css +249 -0
- package/client/processor.cascadingSwitch/extra.css +0 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +15 -0
- package/lib/index.js.map +1 -0
- package/lib/info.d.ts +3 -0
- package/lib/info.js +74 -0
- package/lib/info.js.map +1 -0
- package/lib/input.mediaconnect/flow-selection.d.ts +9 -0
- package/lib/input.mediaconnect/flow-selection.js +40 -0
- package/lib/input.mediaconnect/flow-selection.js.map +1 -0
- package/lib/input.mediaconnect/info.d.ts +3 -0
- package/lib/input.mediaconnect/info.js +70 -0
- package/lib/input.mediaconnect/info.js.map +1 -0
- package/lib/input.mediaconnect/node-view.d.ts +6 -0
- package/lib/input.mediaconnect/node-view.js +38 -0
- package/lib/input.mediaconnect/node-view.js.map +1 -0
- package/lib/input.mediaconnect/output-selection.d.ts +9 -0
- package/lib/input.mediaconnect/output-selection.js +55 -0
- package/lib/input.mediaconnect/output-selection.js.map +1 -0
- package/lib/input.mediaconnect/runtime.d.ts +23 -0
- package/lib/input.mediaconnect/runtime.js +133 -0
- package/lib/input.mediaconnect/runtime.js.map +1 -0
- package/lib/input.rtmp/info.d.ts +3 -0
- package/lib/input.rtmp/info.js +101 -0
- package/lib/input.rtmp/info.js.map +1 -0
- package/lib/input.rtmp/inline-view.d.ts +6 -0
- package/lib/input.rtmp/inline-view.js +16 -0
- package/lib/input.rtmp/inline-view.js.map +1 -0
- package/lib/input.rtmp/runtime.d.ts +19 -0
- package/lib/input.rtmp/runtime.js +75 -0
- package/lib/input.rtmp/runtime.js.map +1 -0
- package/lib/input.rtmp/summary-view.d.ts +6 -0
- package/lib/input.rtmp/summary-view.js +22 -0
- package/lib/input.rtmp/summary-view.js.map +1 -0
- package/lib/input.silence/info.d.ts +3 -0
- package/lib/input.silence/info.js +47 -0
- package/lib/input.silence/info.js.map +1 -0
- package/lib/input.silence/runtime.d.ts +22 -0
- package/lib/input.silence/runtime.js +52 -0
- package/lib/input.silence/runtime.js.map +1 -0
- package/lib/input.srt-caller/info.d.ts +3 -0
- package/lib/input.srt-caller/info.js +74 -0
- package/lib/input.srt-caller/info.js.map +1 -0
- package/lib/input.srt-caller/runtime.d.ts +12 -0
- package/lib/input.srt-caller/runtime.js +14 -0
- package/lib/input.srt-caller/runtime.js.map +1 -0
- package/lib/input.srt-listener/info.d.ts +3 -0
- package/lib/input.srt-listener/info.js +125 -0
- package/lib/input.srt-listener/info.js.map +1 -0
- package/lib/input.srt-listener/inline-view.d.ts +6 -0
- package/lib/input.srt-listener/inline-view.js +16 -0
- package/lib/input.srt-listener/inline-view.js.map +1 -0
- package/lib/input.srt-listener/runtime.d.ts +24 -0
- package/lib/input.srt-listener/runtime.js +75 -0
- package/lib/input.srt-listener/runtime.js.map +1 -0
- package/lib/input.srt-listener/summary-view.d.ts +6 -0
- package/lib/input.srt-listener/summary-view.js +22 -0
- package/lib/input.srt-listener/summary-view.js.map +1 -0
- package/lib/input.udp-ts/info.d.ts +3 -0
- package/lib/input.udp-ts/info.js +34 -0
- package/lib/input.udp-ts/info.js.map +1 -0
- package/lib/input.udp-ts/runtime.d.ts +10 -0
- package/lib/input.udp-ts/runtime.js +24 -0
- package/lib/input.udp-ts/runtime.js.map +1 -0
- package/lib/input.videoTestCard/info.d.ts +3 -0
- package/lib/input.videoTestCard/info.js +42 -0
- package/lib/input.videoTestCard/info.js.map +1 -0
- package/lib/input.videoTestCard/runtime.d.ts +10 -0
- package/lib/input.videoTestCard/runtime.js +14 -0
- package/lib/input.videoTestCard/runtime.js.map +1 -0
- package/lib/output.autoCmaf/form-views.d.ts +3 -0
- package/lib/output.autoCmaf/form-views.js +13 -0
- package/lib/output.autoCmaf/form-views.js.map +1 -0
- package/lib/output.autoCmaf/fullscreen.d.ts +6 -0
- package/lib/output.autoCmaf/fullscreen.js +31 -0
- package/lib/output.autoCmaf/fullscreen.js.map +1 -0
- package/lib/output.autoCmaf/info.d.ts +3 -0
- package/lib/output.autoCmaf/info.js +197 -0
- package/lib/output.autoCmaf/info.js.map +1 -0
- package/lib/output.autoCmaf/runtime.d.ts +66 -0
- package/lib/output.autoCmaf/runtime.js +285 -0
- package/lib/output.autoCmaf/runtime.js.map +1 -0
- package/lib/output.autoCmaf/summary.d.ts +6 -0
- package/lib/output.autoCmaf/summary.js +32 -0
- package/lib/output.autoCmaf/summary.js.map +1 -0
- package/lib/output.medialive/channel-selection.d.ts +9 -0
- package/lib/output.medialive/channel-selection.js +40 -0
- package/lib/output.medialive/channel-selection.js.map +1 -0
- package/lib/output.medialive/fullscreen.d.ts +6 -0
- package/lib/output.medialive/fullscreen.js +31 -0
- package/lib/output.medialive/fullscreen.js.map +1 -0
- package/lib/output.medialive/info.d.ts +3 -0
- package/lib/output.medialive/info.js +111 -0
- package/lib/output.medialive/info.js.map +1 -0
- package/lib/output.medialive/inline.d.ts +6 -0
- package/lib/output.medialive/inline.js +30 -0
- package/lib/output.medialive/inline.js.map +1 -0
- package/lib/output.medialive/input-selection.d.ts +9 -0
- package/lib/output.medialive/input-selection.js +58 -0
- package/lib/output.medialive/input-selection.js.map +1 -0
- package/lib/output.medialive/node-view.d.ts +6 -0
- package/lib/output.medialive/node-view.js +36 -0
- package/lib/output.medialive/node-view.js.map +1 -0
- package/lib/output.medialive/runtime.d.ts +34 -0
- package/lib/output.medialive/runtime.js +142 -0
- package/lib/output.medialive/runtime.js.map +1 -0
- package/lib/output.medialive/url-selection.d.ts +9 -0
- package/lib/output.medialive/url-selection.js +45 -0
- package/lib/output.medialive/url-selection.js.map +1 -0
- package/lib/output.preview/info.d.ts +5 -0
- package/lib/output.preview/info.js +103 -0
- package/lib/output.preview/info.js.map +1 -0
- package/lib/output.preview/inline-view.d.ts +6 -0
- package/lib/output.preview/inline-view.js +29 -0
- package/lib/output.preview/inline-view.js.map +1 -0
- package/lib/output.preview/runtime.d.ts +34 -0
- package/lib/output.preview/runtime.js +86 -0
- package/lib/output.preview/runtime.js.map +1 -0
- package/lib/output.rtmp/info.d.ts +3 -0
- package/lib/output.rtmp/info.js +76 -0
- package/lib/output.rtmp/info.js.map +1 -0
- package/lib/output.rtmp/inline-view.d.ts +6 -0
- package/lib/output.rtmp/inline-view.js +10 -0
- package/lib/output.rtmp/inline-view.js.map +1 -0
- package/lib/output.rtmp/runtime.d.ts +23 -0
- package/lib/output.rtmp/runtime.js +51 -0
- package/lib/output.rtmp/runtime.js.map +1 -0
- package/lib/output.srt/info.d.ts +3 -0
- package/lib/output.srt/info.js +102 -0
- package/lib/output.srt/info.js.map +1 -0
- package/lib/output.srt/runtime.d.ts +12 -0
- package/lib/output.srt/runtime.js +14 -0
- package/lib/output.srt/runtime.js.map +1 -0
- package/lib/output.statistics/info.d.ts +4 -0
- package/lib/output.statistics/info.js +69 -0
- package/lib/output.statistics/info.js.map +1 -0
- package/lib/output.statistics/inline-view.d.ts +6 -0
- package/lib/output.statistics/inline-view.js +32 -0
- package/lib/output.statistics/inline-view.js.map +1 -0
- package/lib/output.statistics/runtime.d.ts +18 -0
- package/lib/output.statistics/runtime.js +36 -0
- package/lib/output.statistics/runtime.js.map +1 -0
- package/lib/output.udpTs/info.d.ts +3 -0
- package/lib/output.udpTs/info.js +33 -0
- package/lib/output.udpTs/info.js.map +1 -0
- package/lib/output.udpTs/runtime.d.ts +10 -0
- package/lib/output.udpTs/runtime.js +14 -0
- package/lib/output.udpTs/runtime.js.map +1 -0
- package/lib/output.whep/info.d.ts +3 -0
- package/lib/output.whep/info.js +28 -0
- package/lib/output.whep/info.js.map +1 -0
- package/lib/output.whep/runtime.d.ts +14 -0
- package/lib/output.whep/runtime.js +21 -0
- package/lib/output.whep/runtime.js.map +1 -0
- package/lib/processor.actionReplay/info.d.ts +5 -0
- package/lib/processor.actionReplay/info.js +100 -0
- package/lib/processor.actionReplay/info.js.map +1 -0
- package/lib/processor.actionReplay/runtime.d.ts +59 -0
- package/lib/processor.actionReplay/runtime.js +224 -0
- package/lib/processor.actionReplay/runtime.js.map +1 -0
- package/lib/processor.actionReplay/summary.d.ts +7 -0
- package/lib/processor.actionReplay/summary.js +76 -0
- package/lib/processor.actionReplay/summary.js.map +1 -0
- package/lib/processor.audioLevel/info.d.ts +3 -0
- package/lib/processor.audioLevel/info.js +83 -0
- package/lib/processor.audioLevel/info.js.map +1 -0
- package/lib/processor.audioLevel/inline-view.d.ts +6 -0
- package/lib/processor.audioLevel/inline-view.js +23 -0
- package/lib/processor.audioLevel/inline-view.js.map +1 -0
- package/lib/processor.audioLevel/runtime.d.ts +49 -0
- package/lib/processor.audioLevel/runtime.js +82 -0
- package/lib/processor.audioLevel/runtime.js.map +1 -0
- package/lib/processor.audioLevel/summary-view.d.ts +7 -0
- package/lib/processor.audioLevel/summary-view.js +36 -0
- package/lib/processor.audioLevel/summary-view.js.map +1 -0
- package/lib/processor.audioMixer/fullscreen-view.d.ts +8 -0
- package/lib/processor.audioMixer/fullscreen-view.js +121 -0
- package/lib/processor.audioMixer/fullscreen-view.js.map +1 -0
- package/lib/processor.audioMixer/info.d.ts +4 -0
- package/lib/processor.audioMixer/info.js +148 -0
- package/lib/processor.audioMixer/info.js.map +1 -0
- package/lib/processor.audioMixer/inline-view.d.ts +7 -0
- package/lib/processor.audioMixer/inline-view.js +43 -0
- package/lib/processor.audioMixer/inline-view.js.map +1 -0
- package/lib/processor.audioMixer/runtime.d.ts +119 -0
- package/lib/processor.audioMixer/runtime.js +142 -0
- package/lib/processor.audioMixer/runtime.js.map +1 -0
- package/lib/processor.audioMixer/summary-view.d.ts +7 -0
- package/lib/processor.audioMixer/summary-view.js +11 -0
- package/lib/processor.audioMixer/summary-view.js.map +1 -0
- package/lib/processor.aws-transcribe/info.d.ts +3 -0
- package/lib/processor.aws-transcribe/info.js +81 -0
- package/lib/processor.aws-transcribe/info.js.map +1 -0
- package/lib/processor.aws-transcribe/runtime.d.ts +39 -0
- package/lib/processor.aws-transcribe/runtime.js +164 -0
- package/lib/processor.aws-transcribe/runtime.js.map +1 -0
- package/lib/processor.aws-transcribe/transcribe-language-selection.d.ts +9 -0
- package/lib/processor.aws-transcribe/transcribe-language-selection.js +40 -0
- package/lib/processor.aws-transcribe/transcribe-language-selection.js.map +1 -0
- package/lib/processor.aws-transcribe/translate-language-selection.d.ts +9 -0
- package/lib/processor.aws-transcribe/translate-language-selection.js +40 -0
- package/lib/processor.aws-transcribe/translate-language-selection.js.map +1 -0
- package/lib/processor.browserOverlay/info.d.ts +3 -0
- package/lib/processor.browserOverlay/info.js +38 -0
- package/lib/processor.browserOverlay/info.js.map +1 -0
- package/lib/processor.browserOverlay/runtime.d.ts +29 -0
- package/lib/processor.browserOverlay/runtime.js +121 -0
- package/lib/processor.browserOverlay/runtime.js.map +1 -0
- package/lib/processor.cascadingSwitch/info.d.ts +3 -0
- package/lib/processor.cascadingSwitch/info.js +155 -0
- package/lib/processor.cascadingSwitch/info.js.map +1 -0
- package/lib/processor.cascadingSwitch/inline-view.d.ts +6 -0
- package/lib/processor.cascadingSwitch/inline-view.js +15 -0
- package/lib/processor.cascadingSwitch/inline-view.js.map +1 -0
- package/lib/processor.cascadingSwitch/runtime.d.ts +59 -0
- package/lib/processor.cascadingSwitch/runtime.js +117 -0
- package/lib/processor.cascadingSwitch/runtime.js.map +1 -0
- package/lib/processor.cascadingSwitch/source-selection.d.ts +7 -0
- package/lib/processor.cascadingSwitch/source-selection.js +36 -0
- package/lib/processor.cascadingSwitch/source-selection.js.map +1 -0
- package/lib/processor.fixedLadder/info.d.ts +8 -0
- package/lib/processor.fixedLadder/info.js +71 -0
- package/lib/processor.fixedLadder/info.js.map +1 -0
- package/lib/processor.fixedLadder/runtime.d.ts +16 -0
- package/lib/processor.fixedLadder/runtime.js +165 -0
- package/lib/processor.fixedLadder/runtime.js.map +1 -0
- package/lib/processor.monetise/info.d.ts +3 -0
- package/lib/processor.monetise/info.js +90 -0
- package/lib/processor.monetise/info.js.map +1 -0
- package/lib/processor.monetise/runtime.d.ts +57 -0
- package/lib/processor.monetise/runtime.js +141 -0
- package/lib/processor.monetise/runtime.js.map +1 -0
- package/lib/processor.monetise/summary.d.ts +7 -0
- package/lib/processor.monetise/summary.js +39 -0
- package/lib/processor.monetise/summary.js.map +1 -0
- package/lib/processor.whisper-transcribe/info.d.ts +3 -0
- package/lib/processor.whisper-transcribe/info.js +43 -0
- package/lib/processor.whisper-transcribe/info.js.map +1 -0
- package/lib/processor.whisper-transcribe/runtime.d.ts +29 -0
- package/lib/processor.whisper-transcribe/runtime.js +83 -0
- package/lib/processor.whisper-transcribe/runtime.js.map +1 -0
- package/lib/shared/srt-form-views.d.ts +2 -0
- package/lib/shared/srt-form-views.js +10 -0
- package/lib/shared/srt-form-views.js.map +1 -0
- package/lib/shared/srt-socket-options.d.ts +4 -0
- package/lib/shared/srt-socket-options.js +36 -0
- package/lib/shared/srt-socket-options.js.map +1 -0
- package/lib/shared/srt-types.d.ts +2 -0
- package/lib/shared/srt-types.js +3 -0
- package/lib/shared/srt-types.js.map +1 -0
- package/lib/test/audio-mixer.d.ts +0 -0
- package/lib/test/audio-mixer.js +2 -0
- package/lib/test/audio-mixer.js.map +1 -0
- package/lib/test/auto-cmaf.d.ts +1 -0
- package/lib/test/auto-cmaf.js +142 -0
- package/lib/test/auto-cmaf.js.map +1 -0
- package/lib/test/browser-overlay.d.ts +1 -0
- package/lib/test/browser-overlay.js +79 -0
- package/lib/test/browser-overlay.js.map +1 -0
- package/lib/test/cascading-switch.d.ts +1 -0
- package/lib/test/cascading-switch.js +286 -0
- package/lib/test/cascading-switch.js.map +1 -0
- package/lib/test/fixed-ladder.d.ts +1 -0
- package/lib/test/fixed-ladder.js +100 -0
- package/lib/test/fixed-ladder.js.map +1 -0
- package/lib/test/rtmp-input.d.ts +1 -0
- package/lib/test/rtmp-input.js +182 -0
- package/lib/test/rtmp-input.js.map +1 -0
- package/lib/test/rtmp-output.d.ts +1 -0
- package/lib/test/rtmp-output.js +74 -0
- package/lib/test/rtmp-output.js.map +1 -0
- package/lib/test/silence-generator.d.ts +1 -0
- package/lib/test/silence-generator.js +65 -0
- package/lib/test/silence-generator.js.map +1 -0
- package/lib/test/srt-input-caller.d.ts +1 -0
- package/lib/test/srt-input-caller.js +79 -0
- package/lib/test/srt-input-caller.js.map +1 -0
- package/lib/test/srt-input-listener.d.ts +1 -0
- package/lib/test/srt-input-listener.js +382 -0
- package/lib/test/srt-input-listener.js.map +1 -0
- package/lib/test/srt-output.d.ts +1 -0
- package/lib/test/srt-output.js +78 -0
- package/lib/test/srt-output.js.map +1 -0
- package/lib/test/udp-output.d.ts +1 -0
- package/lib/test/udp-output.js +76 -0
- package/lib/test/udp-output.js.map +1 -0
- package/lib/test/udp-ts-input.d.ts +1 -0
- package/lib/test/udp-ts-input.js +78 -0
- package/lib/test/udp-ts-input.js.map +1 -0
- package/lib/test/video-card.d.ts +1 -0
- package/lib/test/video-card.js +68 -0
- package/lib/test/video-card.js.map +1 -0
- package/lib/test/whep-output.d.ts +1 -0
- package/lib/test/whep-output.js +92 -0
- package/lib/test/whep-output.js.map +1 -0
- package/lib/util.latency/info.d.ts +3 -0
- package/lib/util.latency/info.js +116 -0
- package/lib/util.latency/info.js.map +1 -0
- package/lib/util.latency/inline-view.d.ts +6 -0
- package/lib/util.latency/inline-view.js +74 -0
- package/lib/util.latency/inline-view.js.map +1 -0
- package/lib/util.latency/runtime.d.ts +19 -0
- package/lib/util.latency/runtime.js +87 -0
- package/lib/util.latency/runtime.js.map +1 -0
- package/lib/util.latency/source-node-selection.d.ts +9 -0
- package/lib/util.latency/source-node-selection.js +17 -0
- package/lib/util.latency/source-node-selection.js.map +1 -0
- package/lib/util.ma35d/info.d.ts +3 -0
- package/lib/util.ma35d/info.js +78 -0
- package/lib/util.ma35d/info.js.map +1 -0
- package/lib/util.ma35d/inline-view.d.ts +6 -0
- package/lib/util.ma35d/inline-view.js +76 -0
- package/lib/util.ma35d/inline-view.js.map +1 -0
- package/lib/util.ma35d/runtime.d.ts +21 -0
- package/lib/util.ma35d/runtime.js +49 -0
- package/lib/util.ma35d/runtime.js.map +1 -0
- package/lib/util.timestamps/info.d.ts +5 -0
- package/lib/util.timestamps/info.js +86 -0
- package/lib/util.timestamps/info.js.map +1 -0
- package/lib/util.timestamps/inline-view.d.ts +6 -0
- package/lib/util.timestamps/inline-view.js +94 -0
- package/lib/util.timestamps/inline-view.js.map +1 -0
- package/lib/util.timestamps/runtime.d.ts +29 -0
- package/lib/util.timestamps/runtime.js +40 -0
- package/lib/util.timestamps/runtime.js.map +1 -0
- package/package.json +61 -0
- package/shared/style.css +1617 -0
- 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,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,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 @@
|
|
1
|
+
{"version":3,"file":"srt-types.js","sourceRoot":"","sources":["../../src/shared/srt-types.ts"],"names":[],"mappings":""}
|
File without changes
|
@@ -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 {};
|