surveysparrow-ionic-plugin 2.0.2-beta.2 → 2.0.2-beta.3
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/dist/angular-ui/esm2022/spotchecks/SpotCheckComponent.mjs +51 -3
- package/dist/angular-ui/esm2022/spotchecks/SpotcheckStateService.mjs +3 -1
- package/dist/angular-ui/esm2022/spotchecks/api.mjs +3 -3
- package/dist/angular-ui/esm2022/spotchecks/helpers.mjs +16 -9
- package/dist/angular-ui/esm2022/spotchecks/types.mjs +1 -1
- package/dist/angular-ui/fesm2022/angular-ui.mjs +69 -12
- package/dist/angular-ui/fesm2022/angular-ui.mjs.map +1 -1
- package/dist/angular-ui/spotchecks/SpotCheckComponent.d.ts +1 -0
- package/dist/angular-ui/spotchecks/helpers.d.ts +2 -1
- package/dist/angular-ui/spotchecks/types.d.ts +2 -0
- package/dist/esm/angular-ui/lib/spotchecks/SpotCheckComponent.d.ts +1 -0
- package/dist/esm/angular-ui/lib/spotchecks/SpotCheckComponent.js +48 -1
- package/dist/esm/angular-ui/lib/spotchecks/SpotCheckComponent.js.map +1 -1
- package/dist/esm/angular-ui/lib/spotchecks/SpotcheckStateService.js +2 -0
- package/dist/esm/angular-ui/lib/spotchecks/SpotcheckStateService.js.map +1 -1
- package/dist/esm/angular-ui/lib/spotchecks/api.js +4 -3
- package/dist/esm/angular-ui/lib/spotchecks/api.js.map +1 -1
- package/dist/esm/angular-ui/lib/spotchecks/helpers.d.ts +2 -1
- package/dist/esm/angular-ui/lib/spotchecks/helpers.js +16 -10
- package/dist/esm/angular-ui/lib/spotchecks/helpers.js.map +1 -1
- package/dist/esm/angular-ui/lib/spotchecks/types.d.ts +2 -0
- package/dist/esm/angular-ui/lib/spotchecks/types.js.map +1 -1
- package/dist/plugin.cjs.js +70 -14
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +70 -14
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
- package/src/angular-ui/lib/spotchecks/SpotCheckComponent.ts +59 -5
- package/src/angular-ui/lib/spotchecks/SpotcheckStateService.ts +2 -0
- package/src/angular-ui/lib/spotchecks/api.ts +2 -2
- package/src/angular-ui/lib/spotchecks/helpers.ts +19 -8
- package/src/angular-ui/lib/spotchecks/types.ts +2 -0
|
@@ -47,6 +47,7 @@ export class WebViewComponent {
|
|
|
47
47
|
const iframe = this.iframe.nativeElement;
|
|
48
48
|
iframe.addEventListener('load', () => {
|
|
49
49
|
this.ngZone.run(() => {
|
|
50
|
+
this.injectNativeBridgeAdapters(iframe);
|
|
50
51
|
const stateService = getSpotcheckStateService();
|
|
51
52
|
if (this.webviewType === 'classic') {
|
|
52
53
|
stateService.setState({ isClassicLoading: false });
|
|
@@ -57,6 +58,45 @@ export class WebViewComponent {
|
|
|
57
58
|
});
|
|
58
59
|
});
|
|
59
60
|
}
|
|
61
|
+
injectNativeBridgeAdapters(iframe) {
|
|
62
|
+
if (iframe && iframe.contentWindow) {
|
|
63
|
+
try {
|
|
64
|
+
const iframeWindow = iframe.contentWindow;
|
|
65
|
+
if (!iframeWindow.SsAndroidSdk) {
|
|
66
|
+
iframeWindow.SsAndroidSdk = {
|
|
67
|
+
shareData: function () { },
|
|
68
|
+
sendPartialSubmissionData: function () { }
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (!iframeWindow.Android) {
|
|
72
|
+
iframeWindow.Android = {
|
|
73
|
+
onMessageReceive: function () { }
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (!iframeWindow.webkit) {
|
|
77
|
+
iframeWindow.webkit = {
|
|
78
|
+
messageHandlers: {
|
|
79
|
+
surveyResponse: {
|
|
80
|
+
postMessage: function () { }
|
|
81
|
+
},
|
|
82
|
+
spotCheckData: {
|
|
83
|
+
postMessage: function () { }
|
|
84
|
+
},
|
|
85
|
+
flutterSpotCheckData: {
|
|
86
|
+
postMessage: function () { }
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
if (!iframeWindow.flutterSpotCheckData) {
|
|
92
|
+
iframeWindow.flutterSpotCheckData = {
|
|
93
|
+
postMessage: function () { }
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (error) { }
|
|
98
|
+
}
|
|
99
|
+
}
|
|
60
100
|
onMessage(event) {
|
|
61
101
|
this.ngZone.run(() => {
|
|
62
102
|
const stateService = getSpotcheckStateService();
|
|
@@ -88,6 +128,12 @@ export class WebViewComponent {
|
|
|
88
128
|
case 'surveyLoadStarted':
|
|
89
129
|
getSpotCheckEventListener().emit('surveyLoadStarted', data.surveyDetails);
|
|
90
130
|
break;
|
|
131
|
+
case 'classicLoadEvent':
|
|
132
|
+
stateService.setState({ isClassicLoadEventReceived: true });
|
|
133
|
+
break;
|
|
134
|
+
case 'chatLoadEvent':
|
|
135
|
+
stateService.setState({ isChatLoadEventReceived: true });
|
|
136
|
+
break;
|
|
91
137
|
default:
|
|
92
138
|
break;
|
|
93
139
|
}
|
|
@@ -98,7 +144,8 @@ export class WebViewComponent {
|
|
|
98
144
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: WebViewComponent, isStandalone: true, selector: "WebViewComponent", inputs: { url: "url", webviewType: "webviewType", isMiniCard: "isMiniCard" }, host: { listeners: { "window:message": "onMessage($event)" } }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframeRef"], descendants: true }], ngImport: i0, template: `
|
|
99
145
|
<div style="overflow: hidden; height: 100%; border-radius: {{isMiniCard ? 12 : 0}}px; padding-left: {{isMiniCard ? 12 : 0}}px; padding-right: {{isMiniCard ? 12 : 0}}px; box-sizing: border-box;">
|
|
100
146
|
<iframe
|
|
101
|
-
allow="camera; microphone; geolocation; display-capture; autoplay; clipboard-read; clipboard-write;"
|
|
147
|
+
allow="camera; microphone; geolocation; display-capture; autoplay; clipboard-read; clipboard-write; fullscreen"
|
|
148
|
+
allowfullscreen
|
|
102
149
|
#iframeRef
|
|
103
150
|
[src]="safeUrl"
|
|
104
151
|
style="width: 100%; height: 100%; display: block; border-radius: {{isMiniCard ? 12 : 0}}px;"
|
|
@@ -115,7 +162,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
115
162
|
template: `
|
|
116
163
|
<div style="overflow: hidden; height: 100%; border-radius: {{isMiniCard ? 12 : 0}}px; padding-left: {{isMiniCard ? 12 : 0}}px; padding-right: {{isMiniCard ? 12 : 0}}px; box-sizing: border-box;">
|
|
117
164
|
<iframe
|
|
118
|
-
allow="camera; microphone; geolocation; display-capture; autoplay; clipboard-read; clipboard-write;"
|
|
165
|
+
allow="camera; microphone; geolocation; display-capture; autoplay; clipboard-read; clipboard-write; fullscreen"
|
|
166
|
+
allowfullscreen
|
|
119
167
|
#iframeRef
|
|
120
168
|
[src]="safeUrl"
|
|
121
169
|
style="width: 100%; height: 100%; display: block; border-radius: {{isMiniCard ? 12 : 0}}px;"
|
|
@@ -349,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
349
397
|
type: Component,
|
|
350
398
|
args: [{ selector: 'SpotCheckComponent', standalone: true, imports: [CommonModule, WebViewComponent, CloseButtonComponent], template: "<div [ngStyle]=\"componentStyles.wrapperStyles\" class=\"safe-area\">\n <div [ngStyle]=\"componentStyles.styles\">\n <div style=\"position: relative; height: 100%;\">\n <spotcheck-close-button />\n \n <WebViewComponent\n *ngIf=\"state.classicUrl && state.classicUrl.length > 0 && state.spotcheckURL.length > 0 && state.spotCheckType === 'classic'\"\n [url]=\"state.classicUrl\"\n [webviewType]=\"'classic'\"\n [isMiniCard]=\"state.spotChecksMode === 'miniCard'\"\n />\n \n <WebViewComponent\n *ngIf=\"state.chatUrl && state.chatUrl.length > 0 && state.spotcheckURL.length > 0 && state.spotCheckType === 'chat'\"\n [url]=\"state.chatUrl\"\n [webviewType]=\"'chat'\"\n [isMiniCard]=\"state.spotChecksMode === 'miniCard'\"\n />\n\n <div *ngIf=\"state.spotChecksMode === 'miniCard' && state.avatarEnabled\">\n <div style=\"position: absolute; bottom: -66px; left: 16px; z-index: 100001;\">\n <img [src]=\"avatarUrl\" style=\"width: 56px; height: 56px; border-radius: 50px; background-color: white;\"/>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".safe-area{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box}\n"] }]
|
|
351
399
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }] });
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BvdENoZWNrQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvU3BvdENoZWNrQ29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvU3BvdENoZWNrQ29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBRUwsU0FBUyxFQUdULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQ0FBZ0MsRUFBRSw4QkFBOEIsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTVJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7QUFtQjFCLE1BQU0sT0FBTyxnQkFBZ0I7SUFTakI7SUFDQTtJQUNBO0lBVkQsR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUNqQixXQUFXLEdBQXVCLFNBQVMsQ0FBQztJQUM1QyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBRXJDLE9BQU8sR0FBMkIsSUFBSSxDQUFDO0lBQ2YsTUFBTSxDQUFpQztJQUUvRCxZQUNVLFNBQXVCLEVBQ3ZCLE1BQWMsRUFDZCxHQUFzQjtRQUZ0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM3QixDQUFDO0lBQ0osUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9B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Q0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxhQUFhLEdBQUcsYUFBYTtvQkFDakMsQ0FBQyxDQUFDLFdBQVcsVUFBVSx1QkFBdUI7b0JBQzlDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsTUFBTSxVQUFVLEdBQUcsVUFBVTtvQkFDM0IsQ0FBQyxDQUFDLFdBQVcsVUFBVSxvQkFBb0I7b0JBQzNDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBRVAsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztvQkFDbEMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtvQkFDM0MsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLE9BQU8sRUFBRSxVQUFVO2lCQUNwQixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDO3VHQW5GUyxrQkFBa0I7MkZBQWxCLGtCQUFrQiw4RUNqUC9CLGlwQ0EyQkEsNFBEb05ZLFlBQVksd05BeE1YLGdCQUFnQiwyR0F1SWhCLG9CQUFvQjs7MkZBbUVwQixrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE9uSW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdab25lLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgY2xvc2VTcG90Q2hlY2ssIGNsb3NlU3BvdENoZWNrQW5kSGFuZGxlU3VydmV5RW5kLCBnZXRTcG90Y2hlY2tDb21wb25lbnRDc3NTdHlsZXMsIGhhbmRsZVN1cnZleUVuZCwgaXNjaGF0U3VydmV5IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IFNwb3RjaGVja1N0YXRlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU3BvdGNoZWNrU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9TcG90Y2hlY2tTdGF0ZVNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0U3BvdENoZWNrRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4vU3BvdENoZWNrRXZlbnRMaXN0ZW5lcic7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdXZWJWaWV3Q29tcG9uZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjsgaGVpZ2h0OiAxMDAlOyBib3JkZXItcmFkaXVzOiB7e2lzTWluaUNhcmQgPyAxMiA6IDB9fXB4OyBwYWRkaW5nLWxlZnQ6IHt7aXNNaW5pQ2FyZCA/IDEyIDogMH19cHg7IHBhZGRpbmctcmlnaHQ6IHt7aXNNaW5pQ2FyZCA/IDEyIDogMH19cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XCI+XG4gICAgICA8aWZyYW1lXG4gICAgICAgIGFsbG93PVwiY2FtZXJhOyBtaWNyb3Bob25lOyBnZW9sb2NhdGlvbjsgZGlzcGxheS1jYXB0dXJlOyBhdXRvcGxheTsgY2xpcGJvYXJkLXJlYWQ7IGNsaXBib2FyZC13cml0ZTtcIlxuICAgICAgICAjaWZyYW1lUmVmXG4gICAgICAgIFtzcmNdPVwic2FmZVVybFwiXG4gICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgZGlzcGxheTogYmxvY2s7IGJvcmRlci1yYWRpdXM6IHt7aXNNaW5pQ2FyZCA/IDEyIDogMH19cHg7XCJcbiAgICAgICAgZnJhbWVib3JkZXI9XCIwXCJcbiAgICAgID5cbiAgICAgIDwvaWZyYW1lPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgV2ViVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHdlYnZpZXdUeXBlOiAnY2xhc3NpYycgfCAnY2hhdCcgPSAnY2xhc3NpYyc7XG4gIEBJbnB1dCgpIGlzTWluaUNhcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBzYWZlVXJsOiBTYWZlUmVzb3VyY2VVcmwgfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnaWZyYW1lUmVmJykgaWZyYW1lITogRWxlbWVudFJlZjxIVE1MSUZyYW1lRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy51cmwpIHtcbiAgICAgIHRoaXMuc2FmZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLnVybCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHN0YXRlU2VydmljZSA9IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpO1xuICAgIGNvbnN0IHdlYlZpZXdSZWYgPSB0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMud2Vidmlld1R5cGUgPT09ICdjbGFzc2ljJykge1xuICAgICAgc3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgY2xhc3NpY1dlYlZpZXdSZWY6IHdlYlZpZXdSZWYsXG4gICAgICAgIGlzQ2xhc3NpY0xvYWRpbmc6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgIGNoYXRXZWJWaWV3UmVmOiB3ZWJWaWV3UmVmLFxuICAgICAgICBpc0NoYXRMb2FkaW5nOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNldHVwSWZyYW1lTG9hZExpc3RlbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwSWZyYW1lTG9hZExpc3RlbmVyKCkge1xuICAgIGNvbnN0IGlmcmFtZSA9IHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBzdGF0ZVNlcnZpY2UgPSBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UoKTtcbiAgICAgICAgaWYgKHRoaXMud2Vidmlld1R5cGUgPT09ICdjbGFzc2ljJykge1xuICAgICAgICAgIHN0YXRlU2VydmljZS5zZXRTdGF0ZSh7IGlzQ2xhc3NpY0xvYWRpbmc6IGZhbHNlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlU2VydmljZS5zZXRTdGF0ZSh7IGlzQ2hhdExvYWRpbmc6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcbiAgb25NZXNzYWdlKGV2ZW50OiBNZXNzYWdlRXZlbnQpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVTZXJ2aWNlID0gZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCk7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGV2ZW50O1xuICAgICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnc2xpZGVJbkZyYW1lJzpcbiAgICAgICAgICBpZiAoZGF0YS5tb3VudGVkKSB7XG4gICAgICAgICAgICBzdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoeyBpc01vdW50ZWQ6IHRydWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3Jlc2l6ZVdpbmRvdyc6XG4gICAgICAgICAgaWYgKGRhdGEuc2l6ZSkge1xuICAgICAgICAgICAgc3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgY3VycmVudFF1ZXN0aW9uSGVpZ2h0OiBkYXRhLnNpemUuaGVpZ2h0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmlzQ2xvc2VCdXR0b25FbmFibGVkKSB7XG4gICAgICAgICAgICBzdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICBpc0Nsb3NlQnV0dG9uRW5hYmxlZDogZGF0YS5pc0Nsb3NlQnV0dG9uRW5hYmxlZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzdXJ2ZXlDb21wbGV0ZWQnOlxuICAgICAgICAgIGNsb3NlU3BvdENoZWNrQW5kSGFuZGxlU3VydmV5RW5kKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBnZXRTcG90Q2hlY2tFdmVudExpc3RlbmVyKCkuZW1pdCgnc3VydmV5Q29tcGxldGVkJywgZGF0YS5yZXNwb25zZSk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc3VydmV5TG9hZFN0YXJ0ZWQnOlxuICAgICAgICAgIGdldFNwb3RDaGVja0V2ZW50TGlzdGVuZXIoKS5lbWl0KCdzdXJ2ZXlMb2FkU3RhcnRlZCcsIGRhdGEuc3VydmV5RGV0YWlscyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbG9zZS1zdmcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzdmdcbiAgICAgIFthdHRyLndpZHRoXT1cInNpemVcIlxuICAgICAgW2F0dHIuaGVpZ2h0XT1cInNpemVcIlxuICAgICAgdmlld0JveD1cIjAgMCAzMiAzMlwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHBzOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMC42NjY1IDEwLjY2N0wyMS4zMzMyIDIxLjMzMzdNMjEuMzMzMiAxMC42NjdMMTAuNjY2NSAyMS4zMzM3XCJcbiAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInN0cm9rZVwiXG4gICAgICAgIFthdHRyLnN0cm9rZS13aWR0aF09XCJzdHJva2VXaWR0aFwiXG4gICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xvc2VTVkdDb21wb25lbnQge1xuICBASW5wdXQoKSBzaXplOiBudW1iZXIgPSAzMjtcbiAgQElucHV0KCkgc3Ryb2tlOiBzdHJpbmcgPSAnIzkxOTE5MSc7XG4gIEBJbnB1dCgpIHN0cm9rZVdpZHRoOiBudW1iZXIgPSAxLjU7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwb3RjaGVjay1jbG9zZS1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtMzZweDsgcmlnaHQ6IDE2cHg7IHotaW5kZXg6IDEwMDAwMTsgY3Vyc29yOiBwb2ludGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgYm9yZGVyLXJhZGl1czogNTBweDtcIiAoY2xpY2spPVwib25DbGljaygpXCIgKm5nSWY9XCJpc1Zpc2libGUgJiYgaXNNaW5pQ2FyZFwiPlxuICAgICAgICA8Y2xvc2Utc3ZnIFtzaXplXT1cInNpemVcIiBbc3Ryb2tlXT1cInN0cm9rZVwiIFtzdHJva2VXaWR0aF09XCJzdHJva2VXaWR0aFwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XCIvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE2cHg7IHJpZ2h0OiAxNnB4OyB6LWluZGV4OiAxMDAwMDE7IGN1cnNvcjogcG9pbnRlcjtcIiAoY2xpY2spPVwib25DbGljaygpXCIgKm5nSWY9XCJpc1Zpc2libGUgJiYgIWlzTWluaUNhcmRcIj5cbiAgICAgICAgPGNsb3NlLXN2ZyBbc2l6ZV09XCJzaXplXCIgW3N0cm9rZV09XCJzdHJva2VcIiBbc3Ryb2tlV2lkdGhdPVwic3Ryb2tlV2lkdGhcIi8+XG4gICAgICA8L2Rpdj5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2xvc2VTVkdDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDbG9zZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDMwO1xuICBASW5wdXQoKSBzdHJva2VXaWR0aDogbnVtYmVyID0gMS4yO1xuICBcbiAgc3RhdGU6IFNwb3RjaGVja1N0YXRlO1xuICBwcml2YXRlIHN0YXRlU2VydmljZTogU3BvdGNoZWNrU3RhdGVTZXJ2aWNlO1xuICBwcml2YXRlIHN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBcbiAgaXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTWluaUNhcmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3Ryb2tlOiBzdHJpbmcgPSAnYmxhY2snO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlID0gZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCk7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3RhdGVTZXJ2aWNlLmdldFN0YXRlKCk7XG4gICAgdGhpcy51cGRhdGVDb21wb25lbnRTdGF0ZSgpO1xuXG4gICAgdGhpcy5zdGF0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlJC5zdWJzY3JpYmUoXG4gICAgICAobmV3U3RhdGU6IFNwb3RjaGVja1N0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ29tcG9uZW50U3RhdGUoKTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29tcG9uZW50U3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Zpc2libGUgPVxuICAgICAgdGhpcy5zdGF0ZS5pc0Nsb3NlQnV0dG9uRW5hYmxlZCAmJlxuICAgICAgKCh0aGlzLnN0YXRlLmN1cnJlbnRRdWVzdGlvbkhlaWdodCA+IDAgJiYgIXRoaXMuc3RhdGUuaXNGdWxsU2NyZWVuTW9kZSkgfHxcbiAgICAgICAgKHRoaXMuc3RhdGUuaXNGdWxsU2NyZWVuTW9kZSAmJlxuICAgICAgICAgICgoIXRoaXMuc3RhdGUuaXNDbGFzc2ljTG9hZGluZyAmJlxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zcG90Q2hlY2tUeXBlID09PSAnY2xhc3NpYycpIHx8XG4gICAgICAgICAgICAoIXRoaXMuc3RhdGUuaXNDaGF0TG9hZGluZyAmJlxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLnNwb3RDaGVja1R5cGUgPT09ICdjaGF0JykpKSk7XG4gICAgdGhpcy5pc01pbmlDYXJkID0gdGhpcy5zdGF0ZS5zcG90Q2hlY2tzTW9kZSA9PT0gJ21pbmlDYXJkJztcbiAgICB0aGlzLnN0cm9rZSA9IHRoaXMuaXNNaW5pQ2FyZCA/ICdibGFjaycgOiB0aGlzLnN0YXRlLmNsb3NlQnV0dG9uU3R5bGU/LlsnY3RhQnV0dG9uJ10gfHwgJ2JsYWNrJztcbiAgfVxuXG4gIG9uQ2xpY2sgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgY2xvc2VTcG90Q2hlY2soKTtcbiAgICBoYW5kbGVTdXJ2ZXlFbmQoKTtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9O1xufVxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1Nwb3RDaGVja0NvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9TcG90Q2hlY2tDb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL1Nwb3RDaGVja0NvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgV2ViVmlld0NvbXBvbmVudCwgQ2xvc2VCdXR0b25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTcG90Q2hlY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRlOiBTcG90Y2hlY2tTdGF0ZTtcbiAgcHJpdmF0ZSBzcG90Y2hlY2tTdGF0ZVNlcnZpY2U6IFNwb3RjaGVja1N0YXRlU2VydmljZTtcbiAgcHJpdmF0ZSBzdGF0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBjb21wb25lbnRTdHlsZXM6IGFueSA9IHt9O1xuICBhdmF0YXJVcmw6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLnNwb3RjaGVja1N0YXRlU2VydmljZSA9IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpO1xuICAgIHRoaXMuc3RhdGUgPSB0aGlzLnNwb3RjaGVja1N0YXRlU2VydmljZS5nZXRTdGF0ZSgpO1xuICAgIHRoaXMudXBkYXRlQ29tcG9uZW50U3R5bGVzKCk7XG5cbiAgICB0aGlzLnN0YXRlU3Vic2NyaXB0aW9uID0gdGhpcy5zcG90Y2hlY2tTdGF0ZVNlcnZpY2Uuc3RhdGUkLnN1YnNjcmliZShcbiAgICAgIChuZXdTdGF0ZTogU3BvdGNoZWNrU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDb21wb25lbnRTdHlsZXMoKTtcbiAgICAgICAgICB0aGlzLmF2YXRhclVybCA9IHRoaXMuc3RhdGUuYXZhdGFyVXJsIHx8IFwiaHR0cHM6Ly9zdGF0aWMuc3VydmV5c3BhcnJvdy5jb20vYXBwbGljYXRpb24vaW1hZ2VzL3Byb2ZpbGUucG5nXCI7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplQ29tcG9uZW50KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29tcG9uZW50U3R5bGVzKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50U3R5bGVzID0gZ2V0U3BvdGNoZWNrQ29tcG9uZW50Q3NzU3R5bGVzKHRoaXMuc3RhdGUpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZG9tYWluTmFtZSA9IHRoaXMuc3RhdGUuZG9tYWluTmFtZTtcbiAgICAgIGNvbnN0IHRhcmdldFRva2VuID0gdGhpcy5zdGF0ZS50YXJnZXRUb2tlbjtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQ8YW55PihcbiAgICAgICAgYGh0dHBzOi8vJHtkb21haW5OYW1lfS9hcGkvaW50ZXJuYWwvc3BvdGNoZWNrL3dpZGdldC8ke3RhcmdldFRva2VufS9pbml0YFxuICAgICAgKTtcblxuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICAgIGlmIChkYXRhLmZpbHRlcmVkU3BvdENoZWNrcyAmJiBkYXRhLmZpbHRlcmVkU3BvdENoZWNrcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBjbGFzc2ljSWZyYW1lID0gZmFsc2U7XG4gICAgICAgIGxldCBjaGF0SWZyYW1lID0gZmFsc2U7XG5cbiAgICAgICAgZGF0YS5maWx0ZXJlZFNwb3RDaGVja3MuZm9yRWFjaCgoc3BvdGNoZWNrOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBzcG90Y2hlY2suYXBwZWFyYW5jZS5tb2RlID09PSAnZnVsbFNjcmVlbicgJiZcbiAgICAgICAgICAgIGlzY2hhdFN1cnZleShzcG90Y2hlY2s/LnN1cnZleT8uc3VydmV5VHlwZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNoYXRJZnJhbWUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjbGFzc2ljSWZyYW1lID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG5ld0NsYXNzaWNVcmwgPSBjbGFzc2ljSWZyYW1lXG4gICAgICAgICAgPyBgaHR0cHM6Ly8ke2RvbWFpbk5hbWV9L2V1aS10ZW1wbGF0ZS9jbGFzc2ljYFxuICAgICAgICAgIDogJyc7XG4gICAgICAgIGNvbnN0IG5ld0NoYXRVcmwgPSBjaGF0SWZyYW1lXG4gICAgICAgICAgPyBgaHR0cHM6Ly8ke2RvbWFpbk5hbWV9L2V1aS10ZW1wbGF0ZS9jaGF0YFxuICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgdGhpcy5zcG90Y2hlY2tTdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgIGZpbHRlcmVkU3BvdENoZWNrczogZGF0YS5maWx0ZXJlZFNwb3RDaGVja3MsXG4gICAgICAgICAgY2xhc3NpY1VybDogbmV3Q2xhc3NpY1VybCxcbiAgICAgICAgICBjaGF0VXJsOiBuZXdDaGF0VXJsLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coJ0Vycm9yIGluaXRpYWxpemluZyB3aWRnZXQ6JywgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKTtcbiAgICB9XG4gIH07XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cImNvbXBvbmVudFN0eWxlcy53cmFwcGVyU3R5bGVzXCIgY2xhc3M9XCJzYWZlLWFyZWFcIj5cbiAgPGRpdiBbbmdTdHlsZV09XCJjb21wb25lbnRTdHlsZXMuc3R5bGVzXCI+XG4gICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgPHNwb3RjaGVjay1jbG9zZS1idXR0b24gLz5cbiAgXG4gICAgICA8V2ViVmlld0NvbXBvbmVudFxuICAgICAgICAqbmdJZj1cInN0YXRlLmNsYXNzaWNVcmwgJiYgc3RhdGUuY2xhc3NpY1VybC5sZW5ndGggPiAwICYmIHN0YXRlLnNwb3RjaGVja1VSTC5sZW5ndGggPiAwICYmIHN0YXRlLnNwb3RDaGVja1R5cGUgPT09ICdjbGFzc2ljJ1wiXG4gICAgICAgIFt1cmxdPVwic3RhdGUuY2xhc3NpY1VybFwiXG4gICAgICAgIFt3ZWJ2aWV3VHlwZV09XCInY2xhc3NpYydcIlxuICAgICAgICBbaXNNaW5pQ2FyZF09XCJzdGF0ZS5zcG90Q2hlY2tzTW9kZSA9PT0gJ21pbmlDYXJkJ1wiXG4gICAgICAvPlxuICBcbiAgICAgIDxXZWJWaWV3Q29tcG9uZW50XG4gICAgICAgICpuZ0lmPVwic3RhdGUuY2hhdFVybCAmJiBzdGF0ZS5jaGF0VXJsLmxlbmd0aCA+IDAgJiYgc3RhdGUuc3BvdGNoZWNrVVJMLmxlbmd0aCA+IDAgJiYgc3RhdGUuc3BvdENoZWNrVHlwZSA9PT0gJ2NoYXQnXCJcbiAgICAgICAgW3VybF09XCJzdGF0ZS5jaGF0VXJsXCJcbiAgICAgICAgW3dlYnZpZXdUeXBlXT1cIidjaGF0J1wiXG4gICAgICAgIFtpc01pbmlDYXJkXT1cInN0YXRlLnNwb3RDaGVja3NNb2RlID09PSAnbWluaUNhcmQnXCJcbiAgICAgIC8+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJzdGF0ZS5zcG90Q2hlY2tzTW9kZSA9PT0gJ21pbmlDYXJkJyAmJiBzdGF0ZS5hdmF0YXJFbmFibGVkXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogLTY2cHg7IGxlZnQ6IDE2cHg7IHotaW5kZXg6IDEwMDAwMTtcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiYXZhdGFyVXJsXCIgc3R5bGU9XCJ3aWR0aDogNTZweDsgaGVpZ2h0OiA1NnB4OyBib3JkZXItcmFkaXVzOiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
400
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BvdENoZWNrQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvU3BvdENoZWNrQ29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvU3BvdENoZWNrQ29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBRUwsU0FBUyxFQUdULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQ0FBZ0MsRUFBRSw4QkFBOEIsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTVJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7QUFvQjFCLE1BQU0sT0FBTyxnQkFBZ0I7SUFTakI7SUFDQTtJQUNBO0lBVkQsR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUNqQixXQUFXLEdBQXVCLFNBQVMsQ0FBQztJQUM1QyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBRXJDLE9BQU8sR0FBMkIsSUFBSSxDQUFDO0lBQ2YsTUFBTSxDQUFpQztJQUUvRCxZQUNVLFNBQXVCLEVBQ3ZCLE1BQWMsRUFDZCxHQUFzQjtRQUZ0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM1QixDQUFDO0lBQ0wsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFlBQVksR0FBRyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBRTdDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixpQkFBaUIsRUFBRSxVQUFVO2dCQUM3QixnQkFBZ0IsRUFBRSxLQUFLO2FBQ3hCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDcEIsY0FBYyxFQUFFLFVBQVU7Z0JBQzFCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLFlBQVksR0FBRyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ25DLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxNQUF5QjtRQUMxRCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDO2dCQUNILE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxhQUFvQixDQUFDO2dCQUVqRCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUMvQixZQUFZLENBQUMsWUFBWSxHQUFHO3dCQUMxQixTQUFTLEVBQUUsY0FBYyxDQUFDO3dCQUMxQix5QkFBeUIsRUFBRSxjQUFjLENBQUM7cUJBQzNDLENBQUM7Z0JBQ0osQ0FBQztnQkFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMxQixZQUFZLENBQUMsT0FBTyxHQUFHO3dCQUNyQixnQkFBZ0IsRUFBRSxjQUFjLENBQUM7cUJBQ2xDLENBQUM7Z0JBQ0osQ0FBQztnQkFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN6QixZQUFZLENBQUMsTUFBTSxHQUFHO3dCQUNwQixlQUFlLEVBQUU7NEJBQ2YsY0FBYyxFQUFFO2dDQUNkLFdBQVcsRUFBRSxjQUFjLENBQUM7NkJBQzdCOzRCQUNELGFBQWEsRUFBRTtnQ0FDYixXQUFXLEVBQUUsY0FBYyxDQUFDOzZCQUM3Qjs0QkFDRCxvQkFBb0IsRUFBRTtnQ0FDcEIsV0FBVyxFQUFFLGNBQWMsQ0FBQzs2QkFDN0I7eUJBQ0Y7cUJBQ0YsQ0FBQztnQkFDSixDQUFDO2dCQUVELElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztvQkFDdkMsWUFBWSxDQUFDLG9CQUFvQixHQUFHO3dCQUNsQyxXQUFXLEVBQUUsY0FBYyxDQUFDO3FCQUM3QixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFHRCxTQUFTLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sWUFBWSxHQUFHLHdCQUF3QixFQUFFLENBQUM7WUFDaEQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztZQUN2QixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxjQUFjO29CQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDakIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUM3QyxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyxjQUFjO29CQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDZCxZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixxQkFBcUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07eUJBQ3hDLENBQUMsQ0FBQztvQkFDTCxDQUFDO3lCQUFNLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7d0JBQ3JDLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0I7eUJBQ2hELENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyxpQkFBaUI7b0JBQ3BCLGdDQUFnQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDM0MseUJBQXlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztvQkFDSCxNQUFNO2dCQUVSLEtBQUssbUJBQW1CO29CQUN0Qix5QkFBeUIsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQzFFLE1BQU07Z0JBR1IsS0FBSyxrQkFBa0I7b0JBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUM1RCxNQUFNO2dCQUVSLEtBQUssZUFBZTtvQkFDbEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3pELE1BQU07Z0JBRVI7b0JBQ0UsTUFBTTtZQUNWLENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FoSlUsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsK1RBaEJqQjs7Ozs7Ozs7Ozs7O0dBWVQsMkRBRVMsWUFBWTs7MkZBRVgsZ0JBQWdCO2tCQWxCNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCO3NJQUVVLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR2tCLE1BQU07c0JBQTdCLFNBQVM7dUJBQUMsV0FBVztnQkEwRnRCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUEwRTVDLE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixNQUFNLEdBQVcsU0FBUyxDQUFDO0lBQzNCLFdBQVcsR0FBVyxHQUFHLENBQUM7dUdBSHhCLGlCQUFpQjsyRkFBakIsaUJBQWlCLDZJQXBCbEI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQsMkRBRVMsWUFBWTs7MkZBRVgsaUJBQWlCO2tCQXRCN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSzs7QUFnQlIsTUFBTSxPQUFPLG9CQUFvQjtJQWFyQjtJQUNBO0lBYkQsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixXQUFXLEdBQVcsR0FBRyxDQUFDO0lBRW5DLEtBQUssQ0FBaUI7SUFDZCxZQUFZLENBQXdCO0lBQ3BDLGlCQUFpQixDQUFnQjtJQUV6QyxTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsTUFBTSxHQUFXLE9BQU8sQ0FBQztJQUV6QixZQUNVLE1BQWMsRUFDZCxHQUFzQjtRQUR0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFFOUIsSUFBSSxDQUFDLFlBQVksR0FBRyx3QkFBd0IsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUN6RCxDQUFDLFFBQXdCLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUN0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsU0FBUztZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CO2dCQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO29CQUNyRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO3dCQUMxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQjs0QkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEtBQUssU0FBUyxDQUFDOzRCQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO2dDQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxLQUFLLFVBQVUsQ0FBQztRQUMzRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUNsRyxDQUFDO0lBRUQsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ25CLE1BQU0sY0FBYyxFQUFFLENBQUM7UUFDdkIsZUFBZSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7dUdBeERTLG9CQUFvQjsyRkFBcEIsb0JBQW9CLHdJQVhyQjs7Ozs7OztHQU9ULDJEQUVTLFlBQVksbUlBakJYLGlCQUFpQjs7MkZBbUJqQixvQkFBb0I7a0JBYmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQztpQkFDM0M7MkdBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7O0FBaUVSLE1BQU0sT0FBTyxrQkFBa0I7SUFRbkI7SUFDQTtJQVJWLEtBQUssQ0FBaUI7SUFDZCxxQkFBcUIsQ0FBd0I7SUFDN0MsaUJBQWlCLENBQWU7SUFDeEMsZUFBZSxHQUFRLEVBQUUsQ0FBQztJQUMxQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBRXZCLFlBQ1UsTUFBYyxFQUNkLEdBQXNCO1FBRHRCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUU5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQ2xFLENBQUMsUUFBd0IsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLGlFQUFpRSxDQUFDO2dCQUMzRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG1CQUFtQixHQUFHLEtBQUssSUFBSSxFQUFFO1FBQy9CLElBQUksQ0FBQztZQUNILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQ3pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBRTNDLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FDOUIsV0FBVyxVQUFVLGtDQUFrQyxXQUFXLE9BQU8sQ0FDMUUsQ0FBQztZQUVGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFFM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtvQkFDakQsSUFDRSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxZQUFZO3dCQUMxQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFDM0MsQ0FBQzt3QkFDRCxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUNwQixDQUFDO3lCQUFNLENBQUM7d0JBQ04sYUFBYSxHQUFHLElBQUksQ0FBQztvQkFDdkIsQ0FBQztnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFFSCxNQUFNLGFBQWEsR0FBRyxhQUFhO29CQUNqQyxDQUFDLENBQUMsV0FBVyxVQUFVLHVCQUF1QjtvQkFDOUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxNQUFNLFVBQVUsR0FBRyxVQUFVO29CQUMzQixDQUFDLENBQUMsV0FBVyxVQUFVLG9CQUFvQjtvQkFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFFUCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO29CQUNsQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO29CQUMzQyxVQUFVLEVBQUUsYUFBYTtvQkFDekIsT0FBTyxFQUFFLFVBQVU7aUJBQ3BCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBbkZTLGtCQUFrQjsyRkFBbEIsa0JBQWtCLDhFQ3ZTL0IsaXBDQTJCQSw0UEQwUVksWUFBWSx3TkE3UFgsZ0JBQWdCLDJHQTRMaEIsb0JBQW9COzsyRkFtRXBCLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxvQkFBb0IsY0FHbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgT25Jbml0LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSG9zdExpc3RlbmVyLFxuICBOZ1pvbmUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBjbG9zZVNwb3RDaGVjaywgY2xvc2VTcG90Q2hlY2tBbmRIYW5kbGVTdXJ2ZXlFbmQsIGdldFNwb3RjaGVja0NvbXBvbmVudENzc1N0eWxlcywgaGFuZGxlU3VydmV5RW5kLCBpc2NoYXRTdXJ2ZXkgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU3BvdGNoZWNrU3RhdGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBTcG90Y2hlY2tTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL1Nwb3RjaGVja1N0YXRlU2VydmljZSc7XG5pbXBvcnQgeyBnZXRTcG90Q2hlY2tFdmVudExpc3RlbmVyIH0gZnJvbSAnLi9TcG90Q2hlY2tFdmVudExpc3RlbmVyJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1dlYlZpZXdDb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuOyBoZWlnaHQ6IDEwMCU7IGJvcmRlci1yYWRpdXM6IHt7aXNNaW5pQ2FyZCA/IDEyIDogMH19cHg7IHBhZGRpbmctbGVmdDoge3tpc01pbmlDYXJkID8gMTIgOiAwfX1weDsgcGFkZGluZy1yaWdodDoge3tpc01pbmlDYXJkID8gMTIgOiAwfX1weDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcIj5cbiAgICAgIDxpZnJhbWVcbiAgICAgICAgYWxsb3c9XCJjYW1lcmE7IG1pY3JvcGhvbmU7IGdlb2xvY2F0aW9uOyBkaXNwbGF5LWNhcHR1cmU7IGF1dG9wbGF5OyBjbGlwYm9hcmQtcmVhZDsgY2xpcGJvYXJkLXdyaXRlOyBmdWxsc2NyZWVuXCJcbiAgICAgICAgYWxsb3dmdWxsc2NyZWVuXG4gICAgICAgICNpZnJhbWVSZWZcbiAgICAgICAgW3NyY109XCJzYWZlVXJsXCJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBibG9jazsgYm9yZGVyLXJhZGl1czoge3tpc01pbmlDYXJkID8gMTIgOiAwfX1weDtcIlxuICAgICAgICBmcmFtZWJvcmRlcj1cIjBcIlxuICAgICAgPlxuICAgICAgPC9pZnJhbWU+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBXZWJWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgd2Vidmlld1R5cGU6ICdjbGFzc2ljJyB8ICdjaGF0JyA9ICdjbGFzc2ljJztcbiAgQElucHV0KCkgaXNNaW5pQ2FyZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybCB8IG51bGwgPSBudWxsO1xuICBAVmlld0NoaWxkKCdpZnJhbWVSZWYnKSBpZnJhbWUhOiBFbGVtZW50UmVmPEhUTUxJRnJhbWVFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHsgfVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy51cmwpIHtcbiAgICAgIHRoaXMuc2FmZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLnVybCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHN0YXRlU2VydmljZSA9IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpO1xuICAgIGNvbnN0IHdlYlZpZXdSZWYgPSB0aGlzLmlmcmFtZS5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMud2Vidmlld1R5cGUgPT09ICdjbGFzc2ljJykge1xuICAgICAgc3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgY2xhc3NpY1dlYlZpZXdSZWY6IHdlYlZpZXdSZWYsXG4gICAgICAgIGlzQ2xhc3NpY0xvYWRpbmc6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgIGNoYXRXZWJWaWV3UmVmOiB3ZWJWaWV3UmVmLFxuICAgICAgICBpc0NoYXRMb2FkaW5nOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNldHVwSWZyYW1lTG9hZExpc3RlbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwSWZyYW1lTG9hZExpc3RlbmVyKCkge1xuICAgIGNvbnN0IGlmcmFtZSA9IHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmluamVjdE5hdGl2ZUJyaWRnZUFkYXB0ZXJzKGlmcmFtZSk7XG4gICAgICAgIGNvbnN0IHN0YXRlU2VydmljZSA9IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpO1xuICAgICAgICBpZiAodGhpcy53ZWJ2aWV3VHlwZSA9PT0gJ2NsYXNzaWMnKSB7XG4gICAgICAgICAgc3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgaXNDbGFzc2ljTG9hZGluZzogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgaXNDaGF0TG9hZGluZzogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmplY3ROYXRpdmVCcmlkZ2VBZGFwdGVycyhpZnJhbWU6IEhUTUxJRnJhbWVFbGVtZW50KSB7XG4gICAgaWYgKGlmcmFtZSAmJiBpZnJhbWUuY29udGVudFdpbmRvdykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaWZyYW1lV2luZG93ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cgYXMgYW55O1xuXG4gICAgICAgIGlmICghaWZyYW1lV2luZG93LlNzQW5kcm9pZFNkaykge1xuICAgICAgICAgIGlmcmFtZVdpbmRvdy5Tc0FuZHJvaWRTZGsgPSB7XG4gICAgICAgICAgICBzaGFyZURhdGE6IGZ1bmN0aW9uICgpIHsgfSxcbiAgICAgICAgICAgIHNlbmRQYXJ0aWFsU3VibWlzc2lvbkRhdGE6IGZ1bmN0aW9uICgpIHsgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlmcmFtZVdpbmRvdy5BbmRyb2lkKSB7XG4gICAgICAgICAgaWZyYW1lV2luZG93LkFuZHJvaWQgPSB7XG4gICAgICAgICAgICBvbk1lc3NhZ2VSZWNlaXZlOiBmdW5jdGlvbiAoKSB7IH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpZnJhbWVXaW5kb3cud2Via2l0KSB7XG4gICAgICAgICAgaWZyYW1lV2luZG93LndlYmtpdCA9IHtcbiAgICAgICAgICAgIG1lc3NhZ2VIYW5kbGVyczoge1xuICAgICAgICAgICAgICBzdXJ2ZXlSZXNwb25zZToge1xuICAgICAgICAgICAgICAgIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiAoKSB7IH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc3BvdENoZWNrRGF0YToge1xuICAgICAgICAgICAgICAgIHBvc3RNZXNzYWdlOiBmdW5jdGlvbiAoKSB7IH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZmx1dHRlclNwb3RDaGVja0RhdGE6IHtcbiAgICAgICAgICAgICAgICBwb3N0TWVzc2FnZTogZnVuY3Rpb24gKCkgeyB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpZnJhbWVXaW5kb3cuZmx1dHRlclNwb3RDaGVja0RhdGEpIHtcbiAgICAgICAgICBpZnJhbWVXaW5kb3cuZmx1dHRlclNwb3RDaGVja0RhdGEgPSB7XG4gICAgICAgICAgICBwb3N0TWVzc2FnZTogZnVuY3Rpb24gKCkgeyB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcbiAgb25NZXNzYWdlKGV2ZW50OiBNZXNzYWdlRXZlbnQpIHtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVTZXJ2aWNlID0gZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCk7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGV2ZW50O1xuICAgICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnc2xpZGVJbkZyYW1lJzpcbiAgICAgICAgICBpZiAoZGF0YS5tb3VudGVkKSB7XG4gICAgICAgICAgICBzdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoeyBpc01vdW50ZWQ6IHRydWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3Jlc2l6ZVdpbmRvdyc6XG4gICAgICAgICAgaWYgKGRhdGEuc2l6ZSkge1xuICAgICAgICAgICAgc3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgY3VycmVudFF1ZXN0aW9uSGVpZ2h0OiBkYXRhLnNpemUuaGVpZ2h0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmlzQ2xvc2VCdXR0b25FbmFibGVkKSB7XG4gICAgICAgICAgICBzdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICBpc0Nsb3NlQnV0dG9uRW5hYmxlZDogZGF0YS5pc0Nsb3NlQnV0dG9uRW5hYmxlZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdzdXJ2ZXlDb21wbGV0ZWQnOlxuICAgICAgICAgIGNsb3NlU3BvdENoZWNrQW5kSGFuZGxlU3VydmV5RW5kKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBnZXRTcG90Q2hlY2tFdmVudExpc3RlbmVyKCkuZW1pdCgnc3VydmV5Q29tcGxldGVkJywgZGF0YS5yZXNwb25zZSk7XG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc3VydmV5TG9hZFN0YXJ0ZWQnOlxuICAgICAgICAgIGdldFNwb3RDaGVja0V2ZW50TGlzdGVuZXIoKS5lbWl0KCdzdXJ2ZXlMb2FkU3RhcnRlZCcsIGRhdGEuc3VydmV5RGV0YWlscyk7XG4gICAgICAgICAgYnJlYWs7XG5cblxuICAgICAgICBjYXNlICdjbGFzc2ljTG9hZEV2ZW50JzpcbiAgICAgICAgICBzdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoeyBpc0NsYXNzaWNMb2FkRXZlbnRSZWNlaXZlZDogdHJ1ZSB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdjaGF0TG9hZEV2ZW50JzpcbiAgICAgICAgICBzdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoeyBpc0NoYXRMb2FkRXZlbnRSZWNlaXZlZDogdHJ1ZSB9KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsb3NlLXN2ZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHN2Z1xuICAgICAgW2F0dHIud2lkdGhdPVwic2l6ZVwiXG4gICAgICBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiXG4gICAgICB2aWV3Qm94PVwiMCAwIDMyIDMyXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHhtbG5zPVwiaHR0cHM6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEwLjY2NjUgMTAuNjY3TDIxLjMzMzIgMjEuMzMzN00yMS4zMzMyIDEwLjY2N0wxMC42NjY1IDIxLjMzMzdcIlxuICAgICAgICBbYXR0ci5zdHJva2VdPVwic3Ryb2tlXCJcbiAgICAgICAgW2F0dHIuc3Ryb2tlLXdpZHRoXT1cInN0cm9rZVdpZHRoXCJcbiAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDbG9zZVNWR0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDMyO1xuICBASW5wdXQoKSBzdHJva2U6IHN0cmluZyA9ICcjOTE5MTkxJztcbiAgQElucHV0KCkgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEuNTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3BvdGNoZWNrLWNsb3NlLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0zNnB4OyByaWdodDogMTZweDsgei1pbmRleDogMTAwMDAxOyBjdXJzb3I6IHBvaW50ZXI7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyBib3JkZXItcmFkaXVzOiA1MHB4O1wiIChjbGljayk9XCJvbkNsaWNrKClcIiAqbmdJZj1cImlzVmlzaWJsZSAmJiBpc01pbmlDYXJkXCI+XG4gICAgICAgIDxjbG9zZS1zdmcgW3NpemVdPVwic2l6ZVwiIFtzdHJva2VdPVwic3Ryb2tlXCIgW3N0cm9rZVdpZHRoXT1cInN0cm9rZVdpZHRoXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcIi8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTZweDsgcmlnaHQ6IDE2cHg7IHotaW5kZXg6IDEwMDAwMTsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJvbkNsaWNrKClcIiAqbmdJZj1cImlzVmlzaWJsZSAmJiAhaXNNaW5pQ2FyZFwiPlxuICAgICAgICA8Y2xvc2Utc3ZnIFtzaXplXT1cInNpemVcIiBbc3Ryb2tlXT1cInN0cm9rZVwiIFtzdHJva2VXaWR0aF09XCJzdHJva2VXaWR0aFwiLz5cbiAgICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbG9zZVNWR0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc2l6ZTogbnVtYmVyID0gMzA7XG4gIEBJbnB1dCgpIHN0cm9rZVdpZHRoOiBudW1iZXIgPSAxLjI7XG5cbiAgc3RhdGU6IFNwb3RjaGVja1N0YXRlO1xuICBwcml2YXRlIHN0YXRlU2VydmljZTogU3BvdGNoZWNrU3RhdGVTZXJ2aWNlO1xuICBwcml2YXRlIHN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGlzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc01pbmlDYXJkOiBib29sZWFuID0gZmFsc2U7XG4gIHN0cm9rZTogc3RyaW5nID0gJ2JsYWNrJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UgPSBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UoKTtcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5zdGF0ZVNlcnZpY2UuZ2V0U3RhdGUoKTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudFN0YXRlKCk7XG5cbiAgICB0aGlzLnN0YXRlU3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhdGUkLnN1YnNjcmliZShcbiAgICAgIChuZXdTdGF0ZTogU3BvdGNoZWNrU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDb21wb25lbnRTdGF0ZSgpO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb21wb25lbnRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9XG4gICAgICB0aGlzLnN0YXRlLmlzQ2xvc2VCdXR0b25FbmFibGVkICYmXG4gICAgICAoKHRoaXMuc3RhdGUuY3VycmVudFF1ZXN0aW9uSGVpZ2h0ID4gMCAmJiAhdGhpcy5zdGF0ZS5pc0Z1bGxTY3JlZW5Nb2RlKSB8fFxuICAgICAgICAodGhpcy5zdGF0ZS5pc0Z1bGxTY3JlZW5Nb2RlICYmXG4gICAgICAgICAgKCghdGhpcy5zdGF0ZS5pc0NsYXNzaWNMb2FkaW5nICYmXG4gICAgICAgICAgICB0aGlzLnN0YXRlLnNwb3RDaGVja1R5cGUgPT09ICdjbGFzc2ljJykgfHxcbiAgICAgICAgICAgICghdGhpcy5zdGF0ZS5pc0NoYXRMb2FkaW5nICYmXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGUuc3BvdENoZWNrVHlwZSA9PT0gJ2NoYXQnKSkpKTtcbiAgICB0aGlzLmlzTWluaUNhcmQgPSB0aGlzLnN0YXRlLnNwb3RDaGVja3NNb2RlID09PSAnbWluaUNhcmQnO1xuICAgIHRoaXMuc3Ryb2tlID0gdGhpcy5pc01pbmlDYXJkID8gJ2JsYWNrJyA6IHRoaXMuc3RhdGUuY2xvc2VCdXR0b25TdHlsZT8uWydjdGFCdXR0b24nXSB8fCAnYmxhY2snO1xuICB9XG5cbiAgb25DbGljayA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBjbG9zZVNwb3RDaGVjaygpO1xuICAgIGhhbmRsZVN1cnZleUVuZCgpO1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH07XG59XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnU3BvdENoZWNrQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL1Nwb3RDaGVja0NvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vU3BvdENoZWNrQ29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXZWJWaWV3Q29tcG9uZW50LCBDbG9zZUJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNwb3RDaGVja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgc3RhdGU6IFNwb3RjaGVja1N0YXRlO1xuICBwcml2YXRlIHNwb3RjaGVja1N0YXRlU2VydmljZTogU3BvdGNoZWNrU3RhdGVTZXJ2aWNlO1xuICBwcml2YXRlIHN0YXRlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbXBvbmVudFN0eWxlczogYW55ID0ge307XG4gIGF2YXRhclVybDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuc3BvdGNoZWNrU3RhdGVTZXJ2aWNlID0gZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCk7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLmdldFN0YXRlKCk7XG4gICAgdGhpcy51cGRhdGVDb21wb25lbnRTdHlsZXMoKTtcblxuICAgIHRoaXMuc3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLnNwb3RjaGVja1N0YXRlU2VydmljZS5zdGF0ZSQuc3Vic2NyaWJlKFxuICAgICAgKG5ld1N0YXRlOiBTcG90Y2hlY2tTdGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudFN0eWxlcygpO1xuICAgICAgICAgIHRoaXMuYXZhdGFyVXJsID0gdGhpcy5zdGF0ZS5hdmF0YXJVcmwgfHwgXCJodHRwczovL3N0YXRpYy5zdXJ2ZXlzcGFycm93LmNvbS9hcHBsaWNhdGlvbi9pbWFnZXMvcHJvZmlsZS5wbmdcIjtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb21wb25lbnRTdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRTdHlsZXMgPSBnZXRTcG90Y2hlY2tDb21wb25lbnRDc3NTdHlsZXModGhpcy5zdGF0ZSk7XG4gIH1cblxuICBpbml0aWFsaXplQ29tcG9uZW50ID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkb21haW5OYW1lID0gdGhpcy5zdGF0ZS5kb21haW5OYW1lO1xuICAgICAgY29uc3QgdGFyZ2V0VG9rZW4gPSB0aGlzLnN0YXRlLnRhcmdldFRva2VuO1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLmdldDxhbnk+KFxuICAgICAgICBgaHR0cHM6Ly8ke2RvbWFpbk5hbWV9L2FwaS9pbnRlcm5hbC9zcG90Y2hlY2svd2lkZ2V0LyR7dGFyZ2V0VG9rZW59L2luaXRgXG4gICAgICApO1xuXG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UuZGF0YTtcblxuICAgICAgaWYgKGRhdGEuZmlsdGVyZWRTcG90Q2hlY2tzICYmIGRhdGEuZmlsdGVyZWRTcG90Q2hlY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IGNsYXNzaWNJZnJhbWUgPSBmYWxzZTtcbiAgICAgICAgbGV0IGNoYXRJZnJhbWUgPSBmYWxzZTtcblxuICAgICAgICBkYXRhLmZpbHRlcmVkU3BvdENoZWNrcy5mb3JFYWNoKChzcG90Y2hlY2s6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHNwb3RjaGVjay5hcHBlYXJhbmNlLm1vZGUgPT09ICdmdWxsU2NyZWVuJyAmJlxuICAgICAgICAgICAgaXNjaGF0U3VydmV5KHNwb3RjaGVjaz8uc3VydmV5Py5zdXJ2ZXlUeXBlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY2hhdElmcmFtZSA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNsYXNzaWNJZnJhbWUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbmV3Q2xhc3NpY1VybCA9IGNsYXNzaWNJZnJhbWVcbiAgICAgICAgICA/IGBodHRwczovLyR7ZG9tYWluTmFtZX0vZXVpLXRlbXBsYXRlL2NsYXNzaWNgXG4gICAgICAgICAgOiAnJztcbiAgICAgICAgY29uc3QgbmV3Q2hhdFVybCA9IGNoYXRJZnJhbWVcbiAgICAgICAgICA/IGBodHRwczovLyR7ZG9tYWluTmFtZX0vZXVpLXRlbXBsYXRlL2NoYXRgXG4gICAgICAgICAgOiAnJztcblxuICAgICAgICB0aGlzLnNwb3RjaGVja1N0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgZmlsdGVyZWRTcG90Q2hlY2tzOiBkYXRhLmZpbHRlcmVkU3BvdENoZWNrcyxcbiAgICAgICAgICBjbGFzc2ljVXJsOiBuZXdDbGFzc2ljVXJsLFxuICAgICAgICAgIGNoYXRVcmw6IG5ld0NoYXRVcmwsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZygnRXJyb3IgaW5pdGlhbGl6aW5nIHdpZGdldDonLCBKU09OLnN0cmluZ2lmeShlcnJvcikpO1xuICAgIH1cbiAgfTtcbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwiY29tcG9uZW50U3R5bGVzLndyYXBwZXJTdHlsZXNcIiBjbGFzcz1cInNhZmUtYXJlYVwiPlxuICA8ZGl2IFtuZ1N0eWxlXT1cImNvbXBvbmVudFN0eWxlcy5zdHlsZXNcIj5cbiAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICA8c3BvdGNoZWNrLWNsb3NlLWJ1dHRvbiAvPlxuICBcbiAgICAgIDxXZWJWaWV3Q29tcG9uZW50XG4gICAgICAgICpuZ0lmPVwic3RhdGUuY2xhc3NpY1VybCAmJiBzdGF0ZS5jbGFzc2ljVXJsLmxlbmd0aCA+IDAgJiYgc3RhdGUuc3BvdGNoZWNrVVJMLmxlbmd0aCA+IDAgJiYgc3RhdGUuc3BvdENoZWNrVHlwZSA9PT0gJ2NsYXNzaWMnXCJcbiAgICAgICAgW3VybF09XCJzdGF0ZS5jbGFzc2ljVXJsXCJcbiAgICAgICAgW3dlYnZpZXdUeXBlXT1cIidjbGFzc2ljJ1wiXG4gICAgICAgIFtpc01pbmlDYXJkXT1cInN0YXRlLnNwb3RDaGVja3NNb2RlID09PSAnbWluaUNhcmQnXCJcbiAgICAgIC8+XG4gIFxuICAgICAgPFdlYlZpZXdDb21wb25lbnRcbiAgICAgICAgKm5nSWY9XCJzdGF0ZS5jaGF0VXJsICYmIHN0YXRlLmNoYXRVcmwubGVuZ3RoID4gMCAmJiBzdGF0ZS5zcG90Y2hlY2tVUkwubGVuZ3RoID4gMCAmJiBzdGF0ZS5zcG90Q2hlY2tUeXBlID09PSAnY2hhdCdcIlxuICAgICAgICBbdXJsXT1cInN0YXRlLmNoYXRVcmxcIlxuICAgICAgICBbd2Vidmlld1R5cGVdPVwiJ2NoYXQnXCJcbiAgICAgICAgW2lzTWluaUNhcmRdPVwic3RhdGUuc3BvdENoZWNrc01vZGUgPT09ICdtaW5pQ2FyZCdcIlxuICAgICAgLz5cblxuICAgICAgPGRpdiAqbmdJZj1cInN0YXRlLnNwb3RDaGVja3NNb2RlID09PSAnbWluaUNhcmQnICYmIHN0YXRlLmF2YXRhckVuYWJsZWRcIj5cbiAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtNjZweDsgbGVmdDogMTZweDsgei1pbmRleDogMTAwMDAxO1wiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJhdmF0YXJVcmxcIiBzdHlsZT1cIndpZHRoOiA1NnB4OyBoZWlnaHQ6IDU2cHg7IGJvcmRlci1yYWRpdXM6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1wiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -27,6 +27,8 @@ export class SpotcheckStateService {
|
|
|
27
27
|
traceId: '',
|
|
28
28
|
isClassicLoading: true,
|
|
29
29
|
isChatLoading: true,
|
|
30
|
+
isClassicLoadEventReceived: false,
|
|
31
|
+
isChatLoadEventReceived: false,
|
|
30
32
|
classicUrl: '',
|
|
31
33
|
chatUrl: '',
|
|
32
34
|
classicWebViewRef: null,
|
|
@@ -62,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
62
64
|
providedIn: 'root',
|
|
63
65
|
}]
|
|
64
66
|
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BvdGNoZWNrU3RhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvU3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdkMsTUFBTSxPQUFPLHFCQUFxQjtJQUN4QixZQUFZLEdBQW1CO1FBQ3JDLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLGlCQUFpQixFQUFFLFFBQVE7UUFDM0IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUFFLENBQUM7UUFDZCxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JCLFVBQVUsRUFBRSxHQUFHO1FBQ2YsU0FBUyxFQUFFLEdBQUc7UUFDZCxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsWUFBWSxFQUFFLEVBQUU7UUFDaEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixvQkFBb0IsRUFBRSxLQUFLO1FBQzNCLFlBQVksRUFBRSxLQUFLO1FBQ25CLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLHNCQUFzQixFQUFFLEVBQUU7UUFDMUIsV0FBVyxFQUFFLEVBQUU7UUFDZixVQUFVLEVBQUUsRUFBRTtRQUNkLFdBQVcsRUFBRSxFQUFFO1FBQ2YsU0FBUyxFQUFFLEVBQUU7UUFDYixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixhQUFhLEVBQUUsSUFBSTtRQUNuQiwwQkFBMEIsRUFBRSxLQUFLO1FBQ2pDLHVCQUF1QixFQUFFLEtBQUs7UUFDOUIsVUFBVSxFQUFFLEVBQUU7UUFDZCxPQUFPLEVBQUUsRUFBRTtRQUNYLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsY0FBYyxFQUFFLElBQUk7UUFDcEIsa0JBQWtCLEVBQUUsRUFBRTtRQUN0QixhQUFhLEVBQUUsRUFBRTtRQUNqQixTQUFTLEVBQUUsS0FBSztRQUNoQixZQUFZLEVBQUUsQ0FBQztRQUNmLFlBQVksRUFBRSxDQUFDO1FBQ2YsY0FBYyxFQUFFLENBQUM7UUFDakIsY0FBYyxFQUFFLEVBQUU7UUFDbEIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsU0FBUyxFQUFFLEVBQUU7UUFDYixxQkFBcUIsRUFBRSxFQUFFO0tBQzFCLENBQUM7SUFFTSxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRixNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU1QyxRQUFRLENBQUMsS0FBOEI7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO3VHQXpEVSxxQkFBcUI7MkdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTcG90Y2hlY2tTdGF0ZSB9IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3BvdGNoZWNrU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpbml0aWFsU3RhdGU6IFNwb3RjaGVja1N0YXRlID0ge1xuICAgIGlzVmlzaWJsZTogZmFsc2UsXG4gICAgc3BvdGNoZWNrUG9zaXRpb246ICdib3R0b20nLFxuICAgIHNwb3RjaGVja1VSTDogJycsXG4gICAgc3BvdGNoZWNrSUQ6IDAsXG4gICAgc3BvdGNoZWNrQ29udGFjdElEOiAwLFxuICAgIGFmdGVyRGVsYXk6IDAuMCxcbiAgICBtYXhIZWlnaHQ6IDAuNSxcbiAgICBjdXJyZW50UXVlc3Rpb25IZWlnaHQ6IDAsXG4gICAgaXNGdWxsU2NyZWVuTW9kZTogZmFsc2UsXG4gICAgaXNCYW5uZXJJbWFnZU9uOiBmYWxzZSxcbiAgICB0cmlnZ2VyVG9rZW46ICcnLFxuICAgIGNsb3NlQnV0dG9uU3R5bGU6IHt9LFxuICAgIGlzQ2xvc2VCdXR0b25FbmFibGVkOiBmYWxzZSxcbiAgICBpc1Nwb3RQYXNzZWQ6IGZhbHNlLFxuICAgIGlzQ2hlY2tzUGFzc2VkOiBmYWxzZSxcbiAgICBjdXN0b21FdmVudHNTcG90Q2hlY2tzOiBbXSxcbiAgICB0YXJnZXRUb2tlbjogJycsXG4gICAgZG9tYWluTmFtZTogJycsXG4gICAgdXNlckRldGFpbHM6IHt9LFxuICAgIHZhcmlhYmxlczoge30sXG4gICAgY3VzdG9tUHJvcGVydGllczoge30sXG4gICAgdHJhY2VJZDogJycsXG4gICAgaXNDbGFzc2ljTG9hZGluZzogdHJ1ZSxcbiAgICBpc0NoYXRMb2FkaW5nOiB0cnVlLFxuICAgIGlzQ2xhc3NpY0xvYWRFdmVudFJlY2VpdmVkOiBmYWxzZSxcbiAgICBpc0NoYXRMb2FkRXZlbnRSZWNlaXZlZDogZmFsc2UsXG4gICAgY2xhc3NpY1VybDogJycsXG4gICAgY2hhdFVybDogJycsXG4gICAgY2xhc3NpY1dlYlZpZXdSZWY6IG51bGwsXG4gICAgY2hhdFdlYlZpZXdSZWY6IG51bGwsXG4gICAgZmlsdGVyZWRTcG90Q2hlY2tzOiBbXSxcbiAgICBzcG90Q2hlY2tUeXBlOiAnJyxcbiAgICBpc01vdW50ZWQ6IGZhbHNlLFxuICAgIHRleHRQb3NpdGlvbjogMCxcbiAgICBzY3JlZW5IZWlnaHQ6IDAsXG4gICAga2V5Qm9hcmRIZWlnaHQ6IDAsXG4gICAgc3BvdENoZWNrc01vZGU6ICcnLFxuICAgIGF2YXRhckVuYWJsZWQ6IGZhbHNlLFxuICAgIGF2YXRhclVybDogJycsXG4gICAgc2NyZWVud2lzZVVzZXJEZXRhaWxzOiB7fVxuICB9O1xuICBcbiAgcHJpdmF0ZSBzcG90Y2hlY2tTdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3BvdGNoZWNrU3RhdGU+KHRoaXMuaW5pdGlhbFN0YXRlKTtcbiAgc3RhdGUkID0gdGhpcy5zcG90Y2hlY2tTdGF0ZS5hc09ic2VydmFibGUoKTtcblxuICBzZXRTdGF0ZShzdGF0ZTogUGFydGlhbDxTcG90Y2hlY2tTdGF0ZT4pIHtcbiAgICB0aGlzLnNwb3RjaGVja1N0YXRlLm5leHQoeyAuLi50aGlzLnNwb3RjaGVja1N0YXRlLnZhbHVlLCAuLi5zdGF0ZSB9KTtcbiAgfVxuICBcbiAgY2xlYXJTdGF0ZSgpIHtcbiAgICB0aGlzLnNwb3RjaGVja1N0YXRlLm5leHQodGhpcy5pbml0aWFsU3RhdGUpO1xuICB9XG5cbiAgZ2V0U3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BvdGNoZWNrU3RhdGUuZ2V0VmFsdWUoKTtcbiAgfVxufVxuIl19
|
|
@@ -121,7 +121,7 @@ export const sendTrackScreenRequest = async ({ screen, options, }) => {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
throw new Error(responseJson?.reason
|
|
124
|
+
throw new Error(responseJson?.reason?.toString() ?? 'Spotcheck conditions not met');
|
|
125
125
|
}
|
|
126
126
|
else {
|
|
127
127
|
throw new Error(`Received status code ${response.status}`);
|
|
@@ -204,7 +204,7 @@ export const sendTrackEventRequest = async ({ screen, event }) => {
|
|
|
204
204
|
return { valid: true };
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
throw new Error(responseJson?.reason
|
|
207
|
+
throw new Error(responseJson?.reason?.toString() ?? 'Event conditions not met');
|
|
208
208
|
}
|
|
209
209
|
else {
|
|
210
210
|
throw new Error(`Received status code ${response.status}`);
|
|
@@ -227,4 +227,4 @@ export const sendTrackEventRequest = async ({ screen, event }) => {
|
|
|
227
227
|
return { valid: false, error: error.message };
|
|
228
228
|
}
|
|
229
229
|
};
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxFQUMzQyxNQUFNLEVBQ04sT0FBTyxHQUNVLEVBQUUsRUFBRTtJQUNyQixJQUFJLENBQUM7UUFDSCxNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsSUFBSSxTQUFTLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQWUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQXNCLENBQUM7UUFDNUUsSUFBSSxXQUFXLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQWlCLENBQUM7UUFFN0QsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUUsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsSUFB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QUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlVHJhY2VJZCwgZ2V0T1MsIHNldEFwcGVhcmFuY2UgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZ2V0U3RvcmVkVVVJRCwgc2V0VVVJRCB9IGZyb20gJy4vc3RvcmFnZSc7XG5pbXBvcnQgeyBUcmFja1NjcmVlblByb3BzLCBVc2VyRGV0YWlscywgVmFyaWFibGVzLCBDdXN0b21Qcm9wZXJ0aWVzLCBUcmFja0V2ZW50UHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuXG5leHBvcnQgY29uc3Qgc2VuZFRyYWNrU2NyZWVuUmVxdWVzdCA9IGFzeW5jICh7XG4gIHNjcmVlbixcbiAgb3B0aW9ucyxcbn06IFRyYWNrU2NyZWVuUHJvcHMpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzcG90Y2hlY2tTdGF0ZVNlcnZpY2UgPSBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UoKTtcbiAgICBjb25zdCBvbGRTdGF0ZSA9IHNwb3RjaGVja1N0YXRlU2VydmljZS5nZXRTdGF0ZSgpO1xuICAgIGxldCB2YXJpYWJsZXMgPSB7IC4uLm9sZFN0YXRlLnZhcmlhYmxlcyB9IGFzIFZhcmlhYmxlcztcbiAgICBsZXQgY3VzdG9tUHJvcGVydGllcyA9IHsgLi4ub2xkU3RhdGUuY3VzdG9tUHJvcGVydGllcyB9IGFzIEN1c3RvbVByb3BlcnRpZXM7XG4gICAgbGV0IHVzZXJEZXRhaWxzID0geyAuLi5vbGRTdGF0ZS51c2VyRGV0YWlscyB9IGFzIFVzZXJEZXRhaWxzOyAgICBcblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudmFyaWFibGVzICYmIE9iamVjdC5rZXlzKG9wdGlvbnMudmFyaWFibGVzKS5sZW5ndGggPiAwKSB7XG4gICAgICB2YXJpYWJsZXMgPSB7IC4uLnZhcmlhYmxlcywgLi4ub3B0aW9ucy52YXJpYWJsZXMgfTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5jdXN0b21Qcm9wZXJ0aWVzICYmIE9iamVjdC5rZXlzKG9wdGlvbnMuY3VzdG9tUHJvcGVydGllcykubGVuZ3RoID4gMCkge1xuICAgICAgY3VzdG9tUHJvcGVydGllcyA9IHsgLi4uY3VzdG9tUHJvcGVydGllcywgLi4ub3B0aW9ucy5jdXN0b21Qcm9wZXJ0aWVzIH07XG4gICAgfVxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudXNlckRldGFpbHMgJiYgT2JqZWN0LmtleXMob3B0aW9ucy51c2VyRGV0YWlscykubGVuZ3RoID4gMCkge1xuICAgICAgdXNlckRldGFpbHMgPSB7IC4uLnVzZXJEZXRhaWxzLCAuLi5vcHRpb25zLnVzZXJEZXRhaWxzIH07XG4gICAgfVxuXG4gICAgbGV0IHRyYWNlSWQgPSBvbGRTdGF0ZS50cmFjZUlkO1xuICAgIGlmICghdHJhY2VJZCkge1xuICAgICAgdHJhY2VJZCA9IGdlbmVyYXRlVHJhY2VJZCgpO1xuICAgIH1cblxuICAgIGlmICghdXNlckRldGFpbHMudXVpZCAmJiAhdXNlckRldGFpbHMuZW1haWwgJiYgIXVzZXJEZXRhaWxzLm1vYmlsZSkge1xuICAgICAgY29uc3QgdXVpZCA9IGdldFN0b3JlZFVVSUQoKTtcbiAgICAgIGlmICh1dWlkKSB7XG4gICAgICAgIHVzZXJEZXRhaWxzLnV1aWQgPSB1dWlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwb3RjaGVja1N0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICB0cmFjZUlkLFxuICAgICAgc2NyZWVud2lzZVVzZXJEZXRhaWxzOiB7XG4gICAgICAgIFtzY3JlZW5dOiB1c2VyRGV0YWlsc1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0YXRlID0gc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLmdldFN0YXRlKCk7XG4gICAgbGV0IHsgaXNTcG90UGFzc2VkLCBpc0NoZWNrc1Bhc3NlZCB9ID0gc3RhdGU7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHNjcmVlbk5hbWU6IHNjcmVlbixcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzLFxuICAgICAgdXNlckRldGFpbHM6IHVzZXJEZXRhaWxzLFxuICAgICAgdmlzaXRvcjoge1xuICAgICAgICBkZXZpY2VUeXBlOiAnTU9CSUxFJyxcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtOiBhd2FpdCBnZXRPUygpLFxuICAgICAgICBzY3JlZW5SZXNvbHV0aW9uOiB7XG4gICAgICAgICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50RGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICB0aW1lem9uZTogSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICAgICAgfSxcbiAgICAgIHRyYWNlSWQ6IHN0YXRlLnRyYWNlSWQsXG4gICAgICBjdXN0b21Qcm9wZXJ0aWVzOiBjdXN0b21Qcm9wZXJ0aWVzLFxuICAgIH07XG5cbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly8ke3N0YXRlLmRvbWFpbk5hbWV9L2FwaS9pbnRlcm5hbC9zcG90Y2hlY2svd2lkZ2V0LyR7c3RhdGUudGFyZ2V0VG9rZW59L3Byb3BlcnRpZXM/aXNTcG90Q2hlY2s9dHJ1ZSZzZGs9SU9OSUNgO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxhbnk+KHVybCwgcGF5bG9hZCwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICBjb25zdCByZXNwb25zZUpzb24gPSByZXNwb25zZS5kYXRhO1xuXG4gICAgICBpZiAocmVzcG9uc2VKc29uLnV1aWQpIHtcbiAgICAgICAgc2V0VVVJRChyZXNwb25zZUpzb24udXVpZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZUpzb24/LnNob3cpIHtcbiAgICAgICAgaWYgKHJlc3BvbnNlSnNvbj8uc2hvdykge1xuICAgICAgICAgIGNvbnN0IGFwcGVhcmFuY2VfcmVzcG9uc2UgPSBhd2FpdCBzZXRBcHBlYXJhbmNlKFxuICAgICAgICAgICAgcmVzcG9uc2VKc29uLFxuICAgICAgICAgICAgc2NyZWVuLFxuICAgICAgICAgICAgc3RhdGUuZG9tYWluTmFtZSxcbiAgICAgICAgICAgIHRyYWNlSWQsXG4gICAgICAgICAgICB2YXJpYWJsZXNcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChhcHBlYXJhbmNlX3Jlc3BvbnNlKSB7XG4gICAgICAgICAgICBpc1Nwb3RQYXNzZWQgPSB0cnVlO1xuICAgICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgaXNTcG90UGFzc2VkIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgICAgaWYgKCFpc1Nwb3RQYXNzZWQgJiYgcmVzcG9uc2VKc29uPy5jaGVja1Bhc3NlZCkge1xuICAgICAgICBpZiAocmVzcG9uc2VKc29uLmNoZWNrQ29uZGl0aW9uKSB7XG4gICAgICAgICAgY29uc3QgY2hlY2tDb25kaXRpb24gPSByZXNwb25zZUpzb24uY2hlY2tDb25kaXRpb247XG4gICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgYWZ0ZXJEZWxheTogY2hlY2tDb25kaXRpb24uYWZ0ZXJEZWxheSB8fCAwIH0pO1xuICAgICAgICAgIGlmIChjaGVja0NvbmRpdGlvbi5jdXN0b21FdmVudCkge1xuICAgICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgY3VzdG9tRXZlbnRzU3BvdENoZWNrczogW3Jlc3BvbnNlSnNvbl0gfSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFwcGVhcmFuY2VfcmVzcG9uc2UgPSBhd2FpdCBzZXRBcHBlYXJhbmNlKFxuICAgICAgICAgIHJlc3BvbnNlSnNvbixcbiAgICAgICAgICBzY3JlZW4sXG4gICAgICAgICAgc3RhdGUuZG9tYWluTmFtZSxcbiAgICAgICAgICB0cmFjZUlkLFxuICAgICAgICAgIHZhcmlhYmxlc1xuICAgICAgICApO1xuICAgICAgICBpZiAoYXBwZWFyYW5jZV9yZXNwb25zZSkge1xuICAgICAgICAgIGlzQ2hlY2tzUGFzc2VkID0gdHJ1ZTtcbiAgICAgICAgICBzcG90Y2hlY2tTdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoeyBpc0NoZWNrc1Bhc3NlZCB9KTtcbiAgICAgICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNTcG90UGFzc2VkICYmICFpc0NoZWNrc1Bhc3NlZCAmJiByZXNwb25zZUpzb24/Lm11bHRpU2hvdyAhPSBudWxsKSB7XG4gICAgICAgIGlmIChyZXNwb25zZUpzb24ubXVsdGlTaG93KSB7XG4gICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgY3VzdG9tRXZlbnRzU3BvdENoZWNrczogcmVzcG9uc2VKc29uLnJlc3VsdGFudFNwb3RDaGVjayB9KTtcblxuICAgICAgICAgIGxldCBzZWxlY3RlZFNwb3RDaGVjayA9IHt9O1xuICAgICAgICAgIGxldCBtaW5EZWxheTogbnVtYmVyID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuXG4gICAgICAgICAgZm9yIChjb25zdCBzcG90Y2hlY2sgb2YgcmVzcG9uc2VKc29uLnJlc3VsdGFudFNwb3RDaGVjaykge1xuICAgICAgICAgICAgY29uc3QgY2hlY2tzID0gc3BvdGNoZWNrPy5jaGVja3MgfHwge307XG4gICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoY2hlY2tzKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgbWluRGVsYXkgPSAwO1xuICAgICAgICAgICAgICBzZWxlY3RlZFNwb3RDaGVjayA9IHNwb3RjaGVjaztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tzLmFmdGVyRGVsYXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBkZWxheSA9IHBhcnNlRmxvYXQoY2hlY2tzLmFmdGVyRGVsYXkpO1xuICAgICAgICAgICAgICBpZiAobWluRGVsYXkgPiBkZWxheSkge1xuICAgICAgICAgICAgICAgIG1pbkRlbGF5ID0gZGVsYXk7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRTcG90Q2hlY2sgPSBzcG90Y2hlY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2VsZWN0ZWRTcG90Q2hlY2spLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHNwb3RjaGVja1N0YXRlU2VydmljZS5zZXRTdGF0ZSh7IGFmdGVyRGVsYXk6IG1pbkRlbGF5IH0pO1xuICAgICAgICAgICAgY29uc3QgYXBwZWFyYW5jZV9yZXNwb25zZSA9IGF3YWl0IHNldEFwcGVhcmFuY2UoXG4gICAgICAgICAgICAgIHNlbGVjdGVkU3BvdENoZWNrLFxuICAgICAgICAgICAgICBzY3JlZW4sXG4gICAgICAgICAgICAgIHN0YXRlLmRvbWFpbk5hbWUsXG4gICAgICAgICAgICAgIHRyYWNlSWQsXG4gICAgICAgICAgICAgIHZhcmlhYmxlc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChhcHBlYXJhbmNlX3Jlc3BvbnNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZUpzb24/LnJlYXNvbi50b1N0cmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWNlaXZlZCBzdGF0dXMgY29kZSAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICByZXR1cm4geyB2YWxpZDogZmFsc2UsIGVycm9yOiBlcnJvci5tZXNzYWdlIH07XG4gIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IHNlbmRUcmFja0V2ZW50UmVxdWVzdCA9IGFzeW5jICh7IHNjcmVlbiwgZXZlbnQgfTogVHJhY2tFdmVudFByb3BzKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgaW50TWF4ID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICAgIGNvbnN0IHN0YXRlID0gZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCkuZ2V0U3RhdGUoKTtcbiAgICBsZXQgc2VsZWN0ZWRTcG90Q2hlY2tJRCA9IGludE1heDtcbiAgICBsZXQgeyBpc1Nwb3RQYXNzZWQgfSA9IHN0YXRlO1xuICAgIGlmIChzdGF0ZS5jdXN0b21FdmVudHNTcG90Q2hlY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGV2ZW50S2V5cyA9IE9iamVjdC5rZXlzKGV2ZW50KTtcbiAgICAgIGZvciAoY29uc3Qgc3BvdENoZWNrIG9mIHN0YXRlLmN1c3RvbUV2ZW50c1Nwb3RDaGVja3MpIHtcbiAgICAgICAgY29uc3QgY2hlY2tzID0gc3BvdENoZWNrPy5bJ2NoZWNrcyddID8/IHNwb3RDaGVjaz8uWydjaGVja0NvbmRpdGlvbiddO1xuXG4gICAgICAgIGlmIChjaGVja3MpIHtcbiAgICAgICAgICBjb25zdCBjdXN0b21FdmVudCA9IGNoZWNrcz8uY3VzdG9tRXZlbnQ7XG5cbiAgICAgICAgICBpZiAoZXZlbnRLZXlzLmluY2x1ZGVzKGN1c3RvbUV2ZW50Py5ldmVudE5hbWUpKSB7XG4gICAgICAgICAgICBzZWxlY3RlZFNwb3RDaGVja0lEID1cbiAgICAgICAgICAgICAgc3BvdENoZWNrPy5bJ2lkJ10gPz8gc3BvdENoZWNrPy5bJ3Nwb3RDaGVja0lkJ10gPz8gaW50TWF4O1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRTcG90Q2hlY2tJRCAhPT0gaW50TWF4KSB7XG4gICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAgICAgc2NyZWVuTmFtZTogc2NyZWVuLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogc3RhdGUudmFyaWFibGVzLFxuICAgICAgICAgICAgICAgIHVzZXJEZXRhaWxzOiBzdGF0ZS5zY3JlZW53aXNlVXNlckRldGFpbHNbc2NyZWVuXSB8fCB7fSxcbiAgICAgICAgICAgICAgICB2aXNpdG9yOiB7XG4gICAgICAgICAgICAgICAgICBkZXZpY2VUeXBlOiAnTU9CSUxFJyxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdGluZ1N5c3RlbTogYXdhaXQgZ2V0T1MoKSxcbiAgICAgICAgICAgICAgICAgIHNjcmVlblJlc29sdXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBjdXJyZW50RGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgdGltZXpvbmU6IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNwb3RDaGVja0lkOiBzZWxlY3RlZFNwb3RDaGVja0lELFxuICAgICAgICAgICAgICAgIGV2ZW50VHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgICAgY3VzdG9tRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdHJhY2VJZDogc3RhdGUudHJhY2VJZCxcbiAgICAgICAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzOiBzdGF0ZS5jdXN0b21Qcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIGNvbnN0IHVybCA9IGBodHRwczovLyR7c3RhdGUuZG9tYWluTmFtZX0vYXBpL2ludGVybmFsL3Nwb3RjaGVjay93aWRnZXQvJHtzdGF0ZS50YXJnZXRUb2tlbn0vZXZlbnRUcmlnZ2VyP2lzU3BvdENoZWNrPXRydWVgO1xuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PGFueT4odXJsLCBwYXlsb2FkLCB7XG4gICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZUpzb24gPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlSnNvbj8uc2hvdyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZUpzb24/LnNob3cpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhcHBlYXJhbmNlX3Jlc3BvbnNlID0gYXdhaXQgc2V0QXBwZWFyYW5jZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlSnNvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmRvbWFpbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS50cmFjZUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUudmFyaWFibGVzXG4gICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgIGlmIChhcHBlYXJhbmNlX3Jlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UoKS5zZXRTdGF0ZSh7IGlzU3BvdFBhc3NlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU3BvdFBhc3NlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAoIWlzU3BvdFBhc3NlZCAmJiByZXNwb25zZUpzb24/LmV2ZW50U2hvdykge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VKc29uPy5jaGVja0NvbmRpdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hlY2tDb25kaXRpb24gPSByZXNwb25zZUpzb24/LmNoZWNrQ29uZGl0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgIGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyRGVsYXk6IGNoZWNrQ29uZGl0aW9uPy5hZnRlckRlbGF5ID8/IDAsXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tDb25kaXRpb24/LmN1c3RvbUV2ZW50ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJEZWxheTogY2hlY2tDb25kaXRpb24/LmN1c3RvbUV2ZW50Py5kZWxheUluU2Vjb25kcyA/PyAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXBwZWFyYW5jZV9yZXNwb25zZSA9IGF3YWl0IHNldEFwcGVhcmFuY2UoXG4gICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VKc29uLFxuICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbixcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5kb21haW5OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnRyYWNlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGUudmFyaWFibGVzXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFwcGVhcmFuY2VfcmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZUpzb24/LnJlYXNvbi50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWNlaXZlZCBzdGF0dXMgY29kZSAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignJyk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlLCBlcnJvcjogZXJyb3IubWVzc2FnZSB9O1xuICB9XG59OyJdfQ==
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuZ3VsYXItdWkvbGliL3Nwb3RjaGVja3MvYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxFQUMzQyxNQUFNLEVBQ04sT0FBTyxHQUNVLEVBQUUsRUFBRTtJQUNyQixJQUFJLENBQUM7UUFDSCxNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsSUFBSSxTQUFTLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxTQUFTLEVBQWUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQXNCLENBQUM7UUFDNUUsSUFBSSxXQUFXLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQWlCLENBQUM7UUFFN0QsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUUsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsSUFB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QztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEQsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlVHJhY2VJZCwgZ2V0T1MsIHNldEFwcGVhcmFuY2UgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZ2V0U3RvcmVkVVVJRCwgc2V0VVVJRCB9IGZyb20gJy4vc3RvcmFnZSc7XG5pbXBvcnQgeyBUcmFja1NjcmVlblByb3BzLCBVc2VyRGV0YWlscywgVmFyaWFibGVzLCBDdXN0b21Qcm9wZXJ0aWVzLCBUcmFja0V2ZW50UHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldFNwb3RjaGVja1N0YXRlU2VydmljZSB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuXG5leHBvcnQgY29uc3Qgc2VuZFRyYWNrU2NyZWVuUmVxdWVzdCA9IGFzeW5jICh7XG4gIHNjcmVlbixcbiAgb3B0aW9ucyxcbn06IFRyYWNrU2NyZWVuUHJvcHMpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzcG90Y2hlY2tTdGF0ZVNlcnZpY2UgPSBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UoKTtcbiAgICBjb25zdCBvbGRTdGF0ZSA9IHNwb3RjaGVja1N0YXRlU2VydmljZS5nZXRTdGF0ZSgpO1xuICAgIGxldCB2YXJpYWJsZXMgPSB7IC4uLm9sZFN0YXRlLnZhcmlhYmxlcyB9IGFzIFZhcmlhYmxlcztcbiAgICBsZXQgY3VzdG9tUHJvcGVydGllcyA9IHsgLi4ub2xkU3RhdGUuY3VzdG9tUHJvcGVydGllcyB9IGFzIEN1c3RvbVByb3BlcnRpZXM7XG4gICAgbGV0IHVzZXJEZXRhaWxzID0geyAuLi5vbGRTdGF0ZS51c2VyRGV0YWlscyB9IGFzIFVzZXJEZXRhaWxzOyAgICBcblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudmFyaWFibGVzICYmIE9iamVjdC5rZXlzKG9wdGlvbnMudmFyaWFibGVzKS5sZW5ndGggPiAwKSB7XG4gICAgICB2YXJpYWJsZXMgPSB7IC4uLnZhcmlhYmxlcywgLi4ub3B0aW9ucy52YXJpYWJsZXMgfTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5jdXN0b21Qcm9wZXJ0aWVzICYmIE9iamVjdC5rZXlzKG9wdGlvbnMuY3VzdG9tUHJvcGVydGllcykubGVuZ3RoID4gMCkge1xuICAgICAgY3VzdG9tUHJvcGVydGllcyA9IHsgLi4uY3VzdG9tUHJvcGVydGllcywgLi4ub3B0aW9ucy5jdXN0b21Qcm9wZXJ0aWVzIH07XG4gICAgfVxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudXNlckRldGFpbHMgJiYgT2JqZWN0LmtleXMob3B0aW9ucy51c2VyRGV0YWlscykubGVuZ3RoID4gMCkge1xuICAgICAgdXNlckRldGFpbHMgPSB7IC4uLnVzZXJEZXRhaWxzLCAuLi5vcHRpb25zLnVzZXJEZXRhaWxzIH07XG4gICAgfVxuXG4gICAgbGV0IHRyYWNlSWQgPSBvbGRTdGF0ZS50cmFjZUlkO1xuICAgIGlmICghdHJhY2VJZCkge1xuICAgICAgdHJhY2VJZCA9IGdlbmVyYXRlVHJhY2VJZCgpO1xuICAgIH1cblxuICAgIGlmICghdXNlckRldGFpbHMudXVpZCAmJiAhdXNlckRldGFpbHMuZW1haWwgJiYgIXVzZXJEZXRhaWxzLm1vYmlsZSkge1xuICAgICAgY29uc3QgdXVpZCA9IGdldFN0b3JlZFVVSUQoKTtcbiAgICAgIGlmICh1dWlkKSB7XG4gICAgICAgIHVzZXJEZXRhaWxzLnV1aWQgPSB1dWlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwb3RjaGVja1N0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICB0cmFjZUlkLFxuICAgICAgc2NyZWVud2lzZVVzZXJEZXRhaWxzOiB7XG4gICAgICAgIFtzY3JlZW5dOiB1c2VyRGV0YWlsc1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0YXRlID0gc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLmdldFN0YXRlKCk7XG4gICAgbGV0IHsgaXNTcG90UGFzc2VkLCBpc0NoZWNrc1Bhc3NlZCB9ID0gc3RhdGU7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHNjcmVlbk5hbWU6IHNjcmVlbixcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzLFxuICAgICAgdXNlckRldGFpbHM6IHVzZXJEZXRhaWxzLFxuICAgICAgdmlzaXRvcjoge1xuICAgICAgICBkZXZpY2VUeXBlOiAnTU9CSUxFJyxcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtOiBhd2FpdCBnZXRPUygpLFxuICAgICAgICBzY3JlZW5SZXNvbHV0aW9uOiB7XG4gICAgICAgICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICB9LFxuICAgICAgICBjdXJyZW50RGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICB0aW1lem9uZTogSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICAgICAgfSxcbiAgICAgIHRyYWNlSWQ6IHN0YXRlLnRyYWNlSWQsXG4gICAgICBjdXN0b21Qcm9wZXJ0aWVzOiBjdXN0b21Qcm9wZXJ0aWVzLFxuICAgIH07XG5cbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly8ke3N0YXRlLmRvbWFpbk5hbWV9L2FwaS9pbnRlcm5hbC9zcG90Y2hlY2svd2lkZ2V0LyR7c3RhdGUudGFyZ2V0VG9rZW59L3Byb3BlcnRpZXM/aXNTcG90Q2hlY2s9dHJ1ZSZzZGs9SU9OSUNgO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxhbnk+KHVybCwgcGF5bG9hZCwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICBjb25zdCByZXNwb25zZUpzb24gPSByZXNwb25zZS5kYXRhO1xuXG4gICAgICBpZiAocmVzcG9uc2VKc29uLnV1aWQpIHtcbiAgICAgICAgc2V0VVVJRChyZXNwb25zZUpzb24udXVpZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZUpzb24/LnNob3cpIHtcbiAgICAgICAgaWYgKHJlc3BvbnNlSnNvbj8uc2hvdykge1xuICAgICAgICAgIGNvbnN0IGFwcGVhcmFuY2VfcmVzcG9uc2UgPSBhd2FpdCBzZXRBcHBlYXJhbmNlKFxuICAgICAgICAgICAgcmVzcG9uc2VKc29uLFxuICAgICAgICAgICAgc2NyZWVuLFxuICAgICAgICAgICAgc3RhdGUuZG9tYWluTmFtZSxcbiAgICAgICAgICAgIHRyYWNlSWQsXG4gICAgICAgICAgICB2YXJpYWJsZXNcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChhcHBlYXJhbmNlX3Jlc3BvbnNlKSB7XG4gICAgICAgICAgICBpc1Nwb3RQYXNzZWQgPSB0cnVlO1xuICAgICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgaXNTcG90UGFzc2VkIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIFxuICAgICAgaWYgKCFpc1Nwb3RQYXNzZWQgJiYgcmVzcG9uc2VKc29uPy5jaGVja1Bhc3NlZCkge1xuICAgICAgICBpZiAocmVzcG9uc2VKc29uLmNoZWNrQ29uZGl0aW9uKSB7XG4gICAgICAgICAgY29uc3QgY2hlY2tDb25kaXRpb24gPSByZXNwb25zZUpzb24uY2hlY2tDb25kaXRpb247XG4gICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgYWZ0ZXJEZWxheTogY2hlY2tDb25kaXRpb24uYWZ0ZXJEZWxheSB8fCAwIH0pO1xuICAgICAgICAgIGlmIChjaGVja0NvbmRpdGlvbi5jdXN0b21FdmVudCkge1xuICAgICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgY3VzdG9tRXZlbnRzU3BvdENoZWNrczogW3Jlc3BvbnNlSnNvbl0gfSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFwcGVhcmFuY2VfcmVzcG9uc2UgPSBhd2FpdCBzZXRBcHBlYXJhbmNlKFxuICAgICAgICAgIHJlc3BvbnNlSnNvbixcbiAgICAgICAgICBzY3JlZW4sXG4gICAgICAgICAgc3RhdGUuZG9tYWluTmFtZSxcbiAgICAgICAgICB0cmFjZUlkLFxuICAgICAgICAgIHZhcmlhYmxlc1xuICAgICAgICApO1xuICAgICAgICBpZiAoYXBwZWFyYW5jZV9yZXNwb25zZSkge1xuICAgICAgICAgIGlzQ2hlY2tzUGFzc2VkID0gdHJ1ZTtcbiAgICAgICAgICBzcG90Y2hlY2tTdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoeyBpc0NoZWNrc1Bhc3NlZCB9KTtcbiAgICAgICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNTcG90UGFzc2VkICYmICFpc0NoZWNrc1Bhc3NlZCAmJiByZXNwb25zZUpzb24/Lm11bHRpU2hvdyAhPSBudWxsKSB7XG4gICAgICAgIGlmIChyZXNwb25zZUpzb24ubXVsdGlTaG93KSB7XG4gICAgICAgICAgc3BvdGNoZWNrU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHsgY3VzdG9tRXZlbnRzU3BvdENoZWNrczogcmVzcG9uc2VKc29uLnJlc3VsdGFudFNwb3RDaGVjayB9KTtcblxuICAgICAgICAgIGxldCBzZWxlY3RlZFNwb3RDaGVjayA9IHt9O1xuICAgICAgICAgIGxldCBtaW5EZWxheTogbnVtYmVyID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuXG4gICAgICAgICAgZm9yIChjb25zdCBzcG90Y2hlY2sgb2YgcmVzcG9uc2VKc29uLnJlc3VsdGFudFNwb3RDaGVjaykge1xuICAgICAgICAgICAgY29uc3QgY2hlY2tzID0gc3BvdGNoZWNrPy5jaGVja3MgfHwge307XG4gICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoY2hlY2tzKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgbWluRGVsYXkgPSAwO1xuICAgICAgICAgICAgICBzZWxlY3RlZFNwb3RDaGVjayA9IHNwb3RjaGVjaztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tzLmFmdGVyRGVsYXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBkZWxheSA9IHBhcnNlRmxvYXQoY2hlY2tzLmFmdGVyRGVsYXkpO1xuICAgICAgICAgICAgICBpZiAobWluRGVsYXkgPiBkZWxheSkge1xuICAgICAgICAgICAgICAgIG1pbkRlbGF5ID0gZGVsYXk7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRTcG90Q2hlY2sgPSBzcG90Y2hlY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2VsZWN0ZWRTcG90Q2hlY2spLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHNwb3RjaGVja1N0YXRlU2VydmljZS5zZXRTdGF0ZSh7IGFmdGVyRGVsYXk6IG1pbkRlbGF5IH0pO1xuICAgICAgICAgICAgY29uc3QgYXBwZWFyYW5jZV9yZXNwb25zZSA9IGF3YWl0IHNldEFwcGVhcmFuY2UoXG4gICAgICAgICAgICAgIHNlbGVjdGVkU3BvdENoZWNrLFxuICAgICAgICAgICAgICBzY3JlZW4sXG4gICAgICAgICAgICAgIHN0YXRlLmRvbWFpbk5hbWUsXG4gICAgICAgICAgICAgIHRyYWNlSWQsXG4gICAgICAgICAgICAgIHZhcmlhYmxlc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChhcHBlYXJhbmNlX3Jlc3BvbnNlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZUpzb24/LnJlYXNvbj8udG9TdHJpbmcoKSA/PyAnU3BvdGNoZWNrIGNvbmRpdGlvbnMgbm90IG1ldCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlY2VpdmVkIHN0YXR1cyBjb2RlICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHJldHVybiB7IHZhbGlkOiBmYWxzZSwgZXJyb3I6IGVycm9yLm1lc3NhZ2UgfTtcbiAgfVxufTtcblxuXG5leHBvcnQgY29uc3Qgc2VuZFRyYWNrRXZlbnRSZXF1ZXN0ID0gYXN5bmMgKHsgc2NyZWVuLCBldmVudCB9OiBUcmFja0V2ZW50UHJvcHMpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBpbnRNYXggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG4gICAgY29uc3Qgc3RhdGUgPSBnZXRTcG90Y2hlY2tTdGF0ZVNlcnZpY2UoKS5nZXRTdGF0ZSgpO1xuICAgIGxldCBzZWxlY3RlZFNwb3RDaGVja0lEID0gaW50TWF4O1xuICAgIGxldCB7IGlzU3BvdFBhc3NlZCB9ID0gc3RhdGU7XG4gICAgaWYgKHN0YXRlLmN1c3RvbUV2ZW50c1Nwb3RDaGVja3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZXZlbnRLZXlzID0gT2JqZWN0LmtleXMoZXZlbnQpO1xuICAgICAgZm9yIChjb25zdCBzcG90Q2hlY2sgb2Ygc3RhdGUuY3VzdG9tRXZlbnRzU3BvdENoZWNrcykge1xuICAgICAgICBjb25zdCBjaGVja3MgPSBzcG90Q2hlY2s/LlsnY2hlY2tzJ10gPz8gc3BvdENoZWNrPy5bJ2NoZWNrQ29uZGl0aW9uJ107XG5cbiAgICAgICAgaWYgKGNoZWNrcykge1xuICAgICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gY2hlY2tzPy5jdXN0b21FdmVudDtcblxuICAgICAgICAgIGlmIChldmVudEtleXMuaW5jbHVkZXMoY3VzdG9tRXZlbnQ/LmV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkU3BvdENoZWNrSUQgPVxuICAgICAgICAgICAgICBzcG90Q2hlY2s/LlsnaWQnXSA/PyBzcG90Q2hlY2s/Llsnc3BvdENoZWNrSWQnXSA/PyBpbnRNYXg7XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFNwb3RDaGVja0lEICE9PSBpbnRNYXgpIHtcbiAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgICAgICAgICBzY3JlZW5OYW1lOiBzY3JlZW4sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiBzdGF0ZS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgdXNlckRldGFpbHM6IHN0YXRlLnNjcmVlbndpc2VVc2VyRGV0YWlsc1tzY3JlZW5dIHx8IHt9LFxuICAgICAgICAgICAgICAgIHZpc2l0b3I6IHtcbiAgICAgICAgICAgICAgICAgIGRldmljZVR5cGU6ICdNT0JJTEUnLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW5nU3lzdGVtOiBhd2FpdCBnZXRPUygpLFxuICAgICAgICAgICAgICAgICAgc2NyZWVuUmVzb2x1dGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnREYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICB0aW1lem9uZTogSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc3BvdENoZWNrSWQ6IHNlbGVjdGVkU3BvdENoZWNrSUQsXG4gICAgICAgICAgICAgICAgZXZlbnRUcmlnZ2VyOiB7XG4gICAgICAgICAgICAgICAgICBjdXN0b21FdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0cmFjZUlkOiBzdGF0ZS50cmFjZUlkLFxuICAgICAgICAgICAgICAgIGN1c3RvbVByb3BlcnRpZXM6IHN0YXRlLmN1c3RvbVByb3BlcnRpZXMsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgY29uc3QgdXJsID0gYGh0dHBzOi8vJHtzdGF0ZS5kb21haW5OYW1lfS9hcGkvaW50ZXJuYWwvc3BvdGNoZWNrL3dpZGdldC8ke3N0YXRlLnRhcmdldFRva2VufS9ldmVudFRyaWdnZXI/aXNTcG90Q2hlY2s9dHJ1ZWA7XG5cbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3Q8YW55Pih1cmwsIHBheWxvYWQsIHtcbiAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlSnNvbiA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2VKc29uPy5zaG93ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlSnNvbj8uc2hvdykge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFwcGVhcmFuY2VfcmVzcG9uc2UgPSBhd2FpdCBzZXRBcHBlYXJhbmNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VKc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NyZWVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuZG9tYWluTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnRyYWNlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS52YXJpYWJsZXNcbiAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGFwcGVhcmFuY2VfcmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFNwb3RjaGVja1N0YXRlU2VydmljZSgpLnNldFN0YXRlKHsgaXNTcG90UGFzc2VkOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNTcG90UGFzc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmICghaXNTcG90UGFzc2VkICYmIHJlc3BvbnNlSnNvbj8uZXZlbnRTaG93KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZUpzb24/LmNoZWNrQ29uZGl0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGVja0NvbmRpdGlvbiA9IHJlc3BvbnNlSnNvbj8uY2hlY2tDb25kaXRpb247XG4gICAgICAgICAgICAgICAgICAgICAgZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCkuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJEZWxheTogY2hlY2tDb25kaXRpb24/LmFmdGVyRGVsYXkgPz8gMCxcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja0NvbmRpdGlvbj8uY3VzdG9tRXZlbnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U3BvdGNoZWNrU3RhdGVTZXJ2aWNlKCkuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlckRlbGF5OiBjaGVja0NvbmRpdGlvbj8uY3VzdG9tRXZlbnQ/LmRlbGF5SW5TZWNvbmRzID8/IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhcHBlYXJhbmNlX3Jlc3BvbnNlID0gYXdhaXQgc2V0QXBwZWFyYW5jZShcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZUpzb24sXG4gICAgICAgICAgICAgICAgICAgICAgc2NyZWVuLFxuICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmRvbWFpbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGUudHJhY2VJZCxcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS52YXJpYWJsZXNcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYXBwZWFyYW5jZV9yZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlSnNvbj8ucmVhc29uPy50b1N0cmluZygpID8/ICdFdmVudCBjb25kaXRpb25zIG5vdCBtZXQnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWNlaXZlZCBzdGF0dXMgY29kZSAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignJyk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlLCBlcnJvcjogZXJyb3IubWVzc2FnZSB9O1xuICB9XG59OyJdfQ==
|