@seniorsistemas/angular-components 17.25.11 → 17.26.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/bundles/seniorsistemas-angular-components.umd.js +582 -62
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/configurations/fields/text-area-field.d.ts +2 -0
- package/components/index.d.ts +1 -0
- package/components/speech-recognition/speech-recognition/speech-recognition.component.d.ts +50 -0
- package/components/speech-recognition/speech-recognition.module.d.ts +2 -0
- package/components/speech-recognition/speech-recognition.service.d.ts +18 -0
- package/components/speech-recognition/text-to-speech.service.d.ts +22 -0
- package/components/text-area/index.d.ts +2 -0
- package/components/text-area/text-area/text-area.component.d.ts +24 -0
- package/components/text-area/text-area.module.d.ts +2 -0
- package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
- package/esm2015/components/dynamic-form/configurations/fields/text-area-field.js +3 -1
- package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -1
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js +202 -0
- package/esm2015/components/speech-recognition/speech-recognition.module.js +19 -0
- package/esm2015/components/speech-recognition/speech-recognition.service.js +102 -0
- package/esm2015/components/speech-recognition/text-to-speech.service.js +75 -0
- package/esm2015/components/text-area/index.js +3 -0
- package/esm2015/components/text-area/text-area/text-area.component.js +87 -0
- package/esm2015/components/text-area/text-area.module.js +24 -0
- package/esm2015/locale/fallback.js +6 -2
- package/esm2015/seniorsistemas-angular-components.js +65 -61
- package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +2 -2
- package/esm5/components/dynamic-form/configurations/fields/text-area-field.js +3 -1
- package/esm5/components/dynamic-form/dynamic-form.module.js +3 -1
- package/esm5/components/index.js +2 -1
- package/esm5/components/speech-recognition/speech-recognition/speech-recognition.component.js +216 -0
- package/esm5/components/speech-recognition/speech-recognition.module.js +22 -0
- package/esm5/components/speech-recognition/speech-recognition.service.js +104 -0
- package/esm5/components/speech-recognition/text-to-speech.service.js +83 -0
- package/esm5/components/text-area/index.js +3 -0
- package/esm5/components/text-area/text-area/text-area.component.js +94 -0
- package/esm5/components/text-area/text-area.module.js +27 -0
- package/esm5/locale/fallback.js +6 -2
- package/esm5/seniorsistemas-angular-components.js +65 -61
- package/fesm2015/seniorsistemas-angular-components.js +481 -4
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +518 -4
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.d.ts +64 -60
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -7,6 +7,7 @@ export interface TextAreaFieldConfig extends FieldConfig {
|
|
|
7
7
|
[klass: string]: any;
|
|
8
8
|
};
|
|
9
9
|
readonly?: () => boolean;
|
|
10
|
+
speechRecognition?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare class TextAreaField extends Field {
|
|
12
13
|
cols?: number;
|
|
@@ -16,5 +17,6 @@ export declare class TextAreaField extends Field {
|
|
|
16
17
|
[klass: string]: any;
|
|
17
18
|
};
|
|
18
19
|
readonly?: () => boolean;
|
|
20
|
+
speechRecognition?: boolean;
|
|
19
21
|
constructor(config: TextAreaFieldConfig);
|
|
20
22
|
}
|
package/components/index.d.ts
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
+
import { SpeechRecognitionService } from '../speech-recognition.service';
|
|
4
|
+
import { TextToSpeechService } from '../text-to-speech.service';
|
|
5
|
+
export declare class SpeechRecognitionComponent implements OnInit, OnDestroy, AfterViewInit {
|
|
6
|
+
private readonly speechRecognitionService;
|
|
7
|
+
private readonly textToSpeechService;
|
|
8
|
+
private readonly translateService;
|
|
9
|
+
textAreaElement: HTMLTextAreaElement;
|
|
10
|
+
private _recognizedText;
|
|
11
|
+
private originalTextAreaElementText;
|
|
12
|
+
private isDoneSpeaking;
|
|
13
|
+
private readonly onDestroy$;
|
|
14
|
+
private readonly VOICE_SPEEDS;
|
|
15
|
+
private readonly SPEECH_RECOGNITION_MARGIN_OFFSET;
|
|
16
|
+
private readonly keydownEventListener;
|
|
17
|
+
private readonly TEXT_AREA_ELEMENT_MUTATION_OBSERVER;
|
|
18
|
+
private readonly SPEECH_CONTAINER_WIDTH_CALLBACK;
|
|
19
|
+
speechRecognitionContainerWidth: number;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
isSpeaking: boolean;
|
|
22
|
+
voiceSpeed: number;
|
|
23
|
+
isDisabledMicrophone: boolean;
|
|
24
|
+
canRenderMicrophone: boolean;
|
|
25
|
+
canRenderTextToSpeech: boolean;
|
|
26
|
+
canRenderListeningText: boolean;
|
|
27
|
+
canRenderDiscard: boolean;
|
|
28
|
+
canRenderAprove: boolean;
|
|
29
|
+
canRenderTextToSpeechToolbar: boolean;
|
|
30
|
+
isPlayingTextToSpeech: boolean;
|
|
31
|
+
recognizedText: EventEmitter<string>;
|
|
32
|
+
constructor(speechRecognitionService: SpeechRecognitionService, textToSpeechService: TextToSpeechService, translateService: TranslateService);
|
|
33
|
+
ngOnInit(): void;
|
|
34
|
+
ngAfterViewInit(): void;
|
|
35
|
+
onListen(): void;
|
|
36
|
+
onOpenToolbar(): void;
|
|
37
|
+
onCloseToolbar(): void;
|
|
38
|
+
onDiscard(): void;
|
|
39
|
+
onAprove(): void;
|
|
40
|
+
ngOnDestroy(): void;
|
|
41
|
+
toggleTextToSpeech(): void;
|
|
42
|
+
restartTextToSpeech(): void;
|
|
43
|
+
updateVoiceSpeed(): void;
|
|
44
|
+
stopListening(): void;
|
|
45
|
+
get isListening(): boolean;
|
|
46
|
+
get isDisabledTextToSpeech(): boolean;
|
|
47
|
+
private setTextAreaValue;
|
|
48
|
+
private speak;
|
|
49
|
+
private setSpeechContainerWidth;
|
|
50
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { LocaleService } from '../locale/locale.service';
|
|
4
|
+
export interface SpeechResult {
|
|
5
|
+
text: string;
|
|
6
|
+
isFinal: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class SpeechRecognitionService {
|
|
9
|
+
private readonly localeService;
|
|
10
|
+
private readonly ngZone;
|
|
11
|
+
isListening: boolean;
|
|
12
|
+
private recognition;
|
|
13
|
+
private readonly TIMEOUT_NO_MESSAGE;
|
|
14
|
+
constructor(localeService: LocaleService, ngZone: NgZone);
|
|
15
|
+
listen(): Subject<SpeechResult>;
|
|
16
|
+
stop(): void;
|
|
17
|
+
private setRecognition;
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { LocaleService } from '../locale/locale.service';
|
|
3
|
+
export declare class TextToSpeechService {
|
|
4
|
+
private readonly locale;
|
|
5
|
+
private readonly ngZone;
|
|
6
|
+
private readonly utterance;
|
|
7
|
+
private activeVoice;
|
|
8
|
+
voices: SpeechSynthesisVoice[];
|
|
9
|
+
constructor(locale: LocaleService, ngZone: NgZone);
|
|
10
|
+
private setVoices;
|
|
11
|
+
/**
|
|
12
|
+
* Updates the active voice
|
|
13
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/voiceURI)
|
|
14
|
+
* @param voiceUri
|
|
15
|
+
*/
|
|
16
|
+
updateVoice(voiceUri: string): void;
|
|
17
|
+
speak(text: string, speed?: number): Promise<unknown>;
|
|
18
|
+
pause(): void;
|
|
19
|
+
resume(): void;
|
|
20
|
+
cancel(): void;
|
|
21
|
+
get hasVoice(): boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
export declare class TextAreaComponent implements ControlValueAccessor {
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onTouched: (value: string) => void;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
value: string;
|
|
8
|
+
private _textAreaElement;
|
|
9
|
+
get textAreaElement(): ElementRef<HTMLTextAreaElement>;
|
|
10
|
+
set textAreaElement(value: ElementRef<HTMLTextAreaElement>);
|
|
11
|
+
inputId: string;
|
|
12
|
+
rows: number;
|
|
13
|
+
speechRecognition: boolean;
|
|
14
|
+
keyFilter: string | RegExp;
|
|
15
|
+
inputStyle: CSSStyleDeclaration;
|
|
16
|
+
readOnly: boolean;
|
|
17
|
+
renderTextArea: boolean;
|
|
18
|
+
writeValue(obj: string): void;
|
|
19
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
20
|
+
registerOnTouched(fn: () => void): void;
|
|
21
|
+
setDisabledState(isDisabled: boolean): void;
|
|
22
|
+
setValue(value: string): void;
|
|
23
|
+
handleRecognizedText(recognizedText: string): void;
|
|
24
|
+
}
|
package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js
CHANGED
|
@@ -22,8 +22,8 @@ __decorate([
|
|
|
22
22
|
], TextAreaFieldComponent.prototype, "inputRef", void 0);
|
|
23
23
|
TextAreaFieldComponent = __decorate([
|
|
24
24
|
Component({
|
|
25
|
-
template: "<s-field-label *ngIf=\"
|
|
25
|
+
template: "<s-field-label *ngIf=\"textArea\" [field]=\"field\"\n [fieldContainerRef]=\"textArea.textAreaElement?.nativeElement\"></s-field-label>\n\n<s-textarea\n #textArea\n [inputId]=\"(field.id || field.name)\"\n [rows]=\"field.rows\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [inputStyle]=\"field.style\"\n [readOnly]=\"field.readonly ? field.readonly() : false\"\n [keyFilter]=\"field.keyFilter\"\n [speechRecognition]=\"field.speechRecognition\">\n</s-textarea>\n"
|
|
26
26
|
})
|
|
27
27
|
], TextAreaFieldComponent);
|
|
28
28
|
export { TextAreaFieldComponent };
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEvdGV4dC1hcmVhLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzRixJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQVEvQixZQUE2QixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFFL0QsZUFBZTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUNKLENBQUE7O1lBTG1ELGlCQUFpQjs7QUFOakU7SUFEQyxLQUFLLEVBQUU7cURBQ29CO0FBRTVCO0lBREMsS0FBSyxFQUFFOzJEQUN3QjtBQUVUO0lBQXRCLFNBQVMsQ0FBQyxVQUFVLENBQUM7d0RBQXNCO0FBTm5DLHNCQUFzQjtJQUhsQyxTQUFTLENBQUM7UUFDUCwwZ0JBQTZDO0tBQ2hELENBQUM7R0FDVyxzQkFBc0IsQ0FhbEM7U0FiWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUZXh0QXJlYUZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGRcIjtcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJ0ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmllbGQ6IFRleHRBcmVhRmllbGQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKSBpbnB1dFJlZjogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Field } from "./field";
|
|
2
2
|
export class TextAreaField extends Field {
|
|
3
3
|
constructor(config) {
|
|
4
|
+
var _a;
|
|
4
5
|
super(config);
|
|
5
6
|
this.cols = config.cols;
|
|
6
7
|
this.rows = config.rows;
|
|
7
8
|
this.keyFilter = config.keyFilter;
|
|
8
9
|
this.style = config.style;
|
|
9
10
|
this.readonly = config.readonly;
|
|
11
|
+
this.speechRecognition = (_a = config.speechRecognition) !== null && _a !== void 0 ? _a : false;
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLWZpZWxkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy90ZXh0LWFyZWEtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBZSxNQUFNLFNBQVMsQ0FBQztBQVc3QyxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQUs7SUFRcEMsWUFBWSxNQUEyQjs7UUFDbkMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLFNBQUcsTUFBTSxDQUFDLGlCQUFpQixtQ0FBSSxLQUFLLENBQUE7SUFDOUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGQsIEZpZWxkQ29uZmlnIH0gZnJvbSBcIi4vZmllbGRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0QXJlYUZpZWxkQ29uZmlnIGV4dGVuZHMgRmllbGRDb25maWcge1xuICAgIGNvbHM/OiBudW1iZXI7XG4gICAgcm93cz86IG51bWJlcjtcbiAgICBrZXlGaWx0ZXI/OiBhbnk7XG4gICAgc3R5bGU/OiB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gICAgcmVhZG9ubHk/OiAoKSA9PiBib29sZWFuO1xuICAgIHNwZWVjaFJlY29nbml0aW9uPzogYm9vbGVhblxufVxuXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBwdWJsaWMgY29scz86IG51bWJlcjtcbiAgICBwdWJsaWMgcm93cz86IG51bWJlcjtcbiAgICBwdWJsaWMga2V5RmlsdGVyPzogYW55O1xuICAgIHB1YmxpYyBzdHlsZT86IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfTtcbiAgICBwdWJsaWMgcmVhZG9ubHk/OiAoKSA9PiBib29sZWFuO1xuICAgIHB1YmxpYyBzcGVlY2hSZWNvZ25pdGlvbj86IGJvb2xlYW5cblxuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogVGV4dEFyZWFGaWVsZENvbmZpZykge1xuICAgICAgICBzdXBlcihjb25maWcpO1xuICAgICAgICB0aGlzLmNvbHMgPSBjb25maWcuY29scztcbiAgICAgICAgdGhpcy5yb3dzID0gY29uZmlnLnJvd3M7XG4gICAgICAgIHRoaXMua2V5RmlsdGVyID0gY29uZmlnLmtleUZpbHRlcjtcbiAgICAgICAgdGhpcy5zdHlsZSA9IGNvbmZpZy5zdHlsZTtcbiAgICAgICAgdGhpcy5yZWFkb25seSA9IGNvbmZpZy5yZWFkb25seTtcbiAgICAgICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvbiA9IGNvbmZpZy5zcGVlY2hSZWNvZ25pdGlvbiA/PyBmYWxzZVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -77,6 +77,7 @@ import { PasswordFieldModule } from "./components/fields/password/password-field
|
|
|
77
77
|
import { ProfilePictureModule } from "./components/fields/profile-picture/profile-picture-field.module";
|
|
78
78
|
import { TextFieldModule } from "./components/fields/text/text-field.module";
|
|
79
79
|
import { ButtonFieldComponent } from "./components/fields/button-field/button-field.component";
|
|
80
|
+
import { TextAreaModule } from "../text-area/text-area.module";
|
|
80
81
|
let DynamicFormModule = class DynamicFormModule {
|
|
81
82
|
};
|
|
82
83
|
DynamicFormModule = __decorate([
|
|
@@ -134,6 +135,7 @@ DynamicFormModule = __decorate([
|
|
|
134
135
|
ProfilePictureModule,
|
|
135
136
|
EditorFieldModule,
|
|
136
137
|
FieldLabelModule,
|
|
138
|
+
TextAreaModule
|
|
137
139
|
],
|
|
138
140
|
declarations: [
|
|
139
141
|
AutocompleteFieldComponent,
|
|
@@ -184,4 +186,4 @@ DynamicFormModule = __decorate([
|
|
|
184
186
|
})
|
|
185
187
|
], DynamicFormModule);
|
|
186
188
|
export { DynamicFormModule };
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1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O1lBQ3hCLG9CQUFvQjtTQUN2QjtRQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQztRQUNoRCxlQUFlLEVBQUU7WUFDYiwwQkFBMEI7WUFDMUIscUJBQXFCO1lBQ3JCLDJCQUEyQjtZQUMzQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLGdDQUFnQztZQUNoQyxpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix3QkFBd0I7U0FDM0I7UUFDRCxTQUFTLEVBQUU7WUFDUCxjQUFjO1lBQ2QsY0FBYztTQUNqQjtLQUNKLENBQUM7R0FDVyxpQkFBaUIsQ0FBSTtTQUFyQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSG90a2V5TW9kdWxlLCBIb3RrZXlzU2VydmljZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSBhcyBQcmltZUJ1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2J1dHRvblwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jYWxlbmRhclwiO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGVja2JveFwiO1xuaW1wb3J0IHsgQ2hpcHNNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGlwc1wiO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBGaWVsZHNldE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2ZpZWxkc2V0XCI7XG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dG1hc2tcIjtcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dFwiO1xuaW1wb3J0IHsgSW5wdXRUZXh0YXJlYU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dGFyZWFcIjtcbmltcG9ydCB7IEtleUZpbHRlck1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2tleWZpbHRlclwiO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9tdWx0aXNlbGVjdFwiO1xuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wYW5lbFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9yYWRpb2J1dHRvblwiO1xuaW1wb3J0IHsgU2xpZGVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zbGlkZXInO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgYXMgUHJpbWVOR1RhYmxlTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuaW1wb3J0IHsgTW91c2VFdmVudHNNb2R1bGUgfSBmcm9tIFwiLi4vbW91c2UtZXZlbnRzL21vdXNlLWV2ZW50cy5tb2R1bGVcIjtcbmltcG9ydCB7IElBc3Npc3RTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2VcIjtcblxuLy8gTW9kdWxlc1xuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tIFwiLi4vYmFkZ2UvYmFkZ2UubW9kdWxlXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gXCIuLi9iaWdudW1iZXItaW5wdXQvbnVtYmVyLWlucHV0Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24ubW9kdWxlXCI7XG5pbXBvcnQgeyBDYWxlbmRhck1hc2tNb2R1bGUgfSBmcm9tIFwiLi4vY2FsZW5kYXItbWFzay9jYWxlbmRhci1tYXNrLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ29udHJvbEVycm9yc01vZHVsZSB9IGZyb20gXCIuLi9jb250cm9sLWVycm9ycy9jb250cm9sLWVycm9ycy5tb2R1bGVcIjtcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSB9IGZyb20gXCIuLi9jb3VudHJ5LXBob25lLXBpY2tlci9jb3VudHJ5LXBob25lLXBpY2tlci5tb2R1bGVcIjtcbmltcG9ydCB7IEVtcHR5U3RhdGVNb2R1bGUgfSBmcm9tIFwiLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUubW9kdWxlXCI7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSBcIi4uL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZVwiO1xuaW1wb3J0IHsgSW5mb1NpZ25Nb2R1bGUgfSBmcm9tIFwiLi4vaW5mby1zaWduL2luZm8tc2lnbi5tb2R1bGVcIjtcbmltcG9ydCB7IExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9sb2FkaW5nLXN0YXRlL2xvYWRpbmctc3RhdGUubW9kdWxlXCI7XG5pbXBvcnQgeyBMb2NhbGVNb2R1bGUgfSBmcm9tIFwiLi4vbG9jYWxlL2xvY2FsZS5tb2R1bGVcIjtcbmltcG9ydCB7IExvY2FsaXplZE51bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL2xvY2FsaXplZC1udW1iZXItaW5wdXQvbG9jYWxpemVkLW51bWJlci1pbnB1dC5tb2R1bGVcIjtcbmltcG9ydCB7IE1hc2tGb3JtYXR0ZXJNb2R1bGUgfSBmcm9tIFwiLi4vbWFzay9tYXNrLWZvcm1hdHRlci5tb2R1bGVcIjtcbmltcG9ydCB7IE51bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQubW9kdWxlXCI7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RoTW9kdWxlIH0gZnJvbSBcIi4uL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLm1vZHVsZVwiO1xuaW1wb3J0IHsgU3dpdGNoTW9kdWxlIH0gZnJvbSBcIi4uL3N3aXRjaC9zd2l0Y2gubW9kdWxlXCI7XG5pbXBvcnQgeyBUYWJsZUhlYWRlckNoZWNrYm94TW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlLWhlYWRlci90YWJsZS1oZWFkZXItY2hlY2tveC5tb2R1bGVcIjtcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlL3RhYmxlLm1vZHVsZVwiO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCIuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlXCI7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2Jvb2xlYW4vYm9vbGVhbi1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2Jvb2xlYW4vYm9vbGVhbi1zd2l0Y2gtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXIvY2FsZW5kYXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGlwc0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2hpcHMvY2hpcHMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9va3VwRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2xpZGVyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zbGlkZXIvc2xpZGVyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvdGV4dC1hcmVhLWlhL3RleHQtYXJlYS1pYS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRBcmVhRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEvdGV4dC1hcmVhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmllbGRzZXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlY3Rpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50XCI7XG5cbi8vIEdyaWRcbmltcG9ydCB7IFJvd0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3JpZC9yb3cvcm93LmNvbXBvbmVudFwiO1xuLy8gTG9va3VwXG5pbXBvcnQgeyBMb29rdXBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50XCI7XG5cbi8vIER5bmFtaWMtZm9ybVxuaW1wb3J0IHsgRHluYW1pY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLmRpcmVjdGl2ZVwiO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5tb2R1bGVcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IENoZWNrYm94RmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jaGVja2JveC9jaGVja2JveC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEVkaXRvckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvZWRpdG9yL2VkaXRvci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvbnVtYmVyL251bWJlci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFByb2ZpbGVQaWN0dXJlTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvcHJvZmlsZS1waWN0dXJlL3Byb2ZpbGUtcGljdHVyZS1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQvdGV4dC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEJ1dHRvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYnV0dG9uLWZpZWxkL2J1dHRvbi1maWVsZC5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgQmFkZ2VNb2R1bGUsXG4gICAgICAgIEJpZ251bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTWFza01vZHVsZSxcbiAgICAgICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgICAgIENoZWNrYm94TW9kdWxlLFxuICAgICAgICBDaGlwc01vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgICAgICBDb3VudHJ5UGhvbmVQaWNrZXJNb2R1bGUsXG4gICAgICAgIERpYWxvZ01vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBIb3RrZXlNb2R1bGUsXG4gICAgICAgIElucHV0TWFza01vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBLZXlGaWx0ZXJNb2R1bGUsXG4gICAgICAgIExvYWRpbmdTdGF0ZU1vZHVsZSxcbiAgICAgICAgTG9jYWxlTW9kdWxlLFxuICAgICAgICBMb2NhbGl6ZWROdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgUGFuZWxNb2R1bGUsXG4gICAgICAgIFByaW1lQnV0dG9uTW9kdWxlLFxuICAgICAgICBQcmltZU5HVGFibGVNb2R1bGUsXG4gICAgICAgIE11bHRpU2VsZWN0TW9kdWxlLFxuICAgICAgICBOdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgUmFkaW9CdXR0b25Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRvb2x0aXBNb2R1bGUsXG5cbiAgICAgICAgRmllbGRzZXRNb2R1bGUsXG4gICAgICAgIFRhYmxlSGVhZGVyQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIEZpbGVVcGxvYWRNb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBJbmZvU2lnbk1vZHVsZSxcbiAgICAgICAgTWFza0Zvcm1hdHRlck1vZHVsZSxcbiAgICAgICAgSG90a2V5TW9kdWxlLmZvclJvb3QoKSxcbiAgICAgICAgTW91c2VFdmVudHNNb2R1bGUsXG4gICAgICAgIFN3aXRjaE1vZHVsZSxcbiAgICAgICAgUGFzc3dvcmRTdHJlbmd0aE1vZHVsZSxcbiAgICAgICAgU2xpZGVyTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcblxuICAgICAgICBQYXNzd29yZEZpZWxkTW9kdWxlLFxuICAgICAgICBUZXh0RmllbGRNb2R1bGUsXG4gICAgICAgIE51bWJlckZpZWxkTW9kdWxlLFxuICAgICAgICBDdXJyZW5jeUZpZWxkTW9kdWxlLFxuICAgICAgICBCaWdudW1iZXJGaWVsZE1vZHVsZSxcbiAgICAgICAgQ2hlY2tib3hGaWVsZE1vZHVsZSxcbiAgICAgICAgUHJvZmlsZVBpY3R1cmVNb2R1bGUsXG4gICAgICAgIEVkaXRvckZpZWxkTW9kdWxlLFxuICAgICAgICBGaWVsZExhYmVsTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2hpcHNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtRGlyZWN0aXZlLFxuICAgICAgICBGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgTG9va3VwQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBGaWVsZENvbXBvbmVudCxcbiAgICAgICAgUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvd0NvbXBvbmVudCxcbiAgICAgICAgU2VjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgICAgIFNsaWRlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkZpZWxkQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbRHluYW1pY0Zvcm1Db21wb25lbnQsIExvb2t1cENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgICAgIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2hpcHNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQsXG4gICAgICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBGaWVsZENvbXBvbmVudCxcbiAgICAgICAgUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvd0NvbXBvbmVudCxcbiAgICAgICAgU2VjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgICAgIFNsaWRlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgSG90a2V5c1NlcnZpY2UsXG4gICAgICAgIElBc3Npc3RTZXJ2aWNlLFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Nb2R1bGUgeyB9XG4iXX0=
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1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Z0I7WUFDaEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIsd0JBQXdCO1lBQ3hCLG9CQUFvQjtTQUN2QjtRQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsQ0FBQztRQUNoRCxlQUFlLEVBQUU7WUFDYiwwQkFBMEI7WUFDMUIscUJBQXFCO1lBQ3JCLDJCQUEyQjtZQUMzQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLGdDQUFnQztZQUNoQyxpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix3QkFBd0I7U0FDM0I7UUFDRCxTQUFTLEVBQUU7WUFDUCxjQUFjO1lBQ2QsY0FBYztTQUNqQjtLQUNKLENBQUM7R0FDVyxpQkFBaUIsQ0FBSTtTQUFyQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSG90a2V5TW9kdWxlLCBIb3RrZXlzU2VydmljZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSBhcyBQcmltZUJ1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2J1dHRvblwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jYWxlbmRhclwiO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGVja2JveFwiO1xuaW1wb3J0IHsgQ2hpcHNNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGlwc1wiO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBGaWVsZHNldE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2ZpZWxkc2V0XCI7XG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dG1hc2tcIjtcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dFwiO1xuaW1wb3J0IHsgSW5wdXRUZXh0YXJlYU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dGFyZWFcIjtcbmltcG9ydCB7IEtleUZpbHRlck1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2tleWZpbHRlclwiO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9tdWx0aXNlbGVjdFwiO1xuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wYW5lbFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9yYWRpb2J1dHRvblwiO1xuaW1wb3J0IHsgU2xpZGVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zbGlkZXInO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgYXMgUHJpbWVOR1RhYmxlTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcblxuaW1wb3J0IHsgTW91c2VFdmVudHNNb2R1bGUgfSBmcm9tIFwiLi4vbW91c2UtZXZlbnRzL21vdXNlLWV2ZW50cy5tb2R1bGVcIjtcbmltcG9ydCB7IElBc3Npc3RTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2VcIjtcblxuLy8gTW9kdWxlc1xuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tIFwiLi4vYmFkZ2UvYmFkZ2UubW9kdWxlXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gXCIuLi9iaWdudW1iZXItaW5wdXQvbnVtYmVyLWlucHV0Lm1vZHVsZVwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24ubW9kdWxlXCI7XG5pbXBvcnQgeyBDYWxlbmRhck1hc2tNb2R1bGUgfSBmcm9tIFwiLi4vY2FsZW5kYXItbWFzay9jYWxlbmRhci1tYXNrLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ29udHJvbEVycm9yc01vZHVsZSB9IGZyb20gXCIuLi9jb250cm9sLWVycm9ycy9jb250cm9sLWVycm9ycy5tb2R1bGVcIjtcbmltcG9ydCB7IENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSB9IGZyb20gXCIuLi9jb3VudHJ5LXBob25lLXBpY2tlci9jb3VudHJ5LXBob25lLXBpY2tlci5tb2R1bGVcIjtcbmltcG9ydCB7IEVtcHR5U3RhdGVNb2R1bGUgfSBmcm9tIFwiLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUubW9kdWxlXCI7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSBcIi4uL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZVwiO1xuaW1wb3J0IHsgSW5mb1NpZ25Nb2R1bGUgfSBmcm9tIFwiLi4vaW5mby1zaWduL2luZm8tc2lnbi5tb2R1bGVcIjtcbmltcG9ydCB7IExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9sb2FkaW5nLXN0YXRlL2xvYWRpbmctc3RhdGUubW9kdWxlXCI7XG5pbXBvcnQgeyBMb2NhbGVNb2R1bGUgfSBmcm9tIFwiLi4vbG9jYWxlL2xvY2FsZS5tb2R1bGVcIjtcbmltcG9ydCB7IExvY2FsaXplZE51bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL2xvY2FsaXplZC1udW1iZXItaW5wdXQvbG9jYWxpemVkLW51bWJlci1pbnB1dC5tb2R1bGVcIjtcbmltcG9ydCB7IE1hc2tGb3JtYXR0ZXJNb2R1bGUgfSBmcm9tIFwiLi4vbWFzay9tYXNrLWZvcm1hdHRlci5tb2R1bGVcIjtcbmltcG9ydCB7IE51bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQubW9kdWxlXCI7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RoTW9kdWxlIH0gZnJvbSBcIi4uL3Bhc3N3b3JkLXN0cmVuZ3RoL3Bhc3N3b3JkLXN0cmVuZ3RoLm1vZHVsZVwiO1xuaW1wb3J0IHsgU3dpdGNoTW9kdWxlIH0gZnJvbSBcIi4uL3N3aXRjaC9zd2l0Y2gubW9kdWxlXCI7XG5pbXBvcnQgeyBUYWJsZUhlYWRlckNoZWNrYm94TW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlLWhlYWRlci90YWJsZS1oZWFkZXItY2hlY2tveC5tb2R1bGVcIjtcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlL3RhYmxlLm1vZHVsZVwiO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCIuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlXCI7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvb2xlYW5GaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2Jvb2xlYW4vYm9vbGVhbi1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2Jvb2xlYW4vYm9vbGVhbi1zd2l0Y2gtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXIvY2FsZW5kYXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGlwc0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2hpcHMvY2hpcHMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9va3VwRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2xpZGVyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zbGlkZXIvc2xpZGVyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvdGV4dC1hcmVhLWlhL3RleHQtYXJlYS1pYS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRBcmVhRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEvdGV4dC1hcmVhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmllbGRzZXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlY3Rpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50XCI7XG5cbi8vIEdyaWRcbmltcG9ydCB7IFJvd0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3JpZC9yb3cvcm93LmNvbXBvbmVudFwiO1xuLy8gTG9va3VwXG5pbXBvcnQgeyBMb29rdXBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50XCI7XG5cbi8vIER5bmFtaWMtZm9ybVxuaW1wb3J0IHsgRHluYW1pY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9keW5hbWljLWZpZWxkL2R5bmFtaWMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLmRpcmVjdGl2ZVwiO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5tb2R1bGVcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IENoZWNrYm94RmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jaGVja2JveC9jaGVja2JveC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEVkaXRvckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvZWRpdG9yL2VkaXRvci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IE51bWJlckZpZWxkTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvbnVtYmVyL251bWJlci1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRNb2R1bGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFByb2ZpbGVQaWN0dXJlTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvcHJvZmlsZS1waWN0dXJlL3Byb2ZpbGUtcGljdHVyZS1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQvdGV4dC1maWVsZC5tb2R1bGVcIjtcbmltcG9ydCB7IEJ1dHRvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYnV0dG9uLWZpZWxkL2J1dHRvbi1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRBcmVhTW9kdWxlIH0gZnJvbSBcIi4uL3RleHQtYXJlYS90ZXh0LWFyZWEubW9kdWxlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBBdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgICAgIEJhZGdlTW9kdWxlLFxuICAgICAgICBCaWdudW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgICBDYWxlbmRhck1hc2tNb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxuICAgICAgICBDaGVja2JveE1vZHVsZSxcbiAgICAgICAgQ2hpcHNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQ29udHJvbEVycm9yc01vZHVsZSxcbiAgICAgICAgQ291bnRyeVBob25lUGlja2VyTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBFbXB0eVN0YXRlTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgSG90a2V5TW9kdWxlLFxuICAgICAgICBJbnB1dE1hc2tNb2R1bGUsXG4gICAgICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgS2V5RmlsdGVyTW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIExvY2FsZU1vZHVsZSxcbiAgICAgICAgTG9jYWxpemVkTnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIFBhbmVsTW9kdWxlLFxuICAgICAgICBQcmltZUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUHJpbWVOR1RhYmxlTW9kdWxlLFxuICAgICAgICBNdWx0aVNlbGVjdE1vZHVsZSxcbiAgICAgICAgTnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuXG4gICAgICAgIEZpZWxkc2V0TW9kdWxlLFxuICAgICAgICBUYWJsZUhlYWRlckNoZWNrYm94TW9kdWxlLFxuICAgICAgICBGaWxlVXBsb2FkTW9kdWxlLFxuICAgICAgICBUYWJsZU1vZHVsZSxcbiAgICAgICAgSW5mb1NpZ25Nb2R1bGUsXG4gICAgICAgIE1hc2tGb3JtYXR0ZXJNb2R1bGUsXG4gICAgICAgIEhvdGtleU1vZHVsZS5mb3JSb290KCksXG4gICAgICAgIE1vdXNlRXZlbnRzTW9kdWxlLFxuICAgICAgICBTd2l0Y2hNb2R1bGUsXG4gICAgICAgIFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUsXG4gICAgICAgIFNsaWRlck1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG5cbiAgICAgICAgUGFzc3dvcmRGaWVsZE1vZHVsZSxcbiAgICAgICAgVGV4dEZpZWxkTW9kdWxlLFxuICAgICAgICBOdW1iZXJGaWVsZE1vZHVsZSxcbiAgICAgICAgQ3VycmVuY3lGaWVsZE1vZHVsZSxcbiAgICAgICAgQmlnbnVtYmVyRmllbGRNb2R1bGUsXG4gICAgICAgIENoZWNrYm94RmllbGRNb2R1bGUsXG4gICAgICAgIFByb2ZpbGVQaWN0dXJlTW9kdWxlLFxuICAgICAgICBFZGl0b3JGaWVsZE1vZHVsZSxcbiAgICAgICAgRmllbGRMYWJlbE1vZHVsZSxcbiAgICAgICAgVGV4dEFyZWFNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhbkZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuU3dpdGNoRmllbGRDb21wb25lbnQsXG4gICAgICAgIENhbGVuZGFyRmllbGRDb21wb25lbnQsXG4gICAgICAgIENoaXBzRmllbGRDb21wb25lbnQsXG4gICAgICAgIENvdW50cnlQaG9uZVBpY2tlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRmllbGRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRm9ybURpcmVjdGl2ZSxcbiAgICAgICAgRmllbGRzZXRDb21wb25lbnQsXG4gICAgICAgIEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgICAgIExvb2t1cENvbXBvbmVudCxcbiAgICAgICAgTG9va3VwRmllbGRDb21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBSb3dDb21wb25lbnQsXG4gICAgICAgIFNlY3Rpb25Db21wb25lbnQsXG4gICAgICAgIFNlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBTbGlkZXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25GaWVsZENvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW0R5bmFtaWNGb3JtQ29tcG9uZW50LCBMb29rdXBDb21wb25lbnRdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW1xuICAgICAgICBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhbkZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuU3dpdGNoRmllbGRDb21wb25lbnQsXG4gICAgICAgIENhbGVuZGFyRmllbGRDb21wb25lbnQsXG4gICAgICAgIENoaXBzRmllbGRDb21wb25lbnQsXG4gICAgICAgIENvdW50cnlQaG9uZVBpY2tlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgTG9va3VwRmllbGRDb21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBSb3dDb21wb25lbnQsXG4gICAgICAgIFNlY3Rpb25Db21wb25lbnQsXG4gICAgICAgIFNlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBTbGlkZXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEhvdGtleXNTZXJ2aWNlLFxuICAgICAgICBJQXNzaXN0U2VydmljZSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtTW9kdWxlIHsgfVxuIl19
|
|
@@ -69,4 +69,5 @@ export * from "./toast/index";
|
|
|
69
69
|
* @deprecated Will be removed on a major update
|
|
70
70
|
*/
|
|
71
71
|
export * from "./number-input/index";
|
|
72
|
-
|
|
72
|
+
export * from './text-area/index';
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5Qjs7R0FFRztBQUNILGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FjY29yZGlvbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWxlcnQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JhZGdlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9iaWdudW1iZXItaW5wdXQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JyZWFkY3J1bWIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1dHRvbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FsZW5kYXItbWFzay9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FyZC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hhdC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hlY2tib3gvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvZGUtZWRpdG9yL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb2xsYXBzZS1saW5rL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250cm9sLWVycm9ycy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY291bnRyeS1waG9uZS1waWNrZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2N1c3RvbS1maWVsZHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2R5bmFtaWMtZm9ybS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZWRpdGFibGUtb3ZlcmxheS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW1wdHktc3RhdGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbGUtdXBsb2FkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nYW50dC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2xvYmFsLXNlYXJjaC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaWEtaW5zaWdodC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3JpZC1tZW51L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbWFnZS1jcm9wcGVyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbmZvLXNpZ24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lubGluZS1lZGl0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rYW5iYW4vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvYWRpbmctc3RhdGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvY2FsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemVkLW51bWJlci1pbnB1dC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFzay9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW91c2UtZXZlbnRzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uLWJ1dHRvbi9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb2JqZWN0LWNhcmQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhbmVsL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXNzd29yZC1zdHJlbmd0aC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjdC1oZWFkZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2dyZXNzYmFyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yYXRpbmctc2NhbGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdC1idXR0b24vaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NoYXJlZC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2lkZWJhci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2xpZGUtcGFuZWwvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NsaWRlci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3BsaXQtYnV0dG9uL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGF0cy1jYXJkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGVwcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3dpdGNoL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGUtaGVhZGVyL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGV4dC1hcmVhLWlhL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aHVtYm5haWwvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RodW1ibmFpbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RpZXJlZC1tZW51L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aWxlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aW1lbGluZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9rZW4tbGlzdC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9vbHRpcC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtzcGFjZS1zd2l0Y2gvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xhYmVsLXZhbHVlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9waWNrbGlzdC9pbmRleFwiXG5leHBvcnQgKiBmcm9tIFwiLi9jaGlwcy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwLXBvcG92ZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9hc3QvaW5kZXhcIjtcbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIG9uIGEgbWFqb3IgdXBkYXRlXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL251bWJlci1pbnB1dC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWFyZWEvaW5kZXgnXG4iXX0=
|
package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { SpeechRecognitionService } from '../speech-recognition.service';
|
|
7
|
+
import { TextToSpeechService } from '../text-to-speech.service';
|
|
8
|
+
let SpeechRecognitionComponent = class SpeechRecognitionComponent {
|
|
9
|
+
constructor(speechRecognitionService, textToSpeechService, translateService) {
|
|
10
|
+
this.speechRecognitionService = speechRecognitionService;
|
|
11
|
+
this.textToSpeechService = textToSpeechService;
|
|
12
|
+
this.translateService = translateService;
|
|
13
|
+
this._recognizedText = '';
|
|
14
|
+
this.originalTextAreaElementText = '';
|
|
15
|
+
this.isDoneSpeaking = false;
|
|
16
|
+
this.onDestroy$ = new Subject();
|
|
17
|
+
this.VOICE_SPEEDS = [0.5, 1, 1.5, 2];
|
|
18
|
+
this.SPEECH_RECOGNITION_MARGIN_OFFSET = 13;
|
|
19
|
+
this.keydownEventListener = (event) => {
|
|
20
|
+
if (this.disabled) {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER = new MutationObserver(() => {
|
|
25
|
+
this.SPEECH_CONTAINER_WIDTH_CALLBACK();
|
|
26
|
+
});
|
|
27
|
+
this.SPEECH_CONTAINER_WIDTH_CALLBACK = () => {
|
|
28
|
+
this.setSpeechContainerWidth();
|
|
29
|
+
};
|
|
30
|
+
this.speechRecognitionContainerWidth = 0;
|
|
31
|
+
this.disabled = false;
|
|
32
|
+
this.isSpeaking = false;
|
|
33
|
+
this.voiceSpeed = 1;
|
|
34
|
+
this.isDisabledMicrophone = false;
|
|
35
|
+
this.canRenderMicrophone = true;
|
|
36
|
+
this.canRenderTextToSpeech = true;
|
|
37
|
+
this.canRenderListeningText = false;
|
|
38
|
+
this.canRenderDiscard = false;
|
|
39
|
+
this.canRenderAprove = false;
|
|
40
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
41
|
+
this.isPlayingTextToSpeech = false;
|
|
42
|
+
this.recognizedText = new EventEmitter();
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
if (!this.textAreaElement) {
|
|
46
|
+
throw new Error('textAreaElement is required');
|
|
47
|
+
}
|
|
48
|
+
this.textAreaElement.placeholder = this.translateService.instant("platform.angular_components.text_area_speech_recognition_placeholder");
|
|
49
|
+
this.textAreaElement.addEventListener('keydown', this.keydownEventListener);
|
|
50
|
+
const config = { attributes: true, childList: true, subtree: true };
|
|
51
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.observe(this.textAreaElement, config);
|
|
52
|
+
window.addEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
53
|
+
}
|
|
54
|
+
ngAfterViewInit() {
|
|
55
|
+
setTimeout(() => {
|
|
56
|
+
this.setSpeechContainerWidth();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
onListen() {
|
|
60
|
+
if (this.isDisabledMicrophone || this.isListening) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.disabled = true;
|
|
64
|
+
this.canRenderMicrophone = false;
|
|
65
|
+
this.canRenderListeningText = true;
|
|
66
|
+
if (this.textAreaElement.value && !this.originalTextAreaElementText) {
|
|
67
|
+
this.originalTextAreaElementText = this.textAreaElement.value;
|
|
68
|
+
}
|
|
69
|
+
this.textAreaElement.value = '';
|
|
70
|
+
this.isSpeaking = true;
|
|
71
|
+
this.speechRecognitionService.listen()
|
|
72
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
73
|
+
.subscribe(({ text, isFinal }) => {
|
|
74
|
+
this._recognizedText = text;
|
|
75
|
+
this.setTextAreaValue(text);
|
|
76
|
+
setTimeout(() => {
|
|
77
|
+
this.textAreaElement.scrollTop = this.textAreaElement.scrollHeight;
|
|
78
|
+
}, 120);
|
|
79
|
+
if (isFinal) {
|
|
80
|
+
this.canRenderAprove = true;
|
|
81
|
+
this.canRenderDiscard = true;
|
|
82
|
+
this.canRenderListeningText = false;
|
|
83
|
+
this.isSpeaking = false;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
onOpenToolbar() {
|
|
88
|
+
if (this.isDisabledTextToSpeech) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
this.canRenderTextToSpeechToolbar = true;
|
|
92
|
+
this.canRenderTextToSpeech = false;
|
|
93
|
+
this.isPlayingTextToSpeech = true;
|
|
94
|
+
this.speak();
|
|
95
|
+
}
|
|
96
|
+
onCloseToolbar() {
|
|
97
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
98
|
+
this.canRenderTextToSpeech = true;
|
|
99
|
+
this.isPlayingTextToSpeech = false;
|
|
100
|
+
this.textToSpeechService.cancel();
|
|
101
|
+
this.voiceSpeed = 1;
|
|
102
|
+
}
|
|
103
|
+
onDiscard() {
|
|
104
|
+
this.canRenderAprove = false;
|
|
105
|
+
this.canRenderDiscard = false;
|
|
106
|
+
this.canRenderMicrophone = true;
|
|
107
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
108
|
+
this.canRenderTextToSpeech = true;
|
|
109
|
+
this._recognizedText = '';
|
|
110
|
+
this.setTextAreaValue(this.originalTextAreaElementText);
|
|
111
|
+
this.disabled = false;
|
|
112
|
+
this.textToSpeechService.cancel();
|
|
113
|
+
}
|
|
114
|
+
onAprove() {
|
|
115
|
+
this.canRenderAprove = false;
|
|
116
|
+
this.canRenderDiscard = false;
|
|
117
|
+
this.canRenderMicrophone = true;
|
|
118
|
+
this.canRenderTextToSpeechToolbar = false;
|
|
119
|
+
this.canRenderTextToSpeech = true;
|
|
120
|
+
this.originalTextAreaElementText = this._recognizedText;
|
|
121
|
+
this.recognizedText.emit(this._recognizedText);
|
|
122
|
+
this._recognizedText = '';
|
|
123
|
+
this.disabled = false;
|
|
124
|
+
this.textToSpeechService.cancel();
|
|
125
|
+
}
|
|
126
|
+
ngOnDestroy() {
|
|
127
|
+
this.onDestroy$.next();
|
|
128
|
+
this.onDestroy$.complete();
|
|
129
|
+
this.textAreaElement.removeEventListener('keydown', this.keydownEventListener);
|
|
130
|
+
window.removeEventListener('resize', this.SPEECH_CONTAINER_WIDTH_CALLBACK);
|
|
131
|
+
this.TEXT_AREA_ELEMENT_MUTATION_OBSERVER.disconnect();
|
|
132
|
+
}
|
|
133
|
+
toggleTextToSpeech() {
|
|
134
|
+
if (this.isPlayingTextToSpeech) {
|
|
135
|
+
this.textToSpeechService.pause();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
if (this.isDoneSpeaking) {
|
|
139
|
+
this.speak();
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.textToSpeechService.resume();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
this.isPlayingTextToSpeech = !this.isPlayingTextToSpeech;
|
|
146
|
+
}
|
|
147
|
+
restartTextToSpeech() {
|
|
148
|
+
this.isPlayingTextToSpeech = true;
|
|
149
|
+
this.textToSpeechService.cancel();
|
|
150
|
+
this.speak();
|
|
151
|
+
}
|
|
152
|
+
updateVoiceSpeed() {
|
|
153
|
+
const voiceSpeedIndex = this.VOICE_SPEEDS.indexOf(this.voiceSpeed);
|
|
154
|
+
const nextVoiceSpeedIndex = this.VOICE_SPEEDS[voiceSpeedIndex + 1] ? voiceSpeedIndex + 1 : 0;
|
|
155
|
+
this.voiceSpeed = this.VOICE_SPEEDS[nextVoiceSpeedIndex];
|
|
156
|
+
this.textToSpeechService.cancel();
|
|
157
|
+
this.speak();
|
|
158
|
+
}
|
|
159
|
+
stopListening() {
|
|
160
|
+
this.speechRecognitionService.stop();
|
|
161
|
+
}
|
|
162
|
+
get isListening() {
|
|
163
|
+
return this.speechRecognitionService.isListening;
|
|
164
|
+
}
|
|
165
|
+
get isDisabledTextToSpeech() {
|
|
166
|
+
const hasTextToSpeechVoice = this.textToSpeechService.hasVoice;
|
|
167
|
+
return !this._recognizedText || !hasTextToSpeechVoice || this.isListening;
|
|
168
|
+
}
|
|
169
|
+
setTextAreaValue(value) {
|
|
170
|
+
this.textAreaElement.value = value;
|
|
171
|
+
}
|
|
172
|
+
speak() {
|
|
173
|
+
this.isDoneSpeaking = false;
|
|
174
|
+
this.textToSpeechService.speak(this._recognizedText, this.voiceSpeed).then(() => {
|
|
175
|
+
this.isPlayingTextToSpeech = false;
|
|
176
|
+
this.isDoneSpeaking = true;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
setSpeechContainerWidth() {
|
|
180
|
+
this.speechRecognitionContainerWidth = this.textAreaElement.getBoundingClientRect().width - this.SPEECH_RECOGNITION_MARGIN_OFFSET;
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
SpeechRecognitionComponent.ctorParameters = () => [
|
|
184
|
+
{ type: SpeechRecognitionService },
|
|
185
|
+
{ type: TextToSpeechService },
|
|
186
|
+
{ type: TranslateService }
|
|
187
|
+
];
|
|
188
|
+
__decorate([
|
|
189
|
+
Input()
|
|
190
|
+
], SpeechRecognitionComponent.prototype, "textAreaElement", void 0);
|
|
191
|
+
__decorate([
|
|
192
|
+
Output()
|
|
193
|
+
], SpeechRecognitionComponent.prototype, "recognizedText", void 0);
|
|
194
|
+
SpeechRecognitionComponent = __decorate([
|
|
195
|
+
Component({
|
|
196
|
+
selector: 's-speech-recognition',
|
|
197
|
+
template: "<section class=\"speech-recognition\" [style.width.px]=\"speechRecognitionContainerWidth\" *ngIf=\"speechRecognitionContainerWidth\">\n <div class=\"speech-recognition-text\">\n <ng-container *ngIf=\"canRenderMicrophone\">\n {{ 'platform.angular_components.text_area_before_speech' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"isSpeaking\">\n {{ 'platform.angular_components.text_area_while_speech' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"canRenderAprove && canRenderDiscard\">\n {{ 'platform.angular_components.text_area_end_speech' | translate }}\n </ng-container>\n </div>\n <div class=\"speech-recognition-buttons\">\n <span\n *ngIf=\"canRenderListeningText\"\n (click)=\"stopListening()\"\n class=\"speech-recognition-item speech-recognition-item-regular\">\n <i class=\"far fa-ellipsis-h\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderMicrophone\"\n (click)=\"onListen()\"\n class=\"speech-recognition-item speech-recognition-item-microphone\"\n [class.speech-recognition-item-disabled]=\"isDisabledMicrophone || isListening || disabled\">\n <i class=\"fas fa-microphone\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderAprove\"\n (click)=\"onAprove()\"\n class=\"speech-recognition-item speech-recognition-item-aprove\">\n <i class=\"fas fa-check\"></i>\n </span>\n\n <span *ngIf=\"canRenderDiscard\"\n (click)=\"onDiscard()\"\n class=\"speech-recognition-item speech-recognition-item-discard\">\n <i class=\"fas fa-times\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderTextToSpeech\"\n (click)=\"onOpenToolbar()\"\n class=\"speech-recognition-item speech-recognition-item-regular\"\n [class.speech-recognition-item-disabled]=\"isDisabledTextToSpeech\">\n <i class=\"fas fa-volume-down\"></i>\n </span>\n\n <span\n *ngIf=\"canRenderTextToSpeechToolbar\"\n class=\"speech-recognition-item-toolbar\">\n <i class=\"fas\" [class.fa-pause]=\"isPlayingTextToSpeech\" [class.fa-play]=\"!isPlayingTextToSpeech\"\n (click)=\"toggleTextToSpeech()\"></i>\n <i class=\"fas fa-backward\" (click)=\"restartTextToSpeech()\"></i>\n <span (click)=\"updateVoiceSpeed()\">\n {{ voiceSpeed }}x\n </span>\n <i class=\"fas fa-times\" (click)=\"onCloseToolbar()\"></i>\n </span>\n </div>\n</section>\n",
|
|
198
|
+
styles: [".speech-recognition{display:-ms-flexbox;display:flex;gap:10px;-ms-flex-pack:justify;justify-content:space-between}.speech-recognition-buttons{display:-ms-flexbox;display:flex;gap:10px;position:relative;bottom:15px}.speech-recognition-item{display:-ms-inline-flexbox;display:inline-flex;height:25px;padding:4px 12px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;gap:8px;border-radius:15px;cursor:pointer;transition:background .1s ease-in}.speech-recognition-item i,.speech-recognition-item span{color:#fff}.speech-recognition-item-disabled{cursor:default!important}.speech-recognition-item-disabled *{opacity:.5}.speech-recognition-item-microphone{background:#428bca}.speech-recognition-item-microphone:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-regular{background:#7892a1}.speech-recognition-item-regular:not(.speech-recognition-item-disabled):hover{background:#697882}.speech-recognition-item-aprove{background:#0c9348}.speech-recognition-item-aprove:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-discard{background:#c13018}.speech-recognition-item-discard:not(.speech-recognition-item-disabled):hover{background:#063951}.speech-recognition-item-toolbar{background:#7892a1;display:-ms-flexbox;display:flex;border-radius:15px;-ms-flex-align:center;align-items:center;color:#fff}.speech-recognition-item-toolbar i,.speech-recognition-item-toolbar span{cursor:pointer}.speech-recognition-item-toolbar i:not(:first-child),.speech-recognition-item-toolbar i:not(:last-child){padding:6px}.speech-recognition-item-toolbar i:first-child{padding-left:10px}.speech-recognition-item-toolbar i:last-child{padding-right:10px}.speech-recognition-item-toolbar span{height:25px}.speech-recognition-text{color:#212533;font-size:12px;font-style:normal;font-weight:400;word-break:break-word}"]
|
|
199
|
+
})
|
|
200
|
+
], SpeechRecognitionComponent);
|
|
201
|
+
export { SpeechRecognitionComponent };
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NwZWVjaC1yZWNvZ25pdGlvbi9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBT2hFLElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0lBcUNyQyxZQUNtQix3QkFBa0QsRUFDbEQsbUJBQXdDLEVBQ3hDLGdCQUFrQztRQUZsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRDN0Msb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsZ0NBQTJCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ2QsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDakMsaUJBQVksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLHFDQUFnQyxHQUFH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QVMsQ0FBQztRQUNULFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsK3JGQUFrRDs7S0FFbkQsQ0FBQztHQUNXLDBCQUEwQixDQW1NdEM7U0FuTVksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTcGVlY2hSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zcGVlY2gtcmVjb2duaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0VG9TcGVlY2hTZXJ2aWNlIH0gZnJvbSAnLi4vdGV4dC10by1zcGVlY2guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Mtc3BlZWNoLXJlY29nbml0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwZWVjaC1yZWNvZ25pdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29nbml0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSB0ZXh0QXJlYUVsZW1lbnQ6IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIHByaXZhdGUgX3JlY29nbml6ZWRUZXh0ID0gJyc7XG4gIHByaXZhdGUgb3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0ID0gJyc7XG4gIHByaXZhdGUgaXNEb25lU3BlYWtpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBWT0lDRV9TUEVFRFMgPSBbMC41LCAxLCAxLjUsIDJdO1xuICBwcml2YXRlIHJlYWRvbmx5IFNQRUVDSF9SRUNPR05JVElPTl9NQVJHSU5fT0ZGU0VUID0gMTM7XG4gIHByaXZhdGUgcmVhZG9ubHkga2V5ZG93bkV2ZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBURVhUX0FSRUFfRUxFTUVOVF9NVVRBVElPTl9PQlNFUlZFUiA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICB0aGlzLlNQRUVDSF9DT05UQUlORVJfV0lEVEhfQ0FMTEJBQ0soKTtcbiAgfSlcblxuICBwcml2YXRlIHJlYWRvbmx5IFNQRUVDSF9DT05UQUlORVJfV0lEVEhfQ0FMTEJBQ0sgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTcGVlY2hDb250YWluZXJXaWR0aCgpO1xuICB9XG4gIHNwZWVjaFJlY29nbml0aW9uQ29udGFpbmVyV2lkdGggPSAwO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIGlzU3BlYWtpbmcgPSBmYWxzZTtcbiAgdm9pY2VTcGVlZCA9IDE7XG4gIGlzRGlzYWJsZWRNaWNyb3Bob25lID0gZmFsc2U7XG5cbiAgY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XG4gIGNhblJlbmRlclRleHRUb1NwZWVjaCA9IHRydWU7XG4gIGNhblJlbmRlckxpc3RlbmluZ1RleHQgPSBmYWxzZTtcbiAgY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xuICBjYW5SZW5kZXJBcHJvdmUgPSBmYWxzZTtcbiAgY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhciA9IGZhbHNlO1xuXG4gIGlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSByZWNvZ25pemVkVGV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNwZWVjaFJlY29nbml0aW9uU2VydmljZTogU3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFRvU3BlZWNoU2VydmljZTogVGV4dFRvU3BlZWNoU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGV4dEFyZWFFbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RleHRBcmVhRWxlbWVudCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICB0aGlzLnRleHRBcmVhRWxlbWVudC5wbGFjZWhvbGRlciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRleHRfYXJlYV9zcGVlY2hfcmVjb2duaXRpb25fcGxhY2Vob2xkZXJcIik7XG4gICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMua2V5ZG93bkV2ZW50TGlzdGVuZXIpXG4gICAgY29uc3QgY29uZmlnOiBNdXRhdGlvbk9ic2VydmVySW5pdCA9IHsgYXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH07XG4gICAgdGhpcy5URVhUX0FSRUFfRUxFTUVOVF9NVVRBVElPTl9PQlNFUlZFUi5vYnNlcnZlKHRoaXMudGV4dEFyZWFFbGVtZW50LCBjb25maWcpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLlNQRUVDSF9DT05UQUlORVJfV0lEVEhfQ0FMTEJBQ0spXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFNwZWVjaENvbnRhaW5lcldpZHRoKCk7XG4gICAgfSlcbiAgfVxuXG4gIG9uTGlzdGVuKCkge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWRNaWNyb3Bob25lIHx8IHRoaXMuaXNMaXN0ZW5pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5jYW5SZW5kZXJNaWNyb3Bob25lID0gZmFsc2U7XG4gICAgdGhpcy5jYW5SZW5kZXJMaXN0ZW5pbmdUZXh0ID0gdHJ1ZTtcbiAgICBpZiAodGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgJiYgIXRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0KSB7XG4gICAgICB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA9IHRoaXMudGV4dEFyZWFFbGVtZW50LnZhbHVlO1xuICAgIH1cblxuXG4gICAgdGhpcy50ZXh0QXJlYUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmlzU3BlYWtpbmcgPSB0cnVlO1xuICAgIHRoaXMuc3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlLmxpc3RlbigpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgdGV4dCwgaXNGaW5hbCB9KSA9PiB7XG4gICAgICAgIHRoaXMuX3JlY29nbml6ZWRUZXh0ID0gdGV4dDtcbiAgICAgICAgdGhpcy5zZXRUZXh0QXJlYVZhbHVlKHRleHQpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRleHRBcmVhRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLnRleHRBcmVhRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgIH0sIDEyMClcbiAgICAgICAgaWYgKGlzRmluYWwpIHtcbiAgICAgICAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jYW5SZW5kZXJEaXNjYXJkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmNhblJlbmRlckxpc3RlbmluZ1RleHQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzU3BlYWtpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIG9uT3BlblRvb2xiYXIoKSB7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZFRleHRUb1NwZWVjaCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNhblJlbmRlclRleHRUb1NwZWVjaFRvb2xiYXIgPSB0cnVlO1xuICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gZmFsc2U7XG4gICAgdGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgIHRoaXMuc3BlYWsoKTtcbiAgfVxuXG4gIG9uQ2xvc2VUb29sYmFyKCkge1xuICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhciA9IGZhbHNlO1xuICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gdHJ1ZTtcbiAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgICB0aGlzLnZvaWNlU3BlZWQgPSAxO1xuICB9XG4gIG9uRGlzY2FyZCgpIHtcbiAgICB0aGlzLmNhblJlbmRlckFwcm92ZSA9IGZhbHNlO1xuICAgIHRoaXMuY2FuUmVuZGVyRGlzY2FyZCA9IGZhbHNlO1xuICAgIHRoaXMuY2FuUmVuZGVyTWljcm9waG9uZSA9IHRydWU7XG4gICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2hUb29sYmFyID0gZmFsc2U7XG4gICAgdGhpcy5jYW5SZW5kZXJUZXh0VG9TcGVlY2ggPSB0cnVlO1xuICAgIHRoaXMuX3JlY29nbml6ZWRUZXh0ID0gJyc7XG4gICAgdGhpcy5zZXRUZXh0QXJlYVZhbHVlKHRoaXMub3JpZ2luYWxUZXh0QXJlYUVsZW1lbnRUZXh0KTtcbiAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xuICB9XG5cbiAgb25BcHJvdmUoKSB7XG4gICAgdGhpcy5jYW5SZW5kZXJBcHJvdmUgPSBmYWxzZTtcbiAgICB0aGlzLmNhblJlbmRlckRpc2NhcmQgPSBmYWxzZTtcbiAgICB0aGlzLmNhblJlbmRlck1pY3JvcGhvbmUgPSB0cnVlO1xuICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoVG9vbGJhciA9IGZhbHNlO1xuICAgIHRoaXMuY2FuUmVuZGVyVGV4dFRvU3BlZWNoID0gdHJ1ZTtcbiAgICB0aGlzLm9yaWdpbmFsVGV4dEFyZWFFbGVtZW50VGV4dCA9IHRoaXMuX3JlY29nbml6ZWRUZXh0XG4gICAgdGhpcy5yZWNvZ25pemVkVGV4dC5lbWl0KHRoaXMuX3JlY29nbml6ZWRUZXh0KTtcbiAgICB0aGlzLl9yZWNvZ25pemVkVGV4dCA9ICcnO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UuY2FuY2VsKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmtleWRvd25FdmVudExpc3RlbmVyKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5TUEVFQ0hfQ09OVEFJTkVSX1dJRFRIX0NBTExCQUNLKTtcbiAgICB0aGlzLlRFWFRfQVJFQV9FTEVNRU5UX01VVEFUSU9OX09CU0VSVkVSLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHRvZ2dsZVRleHRUb1NwZWVjaCgpIHtcbiAgICBpZiAodGhpcy5pc1BsYXlpbmdUZXh0VG9TcGVlY2gpIHtcbiAgICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5wYXVzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc0RvbmVTcGVha2luZykge1xuICAgICAgICB0aGlzLnNwZWFrKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UucmVzdW1lKCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoID0gIXRoaXMuaXNQbGF5aW5nVGV4dFRvU3BlZWNoO1xuICB9XG5cbiAgcmVzdGFydFRleHRUb1NwZWVjaCgpIHtcbiAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IHRydWU7XG4gICAgdGhpcy50ZXh0VG9TcGVlY2hTZXJ2aWNlLmNhbmNlbCgpO1xuICAgIHRoaXMuc3BlYWsoKTtcbiAgfVxuXG4gIHVwZGF0ZVZvaWNlU3BlZWQoKSB7XG4gICAgY29uc3Qgdm9pY2VTcGVlZEluZGV4ID0gdGhpcy5WT0lDRV9TUEVFRFMuaW5kZXhPZih0aGlzLnZvaWNlU3BlZWQpO1xuICAgIGNvbnN0IG5leHRWb2ljZVNwZWVkSW5kZXggPSB0aGlzLlZPSUNFX1NQRUVEU1t2b2ljZVNwZWVkSW5kZXggKyAxXSA/IHZvaWNlU3BlZWRJbmRleCArIDEgOiAwO1xuICAgIHRoaXMudm9pY2VTcGVlZCA9IHRoaXMuVk9JQ0VfU1BFRURTW25leHRWb2ljZVNwZWVkSW5kZXhdO1xuICAgIHRoaXMudGV4dFRvU3BlZWNoU2VydmljZS5jYW5jZWwoKTtcbiAgICB0aGlzLnNwZWFrKClcbiAgfVxuXG4gIHN0b3BMaXN0ZW5pbmcoKSB7XG4gICAgdGhpcy5zcGVlY2hSZWNvZ25pdGlvblNlcnZpY2Uuc3RvcCgpO1xuICB9XG5cbiAgZ2V0IGlzTGlzdGVuaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnNwZWVjaFJlY29nbml0aW9uU2VydmljZS5pc0xpc3RlbmluZ1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWRUZXh0VG9TcGVlY2goKSB7XG4gICAgY29uc3QgaGFzVGV4dFRvU3BlZWNoVm9pY2UgPSB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2UuaGFzVm9pY2U7XG4gICAgcmV0dXJuICF0aGlzLl9yZWNvZ25pemVkVGV4dCB8fCAhaGFzVGV4dFRvU3BlZWNoVm9pY2UgfHwgdGhpcy5pc0xpc3RlbmluZztcbiAgfVxuICBwcml2YXRlIHNldFRleHRBcmVhVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudGV4dEFyZWFFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHNwZWFrKCkge1xuICAgIHRoaXMuaXNEb25lU3BlYWtpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnRleHRUb1NwZWVjaFNlcnZpY2Uuc3BlYWsodGhpcy5fcmVjb2duaXplZFRleHQsIHRoaXMudm9pY2VTcGVlZCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmlzUGxheWluZ1RleHRUb1NwZWVjaCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0RvbmVTcGVha2luZyA9IHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNwZWVjaENvbnRhaW5lcldpZHRoKCkge1xuICAgIHRoaXMuc3BlZWNoUmVjb2duaXRpb25Db250YWluZXJXaWR0aCA9IHRoaXMudGV4dEFyZWFFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gdGhpcy5TUEVFQ0hfUkVDT0dOSVRJT05fTUFSR0lOX09GRlNFVDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { SpeechRecognitionComponent } from './speech-recognition/speech-recognition.component';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
let SpeechRecognitionModule = class SpeechRecognitionModule {
|
|
7
|
+
};
|
|
8
|
+
SpeechRecognitionModule = __decorate([
|
|
9
|
+
NgModule({
|
|
10
|
+
declarations: [SpeechRecognitionComponent],
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
TranslateModule
|
|
14
|
+
],
|
|
15
|
+
exports: [SpeechRecognitionComponent]
|
|
16
|
+
})
|
|
17
|
+
], SpeechRecognitionModule);
|
|
18
|
+
export { SpeechRecognitionModule };
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3NwZWVjaC1yZWNvZ25pdGlvbi9zcGVlY2gtcmVjb2duaXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFVdEQsSUFBYSx1QkFBdUIsR0FBcEMsTUFBYSx1QkFBdUI7Q0FBSSxDQUFBO0FBQTNCLHVCQUF1QjtJQVJuQyxRQUFRLENBQUM7UUFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztRQUMxQyxPQUFPLEVBQUU7WUFDUCxZQUFZO1lBQ1osZUFBZTtTQUNoQjtRQUNELE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3RDLENBQUM7R0FDVyx1QkFBdUIsQ0FBSTtTQUEzQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNwZWVjaFJlY29nbml0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbU3BlZWNoUmVjb2duaXRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29nbml0aW9uTW9kdWxlIHsgfVxuIl19
|