@qbs-origin/origin-form 0.8.2 → 0.8.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/esm2022/lib/formly/formly-paragraph/formly-paragraph.component.mjs +16 -2
- package/esm2022/lib/model-population.helper.mjs +115 -3
- package/esm2022/lib/models/application.model.mjs +1 -1
- package/esm2022/lib/models/forms.model.mjs +24 -21
- package/esm2022/lib/origin-form.component.mjs +205 -141
- package/esm2022/lib/services/applicationData.service.mjs +15 -8
- package/fesm2022/qbs-origin-origin-form.mjs +367 -167
- package/fesm2022/qbs-origin-origin-form.mjs.map +1 -1
- package/lib/formly/formly-paragraph/formly-paragraph.component.d.ts +1 -0
- package/lib/models/application.model.d.ts +3 -3
- package/lib/models/forms.model.d.ts +3 -0
- package/lib/origin-form.component.d.ts +1 -2
- package/lib/services/applicationData.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -43,7 +43,7 @@ export class ApplicationDataService {
|
|
|
43
43
|
const payload = {
|
|
44
44
|
...appData,
|
|
45
45
|
initFlowValues: appData.initFlowValues,
|
|
46
|
-
fillData: appData.fillData ? JSON.stringify(appData.fillData) : undefined
|
|
46
|
+
fillData: appData.fillData ? JSON.stringify(appData.fillData) : undefined
|
|
47
47
|
};
|
|
48
48
|
return this.http.post(saveUrl, payload);
|
|
49
49
|
}
|
|
@@ -54,7 +54,7 @@ export class ApplicationDataService {
|
|
|
54
54
|
appDataId: appDataId,
|
|
55
55
|
stepData: JSON.stringify(currentStep),
|
|
56
56
|
withNextStep: true,
|
|
57
|
-
selectedOfferId: selectedOfferId
|
|
57
|
+
selectedOfferId: selectedOfferId
|
|
58
58
|
};
|
|
59
59
|
return this.http.post(saveUrl, payload);
|
|
60
60
|
}
|
|
@@ -64,9 +64,16 @@ export class ApplicationDataService {
|
|
|
64
64
|
appDataId;
|
|
65
65
|
return this.http.get(getUrl);
|
|
66
66
|
}
|
|
67
|
-
validateApi(apiValidateRequest) {
|
|
67
|
+
async validateApi(apiValidateRequest) {
|
|
68
68
|
const url = this.configService.readConfig().baseUrlBusiness + '/ApiRequest/dorequest';
|
|
69
|
-
|
|
69
|
+
try {
|
|
70
|
+
const response = await firstValueFrom(this.http.post(url, apiValidateRequest));
|
|
71
|
+
return response === true;
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.warn('API validation request failed', error);
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
70
77
|
}
|
|
71
78
|
doDocumentRequest(apiValidateRequest) {
|
|
72
79
|
const url = this.configService.readConfig().baseUrlBusiness +
|
|
@@ -85,7 +92,7 @@ export class ApplicationDataService {
|
|
|
85
92
|
makeProcessApiCall(appDataID) {
|
|
86
93
|
const url = this.configService.readConfig().baseUrlInfrastructure + '/Process';
|
|
87
94
|
return this.http.post(url, { appId: appDataID }).pipe(map((response) => {
|
|
88
|
-
console.log('response from makeProcessApiCall', response), response;
|
|
95
|
+
(console.log('response from makeProcessApiCall', response), response);
|
|
89
96
|
}), catchError((error) => of({ ...error, body: false })));
|
|
90
97
|
}
|
|
91
98
|
getProcessStatus(appDataID) {
|
|
@@ -105,7 +112,7 @@ export class ApplicationDataService {
|
|
|
105
112
|
return this.http.post(url, {
|
|
106
113
|
appDataId: appDataId,
|
|
107
114
|
stepId: stepId,
|
|
108
|
-
setNextStep: setNextStep
|
|
115
|
+
setNextStep: setNextStep
|
|
109
116
|
});
|
|
110
117
|
}
|
|
111
118
|
async setCurrentStep(appDataId, stepId) {
|
|
@@ -133,7 +140,7 @@ export class ApplicationDataService {
|
|
|
133
140
|
'/appdata/changeLanguage';
|
|
134
141
|
const payload = {
|
|
135
142
|
appDataId: appDataUuid,
|
|
136
|
-
languageIso: languageISOCode
|
|
143
|
+
languageIso: languageISOCode
|
|
137
144
|
};
|
|
138
145
|
return this.http.post(url, payload);
|
|
139
146
|
}
|
|
@@ -143,4 +150,4 @@ export class ApplicationDataService {
|
|
|
143
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApplicationDataService, decorators: [{
|
|
144
151
|
type: Injectable
|
|
145
152
|
}], ctorParameters: () => [{ type: i1.AuthHttpService }] });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uRGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFrQnpELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsSUFBcUI7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFFekMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFGTSxDQUFDO0lBSTdDLGVBQWUsQ0FDYixrQkFBaUQ7UUFFakQsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlO1lBQy9DLDBCQUEwQixDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUNmLHdCQUF5RDtRQUV6RCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0MsNEJBQTRCLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFVBQStDO1FBRS9DLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFB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QUc7WUFDZCxTQUFTLEVBQUUsV0FBVztZQUN0QixXQUFXLEVBQUUsZUFBZTtTQUM3QixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0FsTlUsc0JBQXNCO21IQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpcnN0VmFsdWVGcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3RoZXJzL2NvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQXBpRG9jdW1lbnRSZXF1ZXN0LFxuICBBcGlWYWxpZGF0ZVJlcXVlc3QsXG4gIEFwcGxpY2F0aW9uRW5yb2xDYXJkRHRvLFxuICBBcHBsaWNhdGlvbkdlbmVyYXRlRG9jdW1lbnRzRHRvLFxuICBBcHBsaWNhdGlvbkdldEdlbmVyYXRlZERvY3VtZW50c0R0byxcbiAgQXBwbGljYXRpb25VcGxvYWREb2N1bWVudHNEdG8sXG4gIENvbnZlcnREb2N1bWVudFRvUGRmUmVxdWVzdCxcbiAgQ29udmVydERvY3VtZW50VG9QZGZSZXNwb25zZSxcbiAgR2VuZXJhdGVkRG9jdW1lbnQsXG4gIE1ha2VBY3Rpb25SZXF1ZXN0LFxuICBTY2FuSWREdG8sXG59IGZyb20gJy4uL21vZGVscy9hcHBsaWNhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBBcHBEYXRhIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm1zLm1vZGVsJztcbmltcG9ydCB7IEF1dGhIdHRwU2VydmljZSB9IGZyb20gJy4vYXV0aC1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25EYXRhU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogQXV0aEh0dHBTZXJ2aWNlKSB7fVxuXG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQ29uZmlnU2VydmljZSk7XG5cbiAgdXBsb2FkRG9jdW1lbnRzKFxuICAgIHVwbG9hZERvY3VtZW50c0R0bzogQXBwbGljYXRpb25VcGxvYWREb2N1bWVudHNEdG9cbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IGNyZWF0ZVVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvdXBsb2FkRG9jdW1lbnRzJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihjcmVhdGVVcmwsIHVwbG9hZERvY3VtZW50c0R0byk7XG4gIH1cblxuICBnZW5lcmF0ZURvY3VtZW50cyhcbiAgICBnZW5lcmF0ZURvY3VtZW50c0NvbW1hbmQ6IEFwcGxpY2F0aW9uR2VuZXJhdGVEb2N1bWVudHNEdG9cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9hcHBkYXRhL0dlbmVyYXRlRG9jdW1lbnRzJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8c3RyaW5nW10+KHVybCwgZ2VuZXJhdGVEb2N1bWVudHNDb21tYW5kKTtcbiAgfVxuXG4gIGdldEdlbmVyYXRlRG9jdW1lbnRzKFxuICAgIGdldENvbW1hbmQ6IEFwcGxpY2F0aW9uR2V0R2VuZXJhdGVkRG9jdW1lbnRzRHRvXG4gICk6IE9ic2VydmFibGU8R2VuZXJhdGVkRG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvR2V0R2VuZXJhdGVkRG9jdW1lbnRzJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2VuZXJhdGVkRG9jdW1lbnRbXT4odXJsLCBnZXRDb21tYW5kKTtcbiAgfVxuXG4gIGRvd25sb2FkRmlsZShcbiAgICBhcHBEYXRhSWQ6IHN0cmluZyxcbiAgICBkb2NJZDogc3RyaW5nLFxuICAgIGZpbGVOYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgYC9GaWxlU2VydmVyL2Rvd25sb2FkP2FwcERhdGFJZD0ke2FwcERhdGFJZH0mZG9jSWQ9JHtkb2NJZH0mZmlsZU5hbWU9JHtmaWxlTmFtZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0RXh0ZW5kZWQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pO1xuICB9XG5cbiAgc2NhbklkKHNjYW5JZENvbW1hbmQ6IFNjYW5JZER0byk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICsgJy9hcHBkYXRhL1NjYW5JZCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bWJlcj4odXJsLCBzY2FuSWRDb21tYW5kKTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0ZXBzKGFwcERhdGFJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBnZXRVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgYC9hcHBkYXRhL0dldEJ5SWQvJHthcHBEYXRhSWR9YDtcblxuICAgIHZhciBwcm9taXNlID0gdGhpcy5odHRwLmdldDxhbnk+KGdldFVybCkucGlwZShtYXAoKGFwcERhdGEpID0+IGFwcERhdGEpKTtcbiAgICByZXR1cm4gYXdhaXQgZmlyc3RWYWx1ZUZyb20ocHJvbWlzZSk7XG4gIH1cblxuICBzYXZlQXBwKGFwcERhdGE6IEFwcERhdGEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNhdmVVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgKyAnL2FwcGRhdGEvU2F2ZUFwcERhdGEnO1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIC4uLmFwcERhdGEsXG4gICAgICBpbml0Rmxvd1ZhbHVlczogYXBwRGF0YS5pbml0Rmxvd1ZhbHVlcyxcbiAgICAgIGZpbGxEYXRhOiBhcHBEYXRhLmZpbGxEYXRhID8gSlNPTi5zdHJpbmdpZnkoYXBwRGF0YS5maWxsRGF0YSkgOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHNhdmVVcmwsIHBheWxvYWQpO1xuICB9XG5cbiAgc2F2ZVN0ZXAoXG4gICAgYXBwRGF0YUlkOiBzdHJpbmcsXG4gICAgY3VycmVudFN0ZXA6IGFueSxcbiAgICBzZWxlY3RlZE9mZmVySWQ6IGFueSA9IHVuZGVmaW5lZFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNhdmVVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9hcHBkYXRhL1NhdmVBcHBEYXRhU3RlcCc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhSWQsXG4gICAgICBzdGVwRGF0YTogSlNPTi5zdHJpbmdpZnkoY3VycmVudFN0ZXApLFxuICAgICAgd2l0aE5leHRTdGVwOiB0cnVlLFxuICAgICAgc2VsZWN0ZWRPZmZlcklkOiBzZWxlY3RlZE9mZmVySWQsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHNhdmVVcmwsIHBheWxvYWQpO1xuICB9XG5cbiAgZ2V0UHJldmlvdXNTdGVwKGFwcERhdGFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBnZXRVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9hcHBkYXRhL3NldFByZXZpb3VzU3RlcD9hcHBJZD0nICtcbiAgICAgIGFwcERhdGFJZDtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oZ2V0VXJsKTtcbiAgfVxuXG4gIHZhbGlkYXRlQXBpKGFwaVZhbGlkYXRlUmVxdWVzdDogQXBpVmFsaWRhdGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgKyAnL0FwaVJlcXVlc3QvZG9yZXF1ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGFwaVZhbGlkYXRlUmVxdWVzdCk7XG4gIH1cblxuICBkb0RvY3VtZW50UmVxdWVzdChhcGlWYWxpZGF0ZVJlcXVlc3Q6IEFwaURvY3VtZW50UmVxdWVzdCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9BcGlSZXF1ZXN0L2RvRG9jdW1lbnRSZXF1ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGFwaVZhbGlkYXRlUmVxdWVzdCk7XG4gIH1cblxuICBjb252ZXJ0RG9jdW1lbnRUb1BkZihcbiAgICByZXF1ZXN0OiBDb252ZXJ0RG9jdW1lbnRUb1BkZlJlcXVlc3RcbiAgKTogT2JzZXJ2YWJsZTxDb252ZXJ0RG9jdW1lbnRUb1BkZlJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICsgJy9hcHBkYXRhL2NvbnZlcnRUb1BkZic7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENvbnZlcnREb2N1bWVudFRvUGRmUmVzcG9uc2U+KHVybCwgcmVxdWVzdCk7XG4gIH1cblxuICBtYWtlQWN0aW9uQXBpQ2FsbChhY3Rpb25SZXF1ZXN0OiBNYWtlQWN0aW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc29sZS5sb2coJ2FjdGlvblJlcXVlc3QgZnJvbSBtYWtlQWN0aW9uQXBpQ2FsbCcsIGFjdGlvblJlcXVlc3QpO1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvTWFrZUFjdGlvbi9kb2FjdGlvbic7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBhY3Rpb25SZXF1ZXN0KTtcbiAgfVxuXG4gIG1ha2VQcm9jZXNzQXBpQ2FsbChhcHBEYXRhSUQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICsgJy9Qcm9jZXNzJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIHsgYXBwSWQ6IGFwcERhdGFJRCB9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygncmVzcG9uc2UgZnJvbSBtYWtlUHJvY2Vzc0FwaUNhbGwnLCByZXNwb25zZSksIHJlc3BvbnNlO1xuICAgICAgfSksXG5cbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZih7IC4uLmVycm9yLCBib2R5OiBmYWxzZSB9KSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc1N0YXR1cyhhcHBEYXRhSUQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgICcvUHJvY2Vzcy9nZXQtc3RhdHVzP2FwcElkPScgK1xuICAgICAgYXBwRGF0YUlEO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsKTtcbiAgfVxuXG4gIGdldE9mZmVycyhhcHBEYXRhSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgIGAvYXBwZGF0YS9nZXRPZmZlcnMvJHthcHBEYXRhSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBtYWtlU3RhdHVzQXBpQ2FsbChcbiAgICBhcHBEYXRhSWQ6IHN0cmluZyxcbiAgICBzdGVwSWQ6IHN0cmluZyxcbiAgICBzZXROZXh0U3RlcDogYm9vbGVhbiA9IGZhbHNlXG4gICkge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvZG9TdGF0dXNBY3Rpb24nO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhSWQsXG4gICAgICBzdGVwSWQ6IHN0ZXBJZCxcbiAgICAgIHNldE5leHRTdGVwOiBzZXROZXh0U3RlcCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldEN1cnJlbnRTdGVwKGFwcERhdGFJZDogc3RyaW5nLCBzdGVwSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL2FwcGRhdGEvc2V0Q3VycmVudFN0ZXA/YXBwSWQ9JHthcHBEYXRhSWR9JnN0ZXBJZD0ke3N0ZXBJZH1gO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0RXh0ZW5kZWQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXG4gICAgKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBlbnJvbENhcmQoZW5yb2xDYXJkQ29tbWFuZDogQXBwbGljYXRpb25FbnJvbENhcmREdG8pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvYXBwZGF0YS9FbnJvbENhcmQnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxzdHJpbmdbXT4odXJsLCBlbnJvbENhcmRDb21tYW5kKTtcbiAgfVxuXG4gIGdldEVucm9sbWVudFN0YXR1cyhkYXRhVXJsSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgIGAvYXBwZGF0YS9HZXRFbnJvbG1lbnRTdGF0dXMvJHtkYXRhVXJsSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBnZXREYXRhVXJsKGRhdGFVcmxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgYC9EYXRhVVJML0dldEJ5SWQvJHtkYXRhVXJsSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICAgIGNoYW5nZUxhbmd1YWdlKGFwcERhdGFVdWlkOiBzdHJpbmcsIGxhbmd1YWdlSVNPQ29kZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS9jaGFuZ2VMYW5ndWFnZSc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhVXVpZCxcbiAgICAgIGxhbmd1YWdlSXNvOiBsYW5ndWFnZUlTT0NvZGUsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgcGF5bG9hZCk7XG4gIH1cbn1cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2FwcGxpY2F0aW9uRGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFrQnpELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBb0IsSUFBcUI7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFFekMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFGTSxDQUFDO0lBSTdDLGVBQWUsQ0FDYixrQkFBaUQ7UUFFakQsTUFBTSxTQUFTLEdBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlO1lBQy9DLDBCQUEwQixDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sU0FBUyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUNmLHdCQUF5RDtRQUV6RCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0MsNEJBQTRCLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFVBQStDO1FBRS9DLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsZUFBZTtZQUMvQyxnQ0FBZ0MsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzQixHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFlBQVksQ0FDVixTQUFpQixFQUNqQixLQUFhLEVBQ2IsUUFBZ0I7UUFFaEIsTUFBTSxHQUFHLEdBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlO1lBQy9DLGtDQUFrQyxTQUFTLFVBQVUsS0FBSyxhQUFhLFFBQVEsRUFBRSxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUF3QjtRQUM3QixNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFTLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUM5QixNQUFNLE1BQU0sR0FDVixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0Msb0JBQW9CLFNBQVMsRUFBRSxDQUFDO1FBRWxDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDekUsT0FBTyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWdCO1FBQ3RCLE1BQU0sT0FBTyxHQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsZUFBZSxHQUFHLHNCQUFzQixDQUFDO1FBRTNFLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRyxPQUFPO1lBQ1YsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMxRSxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFFBQVEsQ0FDTixTQUFpQixFQUNqQixXQUFnQixFQUNoQixrQkFBdUIsU0FBUztRQUVoQyxNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0MsMEJBQTBCLENBQUM7UUFFN0IsTUFBTSxPQUFPLEdBQUc7WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDckMsWUFBWSxFQUFFLElBQUk7WUFDbEIsZUFBZSxFQUFFLGVBQWU7U0FDakMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlO1lBQy9DLGlDQUFpQztZQUNqQyxTQUFTLENBQUM7UUFFWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLGtCQUFzQztRQUN0RCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQztRQUU1RSxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQ2pELENBQUM7WUFFRixPQUFPLFFBQVEsS0FBSyxJQUFJLENBQUM7UUFDM0IsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxrQkFBc0M7UUFDdEQsTUFBTSxHQUFHLEdBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlO1lBQy9DLCtCQUErQixDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUNsQixPQUFvQztRQUVwQyxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUErQixHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGlCQUFpQixDQUFDLGFBQWdDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkUsTUFBTSxHQUFHLEdBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlLEdBQUcsc0JBQXNCLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQWlCO1FBQ2xDLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsRUFFRixVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ3JELENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsTUFBTSxHQUFHLEdBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUI7WUFDckQsNEJBQTRCO1lBQzVCLFNBQVMsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0Msc0JBQXNCLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGlCQUFpQixDQUNmLFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxjQUF1QixLQUFLO1FBRTVCLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsZUFBZTtZQUMvQyx5QkFBeUIsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRTtZQUM5QixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCLEVBQUUsTUFBYztRQUNwRCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0MsaUNBQWlDLFNBQVMsV0FBVyxNQUFNLEVBQUUsQ0FBQztRQUNoRSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQ3JELENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsU0FBUyxDQUFDLGdCQUF5QztRQUNqRCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFpQjtRQUNsQyxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0MsK0JBQStCLFNBQVMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLGVBQWU7WUFDL0Msb0JBQW9CLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFtQixFQUFFLGVBQXVCO1FBQ3pELE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsZUFBZTtZQUMvQyx5QkFBeUIsQ0FBQztRQUU1QixNQUFNLE9BQU8sR0FBRztZQUNkLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLFdBQVcsRUFBRSxlQUFlO1NBQzdCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDOytHQTVOVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlyc3RWYWx1ZUZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9vdGhlcnMvY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBpRG9jdW1lbnRSZXF1ZXN0LFxuICBBcGlWYWxpZGF0ZVJlcXVlc3QsXG4gIEFwcGxpY2F0aW9uRW5yb2xDYXJkRHRvLFxuICBBcHBsaWNhdGlvbkdlbmVyYXRlRG9jdW1lbnRzRHRvLFxuICBBcHBsaWNhdGlvbkdldEdlbmVyYXRlZERvY3VtZW50c0R0byxcbiAgQXBwbGljYXRpb25VcGxvYWREb2N1bWVudHNEdG8sXG4gIENvbnZlcnREb2N1bWVudFRvUGRmUmVxdWVzdCxcbiAgQ29udmVydERvY3VtZW50VG9QZGZSZXNwb25zZSxcbiAgR2VuZXJhdGVkRG9jdW1lbnQsXG4gIE1ha2VBY3Rpb25SZXF1ZXN0LFxuICBTY2FuSWREdG9cbn0gZnJvbSAnLi4vbW9kZWxzL2FwcGxpY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IEFwcERhdGEgfSBmcm9tICcuLi9tb2RlbHMvZm9ybXMubW9kZWwnO1xuaW1wb3J0IHsgQXV0aEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRhdGFTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBBdXRoSHR0cFNlcnZpY2UpIHt9XG5cbiAgY29uZmlnU2VydmljZSA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcblxuICB1cGxvYWREb2N1bWVudHMoXG4gICAgdXBsb2FkRG9jdW1lbnRzRHRvOiBBcHBsaWNhdGlvblVwbG9hZERvY3VtZW50c0R0b1xuICApOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgY3JlYXRlVXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS91cGxvYWREb2N1bWVudHMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGNyZWF0ZVVybCwgdXBsb2FkRG9jdW1lbnRzRHRvKTtcbiAgfVxuXG4gIGdlbmVyYXRlRG9jdW1lbnRzKFxuICAgIGdlbmVyYXRlRG9jdW1lbnRzQ29tbWFuZDogQXBwbGljYXRpb25HZW5lcmF0ZURvY3VtZW50c0R0b1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvR2VuZXJhdGVEb2N1bWVudHMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxzdHJpbmdbXT4odXJsLCBnZW5lcmF0ZURvY3VtZW50c0NvbW1hbmQpO1xuICB9XG5cbiAgZ2V0R2VuZXJhdGVEb2N1bWVudHMoXG4gICAgZ2V0Q29tbWFuZDogQXBwbGljYXRpb25HZXRHZW5lcmF0ZWREb2N1bWVudHNEdG9cbiAgKTogT2JzZXJ2YWJsZTxHZW5lcmF0ZWREb2N1bWVudFtdPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS9HZXRHZW5lcmF0ZWREb2N1bWVudHMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZW5lcmF0ZWREb2N1bWVudFtdPih1cmwsIGdldENvbW1hbmQpO1xuICB9XG5cbiAgZG93bmxvYWRGaWxlKFxuICAgIGFwcERhdGFJZDogc3RyaW5nLFxuICAgIGRvY0lkOiBzdHJpbmcsXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL0ZpbGVTZXJ2ZXIvZG93bmxvYWQ/YXBwRGF0YUlkPSR7YXBwRGF0YUlkfSZkb2NJZD0ke2RvY0lkfSZmaWxlTmFtZT0ke2ZpbGVOYW1lfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXRFeHRlbmRlZCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSk7XG4gIH1cblxuICBzY2FuSWQoc2NhbklkQ29tbWFuZDogU2NhbklkRHRvKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgKyAnL2FwcGRhdGEvU2NhbklkJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVtYmVyPih1cmwsIHNjYW5JZENvbW1hbmQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RlcHMoYXBwRGF0YUlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGdldFVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL2FwcGRhdGEvR2V0QnlJZC8ke2FwcERhdGFJZH1gO1xuXG4gICAgdmFyIHByb21pc2UgPSB0aGlzLmh0dHAuZ2V0PGFueT4oZ2V0VXJsKS5waXBlKG1hcCgoYXBwRGF0YSkgPT4gYXBwRGF0YSkpO1xuICAgIHJldHVybiBhd2FpdCBmaXJzdFZhbHVlRnJvbShwcm9taXNlKTtcbiAgfVxuXG4gIHNhdmVBcHAoYXBwRGF0YTogQXBwRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2F2ZVVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvYXBwZGF0YS9TYXZlQXBwRGF0YSc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgLi4uYXBwRGF0YSxcbiAgICAgIGluaXRGbG93VmFsdWVzOiBhcHBEYXRhLmluaXRGbG93VmFsdWVzLFxuICAgICAgZmlsbERhdGE6IGFwcERhdGEuZmlsbERhdGEgPyBKU09OLnN0cmluZ2lmeShhcHBEYXRhLmZpbGxEYXRhKSA6IHVuZGVmaW5lZFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihzYXZlVXJsLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHNhdmVTdGVwKFxuICAgIGFwcERhdGFJZDogc3RyaW5nLFxuICAgIGN1cnJlbnRTdGVwOiBhbnksXG4gICAgc2VsZWN0ZWRPZmZlcklkOiBhbnkgPSB1bmRlZmluZWRcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzYXZlVXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS9TYXZlQXBwRGF0YVN0ZXAnO1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIGFwcERhdGFJZDogYXBwRGF0YUlkLFxuICAgICAgc3RlcERhdGE6IEpTT04uc3RyaW5naWZ5KGN1cnJlbnRTdGVwKSxcbiAgICAgIHdpdGhOZXh0U3RlcDogdHJ1ZSxcbiAgICAgIHNlbGVjdGVkT2ZmZXJJZDogc2VsZWN0ZWRPZmZlcklkXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHNhdmVVcmwsIHBheWxvYWQpO1xuICB9XG5cbiAgZ2V0UHJldmlvdXNTdGVwKGFwcERhdGFJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBnZXRVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgJy9hcHBkYXRhL3NldFByZXZpb3VzU3RlcD9hcHBJZD0nICtcbiAgICAgIGFwcERhdGFJZDtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oZ2V0VXJsKTtcbiAgfVxuXG4gIGFzeW5jIHZhbGlkYXRlQXBpKGFwaVZhbGlkYXRlUmVxdWVzdDogQXBpVmFsaWRhdGVSZXF1ZXN0KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICsgJy9BcGlSZXF1ZXN0L2RvcmVxdWVzdCc7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odXJsLCBhcGlWYWxpZGF0ZVJlcXVlc3QpXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgPT09IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybignQVBJIHZhbGlkYXRpb24gcmVxdWVzdCBmYWlsZWQnLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZG9Eb2N1bWVudFJlcXVlc3QoYXBpVmFsaWRhdGVSZXF1ZXN0OiBBcGlEb2N1bWVudFJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvQXBpUmVxdWVzdC9kb0RvY3VtZW50UmVxdWVzdCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBhcGlWYWxpZGF0ZVJlcXVlc3QpO1xuICB9XG5cbiAgY29udmVydERvY3VtZW50VG9QZGYoXG4gICAgcmVxdWVzdDogQ29udmVydERvY3VtZW50VG9QZGZSZXF1ZXN0XG4gICk6IE9ic2VydmFibGU8Q29udmVydERvY3VtZW50VG9QZGZSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArICcvYXBwZGF0YS9jb252ZXJ0VG9QZGYnO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDb252ZXJ0RG9jdW1lbnRUb1BkZlJlc3BvbnNlPih1cmwsIHJlcXVlc3QpO1xuICB9XG5cbiAgbWFrZUFjdGlvbkFwaUNhbGwoYWN0aW9uUmVxdWVzdDogTWFrZUFjdGlvblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnNvbGUubG9nKCdhY3Rpb25SZXF1ZXN0IGZyb20gbWFrZUFjdGlvbkFwaUNhbGwnLCBhY3Rpb25SZXF1ZXN0KTtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgKyAnL01ha2VBY3Rpb24vZG9hY3Rpb24nO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgYWN0aW9uUmVxdWVzdCk7XG4gIH1cblxuICBtYWtlUHJvY2Vzc0FwaUNhbGwoYXBwRGF0YUlEOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArICcvUHJvY2Vzcyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCB7IGFwcElkOiBhcHBEYXRhSUQgfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgKGNvbnNvbGUubG9nKCdyZXNwb25zZSBmcm9tIG1ha2VQcm9jZXNzQXBpQ2FsbCcsIHJlc3BvbnNlKSwgcmVzcG9uc2UpO1xuICAgICAgfSksXG5cbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZih7IC4uLmVycm9yLCBib2R5OiBmYWxzZSB9KSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvY2Vzc1N0YXR1cyhhcHBEYXRhSUQ6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgICcvUHJvY2Vzcy9nZXQtc3RhdHVzP2FwcElkPScgK1xuICAgICAgYXBwRGF0YUlEO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsKTtcbiAgfVxuXG4gIGdldE9mZmVycyhhcHBEYXRhSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgIGAvYXBwZGF0YS9nZXRPZmZlcnMvJHthcHBEYXRhSWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBtYWtlU3RhdHVzQXBpQ2FsbChcbiAgICBhcHBEYXRhSWQ6IHN0cmluZyxcbiAgICBzdGVwSWQ6IHN0cmluZyxcbiAgICBzZXROZXh0U3RlcDogYm9vbGVhbiA9IGZhbHNlXG4gICkge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICAnL2FwcGRhdGEvZG9TdGF0dXNBY3Rpb24nO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhSWQsXG4gICAgICBzdGVwSWQ6IHN0ZXBJZCxcbiAgICAgIHNldE5leHRTdGVwOiBzZXROZXh0U3RlcFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0Q3VycmVudFN0ZXAoYXBwRGF0YUlkOiBzdHJpbmcsIHN0ZXBJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgIGAvYXBwZGF0YS9zZXRDdXJyZW50U3RlcD9hcHBJZD0ke2FwcERhdGFJZH0mc3RlcElkPSR7c3RlcElkfWA7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5nZXRFeHRlbmRlZCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSlcbiAgICApO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIGVucm9sQ2FyZChlbnJvbENhcmRDb21tYW5kOiBBcHBsaWNhdGlvbkVucm9sQ2FyZER0byk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICsgJy9hcHBkYXRhL0Vucm9sQ2FyZCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZ1tdPih1cmwsIGVucm9sQ2FyZENvbW1hbmQpO1xuICB9XG5cbiAgZ2V0RW5yb2xtZW50U3RhdHVzKGRhdGFVcmxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsQnVzaW5lc3MgK1xuICAgICAgYC9hcHBkYXRhL0dldEVucm9sbWVudFN0YXR1cy8ke2RhdGFVcmxJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsKTtcbiAgfVxuXG4gIGdldERhdGFVcmwoZGF0YVVybElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxCdXNpbmVzcyArXG4gICAgICBgL0RhdGFVUkwvR2V0QnlJZC8ke2RhdGFVcmxJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsKTtcbiAgfVxuXG4gIGNoYW5nZUxhbmd1YWdlKGFwcERhdGFVdWlkOiBzdHJpbmcsIGxhbmd1YWdlSVNPQ29kZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEJ1c2luZXNzICtcbiAgICAgICcvYXBwZGF0YS9jaGFuZ2VMYW5ndWFnZSc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgYXBwRGF0YUlkOiBhcHBEYXRhVXVpZCxcbiAgICAgIGxhbmd1YWdlSXNvOiBsYW5ndWFnZUlTT0NvZGVcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBwYXlsb2FkKTtcbiAgfVxufVxuIl19
|