speechrecorderng 3.4.2 → 3.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/esm2020/lib/audio/audio_display.mjs +4 -4
  2. package/esm2020/lib/audio/audio_player.mjs +4 -4
  3. package/esm2020/lib/audio/capture/capture.mjs +119 -105
  4. package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +7 -7
  5. package/esm2020/lib/audio/ui/audio_display_control.mjs +4 -4
  6. package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +4 -4
  7. package/esm2020/lib/audio/ui/audiosignal.mjs +4 -4
  8. package/esm2020/lib/audio/ui/container.mjs +4 -4
  9. package/esm2020/lib/audio/ui/livelevel.mjs +4 -4
  10. package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +4 -4
  11. package/esm2020/lib/audio/ui/sonagram.mjs +4 -4
  12. package/esm2020/lib/db/inddb.mjs +4 -4
  13. package/esm2020/lib/speechrecorder/project/project.service.mjs +4 -4
  14. package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +4 -4
  15. package/esm2020/lib/speechrecorder/script/script.service.mjs +4 -4
  16. package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +19 -23
  17. package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +2 -1
  18. package/esm2020/lib/speechrecorder/session/controlpanel.mjs +24 -24
  19. package/esm2020/lib/speechrecorder/session/progress.mjs +4 -4
  20. package/esm2020/lib/speechrecorder/session/prompting.mjs +16 -16
  21. package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +4 -4
  22. package/esm2020/lib/speechrecorder/session/recording_list.mjs +4 -4
  23. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +4 -4
  24. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +4 -4
  25. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +4 -4
  26. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +4 -4
  27. package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +4 -4
  28. package/esm2020/lib/speechrecorder/session/session.service.mjs +4 -4
  29. package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +4 -4
  30. package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +4 -4
  31. package/esm2020/lib/speechrecorder/session/warning_bar.mjs +4 -4
  32. package/esm2020/lib/speechrecorder/spruploader.mjs +4 -4
  33. package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +4 -4
  34. package/esm2020/lib/speechrecorderng.component.mjs +4 -4
  35. package/esm2020/lib/speechrecorderng.module.mjs +5 -5
  36. package/esm2020/lib/spr.config.mjs +4 -4
  37. package/esm2020/lib/spr.module.version.mjs +2 -2
  38. package/esm2020/lib/ui/canvas_layer_comp.mjs +4 -4
  39. package/esm2020/lib/ui/message_dialog.mjs +4 -4
  40. package/esm2020/lib/ui/recordingitem_display.mjs +7 -7
  41. package/esm2020/lib/ui/responsive_component.mjs +4 -4
  42. package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +4 -4
  43. package/fesm2015/speechrecorderng.mjs +292 -281
  44. package/fesm2015/speechrecorderng.mjs.map +1 -1
  45. package/fesm2020/speechrecorderng.mjs +292 -281
  46. package/fesm2020/speechrecorderng.mjs.map +1 -1
  47. package/lib/audio/capture/capture.d.ts +2 -0
  48. package/lib/spr.module.version.d.ts +1 -1
  49. package/package.json +14 -14
@@ -70,8 +70,8 @@ export class AudioDisplay {
70
70
  this.status = 'ERROR';
71
71
  }
72
72
  }
73
- AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplay, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
74
- AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
73
+ AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplay, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
74
+ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
75
75
 
76
76
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
77
77
 
@@ -85,7 +85,7 @@ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
85
85
  [zoomSelectedAction]="zoomSelectedAction"
86
86
  [zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
87
87
  `, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#e6e6e6}\n", "legend{margin-left:1em;padding:.2em .8em;font-size:.8em}\n", "fieldset{border:1px darkgray solid}\n"], dependencies: [{ kind: "component", type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplay, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplay, decorators: [{
89
89
  type: Component,
90
90
  args: [{ selector: 'app-audiodisplay', template: `
91
91
 
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
117
117
  }], audioClip: [{
118
118
  type: Input
119
119
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTRDdEUsTUFBTSxPQUFPLFlBQVk7SUE0QnZCLFlBQW9CLEtBQXFCLEVBQVUsR0FBc0IsRUFBUyxJQUFlO1FBQTdFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBekJ6RixlQUFVLEdBQWdCLElBQUksQ0FBQTtRQTBCcEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFvQixDQUFBO1FBQzFFLElBQUksQ0FBQyxhQUFhLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQTtRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUE7SUFDNUQsQ0FBQztJQUVELGVBQWU7UUFFWCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLGNBQWMsR0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUMsR0FBeUIsRUFBQyxFQUFtQixFQUFDLEVBQUU7WUFDckYsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQWlCLEVBQUMsRUFBRTtnQkFDN0IsSUFBRyxZQUFZLEtBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBRyxFQUFFLENBQUMsYUFBYSxJQUFJLE9BQU8sS0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUM7b0JBQ3BGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDakI7WUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFHRCxNQUFNO1FBQ0osSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxPQUFPO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBR0QsSUFDSSxTQUFTLENBQUMsU0FBMEI7UUFDcEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDbEQsSUFBRyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0RBQStELEdBQUMsQ0FBQyxTQUFTLElBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQTtTQUN0RDtJQUNMLENBQUM7SUFHRCxJQUNJLFNBQVMsQ0FBQyxTQUEyQjtRQUV2QyxzQ0FBc0M7UUFDdEMsSUFBSSxHQUFHLEdBQWdCLElBQUksQ0FBQztRQUM1QixJQUFHLFNBQVMsRUFBQztZQUNYLDZDQUE2QztZQUM3QyxHQUFHLEdBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUN2QjtRQUNILElBQUksQ0FBQyxVQUFVLEdBQUMsU0FBUyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ2xELG9EQUFvRDtJQUN0RCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxJQUFJLGlCQUFpQixDQUFDLGlCQUF3QjtRQUMxQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUE7SUFDckUsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDOzt5R0F4R1UsWUFBWTs2RkFBWixZQUFZLDRWQXlCWixzQkFBc0IsOERBOUR2Qjs7Ozs7Ozs7Ozs7OztHQWFUOzJGQXdCVSxZQUFZO2tCQXpDeEIsU0FBUzsrQkFFRSxrQkFBa0IsWUFFbEI7Ozs7Ozs7Ozs7Ozs7R0FhVDs4SkE4QkQsZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBR04sNEJBQTRCO3NCQUQzQixLQUFLO2dCQWVOLHNCQUFzQjtzQkFEckIsU0FBUzt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBOEMvQyxTQUFTO3NCQURaLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXAsIFNlbGVjdGlvbn0gZnJvbSAnLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXknLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0b3BBY3Rpb25dPVwicGxheVN0b3BBY3Rpb25cIlxyXG4gICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICBbem9vbUluQWN0aW9uXT1cInpvb21JbkFjdGlvblwiXHJcbiAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgIFt6b29tRml0VG9QYW5lbEFjdGlvbl09XCJ6b29tRml0VG9QYW5lbEFjdGlvblwiPjwvYXVkaW8tZGlzcGxheS1jb250cm9sPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMS4wKVxyXG4gICAgfWAsYFxyXG4gICAgICAgICAgbGVnZW5ke1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07IHBhZGRpbmc6IDAuMmVtIDAuOGVtO2ZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIH1gLGBcclxuICAgICAgICBmaWVsZHNldHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFya2dyYXkgc29saWRcclxuICAgICAgfVxyXG4gICAgICBgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheSBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGxcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTZWxlY3Rpb25BY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPnx1bmRlZmluZWQ7XHJcblxyXG4gIHpvb21GaXRUb1BhbmVsQWN0aW9uITpBY3Rpb248dm9pZD47XHJcbiAgem9vbVNlbGVjdGVkQWN0aW9uITpBY3Rpb248dm9pZD5cclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG4gIGNsZWFyU2VsZWN0aW9uQWN0aW9uITpBY3Rpb248dm9pZD5cclxuXHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lITogQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIGVSZWY6RWxlbWVudFJlZikge1xyXG4gICAgLy9jb25zb2xlLmxvZyhcImNvbnN0cnVjdG9yOiBcIit0aGlzLmFjKTtcclxuICAgICAgdGhpcy5wYXJlbnRFPXRoaXMuZVJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24gPSBuZXcgQWN0aW9uKFwiU3RhcnRcIik7XHJcbiAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb249bmV3IEFjdGlvbihcIlBsYXkgc2VsZWN0ZWRcIik7XHJcbiAgICB0aGlzLnBsYXlTdG9wQWN0aW9uID0gbmV3IEFjdGlvbihcIlN0b3BcIik7XHJcbiAgICB0aGlzLnN0YXR1cz1cIlBsYXllciBjcmVhdGVkLlwiO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvblxyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uXHJcbiAgICB0aGlzLnpvb21JbkFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUluQWN0aW9uXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICBsZXQgaGVpZ2h0TGlzdGVuZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG1yczpBcnJheTxNdXRhdGlvblJlY29yZD4sbW86TXV0YXRpb25PYnNlcnZlcik9PntcclxuICAgICAgICAgIG1ycy5mb3JFYWNoKChtcjpNdXRhdGlvblJlY29yZCk9PntcclxuICAgICAgICAgICAgICBpZignYXR0cmlidXRlcyc9PT1tci50eXBlICYmICgnY2xhc3MnPT09bXIuYXR0cmlidXRlTmFtZSB8fCAnc3R5bGUnPT09bXIuYXR0cmlidXRlTmFtZSkpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHRMaXN0ZW5lci5vYnNlcnZlKHRoaXMucGFyZW50RSx7YXR0cmlidXRlczogdHJ1ZSxjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWV9KTtcclxuICB9XHJcblxyXG5cclxuICBsYXlvdXQoKXtcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5sYXlvdXQoKTtcclxuICB9XHJcblxyXG5cclxuICBzdGFydGVkKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJQbGF5IHN0YXJ0ZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdQbGF5aW5nLi4uJztcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZih0aGlzLnBsYXlTdGFydEFjdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJQbGF5IHN0YXJ0IGFjdGlvbiAoYnkgQXVkaW9EaXNwbGF5OjpzZXQgYXVkaW9EYXRhKSBkaXNhYmxlZDogXCIrKGF1ZGlvRGF0YT09bnVsbCkpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhID09IG51bGwpXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0NsaXAoYXVkaW9DbGlwOiBBdWRpb0NsaXAgfCBudWxsKSB7XHJcblxyXG4gICAgLy9sZXQgYXVkaW9EYXRhOkF1ZGlvQnVmZmVyfG51bGw9bnVsbDtcclxuICAgIGxldCBzZWw6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgIGlmKGF1ZGlvQ2xpcCl7XHJcbiAgICAgIC8vYXVkaW9EYXRhPWF1ZGlvQ2xpcC5hdWRpb0RhdGFIb2xkZXIuYnVmZmVyO1xyXG4gICAgICBzZWw9YXVkaW9DbGlwLnNlbGVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcCA9IGF1ZGlvQ2xpcDtcclxuICAgIC8vdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhIT09bnVsbClcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihwbGF5RnJhbWVQb3NpdGlvbjpudW1iZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSBwbGF5RnJhbWVQb3NpdGlvblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hdWRpb19kaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVNLEtBQUssR0FDdkIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQTRDdEUsTUFBTSxPQUFPLFlBQVk7SUE0QnZCLFlBQW9CLEtBQXFCLEVBQVUsR0FBc0IsRUFBUyxJQUFlO1FBQTdFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBekJ6RixlQUFVLEdBQWdCLElBQUksQ0FBQTtRQTBCcEMsdUNBQXVDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFDLGlCQUFpQixDQUFDO0lBRWhDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQTtRQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFv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Z0JBV0YsU0FBUztzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXAsIFNlbGVjdGlvbn0gZnJvbSAnLi9wZXJzaXN0b3InXHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXknLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0b3BBY3Rpb25dPVwicGxheVN0b3BBY3Rpb25cIlxyXG4gICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICBbem9vbUluQWN0aW9uXT1cInpvb21JbkFjdGlvblwiXHJcbiAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgIFt6b29tRml0VG9QYW5lbEFjdGlvbl09XCJ6b29tRml0VG9QYW5lbEFjdGlvblwiPjwvYXVkaW8tZGlzcGxheS1jb250cm9sPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGA6aG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMS4wKVxyXG4gICAgfWAsYFxyXG4gICAgICAgICAgbGVnZW5ke1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07IHBhZGRpbmc6IDAuMmVtIDAuOGVtO2ZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIH1gLGBcclxuICAgICAgICBmaWVsZHNldHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFya2dyYXkgc29saWRcclxuICAgICAgfVxyXG4gICAgICBgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGlvRGlzcGxheSBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgcGFyZW50RTogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGxcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwbGF5U3RvcEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTZWxlY3Rpb25BY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIGF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb24hOkFjdGlvbjxib29sZWFuPnx1bmRlZmluZWQ7XHJcblxyXG4gIHpvb21GaXRUb1BhbmVsQWN0aW9uITpBY3Rpb248dm9pZD47XHJcbiAgem9vbVNlbGVjdGVkQWN0aW9uITpBY3Rpb248dm9pZD5cclxuICB6b29tSW5BY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuICB6b29tT3V0QWN0aW9uITpBY3Rpb248dm9pZD47XHJcblxyXG4gIGNsZWFyU2VsZWN0aW9uQWN0aW9uITpBY3Rpb248dm9pZD5cclxuXHJcbiAgc3RhdHVzOiBzdHJpbmc7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lITogQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIGVSZWY6RWxlbWVudFJlZikge1xyXG4gICAgLy9jb25zb2xlLmxvZyhcImNvbnN0cnVjdG9yOiBcIit0aGlzLmFjKTtcclxuICAgICAgdGhpcy5wYXJlbnRFPXRoaXMuZVJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24gPSBuZXcgQWN0aW9uKFwiU3RhcnRcIik7XHJcbiAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb249bmV3IEFjdGlvbihcIlBsYXkgc2VsZWN0ZWRcIik7XHJcbiAgICB0aGlzLnBsYXlTdG9wQWN0aW9uID0gbmV3IEFjdGlvbihcIlN0b3BcIik7XHJcbiAgICB0aGlzLnN0YXR1cz1cIlBsYXllciBjcmVhdGVkLlwiO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICB0aGlzLnpvb21GaXRUb1BhbmVsQWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tRml0VG9QYW5lbEFjdGlvblxyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uXHJcbiAgICB0aGlzLnpvb21JbkFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbUluQWN0aW9uXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICBsZXQgaGVpZ2h0TGlzdGVuZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG1yczpBcnJheTxNdXRhdGlvblJlY29yZD4sbW86TXV0YXRpb25PYnNlcnZlcik9PntcclxuICAgICAgICAgIG1ycy5mb3JFYWNoKChtcjpNdXRhdGlvblJlY29yZCk9PntcclxuICAgICAgICAgICAgICBpZignYXR0cmlidXRlcyc9PT1tci50eXBlICYmICgnY2xhc3MnPT09bXIuYXR0cmlidXRlTmFtZSB8fCAnc3R5bGUnPT09bXIuYXR0cmlidXRlTmFtZSkpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHRMaXN0ZW5lci5vYnNlcnZlKHRoaXMucGFyZW50RSx7YXR0cmlidXRlczogdHJ1ZSxjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWV9KTtcclxuICB9XHJcblxyXG5cclxuICBsYXlvdXQoKXtcclxuICAgIHRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS5sYXlvdXQoKTtcclxuICB9XHJcblxyXG5cclxuICBzdGFydGVkKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJQbGF5IHN0YXJ0ZWRcIik7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdQbGF5aW5nLi4uJztcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZih0aGlzLnBsYXlTdGFydEFjdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJQbGF5IHN0YXJ0IGFjdGlvbiAoYnkgQXVkaW9EaXNwbGF5OjpzZXQgYXVkaW9EYXRhKSBkaXNhYmxlZDogXCIrKGF1ZGlvRGF0YT09bnVsbCkpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhID09IG51bGwpXHJcbiAgICAgIH1cclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0NsaXAoYXVkaW9DbGlwOiBBdWRpb0NsaXAgfCBudWxsKSB7XHJcblxyXG4gICAgLy9sZXQgYXVkaW9EYXRhOkF1ZGlvQnVmZmVyfG51bGw9bnVsbDtcclxuICAgIGxldCBzZWw6U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICAgIGlmKGF1ZGlvQ2xpcCl7XHJcbiAgICAgIC8vYXVkaW9EYXRhPWF1ZGlvQ2xpcC5hdWRpb0RhdGFIb2xkZXIuYnVmZmVyO1xyXG4gICAgICBzZWw9YXVkaW9DbGlwLnNlbGVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgdGhpcy5fYXVkaW9DbGlwPWF1ZGlvQ2xpcFxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcCA9IGF1ZGlvQ2xpcDtcclxuICAgIC8vdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSAoYXVkaW9EYXRhIT09bnVsbClcclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHNldCBwbGF5RnJhbWVQb3NpdGlvbihwbGF5RnJhbWVQb3NpdGlvbjpudW1iZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSBwbGF5RnJhbWVQb3NpdGlvblxyXG4gIH1cclxuXHJcbiAgZXJyb3IoKSB7XHJcbiAgICB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
@@ -201,8 +201,8 @@ export class AudioDisplayPlayer {
201
201
  this.status = 'ERROR';
202
202
  }
203
203
  }
204
- AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
205
- AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
204
+ AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
205
+ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
206
206
 
207
207
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
208
208
 
@@ -216,7 +216,7 @@ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
216
216
  [zoomSelectedAction]="zoomSelectedAction"
217
217
  [zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
218
218
  `, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#000000bf}\n"], dependencies: [{ kind: "component", type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
220
220
  type: Component,
221
221
  args: [{ selector: 'app-audiodisplayplayer', template: `
222
222
 
@@ -248,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
248
248
  }], audioClip: [{
249
249
  type: Input
250
250
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBb0N2RSxNQUFNLE9BQU8sa0JBQWtCO0lBa0M3QixZQUFzQixLQUFxQixFQUFZLEdBQXNCLEVBQVcsSUFBZTtRQUFqRixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBVztRQWpDL0YsY0FBUyxHQUFjLElBQUksQ0FBQztRQW1CcEMsU0FBSSxHQUFvQixJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFJdkMsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBVXhDLHVDQUF1QztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXB9IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0F1ZGlvUGxheWVyLCBBdWRpb1BsYXllckxpc3RlbmVyLCBBdWRpb1BsYXllckV2ZW50LCBFdmVudFR5cGV9IGZyb20gJy4vcGxheWJhY2svcGxheWVyJ1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9jb250ZXh0XCI7XHJcbmltcG9ydCB7QXVkaW9CdWZmZXJTb3VyY2UsIEF1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXlwbGF5ZXInLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhcD8uYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD48cD57e3N0YXR1c319XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KVxyXG4gICAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5UGxheWVyIGltcGxlbWVudHMgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX2F1ZGlvVXJsOiBzdHJpbmd8bnVsbD1udWxsO1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U2VsZWN0aW9uQWN0aW9uOkFjdGlvbjx2b2lkPlxyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+O1xyXG5cclxuICB6b29tRml0VG9QYW5lbEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21TZWxlY3RlZEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcblxyXG4gIGFDdHg6IEF1ZGlvQ29udGV4dHxudWxsPW51bGw7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGw7XHJcbiAgYXA6IEF1ZGlvUGxheWVyfHVuZGVmaW5lZDtcclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgY3VycmVudExvYWRlcjogWE1MSHR0cFJlcXVlc3QgfCBudWxsPW51bGw7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcbiAgdXBkYXRlVGltZXJJZDogYW55O1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIk9uSW5pdDogXCIrdGhpcy5hYyk7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21GaXRUb1BhbmVsQWN0aW9uO1xyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uO1xyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvbjtcclxuICAgICB0cnkge1xyXG4gICAgICAgdGhpcy5hQ3R4ID0gQXVkaW9Db250ZXh0UHJvdmlkZXIuYXVkaW9Db250ZXh0SW5zdGFuY2UoKTtcclxuICAgICAgIGlmKHRoaXMuYUN0eCkge1xyXG4gICAgICAgICB0aGlzLmFwID0gbmV3IEF1ZGlvUGxheWVyKHRoaXMuYUN0eCwgdGhpcyk7XHJcbiAgICAgICB9XHJcbiAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICBpZihlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICAgICB0aGlzLnN0YXR1cyA9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgIGlmICh0aGlzLmFDdHggJiYgdGhpcy5hcCkge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdGFydCgpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLm9uQWN0aW9uID0gKCkgPT4gdGhpcy5hcD8uc3RhcnRTZWxlY3RlZCgpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0b3AoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICBsZXQgaGVpZ2h0TGlzdGVuZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG1yczpBcnJheTxNdXRhdGlvblJlY29yZD4sbW86TXV0YXRpb25PYnNlcnZlcik9PntcclxuICAgICAgICAgIG1ycy5mb3JFYWNoKChtcjpNdXRhdGlvblJlY29yZCk9PntcclxuICAgICAgICAgICAgICBpZignYXR0cmlidXRlcyc9PT1tci50eXBlICYmICgnY2xhc3MnPT09bXIuYXR0cmlidXRlTmFtZSB8fCAnc3R5bGUnPT09bXIuYXR0cmlidXRlTmFtZSkpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHRMaXN0ZW5lci5vYnNlcnZlKHRoaXMucGFyZW50RSx7YXR0cmlidXRlczogdHJ1ZSxjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWV9KTtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zWyd1cmwnXSkge1xyXG4gICAgICAgIHRoaXMuYXVkaW9VcmwgPSBwYXJhbXNbJ3VybCddO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxheW91dCgpe1xyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmxheW91dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1ZGlvVXJsKCk6IHN0cmluZ3xudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb1VybDtcclxuICB9XHJcblxyXG4gIHNldCBhdWRpb1VybCh2YWx1ZTogc3RyaW5nfG51bGwpIHtcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5zdG9wKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9hdWRpb1VybCA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ1BsYXlpbmcuLi4nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLmFib3J0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLl9hdWRpb1VybCkge1xyXG4gICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdDb25uZWN0aW5nLi4uJztcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vcGVuKFwiR0VUXCIsIHRoaXMuX2F1ZGlvVXJsLCB0cnVlKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvYWRlcikge1xyXG5cclxuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlOyAvLyBub3QgcmVzcG9uc2VUZXh0XHJcbiAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubG9hZGVkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGRvd25sb2FkaW5nIC4uLlwiKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5zZW5kKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRlZChkYXRhOiBBcnJheUJ1ZmZlcikge1xyXG5cclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIkxvYWRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ0F1ZGlvIGZpbGUgbG9hZGVkLic7XHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG5cclxuICAgIC8vIERvIG5vdCB1c2UgUHJvbWlzZSB2ZXJzaW9uLCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggU2FmYXJpIDEzXHJcbiAgICBpZih0aGlzLmFDdHgpIHtcclxuICAgICAgdGhpcy5hQ3R4LmRlY29kZUF1ZGlvRGF0YShkYXRhLCAoYXVkaW9CdWZmZXIpID0+IHtcclxuICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJBdWRpbyBCdWZmZXIgU2FtcGxlcmF0ZTogXCIsIGF1ZGlvQnVmZmVyLnNhbXBsZVJhdGUpXHJcbiAgICAgICAgbGV0IGFzPW5ldyBBdWRpb0J1ZmZlclNvdXJjZShhdWRpb0J1ZmZlcik7XHJcbiAgICAgICAgbGV0IGFkaD1uZXcgQXVkaW9EYXRhSG9sZGVyKGFzKTtcclxuICAgICAgICB0aGlzLmF1ZGlvQ2xpcCA9IG5ldyBBdWRpb0NsaXAoYWRoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgICAgIGxldCBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhdWRpb0RhdGEpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gY2xpcDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gIHN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKXtcclxuICAgIHJldHVybiAhKHRoaXMuX2F1ZGlvQ2xpcCAmJiB0aGlzLmFwIT1udWxsICYmICF0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCAmJiB0aGlzLl9hdWRpb0NsaXAuc2VsZWN0aW9uIClcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGxldCBhdWRpb0RhdGE6QXVkaW9EYXRhSG9sZGVyfCBudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgaWYodGhpcy5fYXVkaW9DbGlwKSB7XHJcbiAgICAgICAgdGhpcy5fYXVkaW9DbGlwLmFkZFNlbGVjdGlvbk9ic2VydmVyKChhYykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkID0gdGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiUGxheSBzdGFydCBhY3Rpb24gKGJ5IEF1ZGlvRGlzcGxheVBsYXllcjo6c2V0IGF1ZGlvQ2xpcCkgZGlzYWJsZWQ6IFwiKyghdGhpcy5hcCkpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9KCF0aGlzLmFwKVxyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBhdWRpb0NsaXBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBsYXlQb3NpdGlvbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5hcCAmJiB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcykge1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1ZGlvUGxheWVyVXBkYXRlKGU6IEF1ZGlvUGxheWVyRXZlbnQpIHtcclxuICAgIGlmIChFdmVudFR5cGUuU1RBUlRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1BsYXliYWNrLi4uJztcclxuICAgICAgdGhpcy51cGRhdGVUaW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlUGxheVBvc2l0aW9uKCksIDUwKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKEV2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1JlYWR5Lic7XHJcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXJJZCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChFdmVudFR5cGUuRVJST1IgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdFcnJvci4nO1xyXG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVySWQpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgfVxyXG5cclxuICBlcnJvcigpIHtcclxuICAgIHRoaXMuc3RhdHVzID0gJ0VSUk9SJztcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW9fcGxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2F1ZGlvX3BsYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFFTSxLQUFLLEdBQ3ZCLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBeUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFL0YsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBb0N2RSxNQUFNLE9BQU8sa0JBQWtCO0lBa0M3QixZQUFzQixLQUFxQixFQUFZLEdBQXNCLEVBQVcsSUFBZTtRQUFqRixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBVztRQWpDL0YsY0FBUyxHQUFjLElBQUksQ0FBQztRQW1CcEMsU0FBSSxHQUFvQixJQUFJLENBQUM7UUFDckIsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFJdkMsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBVXhDLHVDQUF1QztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIEFmdGVyQ29udGVudEluaXQsIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRWxlbWVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuaW1wb3J0IHtBdWRpb0NsaXB9IGZyb20gJy4vcGVyc2lzdG9yJ1xyXG5pbXBvcnQge0F1ZGlvUGxheWVyLCBBdWRpb1BsYXllckxpc3RlbmVyLCBBdWRpb1BsYXllckV2ZW50LCBFdmVudFR5cGV9IGZyb20gJy4vcGxheWJhY2svcGxheWVyJ1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi9hY3Rpb24vYWN0aW9uXCI7XHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9jb250ZXh0XCI7XHJcbmltcG9ydCB7QXVkaW9CdWZmZXJTb3VyY2UsIEF1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXlwbGF5ZXInLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhcD8uYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD48cD57e3N0YXR1c319XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgICAgYDpob3N0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KVxyXG4gICAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaW9EaXNwbGF5UGxheWVyIGltcGxlbWVudHMgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX2F1ZGlvVXJsOiBzdHJpbmd8bnVsbD1udWxsO1xyXG5cclxuICBwYXJlbnRFOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwbGF5U3RhcnRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBASW5wdXQoKVxyXG4gIHBsYXlTdG9wQWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgQElucHV0KClcclxuICBwbGF5U2VsZWN0aW9uQWN0aW9uOkFjdGlvbjx2b2lkPlxyXG4gIEBJbnB1dCgpXHJcbiAgYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbiE6QWN0aW9uPGJvb2xlYW4+O1xyXG5cclxuICB6b29tRml0VG9QYW5lbEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21TZWxlY3RlZEFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21JbkFjdGlvbiE6QWN0aW9uPHZvaWQ+O1xyXG4gIHpvb21PdXRBY3Rpb24hOkFjdGlvbjx2b2lkPjtcclxuXHJcblxyXG4gIGFDdHg6IEF1ZGlvQ29udGV4dHxudWxsPW51bGw7XHJcbiAgcHJpdmF0ZSBfYXVkaW9DbGlwOkF1ZGlvQ2xpcHxudWxsPW51bGw7XHJcbiAgYXA6IEF1ZGlvUGxheWVyfHVuZGVmaW5lZDtcclxuICBzdGF0dXM6IHN0cmluZztcclxuXHJcbiAgY3VycmVudExvYWRlcjogWE1MSHR0cFJlcXVlc3QgfCBudWxsPW51bGw7XHJcblxyXG4gIGF1ZGlvOiBhbnk7XHJcbiAgdXBkYXRlVGltZXJJZDogYW55O1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZChBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYpIHtcclxuICAgIC8vY29uc29sZS5sb2coXCJjb25zdHJ1Y3RvcjogXCIrdGhpcy5hYyk7XHJcbiAgICAgIHRoaXMucGFyZW50RT10aGlzLmVSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uID0gbmV3IEFjdGlvbihcIlN0YXJ0XCIpO1xyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uPW5ldyBBY3Rpb24oXCJQbGF5IHNlbGVjdGVkXCIpO1xyXG4gICAgdGhpcy5wbGF5U3RvcEFjdGlvbiA9IG5ldyBBY3Rpb24oXCJTdG9wXCIpO1xyXG4gICAgdGhpcy5zdGF0dXM9XCJQbGF5ZXIgY3JlYXRlZC5cIjtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpe1xyXG4gICAgLy9jb25zb2xlLmxvZyhcIk9uSW5pdDogXCIrdGhpcy5hYyk7XHJcbiAgICB0aGlzLnpvb21TZWxlY3RlZEFjdGlvbj10aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuem9vbVNlbGVjdGVkQWN0aW9uXHJcbiAgICAgIHRoaXMuem9vbUZpdFRvUGFuZWxBY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21GaXRUb1BhbmVsQWN0aW9uO1xyXG4gICAgdGhpcy56b29tT3V0QWN0aW9uPXRoaXMuYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZS56b29tT3V0QWN0aW9uO1xyXG4gICAgdGhpcy56b29tSW5BY3Rpb249dGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLnpvb21JbkFjdGlvbjtcclxuICAgICB0cnkge1xyXG4gICAgICAgdGhpcy5hQ3R4ID0gQXVkaW9Db250ZXh0UHJvdmlkZXIuYXVkaW9Db250ZXh0SW5zdGFuY2UoKTtcclxuICAgICAgIGlmKHRoaXMuYUN0eCkge1xyXG4gICAgICAgICB0aGlzLmFwID0gbmV3IEF1ZGlvUGxheWVyKHRoaXMuYUN0eCwgdGhpcyk7XHJcbiAgICAgICB9XHJcbiAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICBpZihlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xyXG4gICAgICAgICB0aGlzLnN0YXR1cyA9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgIGlmICh0aGlzLmFDdHggJiYgdGhpcy5hcCkge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24ub25BY3Rpb24gPSAoKSA9PiB0aGlzLmFwPy5zdGFydCgpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLm9uQWN0aW9uID0gKCkgPT4gdGhpcy5hcD8uc3RhcnRTZWxlY3RlZCgpO1xyXG4gICAgICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5vbkFjdGlvbiA9ICgpID0+IHRoaXMuYXA/LnN0b3AoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICBsZXQgaGVpZ2h0TGlzdGVuZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG1yczpBcnJheTxNdXRhdGlvblJlY29yZD4sbW86TXV0YXRpb25PYnNlcnZlcik9PntcclxuICAgICAgICAgIG1ycy5mb3JFYWNoKChtcjpNdXRhdGlvblJlY29yZCk9PntcclxuICAgICAgICAgICAgICBpZignYXR0cmlidXRlcyc9PT1tci50eXBlICYmICgnY2xhc3MnPT09bXIuYXR0cmlidXRlTmFtZSB8fCAnc3R5bGUnPT09bXIuYXR0cmlidXRlTmFtZSkpe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHRMaXN0ZW5lci5vYnNlcnZlKHRoaXMucGFyZW50RSx7YXR0cmlidXRlczogdHJ1ZSxjaGlsZExpc3Q6IHRydWUsIGNoYXJhY3RlckRhdGE6IHRydWV9KTtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zWyd1cmwnXSkge1xyXG4gICAgICAgIHRoaXMuYXVkaW9VcmwgPSBwYXJhbXNbJ3VybCddO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxheW91dCgpe1xyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmxheW91dCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1ZGlvVXJsKCk6IHN0cmluZ3xudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb1VybDtcclxuICB9XHJcblxyXG4gIHNldCBhdWRpb1VybCh2YWx1ZTogc3RyaW5nfG51bGwpIHtcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5zdG9wKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9hdWRpb1VybCA9IHZhbHVlO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhcnRlZCgpIHtcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIlBsYXkgc3RhcnRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ1BsYXlpbmcuLi4nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCkge1xyXG5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkZXIpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLmFib3J0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlciA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLl9hdWRpb1VybCkge1xyXG4gICAgICAvL3RoaXMuc3RhdHVzTXNnLmlubmVySFRNTCA9ICdDb25uZWN0aW5nLi4uJztcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5vcGVuKFwiR0VUXCIsIHRoaXMuX2F1ZGlvVXJsLCB0cnVlKTtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcclxuICAgICAgdGhpcy5jdXJyZW50TG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudExvYWRlcikge1xyXG5cclxuICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5jdXJyZW50TG9hZGVyLnJlc3BvbnNlOyAvLyBub3QgcmVzcG9uc2VUZXh0XHJcbiAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGVyID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubG9hZGVkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGRvd25sb2FkaW5nIC4uLlwiKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkZXIgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3VycmVudExvYWRlci5zZW5kKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRlZChkYXRhOiBBcnJheUJ1ZmZlcikge1xyXG5cclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIkxvYWRlZFwiKTtcclxuICAgIHRoaXMuc3RhdHVzID0gJ0F1ZGlvIGZpbGUgbG9hZGVkLic7XHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJSZWNlaXZlZCBkYXRhIFwiLCBkYXRhLmJ5dGVMZW5ndGgpO1xyXG5cclxuICAgIC8vIERvIG5vdCB1c2UgUHJvbWlzZSB2ZXJzaW9uLCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggU2FmYXJpIDEzXHJcbiAgICBpZih0aGlzLmFDdHgpIHtcclxuICAgICAgdGhpcy5hQ3R4LmRlY29kZUF1ZGlvRGF0YShkYXRhLCAoYXVkaW9CdWZmZXIpID0+IHtcclxuICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJBdWRpbyBCdWZmZXIgU2FtcGxlcmF0ZTogXCIsIGF1ZGlvQnVmZmVyLnNhbXBsZVJhdGUpXHJcbiAgICAgICAgbGV0IGFzPW5ldyBBdWRpb0J1ZmZlclNvdXJjZShhdWRpb0J1ZmZlcik7XHJcbiAgICAgICAgbGV0IGFkaD1uZXcgQXVkaW9EYXRhSG9sZGVyKGFzKTtcclxuICAgICAgICB0aGlzLmF1ZGlvQ2xpcCA9IG5ldyBBdWRpb0NsaXAoYWRoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBhdWRpb0RhdGEoYXVkaW9EYXRhOiBBdWRpb0RhdGFIb2xkZXIpe1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUuYXVkaW9EYXRhID0gYXVkaW9EYXRhO1xyXG4gICAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgICAgIGxldCBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhdWRpb0RhdGEpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gY2xpcDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgaWYgKHRoaXMuYXApe1xyXG4gICAgICAgICAgICAgIHRoaXMuYXAuYXVkaW9DbGlwID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gIHN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKXtcclxuICAgIHJldHVybiAhKHRoaXMuX2F1ZGlvQ2xpcCAmJiB0aGlzLmFwIT1udWxsICYmICF0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCAmJiB0aGlzLl9hdWRpb0NsaXAuc2VsZWN0aW9uIClcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGF1ZGlvQ2xpcChhdWRpb0NsaXA6IEF1ZGlvQ2xpcCB8IG51bGwpIHtcclxuICAgIHRoaXMuX2F1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGxldCBhdWRpb0RhdGE6QXVkaW9EYXRhSG9sZGVyfCBudWxsPW51bGw7XHJcbiAgICBpZihhdWRpb0NsaXApe1xyXG4gICAgICBhdWRpb0RhdGE9YXVkaW9DbGlwLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgaWYodGhpcy5fYXVkaW9DbGlwKSB7XHJcbiAgICAgICAgdGhpcy5fYXVkaW9DbGlwLmFkZFNlbGVjdGlvbk9ic2VydmVyKChhYykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkID0gdGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZihhdWRpb0RhdGEpIHtcclxuICAgICAgLy9jb25zb2xlLmRlYnVnKFwiUGxheSBzdGFydCBhY3Rpb24gKGJ5IEF1ZGlvRGlzcGxheVBsYXllcjo6c2V0IGF1ZGlvQ2xpcCkgZGlzYWJsZWQ6IFwiKyghdGhpcy5hcCkpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9KCF0aGlzLmFwKVxyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IHRydWVcclxuICAgICAgdGhpcy5wbGF5U2VsZWN0aW9uQWN0aW9uLmRpc2FibGVkPXRydWVcclxuICB9XHJcblxyXG4gICAgdGhpcy5hdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLmF1ZGlvQ2xpcD1hdWRpb0NsaXBcclxuICAgIGlmKHRoaXMuYXApIHtcclxuICAgICAgdGhpcy5hcC5hdWRpb0NsaXAgPSBhdWRpb0NsaXBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBhdWRpb0NsaXAoKTpBdWRpb0NsaXB8bnVsbHtcclxuICAgIHJldHVybiB0aGlzLl9hdWRpb0NsaXBcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBsYXlQb3NpdGlvbigpIHtcclxuXHJcbiAgICBpZiAodGhpcy5hcCAmJiB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcykge1xyXG4gICAgICB0aGlzLmF1ZGlvRGlzcGxheVNjcm9sbFBhbmUucGxheUZyYW1lUG9zaXRpb24gPSB0aGlzLmFwLnBsYXlQb3NpdGlvbkZyYW1lcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF1ZGlvUGxheWVyVXBkYXRlKGU6IEF1ZGlvUGxheWVyRXZlbnQpIHtcclxuICAgIGlmIChFdmVudFR5cGUuU1RBUlRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1BsYXliYWNrLi4uJztcclxuICAgICAgdGhpcy51cGRhdGVUaW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlUGxheVBvc2l0aW9uKCksIDUwKTtcclxuICAgICAgdGhpcy5wbGF5U3RhcnRBY3Rpb24uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKEV2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzID0gJ1JlYWR5Lic7XHJcbiAgICAgIHdpbmRvdy5jbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXJJZCk7XHJcbiAgICAgIHRoaXMucGxheVN0YXJ0QWN0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGxheVNlbGVjdGlvbkFjdGlvbi5kaXNhYmxlZD10aGlzLnN0YXJ0U2VsZWN0aW9uRGlzYWJsZWQoKVxyXG4gICAgICB0aGlzLnBsYXlTdG9wQWN0aW9uLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChFdmVudFR5cGUuRVJST1IgPT09IGUudHlwZSkge1xyXG4gICAgICB0aGlzLnN0YXR1cyA9ICdFcnJvci4nO1xyXG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnVwZGF0ZVRpbWVySWQpO1xyXG4gICAgICB0aGlzLnBsYXlTdGFydEFjdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBsYXlTZWxlY3Rpb25BY3Rpb24uZGlzYWJsZWQ9dGhpcy5zdGFydFNlbGVjdGlvbkRpc2FibGVkKClcclxuICAgICAgdGhpcy5wbGF5U3RvcEFjdGlvbi5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgfVxyXG5cclxuICBlcnJvcigpIHtcclxuICAgIHRoaXMuc3RhdHVzID0gJ0VSUk9SJztcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=