speechrecorderng 2.21.4 → 2.22.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/{esm2015/lib/action/action.js → esm2020/lib/action/action.mjs} +0 -0
- package/{esm2015/lib/audio/audio_display.js → esm2020/lib/audio/audio_display.mjs} +5 -5
- package/esm2020/lib/audio/audio_player.mjs +276 -0
- package/esm2020/lib/audio/capture/capture.mjs +547 -0
- package/{esm2015/lib/audio/context.js → esm2020/lib/audio/context.mjs} +0 -0
- package/esm2020/lib/audio/dsp/level_measure.mjs +351 -0
- package/{esm2015/lib/audio/format.js → esm2020/lib/audio/format.mjs} +0 -0
- package/{esm2015/lib/audio/impl/wavformat.js → esm2020/lib/audio/impl/wavformat.mjs} +0 -0
- package/{esm2015/lib/audio/impl/wavwriter.js → esm2020/lib/audio/impl/wavwriter.mjs} +0 -0
- package/{esm2015/lib/audio/io/stream.js → esm2020/lib/audio/io/stream.mjs} +0 -0
- package/{esm2015/lib/audio/persistor.js → esm2020/lib/audio/persistor.mjs} +0 -0
- package/{esm2015/lib/audio/playback/player.js → esm2020/lib/audio/playback/player.mjs} +0 -0
- package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +376 -0
- package/{esm2015/lib/audio/ui/audio_display_control.js → esm2020/lib/audio/ui/audio_display_control.mjs} +5 -5
- package/{esm2015/lib/audio/ui/audio_display_scroll_pane.js → esm2020/lib/audio/ui/audio_display_scroll_pane.mjs} +5 -5
- package/{esm2015/lib/audio/ui/audiosignal.js → esm2020/lib/audio/ui/audiosignal.mjs} +5 -5
- package/{esm2015/lib/audio/ui/common.js → esm2020/lib/audio/ui/common.mjs} +0 -0
- package/esm2020/lib/audio/ui/container.mjs +431 -0
- package/{esm2015/lib/audio/ui/livelevel.js → esm2020/lib/audio/ui/livelevel.mjs} +5 -5
- package/{esm2015/lib/audio/ui/scroll_pane_horizontal.js → esm2020/lib/audio/ui/scroll_pane_horizontal.mjs} +4 -4
- package/{esm2015/lib/audio/ui/sonagram.js → esm2020/lib/audio/ui/sonagram.mjs} +5 -5
- package/{esm2015/lib/dsp/utils.js → esm2020/lib/dsp/utils.mjs} +0 -0
- package/{esm2015/lib/io/BinaryWriter.js → esm2020/lib/io/BinaryWriter.mjs} +0 -0
- package/{esm2015/lib/io/stream.js → esm2020/lib/io/stream.mjs} +0 -0
- package/{esm2015/lib/math/2d/geometry.js → esm2020/lib/math/2d/geometry.mjs} +0 -0
- package/{esm2015/lib/math/complex.js → esm2020/lib/math/complex.mjs} +0 -0
- package/{esm2015/lib/math/dft.js → esm2020/lib/math/dft.mjs} +0 -0
- package/{esm2015/lib/math/utils.js → esm2020/lib/math/utils.mjs} +0 -0
- package/esm2020/lib/media/utils.mjs +14 -0
- package/esm2020/lib/net/uploader.mjs +246 -0
- package/{esm2015/lib/speechrecorder/project/project.js → esm2020/lib/speechrecorder/project/project.mjs} +0 -0
- package/{esm2015/lib/speechrecorder/project/project.service.js → esm2020/lib/speechrecorder/project/project.service.mjs} +4 -4
- package/esm2020/lib/speechrecorder/recording.mjs +54 -0
- package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +246 -0
- package/{esm2015/lib/speechrecorder/script/script.js → esm2020/lib/speechrecorder/script/script.mjs} +2 -2
- package/{esm2015/lib/speechrecorder/script/script.service.js → esm2020/lib/speechrecorder/script/script.service.mjs} +4 -4
- package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +1144 -0
- package/esm2020/lib/speechrecorder/session/controlpanel.mjs +449 -0
- package/{esm2015/lib/speechrecorder/session/item.js → esm2020/lib/speechrecorder/session/item.mjs} +1 -1
- package/{esm2015/lib/speechrecorder/session/progress.js → esm2020/lib/speechrecorder/session/progress.mjs} +5 -5
- package/{esm2015/lib/speechrecorder/session/prompting.js → esm2020/lib/speechrecorder/session/prompting.mjs} +21 -21
- package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +75 -0
- package/esm2020/lib/speechrecorder/session/recording_list.mjs +109 -0
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +126 -0
- package/{esm2015/lib/speechrecorder/session/recordingfile/recording-file-navi.component.js → esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs} +5 -5
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +168 -0
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +415 -0
- package/{esm2015/lib/speechrecorder/session/recordingfile/recording-file.js → esm2020/lib/speechrecorder/session/recordingfile/recording-file.mjs} +1 -1
- package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +251 -0
- package/{esm2015/lib/speechrecorder/session/session.js → esm2020/lib/speechrecorder/session/session.mjs} +0 -0
- package/{esm2015/lib/speechrecorder/session/session.service.js → esm2020/lib/speechrecorder/session/session.service.mjs} +4 -4
- package/{esm2015/lib/speechrecorder/session/session_finished_dialog.js → esm2020/lib/speechrecorder/session/session_finished_dialog.mjs} +4 -4
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +1274 -0
- package/{esm2015/lib/speechrecorder/session/warning_bar.js → esm2020/lib/speechrecorder/session/warning_bar.mjs} +5 -5
- package/{esm2015/lib/speechrecorder/spruploader.js → esm2020/lib/speechrecorder/spruploader.mjs} +4 -4
- package/{esm2015/lib/speechrecorder/startstopsignal/startstopsignal.js → esm2020/lib/speechrecorder/startstopsignal/startstopsignal.mjs} +0 -0
- package/{esm2015/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.js → esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs} +5 -5
- package/esm2020/lib/speechrecorderng.component.mjs +427 -0
- package/{esm2015/lib/speechrecorderng.module.js → esm2020/lib/speechrecorderng.module.mjs} +12 -11
- package/{esm2015/lib/spr.config.js → esm2020/lib/spr.config.mjs} +4 -4
- package/{esm2015/lib/spr.module.version.js → esm2020/lib/spr.module.version.mjs} +2 -2
- package/{esm2015/lib/ui/canvas_layer_comp.js → esm2020/lib/ui/canvas_layer_comp.mjs} +4 -4
- package/{esm2015/lib/ui/message_dialog.js → esm2020/lib/ui/message_dialog.mjs} +4 -4
- package/{esm2015/lib/ui/recordingitem_display.js → esm2020/lib/ui/recordingitem_display.mjs} +9 -9
- package/{esm2015/lib/utils/css_utils.js → esm2020/lib/utils/css_utils.mjs} +0 -0
- package/{esm2015/lib/utils/scrollIntoViewToBottom.js → esm2020/lib/utils/scrollIntoViewToBottom.mjs} +4 -4
- package/{esm2015/lib/utils/ua-parser.js → esm2020/lib/utils/ua-parser.mjs} +0 -0
- package/{esm2015/lib/utils/utils.js → esm2020/lib/utils/utils.mjs} +0 -0
- package/esm2020/public-api.mjs +31 -0
- package/{esm2015/speechrecorderng.js → esm2020/speechrecorderng.mjs} +0 -0
- package/fesm2015/speechrecorderng.mjs +11991 -0
- package/fesm2015/speechrecorderng.mjs.map +1 -0
- package/{fesm2015/speechrecorderng.js → fesm2020/speechrecorderng.mjs} +1863 -285
- package/fesm2020/speechrecorderng.mjs.map +1 -0
- package/lib/media/utils.d.ts +3 -0
- package/lib/net/uploader.d.ts +4 -2
- package/lib/speechrecorder/recording.d.ts +14 -3
- package/lib/speechrecorder/recordings/recordings.service.d.ts +12 -5
- package/lib/speechrecorder/session/audiorecorder.d.ts +150 -0
- package/lib/speechrecorder/session/controlpanel.d.ts +2 -1
- package/lib/speechrecorder/session/item.d.ts +2 -2
- package/lib/speechrecorder/session/recorder_combi_pane.d.ts +26 -0
- package/lib/speechrecorder/session/recording_list.d.ts +19 -0
- package/lib/speechrecorder/session/recordingfile/recording-file-meta.component.d.ts +6 -2
- package/lib/speechrecorder/session/recordingfile/recording-file-view.component.d.ts +5 -4
- package/lib/speechrecorder/session/recordingfile/recording-file.d.ts +2 -2
- package/lib/speechrecorder/session/recordingfile/recordingfile-service.d.ts +5 -3
- package/lib/speechrecorder/session/sessionmanager.d.ts +5 -5
- package/lib/speechrecorderng.module.d.ts +31 -28
- package/lib/spr.module.version.d.ts +1 -1
- package/package.json +33 -20
- package/public-api.d.ts +2 -1
- package/bundles/speechrecorderng.umd.js +0 -10146
- package/bundles/speechrecorderng.umd.js.map +0 -1
- package/esm2015/lib/audio/audio_player.js +0 -274
- package/esm2015/lib/audio/capture/capture.js +0 -544
- package/esm2015/lib/audio/dsp/level_measure.js +0 -356
- package/esm2015/lib/audio/ui/audio_canvas_layer_comp.js +0 -364
- package/esm2015/lib/audio/ui/container.js +0 -412
- package/esm2015/lib/net/uploader.js +0 -220
- package/esm2015/lib/speechrecorder/recording.js +0 -38
- package/esm2015/lib/speechrecorder/recordings/recordings.service.js +0 -173
- package/esm2015/lib/speechrecorder/session/controlpanel.js +0 -446
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-meta.component.js +0 -83
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.js +0 -163
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-view.component.js +0 -386
- package/esm2015/lib/speechrecorder/session/recordingfile/recordingfile-service.js +0 -191
- package/esm2015/lib/speechrecorder/session/sessionmanager.js +0 -1271
- package/esm2015/lib/speechrecorderng.component.js +0 -423
- package/esm2015/public-api.js +0 -30
- package/fesm2015/speechrecorderng.js.map +0 -1
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import { Action } from '../../action/action';
|
|
2
|
+
import { Component, ViewChild, Input } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
5
|
+
import * as i2 from "@angular/material/icon";
|
|
6
|
+
import * as i3 from "@angular/material/tooltip";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@angular/material/button";
|
|
9
|
+
import * as i6 from "@angular/flex-layout/extended";
|
|
10
|
+
import * as i7 from "@angular/material/dialog";
|
|
11
|
+
import * as i8 from "@angular/flex-layout/flex";
|
|
12
|
+
export class StatusDisplay {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.statusAlertType = 'info';
|
|
15
|
+
this.statusMsg = 'Initialize...';
|
|
16
|
+
this.statusWaiting = false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
StatusDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: StatusDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
StatusDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0, template: `
|
|
21
|
+
<p matTooltip="Status">
|
|
22
|
+
<mat-progress-spinner *ngIf="statusWaiting" color="black" mode="indeterminate" [diameter]="30" [strokeWidth]="5"></mat-progress-spinner><mat-icon *ngIf="statusAlertType==='error'" style="color:red">report_problem</mat-icon>
|
|
23
|
+
{{statusMsg}}
|
|
24
|
+
</p>
|
|
25
|
+
`, isInline: true, styles: [":host{display:inline;text-align:left;font-size:smaller}\n", "p{padding:4px;white-space:nowrap;display:inline-block}\n", "mat-progress-spinner{color:#000;display:inline-block}\n", "span{color:red}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: StatusDisplay, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'app-sprstatusdisplay',
|
|
30
|
+
template: `
|
|
31
|
+
<p matTooltip="Status">
|
|
32
|
+
<mat-progress-spinner *ngIf="statusWaiting" color="black" mode="indeterminate" [diameter]="30" [strokeWidth]="5"></mat-progress-spinner><mat-icon *ngIf="statusAlertType==='error'" style="color:red">report_problem</mat-icon>
|
|
33
|
+
{{statusMsg}}
|
|
34
|
+
</p>
|
|
35
|
+
`,
|
|
36
|
+
styles: [`:host {
|
|
37
|
+
display: inline;
|
|
38
|
+
text-align: left;
|
|
39
|
+
font-size: smaller;
|
|
40
|
+
}`, `
|
|
41
|
+
p {
|
|
42
|
+
padding: 4px;
|
|
43
|
+
white-space:nowrap;
|
|
44
|
+
display: inline-block;
|
|
45
|
+
}
|
|
46
|
+
`, `
|
|
47
|
+
mat-progress-spinner {
|
|
48
|
+
color: black;
|
|
49
|
+
display: inline-block;
|
|
50
|
+
}
|
|
51
|
+
`, `
|
|
52
|
+
span {
|
|
53
|
+
color: red;
|
|
54
|
+
}
|
|
55
|
+
`]
|
|
56
|
+
}]
|
|
57
|
+
}], propDecorators: { statusAlertType: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], statusMsg: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], statusWaiting: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}] } });
|
|
64
|
+
export class UploadStatus {
|
|
65
|
+
constructor() {
|
|
66
|
+
this._awaitNewUpload = false;
|
|
67
|
+
this.spinnerMode = 'determinate';
|
|
68
|
+
this._value = 100;
|
|
69
|
+
this.displayValue = null;
|
|
70
|
+
this.toolTipText = '';
|
|
71
|
+
}
|
|
72
|
+
_updateSpinner() {
|
|
73
|
+
let uplMsg;
|
|
74
|
+
if (this._awaitNewUpload || this._value === 0) {
|
|
75
|
+
this.spinnerMode = 'indeterminate';
|
|
76
|
+
this.displayValue = ' ';
|
|
77
|
+
uplMsg = 'Preparing upload.';
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.spinnerMode = 'determinate';
|
|
81
|
+
this.displayValue = this._value + '%';
|
|
82
|
+
if (this._value === 100) {
|
|
83
|
+
uplMsg = 'Upload complete';
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
uplMsg = 'Upload progress: ' + this.displayValue;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (this.status === 'warn') {
|
|
90
|
+
uplMsg = 'Upload error occurred. Please check your network connection. ' + uplMsg;
|
|
91
|
+
}
|
|
92
|
+
this.toolTipText = uplMsg;
|
|
93
|
+
}
|
|
94
|
+
set value(value) {
|
|
95
|
+
this._value = value;
|
|
96
|
+
this._updateSpinner();
|
|
97
|
+
}
|
|
98
|
+
;
|
|
99
|
+
set awaitNewUpload(awaitNewUpload) {
|
|
100
|
+
this._awaitNewUpload = awaitNewUpload;
|
|
101
|
+
this._updateSpinner();
|
|
102
|
+
}
|
|
103
|
+
set status(status) {
|
|
104
|
+
this._status = status;
|
|
105
|
+
this._updateSpinner();
|
|
106
|
+
}
|
|
107
|
+
get status() {
|
|
108
|
+
return this._status;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
UploadStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: UploadStatus, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
UploadStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0, template: `
|
|
113
|
+
<mat-progress-spinner [mode]="spinnerMode" [color]="status" [diameter]="30" [strokeWidth]="5" [value]="_value" [matTooltip]="toolTipText"></mat-progress-spinner>
|
|
114
|
+
`, isInline: true, styles: [":host{flex:1;text-align:left}\n", "mat-progress-spinner{display:inline-block}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: UploadStatus, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{
|
|
118
|
+
selector: 'app-uploadstatus',
|
|
119
|
+
template: `
|
|
120
|
+
<mat-progress-spinner [mode]="spinnerMode" [color]="status" [diameter]="30" [strokeWidth]="5" [value]="_value" [matTooltip]="toolTipText"></mat-progress-spinner>
|
|
121
|
+
`,
|
|
122
|
+
styles: [`:host {
|
|
123
|
+
flex: 1;
|
|
124
|
+
/* align-self: flex-start; */
|
|
125
|
+
/*display: inline; */
|
|
126
|
+
text-align: left;
|
|
127
|
+
}`, `mat-progress-spinner{
|
|
128
|
+
display: inline-block;
|
|
129
|
+
}`]
|
|
130
|
+
}]
|
|
131
|
+
}], propDecorators: { value: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], awaitNewUpload: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], status: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}] } });
|
|
138
|
+
export class ProgressDisplay {
|
|
139
|
+
constructor() {
|
|
140
|
+
this.progressMsg = '[itemcode]';
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
ProgressDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProgressDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
ProgressDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0, template: `
|
|
145
|
+
<p>{{progressMsg}}</p>
|
|
146
|
+
`, isInline: true, styles: [":host{flex:1;width:100%;text-align:left}\n"] });
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProgressDisplay, decorators: [{
|
|
148
|
+
type: Component,
|
|
149
|
+
args: [{
|
|
150
|
+
selector: 'app-sprprogressdisplay',
|
|
151
|
+
template: `
|
|
152
|
+
<p>{{progressMsg}}</p>
|
|
153
|
+
`,
|
|
154
|
+
styles: [`:host {
|
|
155
|
+
flex: 1;
|
|
156
|
+
/* align-self: flex-start; */
|
|
157
|
+
/*display: inline; */
|
|
158
|
+
width: 100%;
|
|
159
|
+
text-align: left;
|
|
160
|
+
}`]
|
|
161
|
+
}]
|
|
162
|
+
}] });
|
|
163
|
+
export class TransportActions {
|
|
164
|
+
constructor() {
|
|
165
|
+
this.startAction = new Action('Start');
|
|
166
|
+
this.stopAction = new Action('Stop');
|
|
167
|
+
this.nextAction = new Action('Next');
|
|
168
|
+
this.pauseAction = new Action('Pause');
|
|
169
|
+
this.fwdNextAction = new Action('Next recording');
|
|
170
|
+
this.fwdAction = new Action('Forward');
|
|
171
|
+
this.bwdAction = new Action('Backward');
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
export class TransportPanel {
|
|
175
|
+
constructor() {
|
|
176
|
+
this.navigationEnabled = true;
|
|
177
|
+
this.pausingEnabled = true;
|
|
178
|
+
}
|
|
179
|
+
startDisabled() {
|
|
180
|
+
return !this.actions || this.readonly || this.actions.startAction.disabled;
|
|
181
|
+
}
|
|
182
|
+
stopDisabled() {
|
|
183
|
+
return !this.actions || this.actions.stopAction.disabled;
|
|
184
|
+
}
|
|
185
|
+
nextDisabled() {
|
|
186
|
+
return !this.actions || this.actions.nextAction.disabled || !this.navigationEnabled;
|
|
187
|
+
}
|
|
188
|
+
pauseDisabled() {
|
|
189
|
+
return !this.actions || this.actions.pauseAction.disabled || !this.pausingEnabled;
|
|
190
|
+
}
|
|
191
|
+
fwdDisabled() {
|
|
192
|
+
return !this.actions || this.actions.fwdAction.disabled || !this.navigationEnabled;
|
|
193
|
+
}
|
|
194
|
+
fwdNextDisabled() {
|
|
195
|
+
return !this.actions || this.actions.fwdNextAction.disabled || !this.navigationEnabled;
|
|
196
|
+
}
|
|
197
|
+
bwdDisabled() {
|
|
198
|
+
return !this.actions || this.actions.bwdAction.disabled || !this.navigationEnabled;
|
|
199
|
+
}
|
|
200
|
+
startStopNextName() {
|
|
201
|
+
if (!this.nextDisabled()) {
|
|
202
|
+
this.startStopNextButtonName = "Next";
|
|
203
|
+
}
|
|
204
|
+
else if (!this.startDisabled()) {
|
|
205
|
+
this.startStopNextButtonName = "Start";
|
|
206
|
+
}
|
|
207
|
+
else if (!this.stopDisabled()) {
|
|
208
|
+
this.startStopNextButtonName = "Stop";
|
|
209
|
+
}
|
|
210
|
+
return this.startStopNextButtonName;
|
|
211
|
+
}
|
|
212
|
+
startStopNextIconName() {
|
|
213
|
+
if (!this.startDisabled()) {
|
|
214
|
+
this.startStopNextButtonIconName = "fiber_manual_record";
|
|
215
|
+
}
|
|
216
|
+
else if (!this.stopDisabled()) {
|
|
217
|
+
this.startStopNextButtonIconName = "stop";
|
|
218
|
+
}
|
|
219
|
+
else if (!this.nextDisabled()) {
|
|
220
|
+
this.startStopNextButtonIconName = "stop";
|
|
221
|
+
}
|
|
222
|
+
return this.startStopNextButtonIconName;
|
|
223
|
+
}
|
|
224
|
+
startStopNextIconColor() {
|
|
225
|
+
if (!this.startDisabled()) {
|
|
226
|
+
return "red";
|
|
227
|
+
}
|
|
228
|
+
else if (!this.stopDisabled() || !this.nextDisabled()) {
|
|
229
|
+
return "yellow";
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
return "grey";
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
startStopNextPerform() {
|
|
236
|
+
if (!this.startDisabled()) {
|
|
237
|
+
this.actions.startAction.perform();
|
|
238
|
+
}
|
|
239
|
+
else if (!this.stopDisabled()) {
|
|
240
|
+
this.actions.stopAction.perform();
|
|
241
|
+
}
|
|
242
|
+
else if (!this.nextDisabled()) {
|
|
243
|
+
this.actions.nextAction.perform();
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
+
TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled", pausingEnabled: "pausingEnabled" }, ngImport: i0, template: `
|
|
249
|
+
<button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
|
|
250
|
+
mat-raised-button>
|
|
251
|
+
<mat-icon>chevron_left</mat-icon>
|
|
252
|
+
</button>
|
|
253
|
+
<button (click)="startStopNextPerform()" [disabled]="startDisabled() && stopDisabled() && nextDisabled()" mat-raised-button>
|
|
254
|
+
<mat-icon [style.color]="startStopNextIconColor()">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf="!nextDisabled()" [style.color]="nextDisabled() ? 'grey' : 'black'">chevron_right</mat-icon>
|
|
255
|
+
<span fxShow.xs="false">{{startStopNextName()}}</span>
|
|
256
|
+
</button>
|
|
257
|
+
<button *ngIf="pausingEnabled" (click)="actions.pauseAction.perform()" [disabled]="pauseDisabled()" mat-raised-button>
|
|
258
|
+
<mat-icon>pause</mat-icon>
|
|
259
|
+
<span fxShow.xs="false">Pause</span>
|
|
260
|
+
</button>
|
|
261
|
+
<button id="fwdNextBtn" *ngIf="navigationEnabled" fxHide.xs (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
|
|
262
|
+
<mat-icon>redo</mat-icon>
|
|
263
|
+
</button>
|
|
264
|
+
<button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
|
|
265
|
+
<mat-icon>chevron_right</mat-icon>
|
|
266
|
+
</button>
|
|
267
|
+
|
|
268
|
+
`, isInline: true, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n"], components: [{ type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TransportPanel, decorators: [{
|
|
270
|
+
type: Component,
|
|
271
|
+
args: [{
|
|
272
|
+
selector: 'app-sprtransport',
|
|
273
|
+
template: `
|
|
274
|
+
<button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
|
|
275
|
+
mat-raised-button>
|
|
276
|
+
<mat-icon>chevron_left</mat-icon>
|
|
277
|
+
</button>
|
|
278
|
+
<button (click)="startStopNextPerform()" [disabled]="startDisabled() && stopDisabled() && nextDisabled()" mat-raised-button>
|
|
279
|
+
<mat-icon [style.color]="startStopNextIconColor()">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf="!nextDisabled()" [style.color]="nextDisabled() ? 'grey' : 'black'">chevron_right</mat-icon>
|
|
280
|
+
<span fxShow.xs="false">{{startStopNextName()}}</span>
|
|
281
|
+
</button>
|
|
282
|
+
<button *ngIf="pausingEnabled" (click)="actions.pauseAction.perform()" [disabled]="pauseDisabled()" mat-raised-button>
|
|
283
|
+
<mat-icon>pause</mat-icon>
|
|
284
|
+
<span fxShow.xs="false">Pause</span>
|
|
285
|
+
</button>
|
|
286
|
+
<button id="fwdNextBtn" *ngIf="navigationEnabled" fxHide.xs (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
|
|
287
|
+
<mat-icon>redo</mat-icon>
|
|
288
|
+
</button>
|
|
289
|
+
<button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
|
|
290
|
+
<mat-icon>chevron_right</mat-icon>
|
|
291
|
+
</button>
|
|
292
|
+
|
|
293
|
+
`,
|
|
294
|
+
styles: [`:host {
|
|
295
|
+
flex: 20;
|
|
296
|
+
align-self: center;
|
|
297
|
+
width: 100%;
|
|
298
|
+
text-align: center;
|
|
299
|
+
align-content: center;
|
|
300
|
+
margin: 0;
|
|
301
|
+
|
|
302
|
+
}`, `
|
|
303
|
+
div {
|
|
304
|
+
display: inline;
|
|
305
|
+
flex: 0;
|
|
306
|
+
}`
|
|
307
|
+
]
|
|
308
|
+
}]
|
|
309
|
+
}], propDecorators: { readonly: [{
|
|
310
|
+
type: Input
|
|
311
|
+
}], actions: [{
|
|
312
|
+
type: Input
|
|
313
|
+
}], navigationEnabled: [{
|
|
314
|
+
type: Input
|
|
315
|
+
}], pausingEnabled: [{
|
|
316
|
+
type: Input
|
|
317
|
+
}] } });
|
|
318
|
+
export class ReadyStateIndicator {
|
|
319
|
+
constructor() {
|
|
320
|
+
this._ready = true;
|
|
321
|
+
this.hourGlassIconName = 'hourglass_empty';
|
|
322
|
+
this.readyStateToolTip = '';
|
|
323
|
+
}
|
|
324
|
+
set ready(ready) {
|
|
325
|
+
this._ready = ready;
|
|
326
|
+
this.hourGlassIconName = this._ready ? 'hourglass_empty' : 'hourglass_full';
|
|
327
|
+
this.readyStateToolTip = this._ready ? 'Audio processing and upload done. You can leave the page without data loss.' : 'Please wait until audio processing and upload have finished. Please do not leave the page.';
|
|
328
|
+
}
|
|
329
|
+
get ready() {
|
|
330
|
+
return this._ready;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
ReadyStateIndicator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ReadyStateIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
334
|
+
ReadyStateIndicator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: { ready: "ready" }, ngImport: i0, template: `
|
|
335
|
+
<mat-icon [matTooltip]="readyStateToolTip">{{hourGlassIconName}}</mat-icon>
|
|
336
|
+
`, isInline: true, components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ReadyStateIndicator, decorators: [{
|
|
338
|
+
type: Component,
|
|
339
|
+
args: [{
|
|
340
|
+
selector: 'app-readystateindicator',
|
|
341
|
+
template: `
|
|
342
|
+
<mat-icon [matTooltip]="readyStateToolTip">{{hourGlassIconName}}</mat-icon>
|
|
343
|
+
`,
|
|
344
|
+
styles: []
|
|
345
|
+
}]
|
|
346
|
+
}], ctorParameters: function () { return []; }, propDecorators: { ready: [{
|
|
347
|
+
type: Input
|
|
348
|
+
}] } });
|
|
349
|
+
export class ControlPanel {
|
|
350
|
+
constructor(dialog) {
|
|
351
|
+
this.dialog = dialog;
|
|
352
|
+
this.processing = false;
|
|
353
|
+
this.navigationEnabled = true;
|
|
354
|
+
this._ready = true;
|
|
355
|
+
}
|
|
356
|
+
set ready(ready) {
|
|
357
|
+
this._ready = ready;
|
|
358
|
+
}
|
|
359
|
+
get ready() {
|
|
360
|
+
return this._ready;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ControlPanel, deps: [{ token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
364
|
+
ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ControlPanel, selector: "app-sprcontrolpanel", inputs: { readonly: "readonly", transportActions: "transportActions", processing: "processing", statusMsg: "statusMsg", statusAlertType: "statusAlertType", statusWaiting: "statusWaiting", uploadStatus: "uploadStatus", uploadProgress: "uploadProgress", currentRecording: "currentRecording", enableUploadRecordings: "enableUploadRecordings", navigationEnabled: "navigationEnabled", ready: "ready" }, viewQueries: [{ propertyName: "statusDisplay", first: true, predicate: StatusDisplay, descendants: true, static: true }, { propertyName: "transportPanel", first: true, predicate: TransportPanel, descendants: true, static: true }], ngImport: i0, template: `
|
|
365
|
+
<div fxHide.xs fxLayout="row" >
|
|
366
|
+
<app-sprstatusdisplay fxFlex="0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
367
|
+
class="hidden-xs"></app-sprstatusdisplay>
|
|
368
|
+
<app-sprtransport fxFlex="10 0 0" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
369
|
+
<app-uploadstatus fxFlex="0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
370
|
+
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
371
|
+
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
372
|
+
</div>
|
|
373
|
+
<div fxShow.xs fxHide fxLayout="column">
|
|
374
|
+
<div fxLayout="row" fxFlexFill>
|
|
375
|
+
<app-sprstatusdisplay fxFlex="10 0 0" fxFlexAlign="left" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
376
|
+
class="hidden-xs"></app-sprstatusdisplay>
|
|
377
|
+
<app-uploadstatus fxFlex="0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
378
|
+
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
379
|
+
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
380
|
+
</div>
|
|
381
|
+
<app-sprtransport [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
382
|
+
|
|
383
|
+
</div>
|
|
384
|
+
`, isInline: true, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:-webkit-min-content;min-height:min-content}\n"], components: [{ type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled", "pausingEnabled"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { type: i8.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }] });
|
|
385
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ControlPanel, decorators: [{
|
|
386
|
+
type: Component,
|
|
387
|
+
args: [{
|
|
388
|
+
selector: 'app-sprcontrolpanel',
|
|
389
|
+
template: `
|
|
390
|
+
<div fxHide.xs fxLayout="row" >
|
|
391
|
+
<app-sprstatusdisplay fxFlex="0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
392
|
+
class="hidden-xs"></app-sprstatusdisplay>
|
|
393
|
+
<app-sprtransport fxFlex="10 0 0" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
394
|
+
<app-uploadstatus fxFlex="0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
395
|
+
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
396
|
+
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
397
|
+
</div>
|
|
398
|
+
<div fxShow.xs fxHide fxLayout="column">
|
|
399
|
+
<div fxLayout="row" fxFlexFill>
|
|
400
|
+
<app-sprstatusdisplay fxFlex="10 0 0" fxFlexAlign="left" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
401
|
+
class="hidden-xs"></app-sprstatusdisplay>
|
|
402
|
+
<app-uploadstatus fxFlex="0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
403
|
+
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
404
|
+
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
405
|
+
</div>
|
|
406
|
+
<app-sprtransport [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
407
|
+
|
|
408
|
+
</div>
|
|
409
|
+
`,
|
|
410
|
+
styles: [`div {
|
|
411
|
+
align-content: center;
|
|
412
|
+
align-items: center;
|
|
413
|
+
margin: 0;
|
|
414
|
+
padding: 20px;
|
|
415
|
+
min-height: min-content; /* important */
|
|
416
|
+
}`]
|
|
417
|
+
}]
|
|
418
|
+
}], ctorParameters: function () { return [{ type: i7.MatDialog }]; }, propDecorators: { statusDisplay: [{
|
|
419
|
+
type: ViewChild,
|
|
420
|
+
args: [StatusDisplay, { static: true }]
|
|
421
|
+
}], transportPanel: [{
|
|
422
|
+
type: ViewChild,
|
|
423
|
+
args: [TransportPanel, { static: true }]
|
|
424
|
+
}], readonly: [{
|
|
425
|
+
type: Input
|
|
426
|
+
}], transportActions: [{
|
|
427
|
+
type: Input
|
|
428
|
+
}], processing: [{
|
|
429
|
+
type: Input
|
|
430
|
+
}], statusMsg: [{
|
|
431
|
+
type: Input
|
|
432
|
+
}], statusAlertType: [{
|
|
433
|
+
type: Input
|
|
434
|
+
}], statusWaiting: [{
|
|
435
|
+
type: Input
|
|
436
|
+
}], uploadStatus: [{
|
|
437
|
+
type: Input
|
|
438
|
+
}], uploadProgress: [{
|
|
439
|
+
type: Input
|
|
440
|
+
}], currentRecording: [{
|
|
441
|
+
type: Input
|
|
442
|
+
}], enableUploadRecordings: [{
|
|
443
|
+
type: Input
|
|
444
|
+
}], navigationEnabled: [{
|
|
445
|
+
type: Input
|
|
446
|
+
}], ready: [{
|
|
447
|
+
type: Input
|
|
448
|
+
}] } });
|
|
449
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHBhbmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vY29udHJvbHBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEVBQ0wsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQzVCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBdUN2QixNQUFNLE9BQU8sYUFBYTtJQWpDMUI7UUFrQ1csb0JBQWUsR0FBRyxNQUFNLENBQUM7UUFDekIsY0FBUyxHQUFHLGVBQWUsQ0FBQztRQUM1QixrQkFBYSxHQUFFLEtBQUssQ0FBQztLQUMvQjs7MEdBSlksYUFBYTs4RkFBYixhQUFhLG9LQTdCZDs7Ozs7R0FLVDsyRkF3QlUsYUFBYTtrQkFqQ3pCLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLHNCQUFzQjtvQkFFaEMsUUFBUSxFQUFFOzs7OztHQUtUO29CQUNELE1BQU0sRUFBRSxDQUFDOzs7O0lBSVAsRUFBRTs7Ozs7O0dBTUgsRUFBRTs7Ozs7R0FLRixFQUFFOzs7O0dBSUYsQ0FBQztpQkFFSDs4QkFHVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSzs7QUFrQlIsTUFBTSxPQUFPLFlBQVk7SUFkekI7UUFlVSxvQkFBZSxHQUFDLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUF1QixhQUFhLENBQUM7UUFFaEQsV0FBTSxHQUFHLEdBQUcsQ0FBQTtRQUNaLGlCQUFZLEdBQWEsSUFBSSxDQUFBO1FBQzdCLGdCQUFXLEdBQVEsRUFBRSxDQUFBO0tBNEN0QjtJQTFDUyxjQUFjO1FBRXBCLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxJQUFJLENBQUMs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RUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVsQyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRTyxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBY3Rpb259IGZyb20gJy4uLy4uL2FjdGlvbi9hY3Rpb24nXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIElucHV0XHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IE1hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge1Byb2dyZXNzU3Bpbm5lck1vZGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLXNwcnN0YXR1c2Rpc3BsYXknLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHAgbWF0VG9vbHRpcD1cIlN0YXR1c1wiPlxyXG4gICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgKm5nSWY9XCJzdGF0dXNXYWl0aW5nXCIgY29sb3I9XCJibGFja1wiICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIFtkaWFtZXRlcl09XCIzMFwiIFtzdHJva2VXaWR0aF09XCI1XCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj48bWF0LWljb24gKm5nSWY9XCJzdGF0dXNBbGVydFR5cGU9PT0nZXJyb3InXCIgc3R5bGU9XCJjb2xvcjpyZWRcIj5yZXBvcnRfcHJvYmxlbTwvbWF0LWljb24+XHJcbiAgICAgIHt7c3RhdHVzTXNnfX1cclxuICAgIDwvcD5cclxuICBgLFxyXG4gIHN0eWxlczogW2A6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiBzbWFsbGVyO1xyXG4gIH1gLCBgXHJcbiAgICBwIHtcclxuICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICBgLCBgXHJcbiAgICBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciB7XHJcbiAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gIGAsIGBcclxuICAgIHNwYW4ge1xyXG4gICAgICBjb2xvcjogcmVkO1xyXG4gICAgfVxyXG4gIGBdXHJcblxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFN0YXR1c0Rpc3BsYXkge1xyXG4gIEBJbnB1dCgpIHN0YXR1c0FsZXJ0VHlwZSA9ICdpbmZvJztcclxuICBASW5wdXQoKSBzdGF0dXNNc2cgPSAnSW5pdGlhbGl6ZS4uLic7XHJcbiAgQElucHV0KCkgc3RhdHVzV2FpdGluZyA9ZmFsc2U7XHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11cGxvYWRzdGF0dXMnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgW21vZGVdPVwic3Bpbm5lck1vZGVcIiBbY29sb3JdPVwic3RhdHVzXCIgW2RpYW1ldGVyXT1cIjMwXCIgW3N0cm9rZVdpZHRoXT1cIjVcIiBbdmFsdWVdPVwiX3ZhbHVlXCIgW21hdFRvb2x0aXBdPVwidG9vbFRpcFRleHRcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYDpob3N0IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgLyogYWxpZ24tc2VsZjogZmxleC1zdGFydDsgKi9cclxuICAgIC8qZGlzcGxheTogaW5saW5lOyAqL1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9YCxgbWF0LXByb2dyZXNzLXNwaW5uZXJ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZFN0YXR1cyB7XHJcbiAgcHJpdmF0ZSBfYXdhaXROZXdVcGxvYWQ9ZmFsc2U7XHJcbiAgc3Bpbm5lck1vZGU6UHJvZ3Jlc3NTcGlubmVyTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgX3N0YXR1cyE6c3RyaW5nXHJcbiAgX3ZhbHVlID0gMTAwXHJcbiAgZGlzcGxheVZhbHVlOnN0cmluZ3xudWxsPW51bGxcclxuICB0b29sVGlwVGV4dDpzdHJpbmc9JydcclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlU3Bpbm5lcigpe1xyXG5cclxuICAgIGxldCB1cGxNc2c7XHJcbiAgICBpZiAodGhpcy5fYXdhaXROZXdVcGxvYWQgfHwgdGhpcy5fdmFsdWUgPT09IDApIHtcclxuICAgICAgdGhpcy5zcGlubmVyTW9kZSA9ICdpbmRldGVybWluYXRlJ1xyXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZT0nJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7J1xyXG4gICAgICB1cGxNc2c9J1ByZXBhcmluZyB1cGxvYWQuJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zcGlubmVyTW9kZSA9ICdkZXRlcm1pbmF0ZSdcclxuICAgICAgdGhpcy5kaXNwbGF5VmFsdWU9dGhpcy5fdmFsdWUrJyUnXHJcbiAgICAgIGlmKHRoaXMuX3ZhbHVlPT09MTAwKXtcclxuICAgICAgICB1cGxNc2cgPSAnVXBsb2FkIGNvbXBsZXRlJ1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgdXBsTXNnID0gJ1VwbG9hZCBwcm9ncmVzczogJyArIHRoaXMuZGlzcGxheVZhbHVlXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmKHRoaXMuc3RhdHVzPT09J3dhcm4nKXtcclxuICAgICAgdXBsTXNnPSdVcGxvYWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSBjaGVjayB5b3VyIG5ldHdvcmsgY29ubmVjdGlvbi4gJyt1cGxNc2dcclxuICAgIH1cclxuICAgIHRoaXMudG9vbFRpcFRleHQ9dXBsTXNnXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fdXBkYXRlU3Bpbm5lcigpXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGF3YWl0TmV3VXBsb2FkKGF3YWl0TmV3VXBsb2FkOmJvb2xlYW4pe1xyXG4gICAgdGhpcy5fYXdhaXROZXdVcGxvYWQ9YXdhaXROZXdVcGxvYWRcclxuICAgIHRoaXMuX3VwZGF0ZVNwaW5uZXIoKVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHN0YXR1cyhzdGF0dXM6c3RyaW5nKXtcclxuICAgIHRoaXMuX3N0YXR1cz1zdGF0dXNcclxuICAgIHRoaXMuX3VwZGF0ZVNwaW5uZXIoKVxyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXR1cygpOnN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLl9zdGF0dXNcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3BycHJvZ3Jlc3NkaXNwbGF5JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+e3twcm9ncmVzc01zZ319PC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYDpob3N0IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgLyogYWxpZ24tc2VsZjogZmxleC1zdGFydDsgKi9cclxuICAgIC8qZGlzcGxheTogaW5saW5lOyAqL1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfWBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0Rpc3BsYXkge1xyXG4gIHByb2dyZXNzTXNnID0gJ1tpdGVtY29kZV0nO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNwb3J0QWN0aW9ucyB7XHJcbiAgc3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBzdG9wQWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgbmV4dEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIGZ3ZE5leHRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBwYXVzZUFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIGZ3ZEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIGJ3ZEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuc3RhcnRBY3Rpb24gPSBuZXcgQWN0aW9uKCdTdGFydCcpO1xyXG4gICAgdGhpcy5zdG9wQWN0aW9uID0gbmV3IEFjdGlvbignU3RvcCcpO1xyXG4gICAgdGhpcy5uZXh0QWN0aW9uID0gbmV3IEFjdGlvbignTmV4dCcpO1xyXG4gICAgdGhpcy5wYXVzZUFjdGlvbiA9IG5ldyBBY3Rpb24oJ1BhdXNlJyk7XHJcbiAgICB0aGlzLmZ3ZE5leHRBY3Rpb24gPSBuZXcgQWN0aW9uKCdOZXh0IHJlY29yZGluZycpO1xyXG4gICAgdGhpcy5md2RBY3Rpb24gPSBuZXcgQWN0aW9uKCdGb3J3YXJkJyk7XHJcbiAgICB0aGlzLmJ3ZEFjdGlvbiA9IG5ldyBBY3Rpb24oJ0JhY2t3YXJkJyk7XHJcblxyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLXNwcnRyYW5zcG9ydCcsXHJcblxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8YnV0dG9uIGlkPVwiYndkQnRuXCIgKm5nSWY9XCJuYXZpZ2F0aW9uRW5hYmxlZFwiICAoY2xpY2spPVwiYWN0aW9ucy5id2RBY3Rpb24ucGVyZm9ybSgpXCIgW2Rpc2FibGVkXT1cImJ3ZERpc2FibGVkKClcIlxyXG4gICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbj5cclxuICAgICAgPG1hdC1pY29uPmNoZXZyb25fbGVmdDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cInN0YXJ0U3RvcE5leHRQZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwic3RhcnREaXNhYmxlZCgpICYmIHN0b3BEaXNhYmxlZCgpICYmIG5leHREaXNhYmxlZCgpXCIgIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cInN0YXJ0U3RvcE5leHRJY29uQ29sb3IoKVwiPnt7c3RhcnRTdG9wTmV4dEljb25OYW1lKCl9fTwvbWF0LWljb24+PG1hdC1pY29uICpuZ0lmPVwiIW5leHREaXNhYmxlZCgpXCIgW3N0eWxlLmNvbG9yXT1cIm5leHREaXNhYmxlZCgpID8gJ2dyZXknIDogJ2JsYWNrJ1wiPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICA8c3BhbiBmeFNob3cueHM9XCJmYWxzZVwiPnt7c3RhcnRTdG9wTmV4dE5hbWUoKX19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwicGF1c2luZ0VuYWJsZWRcIiAoY2xpY2spPVwiYWN0aW9ucy5wYXVzZUFjdGlvbi5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwicGF1c2VEaXNhYmxlZCgpXCIgbWF0LXJhaXNlZC1idXR0b24+XHJcbiAgICAgIDxtYXQtaWNvbj5wYXVzZTwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuIGZ4U2hvdy54cz1cImZhbHNlXCI+UGF1c2U8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gaWQ9XCJmd2ROZXh0QnRuXCIgKm5nSWY9XCJuYXZpZ2F0aW9uRW5hYmxlZFwiIGZ4SGlkZS54cyAoY2xpY2spPVwiYWN0aW9ucy5md2ROZXh0QWN0aW9uLnBlcmZvcm0oKVwiIFtkaXNhYmxlZF09XCJmd2ROZXh0RGlzYWJsZWQoKVwiIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICA8bWF0LWljb24+cmVkbzwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gaWQ9XCJmd2RCdG5cIiAqbmdJZj1cIm5hdmlnYXRpb25FbmFibGVkXCIgIChjbGljayk9XCJhY3Rpb25zLmZ3ZEFjdGlvbi5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwiZndkRGlzYWJsZWQoKVwiIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICA8bWF0LWljb24+Y2hldnJvbl9yaWdodDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgYCxcclxuICBzdHlsZXM6IFtgOmhvc3Qge1xyXG4gICAgZmxleDogMjA7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgfWAsIGBcclxuICAgIGRpdiB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgZmxleDogMDtcclxuICAgIH1gXHJcbiAgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zcG9ydFBhbmVsIHtcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHkhOmJvb2xlYW47XHJcbiAgQElucHV0KCkgYWN0aW9ucyE6IFRyYW5zcG9ydEFjdGlvbnM7XHJcbiAgQElucHV0KCkgbmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZTtcclxuICBASW5wdXQoKSBwYXVzaW5nRW5hYmxlZD10cnVlO1xyXG5cclxuICBzdGFydFN0b3BOZXh0QnV0dG9uTmFtZSE6c3RyaW5nO1xyXG4gIHN0YXJ0U3RvcE5leHRCdXR0b25JY29uTmFtZSE6c3RyaW5nO1xyXG5cclxuICBzdGFydERpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmFjdGlvbnMgfHwgdGhpcy5yZWFkb25seSB8fCB0aGlzLmFjdGlvbnMuc3RhcnRBY3Rpb24uZGlzYWJsZWRcclxuICB9XHJcblxyXG4gIHN0b3BEaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiAhdGhpcy5hY3Rpb25zIHx8IHRoaXMuYWN0aW9ucy5zdG9wQWN0aW9uLmRpc2FibGVkXHJcbiAgfVxyXG5cclxuICBuZXh0RGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuYWN0aW9ucyB8fCB0aGlzLmFjdGlvbnMubmV4dEFjdGlvbi5kaXNhYmxlZCB8fCAhdGhpcy5uYXZpZ2F0aW9uRW5hYmxlZDtcclxuICB9XHJcblxyXG4gIHBhdXNlRGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuYWN0aW9ucyB8fCB0aGlzLmFjdGlvbnMucGF1c2VBY3Rpb24uZGlzYWJsZWQgfHwgIXRoaXMucGF1c2luZ0VuYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBmd2REaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiAhdGhpcy5hY3Rpb25zIHx8IHRoaXMuYWN0aW9ucy5md2RBY3Rpb24uZGlzYWJsZWQgfHwgIXRoaXMubmF2aWdhdGlvbkVuYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBmd2ROZXh0RGlzYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gIXRoaXMuYWN0aW9ucyB8fCB0aGlzLmFjdGlvbnMuZndkTmV4dEFjdGlvbi5kaXNhYmxlZCB8fCAhdGhpcy5uYXZpZ2F0aW9uRW5hYmxlZDtcclxuICB9XHJcblxyXG4gIGJ3ZERpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmFjdGlvbnMgfHwgdGhpcy5hY3Rpb25zLmJ3ZEFjdGlvbi5kaXNhYmxlZCB8fCAhdGhpcy5uYXZpZ2F0aW9uRW5hYmxlZDtcclxuICB9XHJcblxyXG4gICAgc3RhcnRTdG9wTmV4dE5hbWUoKTpzdHJpbmd7XHJcbiAgICAgICAgaWYoIXRoaXMubmV4dERpc2FibGVkKCkpe1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0U3RvcE5leHRCdXR0b25OYW1lPSBcIk5leHRcIlxyXG4gICAgICAgIH1lbHNlIGlmKCF0aGlzLnN0YXJ0RGlzYWJsZWQoKSl7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRTdG9wTmV4dEJ1dHRvbk5hbWU9XCJTdGFydFwiXHJcbiAgICAgICAgfWVsc2UgaWYoIXRoaXMuc3RvcERpc2FibGVkKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFydFN0b3BOZXh0QnV0dG9uTmFtZSA9IFwiU3RvcFwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXJ0U3RvcE5leHRCdXR0b25OYW1lO1xyXG4gICAgfVxyXG4gIHN0YXJ0U3RvcE5leHRJY29uTmFtZSgpOnN0cmluZ3tcclxuICAgICAgaWYoIXRoaXMuc3RhcnREaXNhYmxlZCgpKXtcclxuICAgICAgICAgdGhpcy5zdGFydFN0b3BOZXh0QnV0dG9uSWNvbk5hbWU9XCJmaWJlcl9tYW51YWxfcmVjb3JkXCJcclxuICAgICAgfWVsc2UgaWYoIXRoaXMuc3RvcERpc2FibGVkKCkpe1xyXG4gICAgICAgICAgdGhpcy5zdGFydFN0b3BOZXh0QnV0dG9uSWNvbk5hbWU9XCJzdG9wXCJcclxuICAgICAgfWVsc2UgaWYoIXRoaXMubmV4dERpc2FibGVkKCkpe1xyXG4gICAgICAgICAgdGhpcy5zdGFydFN0b3BOZXh0QnV0dG9uSWNvbk5hbWU9XCJzdG9wXCJcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5zdGFydFN0b3BOZXh0QnV0dG9uSWNvbk5hbWVcclxuICB9XHJcbiAgICBzdGFydFN0b3BOZXh0SWNvbkNvbG9yKCk6c3RyaW5ne1xyXG4gICAgICAgIGlmKCF0aGlzLnN0YXJ0RGlzYWJsZWQoKSl7XHJcbiAgICAgICAgICAgIHJldHVybiBcInJlZFwiXHJcbiAgICAgICAgfWVsc2UgaWYoIXRoaXMuc3RvcERpc2FibGVkKCkgfHwgIXRoaXMubmV4dERpc2FibGVkKCkpe1xyXG4gICAgICAgICAgICByZXR1cm4gXCJ5ZWxsb3dcIlxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICByZXR1cm4gXCJncmV5XCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICBzdGFydFN0b3BOZXh0UGVyZm9ybSgpe1xyXG4gICAgaWYoIXRoaXMuc3RhcnREaXNhYmxlZCgpKXtcclxuICAgICAgdGhpcy5hY3Rpb25zLnN0YXJ0QWN0aW9uLnBlcmZvcm0oKTtcclxuICAgIH1lbHNlIGlmKCF0aGlzLnN0b3BEaXNhYmxlZCgpKXtcclxuICAgICAgdGhpcy5hY3Rpb25zLnN0b3BBY3Rpb24ucGVyZm9ybSgpO1xyXG4gICAgfWVsc2UgaWYoIXRoaXMubmV4dERpc2FibGVkKCkpe1xyXG4gICAgICB0aGlzLmFjdGlvbnMubmV4dEFjdGlvbi5wZXJmb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLXJlYWR5c3RhdGVpbmRpY2F0b3InLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxtYXQtaWNvbiBbbWF0VG9vbHRpcF09XCJyZWFkeVN0YXRlVG9vbFRpcFwiPnt7aG91ckdsYXNzSWNvbk5hbWV9fTwvbWF0LWljb24+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWFkeVN0YXRlSW5kaWNhdG9yIHtcclxuICBfcmVhZHk9dHJ1ZVxyXG4gIGhvdXJHbGFzc0ljb25OYW1lPSdob3VyZ2xhc3NfZW1wdHknXHJcbiAgcmVhZHlTdGF0ZVRvb2xUaXA6c3RyaW5nPScnXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgQElucHV0KCkgc2V0IHJlYWR5KHJlYWR5OmJvb2xlYW4pe1xyXG4gICAgdGhpcy5fcmVhZHk9cmVhZHlcclxuICAgIHRoaXMuaG91ckdsYXNzSWNvbk5hbWU9dGhpcy5fcmVhZHk/J2hvdXJnbGFzc19lbXB0eSc6J2hvdXJnbGFzc19mdWxsJ1xyXG4gICAgdGhpcy5yZWFkeVN0YXRlVG9vbFRpcD10aGlzLl9yZWFkeT8nQXVkaW8gcHJvY2Vzc2luZyBhbmQgdXBsb2FkIGRvbmUuIFlvdSBjYW4gbGVhdmUgdGhlIHBhZ2Ugd2l0aG91dCBkYXRhIGxvc3MuJzonUGxlYXNlIHdhaXQgdW50aWwgYXVkaW8gcHJvY2Vzc2luZyBhbmQgdXBsb2FkIGhhdmUgZmluaXNoZWQuIFBsZWFzZSBkbyBub3QgbGVhdmUgdGhlIHBhZ2UuJ1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlYWR5KCk6Ym9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLl9yZWFkeVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1zcHJjb250cm9scGFuZWwnLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBmeEhpZGUueHMgIGZ4TGF5b3V0PVwicm93XCIgPlxyXG4gICAgIDxhcHAtc3Byc3RhdHVzZGlzcGxheSBmeEZsZXg9XCIwIDAgMFwiIFtzdGF0dXNNc2ddPVwic3RhdHVzTXNnXCIgW3N0YXR1c0FsZXJ0VHlwZV09XCJzdGF0dXNBbGVydFR5cGVcIiBbc3RhdHVzV2FpdGluZ109XCJzdGF0dXNXYWl0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhpZGRlbi14c1wiPjwvYXBwLXNwcnN0YXR1c2Rpc3BsYXk+XHJcbiAgICAgIDxhcHAtc3BydHJhbnNwb3J0IGZ4RmxleD1cIjEwIDAgMFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFthY3Rpb25zXT1cInRyYW5zcG9ydEFjdGlvbnNcIiBbbmF2aWdhdGlvbkVuYWJsZWRdPVwibmF2aWdhdGlvbkVuYWJsZWRcIj48L2FwcC1zcHJ0cmFuc3BvcnQ+XHJcbiAgICAgIDxhcHAtdXBsb2Fkc3RhdHVzIGZ4RmxleD1cIjAgMCAwXCIgKm5nSWY9XCJlbmFibGVVcGxvYWRSZWNvcmRpbmdzXCIgW3ZhbHVlXT1cInVwbG9hZFByb2dyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwidXBsb2FkU3RhdHVzXCIgW2F3YWl0TmV3VXBsb2FkXT1cInByb2Nlc3NpbmdcIj48L2FwcC11cGxvYWRzdGF0dXM+XHJcbiAgICAgIDxhcHAtcmVhZHlzdGF0ZWluZGljYXRvciBbcmVhZHldPVwiX3JlYWR5XCI+PC9hcHAtcmVhZHlzdGF0ZWluZGljYXRvcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBmeFNob3cueHMgZnhIaWRlIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeEZsZXhGaWxsPlxyXG4gICAgICAgPGFwcC1zcHJzdGF0dXNkaXNwbGF5IGZ4RmxleD1cIjEwIDAgMFwiIGZ4RmxleEFsaWduPVwibGVmdFwiIFtzdGF0dXNNc2ddPVwic3RhdHVzTXNnXCIgW3N0YXR1c0FsZXJ0VHlwZV09XCJzdGF0dXNBbGVydFR5cGVcIiBbc3RhdHVzV2FpdGluZ109XCJzdGF0dXNXYWl0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGlkZGVuLXhzXCI+PC9hcHAtc3Byc3RhdHVzZGlzcGxheT5cclxuICAgICAgIDxhcHAtdXBsb2Fkc3RhdHVzIGZ4RmxleD1cIjAgMCAwXCIgKm5nSWY9XCJlbmFibGVVcGxvYWRSZWNvcmRpbmdzXCIgW3ZhbHVlXT1cInVwbG9hZFByb2dyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJ1cGxvYWRTdGF0dXNcIiBbYXdhaXROZXdVcGxvYWRdPVwicHJvY2Vzc2luZ1wiPjwvYXBwLXVwbG9hZHN0YXR1cz5cclxuICAgICAgICA8YXBwLXJlYWR5c3RhdGVpbmRpY2F0b3IgW3JlYWR5XT1cIl9yZWFkeVwiPjwvYXBwLXJlYWR5c3RhdGVpbmRpY2F0b3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLXNwcnRyYW5zcG9ydCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbYWN0aW9uc109XCJ0cmFuc3BvcnRBY3Rpb25zXCIgW25hdmlnYXRpb25FbmFibGVkXT1cIm5hdmlnYXRpb25FbmFibGVkXCI+PC9hcHAtc3BydHJhbnNwb3J0PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYGRpdiB7XHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6IG1pbi1jb250ZW50OyAvKiBpbXBvcnRhbnQgKi9cclxuICB9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRyb2xQYW5lbCB7XHJcbiAgQFZpZXdDaGlsZChTdGF0dXNEaXNwbGF5LCB7IHN0YXRpYzogdHJ1ZSB9KSBzdGF0dXNEaXNwbGF5ITogU3RhdHVzRGlzcGxheTtcclxuICBAVmlld0NoaWxkKFRyYW5zcG9ydFBhbmVsLCB7IHN0YXRpYzogdHJ1ZSB9KSB0cmFuc3BvcnRQYW5lbCE6IFRyYW5zcG9ydFBhbmVsO1xyXG5cclxuICBASW5wdXQoKSByZWFkb25seSE6Ym9vbGVhblxyXG4gIEBJbnB1dCgpIHRyYW5zcG9ydEFjdGlvbnMhOiBUcmFuc3BvcnRBY3Rpb25zXHJcbiAgQElucHV0KCkgcHJvY2Vzc2luZz1mYWxzZVxyXG4gIEBJbnB1dCgpIHN0YXR1c01zZyE6IHN0cmluZztcclxuICBASW5wdXQoKSBzdGF0dXNBbGVydFR5cGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3RhdHVzV2FpdGluZyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgdXBsb2FkU3RhdHVzITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVwbG9hZFByb2dyZXNzITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRSZWNvcmRpbmc6IEF1ZGlvQnVmZmVyfCBudWxsfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgZW5hYmxlVXBsb2FkUmVjb3JkaW5ncyE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbmF2aWdhdGlvbkVuYWJsZWQ9dHJ1ZTtcclxuXHJcbiAgX3JlYWR5PXRydWVcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHJlYWR5KHJlYWR5OmJvb2xlYW4pe1xyXG4gICAgdGhpcy5fcmVhZHk9cmVhZHlcclxuICB9XHJcblxyXG4gIGdldCByZWFkeSgpOmJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5fcmVhZHlcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuIl19
|
package/{esm2015/lib/speechrecorder/session/item.js → esm2020/lib/speechrecorder/session/item.mjs}
RENAMED
|
@@ -15,4 +15,4 @@ export class Item {
|
|
|
15
15
|
return this._recording;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL2l0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLElBQUk7SUFHYixZQUFvQixlQUF1QixFQUFVLFNBQWtCLEVBQVMsVUFBa0I7UUFBOUUsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQVMsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUM5RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NwclJlY29yZGluZ0ZpbGV9IGZyb20gXCIuLi9yZWNvcmRpbmdcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBJdGVtIHtcclxuICAgIHJlY3M6IEFycmF5PFNwclJlY29yZGluZ0ZpbGU+IHwgbnVsbDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wcm9tcHRBc1N0cmluZzogc3RyaW5nLCBwcml2YXRlIF90cmFpbmluZzogYm9vbGVhbixwcml2YXRlIF9yZWNvcmRpbmc6Ym9vbGVhbikge1xyXG4gICAgICAgIHRoaXMucmVjcyA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHByb21wdEFzU3RyaW5nKCk6c3RyaW5ne1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9tcHRBc1N0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdHJhaW5pbmcoKTpib29sZWFue1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFpbmluZztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVjb3JkaW5nKCk6Ym9vbGVhbntcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkaW5nO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -28,8 +28,8 @@ export class Progress {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
Progress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
31
|
+
Progress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: Progress, selector: "app-sprprogress", inputs: { items: "items", selectedItemIdx: "selectedItemIdx", enableDownload: "enableDownload" }, outputs: { onRowSelect: "onRowSelect", rowSelect: "rowSelect", onShowDoneAction: "onShowDoneAction", clickDone: "clickDone", onDownloadDoneAction: "onDownloadDoneAction", clickDownloadDone: "clickDownloadDone" }, ngImport: i0, template: `
|
|
33
33
|
|
|
34
34
|
<table class="mat-typography">
|
|
35
35
|
<thead>
|
|
@@ -56,8 +56,8 @@ Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
|
56
56
|
|
|
57
57
|
</tbody>
|
|
58
58
|
</table>
|
|
59
|
-
`, isInline: true, styles: [":host
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
`, isInline: true, styles: [":host{overflow-x:hidden;overflow-y:scroll;padding:10pt;flex:.1 0 content;background:white;min-height:1px}\n", "table{min-height:1px;border-collapse:collapse}table,th,td{border:1px solid lightgrey;padding:.5em}\n", ".selRow{background:lightblue}\n", ".promptDescriptor{max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Progress, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{
|
|
63
63
|
selector: 'app-sprprogress',
|
|
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
|
|
|
150
150
|
}], clickDownloadDone: [{
|
|
151
151
|
type: Output
|
|
152
152
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9wcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFBOzs7OztBQStFcEUsTUFBTSxPQUFPLFFBQVE7SUEzRXJCO1FBNEVXLFVBQUssR0FBbUIsSUFBSSxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLG1CQUFjLEdBQVUsS0FBSyxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU16QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBUzlDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FRN0Q7SUF0QkMsSUFDSSxTQUFTLENBQUMsTUFBYTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBR0QsSUFDSSxTQUFTLENBQUMsTUFBYTtRQUN6QixJQUFHLElBQUksQ0FBQyxLQUFLLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRTtZQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUdELElBQ0ksaUJBQWlCLENBQUMsTUFBYTtRQUNqQyxJQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRTtZQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQzs7cUdBMUJVLFFBQVE7eUZBQVIsUUFBUSw4V0F2RVQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCVDsyRkE0Q1UsUUFBUTtrQkEzRXBCLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLGlCQUFpQjtvQkFFM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7b0JBQ0QsTUFBTSxFQUFFLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQWVQO3dCQUNFOzs7Ozs7Ozs7Ozs7OztLQWNELEVBQUU7Ozs7S0FJRixFQUFDOzs7Ozs7TUFNQSxDQUFDO2lCQUVOOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFSCxTQUFTO3NCQURaLE1BQU07Z0JBS0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVILFNBQVM7c0JBRFosTUFBTTtnQkFRRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUgsaUJBQWlCO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtJdGVtfSBmcm9tICcuL2l0ZW0nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1zcHJwcm9ncmVzcycsXHJcblxyXG4gIHRlbXBsYXRlOiBgXHJcblxyXG4gICAgPHRhYmxlIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuICAgICAgPHRoZWFkPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRoPiM8L3RoPjwhLS08dGg+Q29kZTwvdGg+LS0+XHJcbiAgICAgICAgPHRoPlByb21wdDwvdGg+XHJcbiAgICAgICAgPHRoPlN0YXR1czwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zXCI+XHJcblxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGl0SWR4PWluZGV4O1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJyb3dTZWxlY3Q9aXRJZHhcIiBbY2xhc3Muc2VsUm93XT1cIml0SWR4PT09c2VsZWN0ZWRJdGVtSWR4XCJcclxuICAgICAgICAgICAgW3Njcm9sbEludG9WaWV3VG9Cb3R0b21dPVwiaXRJZHg9PT1zZWxlY3RlZEl0ZW1JZHhcIj5cclxuICAgICAgICAgIDx0ZD57e2l0SWR4fX08L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwicHJvbXB0RGVzY3JpcHRvclwiPnt7aXRlbS5wcm9tcHRBc1N0cmluZ319PC90ZD5cclxuICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5yZWNzICYmIGl0ZW0ucmVjcy5sZW5ndGg+MFwiPmRvbmU8L21hdC1pY29uPlxyXG5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICBgLFxyXG4gIHN0eWxlczogW2A6aG9zdCB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBwYWRkaW5nOiAxMHB0O1xyXG4gICAgLypmbGV4OiAwLjEgMCAzMDBweDsgIFxyXG4gICAgICBtaW4td2lkdGg6IDMwMHB4OyAqL1xyXG4gICAgZmxleDogMC4xIDAgY29udGVudDtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgLyogV29ya2Fyb3VuZCBmb3IgRmlyZWZveFxyXG4gICAgSWYgdGhlIHByb2dyZXNzIHRhYmxlIGdldHMgbG9uZyAoc2NyaXB0IHdpdGggbWFueSBpdGVtcykgRkYgaW5jcmVhc2VzIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJmbG93IHByb2dyZXNzQ29udGFpbmVyIGFuZFxyXG4gICAgdGhlIHdob2xlIGFwcCBkb2VzIG5vdCBmaXQgaW50byB0aGUgcGFnZSBhbnltb3JlLiBUaGUgYXBwIG92ZXJmbG93cyBhbmQgc2hvd3MgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgZm9yIHRoZSB3aG9sZSBhcHAuXHJcbiAgICBTZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yODYzNjgzMi9maXJlZm94LW92ZXJmbG93LXktbm90LXdvcmtpbmctd2l0aC1uZXN0ZWQtZmxleGJveFxyXG4gICAgKi9cclxuICAgIC8qIG1pbi1oZWlnaHQ6MHB4OyAqL1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gIH1gLFxyXG4gICAgICBgdGFibGUge1xyXG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgICAvKiBUYWJsZXMgZG8gbm90IGhhdmUgYSBuYXR1cmFsIG1pbiBzaXplICovXHJcbiAgICAgICAgICAvKm1pbi13aWR0aDogMzAwcHg7ICovXHJcbiAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlLCB0aCwgdGQge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyZXk7XHJcbiAgICAgIHBhZGRpbmc6IDAuNWVtO1xyXG4gICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGAsIGBcclxuICAgICAgLnNlbFJvdyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGlnaHRibHVlO1xyXG4gICAgICB9XHJcbiAgICBgLGAucHJvbXB0RGVzY3JpcHRvcntcclxuICAgICAgXHJcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3Mge1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxJdGVtPnxudWxsPW51bGw7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtSWR4ID0gMDtcclxuICBASW5wdXQoKSBlbmFibGVEb3dubG9hZDogYm9vbGVhbj1mYWxzZTtcclxuICBAT3V0cHV0KCkgb25Sb3dTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KClcclxuICBzZXQgcm93U2VsZWN0KHJvd0lkeDpudW1iZXIpe1xyXG4gICAgdGhpcy5vblJvd1NlbGVjdC5lbWl0KHJvd0lkeCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb25TaG93RG9uZUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNldCBjbGlja0RvbmUocm93SWR4Om51bWJlcil7XHJcbiAgICBpZih0aGlzLml0ZW1zICYmdGhpcy5pdGVtc1tyb3dJZHhdICYmIHRoaXMuaXRlbXNbcm93SWR4XS5yZWNzKSB7XHJcbiAgICAgIHRoaXMub25Sb3dTZWxlY3QuZW1pdChyb3dJZHgpO1xyXG4gICAgICB0aGlzLm9uU2hvd0RvbmVBY3Rpb24uZW1pdChyb3dJZHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG9uRG93bmxvYWREb25lQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgc2V0IGNsaWNrRG93bmxvYWREb25lKHJvd0lkeDpudW1iZXIpe1xyXG4gICAgaWYodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zW3Jvd0lkeF0gJiYgdGhpcy5pdGVtc1tyb3dJZHhdLnJlY3MpIHtcclxuICAgICAgdGhpcy5vblJvd1NlbGVjdC5lbWl0KHJvd0lkeCk7XHJcbiAgICAgIHRoaXMub25Eb3dubG9hZERvbmVBY3Rpb24uZW1pdChyb3dJZHgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|