@adlfe/campaign-management-library 2.11.1 → 2.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adlfe-campaign-management-library.d.ts +14 -9
- package/adlfe-campaign-management-library.metadata.json +1 -1
- package/bundles/adlfe-campaign-management-library.umd.js +372 -109
- package/bundles/adlfe-campaign-management-library.umd.js.map +1 -1
- package/bundles/adlfe-campaign-management-library.umd.min.js +1 -1
- package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -1
- package/esm2015/adlfe-campaign-management-library.js +15 -10
- package/esm2015/environments/environment.js +3 -3
- package/esm2015/lib/campaign-management/campaign-management.module.js +4 -2
- package/esm2015/lib/campaign-management/components/input-numeric/input-numeric.component.js +113 -0
- package/esm2015/lib/campaign-management/components/input-numeric/input-numeric.module.js +18 -0
- package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +12 -2
- package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +45 -43
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +64 -5
- package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +3 -3
- package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +45 -41
- package/esm2015/lib/campaign-management/validators/index.js +12 -0
- package/esm2015/lib/campaign-management/validators/max.validator.js +14 -0
- package/esm2015/lib/campaign-management/validators/min.validator.js +14 -0
- package/esm2015/lib/campaign-management/validators/required.validator.js +10 -0
- package/esm2015/lib/core/const/constants.const.js +6 -6
- package/esm2015/lib/core/const/validation-message.const.js +5 -2
- package/esm2015/public-api.js +1 -6
- package/esm5/adlfe-campaign-management-library.js +15 -10
- package/esm5/environments/environment.js +3 -3
- package/esm5/lib/campaign-management/campaign-management.module.js +4 -2
- package/esm5/lib/campaign-management/components/input-numeric/input-numeric.component.js +127 -0
- package/esm5/lib/campaign-management/components/input-numeric/input-numeric.module.js +21 -0
- package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +12 -2
- package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +44 -40
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +68 -5
- package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +3 -3
- package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +45 -41
- package/esm5/lib/campaign-management/validators/index.js +12 -0
- package/esm5/lib/campaign-management/validators/max.validator.js +14 -0
- package/esm5/lib/campaign-management/validators/min.validator.js +14 -0
- package/esm5/lib/campaign-management/validators/required.validator.js +10 -0
- package/esm5/lib/core/const/constants.const.js +6 -6
- package/esm5/lib/core/const/validation-message.const.js +5 -2
- package/esm5/public-api.js +1 -6
- package/fesm2015/adlfe-campaign-management-library.js +419 -179
- package/fesm2015/adlfe-campaign-management-library.js.map +1 -1
- package/fesm5/adlfe-campaign-management-library.js +439 -176
- package/fesm5/adlfe-campaign-management-library.js.map +1 -1
- package/lib/campaign-management/components/input-numeric/input-numeric.component.d.ts +30 -0
- package/lib/campaign-management/components/input-numeric/input-numeric.module.d.ts +2 -0
- package/lib/campaign-management/models/general-information-wa-req.model.d.ts +3 -0
- package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +7 -0
- package/lib/campaign-management/validators/index.d.ts +8 -0
- package/lib/campaign-management/validators/max.validator.d.ts +2 -0
- package/lib/campaign-management/validators/min.validator.d.ts +2 -0
- package/lib/campaign-management/validators/required.validator.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +0 -5
|
@@ -35,7 +35,7 @@ let PendingApprovalDialogViewComponent = class PendingApprovalDialogViewComponen
|
|
|
35
35
|
const subs = this.apiAdapterService
|
|
36
36
|
.executeApiRequest([], `/campaign/${(_d = (_c = this.getCampaignStorage) === null || _c === void 0 ? void 0 : _c.generalInformation) === null || _d === void 0 ? void 0 : _d.id}`, 'GET')
|
|
37
37
|
.subscribe((resp) => {
|
|
38
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60;
|
|
38
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67;
|
|
39
39
|
if (!resp)
|
|
40
40
|
return;
|
|
41
41
|
const generalInformation = {
|
|
@@ -43,63 +43,65 @@ let PendingApprovalDialogViewComponent = class PendingApprovalDialogViewComponen
|
|
|
43
43
|
medium: (_b = resp.data) === null || _b === void 0 ? void 0 : _b.platform,
|
|
44
44
|
channel: ['image', 'video', 'document'].includes((_c = resp.data) === null || _c === void 0 ? void 0 : _c.type)
|
|
45
45
|
? 'MEDIA'
|
|
46
|
-
: (
|
|
47
|
-
|
|
46
|
+
: ((_d = resp.data) === null || _d === void 0 ? void 0 : _d.isDirectSend) ? 'utility'
|
|
47
|
+
: (_f = (_e = resp.data) === null || _e === void 0 ? void 0 : _e.type) === null || _f === void 0 ? void 0 : _f.toUpperCase(),
|
|
48
|
+
media: (_h = (_g = resp.data) === null || _g === void 0 ? void 0 : _g.type) === null || _h === void 0 ? void 0 : _h.toUpperCase(),
|
|
49
|
+
isPrevTemplate: (_k = (_j = resp) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.isPrevTemplate,
|
|
50
|
+
templateName: (_m = (_l = resp) === null || _l === void 0 ? void 0 : _l.data) === null || _m === void 0 ? void 0 : _m.templateName,
|
|
51
|
+
ttl: (_p = (_o = resp) === null || _o === void 0 ? void 0 : _o.data) === null || _p === void 0 ? void 0 : _p.ttlSeconds,
|
|
48
52
|
from: {
|
|
49
|
-
id: (
|
|
50
|
-
name: (
|
|
51
|
-
platform: (
|
|
52
|
-
clientId: (
|
|
53
|
-
clientName: (
|
|
54
|
-
accountNo: (
|
|
55
|
-
wabaId: (
|
|
53
|
+
id: (_q = resp.data) === null || _q === void 0 ? void 0 : _q.accountId,
|
|
54
|
+
name: (_r = resp.data) === null || _r === void 0 ? void 0 : _r.accountName,
|
|
55
|
+
platform: (_s = resp.data) === null || _s === void 0 ? void 0 : _s.platform,
|
|
56
|
+
clientId: (_t = resp.data) === null || _t === void 0 ? void 0 : _t.clientId,
|
|
57
|
+
clientName: (_u = resp.data) === null || _u === void 0 ? void 0 : _u.clientName,
|
|
58
|
+
accountNo: (_v = resp.data) === null || _v === void 0 ? void 0 : _v.accountNo,
|
|
59
|
+
wabaId: (_x = (_w = resp.data) === null || _w === void 0 ? void 0 : _w.wabaId, (_x !== null && _x !== void 0 ? _x : '')),
|
|
56
60
|
},
|
|
57
|
-
text: (
|
|
58
|
-
targetURL: (
|
|
59
|
-
paramHeader: (
|
|
60
|
-
paramBody: (
|
|
61
|
-
paramButton: (
|
|
62
|
-
otpValue: (
|
|
63
|
-
...(_20 = (_19 = (_18 = (_17 = resp.data) === null || _17 === void 0 ? void 0 : _17.details) === null || _18 === void 0 ? void 0 : _18.template) === null || _19 === void 0 ? void 0 : _19.data, (_20 !== null && _20 !== void 0 ? _20 : [])),
|
|
64
|
-
]) === null || _21 === void 0 ? void 0 : _21.pop(),
|
|
61
|
+
text: (_z = (_y = resp.data) === null || _y === void 0 ? void 0 : _y.details) === null || _z === void 0 ? void 0 : _z.text,
|
|
62
|
+
targetURL: (_11 = (_7 = (_3 = (_2 = (_1 = (_0 = resp.data) === null || _0 === void 0 ? void 0 : _0.details) === null || _1 === void 0 ? void 0 : _1.image) === null || _2 === void 0 ? void 0 : _2.url, (_3 !== null && _3 !== void 0 ? _3 : (_6 = (_5 = (_4 = resp.data) === null || _4 === void 0 ? void 0 : _4.details) === null || _5 === void 0 ? void 0 : _5.document) === null || _6 === void 0 ? void 0 : _6.url)), (_7 !== null && _7 !== void 0 ? _7 : (_10 = (_9 = (_8 = resp.data) === null || _8 === void 0 ? void 0 : _8.details) === null || _9 === void 0 ? void 0 : _9.video) === null || _10 === void 0 ? void 0 : _10.url)), (_11 !== null && _11 !== void 0 ? _11 : (_14 = (_13 = (_12 = resp.data) === null || _12 === void 0 ? void 0 : _12.details) === null || _13 === void 0 ? void 0 : _13.template) === null || _14 === void 0 ? void 0 : _14.headerURL)),
|
|
63
|
+
paramHeader: (_17 = (_16 = (_15 = resp.data) === null || _15 === void 0 ? void 0 : _15.details) === null || _16 === void 0 ? void 0 : _16.template) === null || _17 === void 0 ? void 0 : _17.header,
|
|
64
|
+
paramBody: (_20 = (_19 = (_18 = resp.data) === null || _18 === void 0 ? void 0 : _18.details) === null || _19 === void 0 ? void 0 : _19.template) === null || _20 === void 0 ? void 0 : _20.data,
|
|
65
|
+
paramButton: (_23 = (_22 = (_21 = resp.data) === null || _21 === void 0 ? void 0 : _21.details) === null || _22 === void 0 ? void 0 : _22.template) === null || _23 === void 0 ? void 0 : _23.button,
|
|
66
|
+
otpValue: (_28 = [...(_27 = (_26 = (_25 = (_24 = resp.data) === null || _24 === void 0 ? void 0 : _24.details) === null || _25 === void 0 ? void 0 : _25.template) === null || _26 === void 0 ? void 0 : _26.data, (_27 !== null && _27 !== void 0 ? _27 : []))]) === null || _28 === void 0 ? void 0 : _28.pop(),
|
|
65
67
|
template: {
|
|
66
|
-
ID: (
|
|
67
|
-
name: (
|
|
68
|
-
lang: (
|
|
69
|
-
platform: (
|
|
70
|
-
headerURL: (
|
|
68
|
+
ID: (_31 = (_30 = (_29 = resp.data) === null || _29 === void 0 ? void 0 : _29.details) === null || _30 === void 0 ? void 0 : _30.template) === null || _31 === void 0 ? void 0 : _31.id,
|
|
69
|
+
name: (_34 = (_33 = (_32 = resp.data) === null || _32 === void 0 ? void 0 : _32.details) === null || _33 === void 0 ? void 0 : _33.template) === null || _34 === void 0 ? void 0 : _34.name,
|
|
70
|
+
lang: (_37 = (_36 = (_35 = resp.data) === null || _35 === void 0 ? void 0 : _35.details) === null || _36 === void 0 ? void 0 : _36.template) === null || _37 === void 0 ? void 0 : _37.lang,
|
|
71
|
+
platform: (_38 = resp.data) === null || _38 === void 0 ? void 0 : _38.platform,
|
|
72
|
+
headerURL: (_41 = (_40 = (_39 = resp.data) === null || _39 === void 0 ? void 0 : _39.details) === null || _40 === void 0 ? void 0 : _40.template) === null || _41 === void 0 ? void 0 : _41.headerURL,
|
|
71
73
|
header: {
|
|
72
|
-
examples: (
|
|
74
|
+
examples: (_44 = (_43 = (_42 = resp.data) === null || _42 === void 0 ? void 0 : _42.details) === null || _43 === void 0 ? void 0 : _43.template) === null || _44 === void 0 ? void 0 : _44.header,
|
|
73
75
|
},
|
|
74
76
|
body: {
|
|
75
|
-
examples: (
|
|
77
|
+
examples: (_47 = (_46 = (_45 = resp.data) === null || _45 === void 0 ? void 0 : _45.details) === null || _46 === void 0 ? void 0 : _46.template) === null || _47 === void 0 ? void 0 : _47.data,
|
|
76
78
|
},
|
|
77
|
-
buttons: (
|
|
78
|
-
ClientId: (
|
|
79
|
-
ClientName: (
|
|
79
|
+
buttons: (_50 = (_49 = (_48 = resp.data) === null || _48 === void 0 ? void 0 : _48.details) === null || _49 === void 0 ? void 0 : _49.template) === null || _50 === void 0 ? void 0 : _50.button,
|
|
80
|
+
ClientId: (_51 = resp.data) === null || _51 === void 0 ? void 0 : _51.clientId,
|
|
81
|
+
ClientName: (_52 = resp.data) === null || _52 === void 0 ? void 0 : _52.clientName,
|
|
80
82
|
},
|
|
81
|
-
isUpload: ((
|
|
82
|
-
fileId: (
|
|
83
|
+
isUpload: ((_53 = resp.data) === null || _53 === void 0 ? void 0 : _53.fileId) !== '',
|
|
84
|
+
fileId: (_54 = resp.data) === null || _54 === void 0 ? void 0 : _54.fileId,
|
|
83
85
|
};
|
|
84
86
|
localStorage.setItem('telin.campaign', JSON.stringify(Object.assign(Object.assign({}, this.getCampaignStorage), {
|
|
85
87
|
generalInformation: {
|
|
86
|
-
id: (
|
|
88
|
+
id: (_55 = resp.data) === null || _55 === void 0 ? void 0 : _55.id,
|
|
87
89
|
form: generalInformation,
|
|
88
90
|
},
|
|
89
|
-
failover: (
|
|
90
|
-
targetAudience: (
|
|
91
|
+
failover: (_56 = resp.data) === null || _56 === void 0 ? void 0 : _56.failover,
|
|
92
|
+
targetAudience: (_57 = resp.data) === null || _57 === void 0 ? void 0 : _57.targets,
|
|
91
93
|
targetAudienceFile: {
|
|
92
|
-
name: (
|
|
93
|
-
targetURL: (
|
|
94
|
+
name: (_58 = resp.data) === null || _58 === void 0 ? void 0 : _58.fileName,
|
|
95
|
+
targetURL: (_59 = resp.data) === null || _59 === void 0 ? void 0 : _59.targetURL,
|
|
94
96
|
},
|
|
95
97
|
scheduler: {
|
|
96
|
-
schedulerType: ((
|
|
98
|
+
schedulerType: ((_60 = resp.data) === null || _60 === void 0 ? void 0 : _60.scheduleType) === 'MULTI'
|
|
97
99
|
? 'ONE_TIME'
|
|
98
|
-
: (
|
|
99
|
-
startDate: (
|
|
100
|
-
startTime: (
|
|
101
|
-
isRepeat: ((
|
|
102
|
-
delivery: (
|
|
100
|
+
: (_61 = resp.data) === null || _61 === void 0 ? void 0 : _61.scheduleType,
|
|
101
|
+
startDate: (_63 = (_62 = resp.data) === null || _62 === void 0 ? void 0 : _62.startTime) === null || _63 === void 0 ? void 0 : _63.split(' ')[0],
|
|
102
|
+
startTime: (_65 = (_64 = resp.data) === null || _64 === void 0 ? void 0 : _64.startTime) === null || _65 === void 0 ? void 0 : _65.split(' ')[1],
|
|
103
|
+
isRepeat: ((_66 = resp.data) === null || _66 === void 0 ? void 0 : _66.scheduleType) === 'MULTI',
|
|
104
|
+
delivery: (_67 = resp.data) === null || _67 === void 0 ? void 0 : _67.repeat,
|
|
103
105
|
},
|
|
104
106
|
})));
|
|
105
107
|
this.isLoading = false;
|
|
@@ -149,7 +151,7 @@ let PendingApprovalDialogViewComponent = class PendingApprovalDialogViewComponen
|
|
|
149
151
|
this.dialogRef.close();
|
|
150
152
|
}
|
|
151
153
|
ngOnDestroy() {
|
|
152
|
-
this.subscribers.forEach(each => each.unsubscribe());
|
|
154
|
+
this.subscribers.forEach((each) => each.unsubscribe());
|
|
153
155
|
}
|
|
154
156
|
};
|
|
155
157
|
PendingApprovalDialogViewComponent.ctorParameters = () => [
|
|
@@ -165,4 +167,4 @@ PendingApprovalDialogViewComponent = __decorate([
|
|
|
165
167
|
})
|
|
166
168
|
], PendingApprovalDialogViewComponent);
|
|
167
169
|
export { PendingApprovalDialogViewComponent };
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9kaWFsb2cvcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPeEUsSUFBYSxrQ0FBa0MsR0FBL0MsTUFBYSxrQ0FBa0M7SUFPOUMsWUFDUyxTQUEyRCxFQUMzRCxpQkFBMkMsRUFDM0MsTUFBcUI7UUFGckIsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7UUFDM0Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBVHZCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFtQixFQUFFLENBQUM7SUFNdEMsQ0FBQztJQUVKLFFBQVE7O1FBQ1AsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLFlBQVkscUJBQ2hCLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsa0JBQWtCLDBDQUFFLFlBQVksdUNBQUksS0FBSyxFQUFBLENBQUM7SUFDckUsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3JC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LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL21vZGVscy91dGlsL2FwaS1kdG8vcmVzcG9uc2UtbW9kZWxzJztcclxuaW1wb3J0IHsgQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblx0cHVibGljIGlzU3VibWl0OiBib29sZWFuID0gZmFsc2U7XHJcblx0cHVibGljIGlzU2hvd0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIHN1YnNjcmliZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudD4sXHJcblx0XHRwcml2YXRlIGFwaUFkYXB0ZXJTZXJ2aWNlOiBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmdldENhbXBhaWduRGV0YWlsU2VydmljZSgpO1xyXG5cclxuXHRcdHRoaXMuaXNTaG93QnV0dG9uID1cclxuXHRcdFx0dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaXNTaG93QnV0dG9uID8/IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldENhbXBhaWduU3RvcmFnZSgpOiBhbnkge1xyXG5cdFx0cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpXHJcblx0XHRcdD8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKSlcclxuXHRcdFx0OiB7fTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShkYXRlOiBEYXRlKSB7XHJcblx0XHRjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoXHJcblx0XHRcdGRhdGUuZ2V0VGltZSgpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAgKiAxMDAwXHJcblx0XHQpO1xyXG5cdFx0cmV0dXJuIG5ld0RhdGU7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdldENhbXBhaWduRGV0YWlsU2VydmljZSgpOiB2b2lkIHtcclxuXHRcdGlmICghdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWQpIHJldHVybjtcclxuXHJcblx0XHR0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG5cdFx0Y29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuXHRcdFx0LmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG5cdFx0XHRcdFtdLFxyXG5cdFx0XHRcdGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH1gLFxyXG5cdFx0XHRcdCdHRVQnXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKCFyZXNwKSByZXR1cm47XHJcblxyXG5cdFx0XHRcdFx0Y29uc3QgZ2VuZXJhbEluZm9ybWF0aW9uID0ge1xyXG5cdFx0XHRcdFx0XHRjYW1wYWlnbk5hbWU6IHJlc3AuZGF0YT8ubmFtZSxcclxuXHRcdFx0XHRcdFx0bWVkaXVtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG5cdFx0XHRcdFx0XHRjaGFubmVsOiBbJ2ltYWdlJywgJ3ZpZGVvJywgJ2RvY3VtZW50J10uaW5jbHVkZXMoXHJcblx0XHRcdFx0XHRcdFx0cmVzcC5kYXRhPy50eXBlXHJcblx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0XHQ/ICdNRURJQSdcclxuXHRcdFx0XHRcdFx0XHQ6IHJlc3AuZGF0YT8udHlwZT8udG9VcHBlckNhc2UoKSxcclxuXHRcdFx0XHRcdFx0bWVkaWE6IHJlc3AuZGF0YT8udHlwZT8udG9VcHBlckNhc2UoKSxcclxuXHRcdFx0XHRcdFx0ZnJvbToge1xyXG5cdFx0XHRcdFx0XHRcdGlkOiByZXNwLmRhdGE/LmFjY291bnRJZCxcclxuXHRcdFx0XHRcdFx0XHRuYW1lOiByZXNwLmRhdGE/LmFjY291bnROYW1lLFxyXG5cdFx0XHRcdFx0XHRcdHBsYXRmb3JtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG5cdFx0XHRcdFx0XHRcdGNsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG5cdFx0XHRcdFx0XHRcdGNsaWVudE5hbWU6IHJlc3AuZGF0YT8uY2xpZW50TmFtZSxcclxuXHRcdFx0XHRcdFx0XHRhY2NvdW50Tm86IHJlc3AuZGF0YT8uYWNjb3VudE5vLFxyXG5cdFx0XHRcdFx0XHRcdHdhYmFJZDogcmVzcC5kYXRhPy53YWJhSWQgPz8gJycsXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdHRleHQ6IHJlc3AuZGF0YT8uZGV0YWlscz8udGV4dCxcclxuXHRcdFx0XHRcdFx0dGFyZ2V0VVJMOlxyXG5cdFx0XHRcdFx0XHRcdHJlc3AuZGF0YT8uZGV0YWlscz8uaW1hZ2U/LnVybCA/P1xyXG5cdFx0XHRcdFx0XHRcdHJlc3AuZGF0YT8uZGV0YWlscz8uZG9jdW1lbnQ/LnVybCA/P1xyXG5cdFx0XHRcdFx0XHRcdHJlc3AuZGF0YT8uZGV0YWlscz8udmlkZW8/LnVybCA/P1xyXG5cdFx0XHRcdFx0XHRcdHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmhlYWRlclVSTCxcclxuXHRcdFx0XHRcdFx0cGFyYW1IZWFkZXI6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmhlYWRlcixcclxuXHRcdFx0XHRcdFx0cGFyYW1Cb2R5OiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5kYXRhLFxyXG5cdFx0XHRcdFx0XHRwYXJhbUJ1dHRvbjogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uYnV0dG9uLFxyXG5cdFx0XHRcdFx0XHRvdHBWYWx1ZTogW1xyXG5cdFx0XHRcdFx0XHRcdC4uLihyZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5kYXRhID8/IFtdKSxcclxuXHRcdFx0XHRcdFx0XT8ucG9wKCksXHJcblx0XHRcdFx0XHRcdHRlbXBsYXRlOiB7XHJcblx0XHRcdFx0XHRcdFx0SUQ6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmlkLFxyXG5cdFx0XHRcdFx0XHRcdG5hbWU6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/Lm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0bGFuZzogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8ubGFuZyxcclxuXHRcdFx0XHRcdFx0XHRwbGF0Zm9ybTogcmVzcC5kYXRhPy5wbGF0Zm9ybSxcclxuXHRcdFx0XHRcdFx0XHRoZWFkZXJVUkw6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmhlYWRlclVSTCxcclxuXHRcdFx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdGV4YW1wbGVzOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXIsXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRib2R5OiB7XHJcblx0XHRcdFx0XHRcdFx0XHRleGFtcGxlczogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSxcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdGJ1dHRvbnM6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmJ1dHRvbixcclxuXHRcdFx0XHRcdFx0XHRDbGllbnRJZDogcmVzcC5kYXRhPy5jbGllbnRJZCxcclxuXHRcdFx0XHRcdFx0XHRDbGllbnROYW1lOiByZXNwLmRhdGE/LmNsaWVudE5hbWUsXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdGlzVXBsb2FkOiByZXNwLmRhdGE/LmZpbGVJZCAhPT0gJycsXHJcblx0XHRcdFx0XHRcdGZpbGVJZDogcmVzcC5kYXRhPy5maWxlSWQsXHJcblx0XHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHRcdGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG5cdFx0XHRcdFx0XHQndGVsaW4uY2FtcGFpZ24nLFxyXG5cdFx0XHRcdFx0XHRKU09OLnN0cmluZ2lmeSh7XHJcblx0XHRcdFx0XHRcdFx0Li4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcblx0XHRcdFx0XHRcdFx0Li4ue1xyXG5cdFx0XHRcdFx0XHRcdFx0Z2VuZXJhbEluZm9ybWF0aW9uOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiByZXNwLmRhdGE/LmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRmb3JtOiBnZW5lcmFsSW5mb3JtYXRpb24sXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0ZmFpbG92ZXI6IHJlc3AuZGF0YT8uZmFpbG92ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHR0YXJnZXRBdWRpZW5jZTogcmVzcC5kYXRhPy50YXJnZXRzLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGFyZ2V0QXVkaWVuY2VGaWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IHJlc3AuZGF0YT8uZmlsZU5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRhcmdldFVSTDogcmVzcC5kYXRhPy50YXJnZXRVUkwsXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0c2NoZWR1bGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHNjaGVkdWxlclR5cGU6XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzcC5kYXRhPy5zY2hlZHVsZVR5cGUgPT09ICdNVUxUSSdcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdD8gJ09ORV9USU1FJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0OiByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3RhcnREYXRlOlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlc3AuZGF0YT8uc3RhcnRUaW1lPy5zcGxpdCgnICcpWzBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdGFydFRpbWU6XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMV0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlzUmVwZWF0OlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlc3AuZGF0YT8uc2NoZWR1bGVUeXBlID09PSAnTVVMVEknLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxpdmVyeTogcmVzcC5kYXRhPy5yZXBlYXQsXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHRcdHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHJcblx0XHR0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgcmVqZWN0Q2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5pc1N1Ym1pdCA9IHRydWU7XHJcblxyXG5cdFx0Y29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuXHRcdFx0LmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG5cdFx0XHRcdFtdLFxyXG5cdFx0XHRcdGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vcmVqZWN0YCxcclxuXHRcdFx0XHQnUE9TVCdcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXNwOiBBcHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0aWYgKCFyZXNwIHx8ICFyZXNwPy5kYXRhKVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIFJlamVjdGluZyBDYW1wYWlnbiEnKTtcclxuXHJcblx0XHRcdFx0XHR0aGlzLnRvYXN0ci5zdWNjZXNzKCdDYW1wYWlnbiBSZWplY3RlZCBTdWNjZXNzZnVsbHkhJyk7XHJcblx0XHRcdFx0XHR0aGlzLm9uQ2xvc2UoKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudG9hc3RyLmVycm9yKCdFcnJvciBSZWplY3RpbmcgQ2FtcGFpZ24hJyk7XHJcblx0XHRcdFx0XHR0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhcHByb3ZlQ2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5pc1N1Ym1pdCA9IHRydWU7XHJcblxyXG5cdFx0Y29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuXHRcdFx0LmV4ZWN1dGVBcGlSZXF1ZXN0KFxyXG5cdFx0XHRcdFtdLFxyXG5cdFx0XHRcdGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vYXBwcm92ZWAsXHJcblx0XHRcdFx0J1BPU1QnXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdGlmICghcmVzcCB8fCAhcmVzcD8uZGF0YSlcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMudG9hc3RyLmVycm9yKCdFcnJvciBBcHByb3ZpbmcgQ2FtcGFpZ24hJyk7XHJcblxyXG5cdFx0XHRcdFx0dGhpcy50b2FzdHIuc3VjY2VzcygnQ2FtcGFpZ24gQXBwcm92ZWQgU3VjY2Vzc2Z1bGx5IScpO1xyXG5cdFx0XHRcdFx0dGhpcy5vbkNsb3NlKCk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnRvYXN0ci5lcnJvcignRXJyb3IgQXBwcm92aW5nIENhbXBhaWduIScpO1xyXG5cdFx0XHRcdFx0dGhpcy5pc1N1Ym1pdCA9IGZhbHNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHJcblx0XHR0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcclxuXHRcdGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0ZWxpbi5jYW1wYWlnbicpO1xyXG5cdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zdWJzY3JpYmVycy5mb3JFYWNoKGVhY2ggPT4gZWFjaC51bnN1YnNjcmliZSgpKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9jYW1wYWlnbi1pbmRleC9kaWFsb2cvcGVuZGluZy1hcHByb3ZhbC1kaWFsb2ctdmlldy9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPeEUsSUFBYSxrQ0FBa0MsR0FBL0MsTUFBYSxrQ0FBa0M7SUFPM0MsWUFDWSxTQUEyRCxFQUMzRCxpQkFBMkMsRUFDM0MsTUFBcUI7UUFGckIsY0FBUyxHQUFULFNBQVMsQ0FBa0Q7UUFDM0Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBVDFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixnQkFBVyxHQUFtQixFQUFFLENBQUM7SUFNdEMsQ0FBQztJQUVKLFFBQVE7O1FBQ0osSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLFlBQVkscUJBQUcsSUFBSSxDQUFDLGtCQUFrQiwwQ0FBRSxrQkFBa0IsMENBQUUsWUFBWSx1Q0FBSSxLQUFLLEVBQUEsQ0FBQztJQUMzRixDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIs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OztZQTdMMEIsWUFBWTtZQUNKLHdCQUF3QjtZQUNuQyxhQUFhOztBQVZ4QixrQ0FBa0M7SUFMOUMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGtDQUFrQztRQUM1Qyxta0RBQTREOztLQUUvRCxDQUFDO0dBQ1csa0NBQWtDLENBcU05QztTQXJNWSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMvdXRpbC9hcGktZHRvL3Jlc3BvbnNlLW1vZGVscyc7XHJcbmltcG9ydCB7IEFwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZW5kaW5nLWFwcHJvdmFsLWRpYWxvZy12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3BlbmRpbmctYXBwcm92YWwtZGlhbG9nLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlbmRpbmdBcHByb3ZhbERpYWxvZ1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNTdWJtaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1Nob3dCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIHN1YnNjcmliZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UGVuZGluZ0FwcHJvdmFsRGlhbG9nVmlld0NvbXBvbmVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBhcGlBZGFwdGVyU2VydmljZTogQXBpQWRhcHRlclNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZXRDYW1wYWlnbkRldGFpbFNlcnZpY2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Nob3dCdXR0b24gPSB0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pc1Nob3dCdXR0b24gPz8gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGdldENhbXBhaWduU3RvcmFnZSgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKVxyXG4gICAgICAgICAgICA/IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJykpXHJcbiAgICAgICAgICAgIDoge307XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MCAqIDEwMDApO1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q2FtcGFpZ25EZXRhaWxTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH1gLFxyXG4gICAgICAgICAgICAgICAgJ0dFVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3ApIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VuZXJhbEluZm9ybWF0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYW1wYWlnbk5hbWU6IHJlc3AuZGF0YT8ubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVkaXVtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsOiBbJ2ltYWdlJywgJ3ZpZGVvJywgJ2RvY3VtZW50J10uaW5jbHVkZXMocmVzcC5kYXRhPy50eXBlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnTUVESUEnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlc3AuZGF0YT8uaXNEaXJlY3RTZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3V0aWxpdHknXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy50eXBlPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpYTogcmVzcC5kYXRhPy50eXBlPy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ByZXZUZW1wbGF0ZTogcmVzcD8uZGF0YT8uaXNQcmV2VGVtcGxhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlTmFtZTogcmVzcD8uZGF0YT8udGVtcGxhdGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0dGw6IHJlc3A/LmRhdGE/LnR0bFNlY29uZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGE/LmFjY291bnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3AuZGF0YT8uYWNjb3VudE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybTogcmVzcC5kYXRhPy5wbGF0Zm9ybSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiByZXNwLmRhdGE/LmNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50TmFtZTogcmVzcC5kYXRhPy5jbGllbnROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudE5vOiByZXNwLmRhdGE/LmFjY291bnRObyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhYmFJZDogcmVzcC5kYXRhPy53YWJhSWQgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHJlc3AuZGF0YT8uZGV0YWlscz8udGV4dCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VVJMOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy5pbWFnZT8udXJsID8/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LmRldGFpbHM/LmRvY3VtZW50Py51cmwgPz9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YT8uZGV0YWlscz8udmlkZW8/LnVybCA/P1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyVVJMLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbUhlYWRlcjogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbUJvZHk6IHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtQnV0dG9uOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5idXR0b24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG90cFZhbHVlOiBbLi4uKHJlc3AuZGF0YT8uZGV0YWlscz8udGVtcGxhdGU/LmRhdGEgPz8gW10pXT8ucG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRDogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZzogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8ubGFuZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtOiByZXNwLmRhdGE/LnBsYXRmb3JtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyVVJMOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5oZWFkZXJVUkwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlczogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uaGVhZGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlczogcmVzcC5kYXRhPy5kZXRhaWxzPy50ZW1wbGF0ZT8uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25zOiByZXNwLmRhdGE/LmRldGFpbHM/LnRlbXBsYXRlPy5idXR0b24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnRJZDogcmVzcC5kYXRhPy5jbGllbnRJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudE5hbWU6IHJlc3AuZGF0YT8uY2xpZW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNVcGxvYWQ6IHJlc3AuZGF0YT8uZmlsZUlkICE9PSAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUlkOiByZXNwLmRhdGE/LmZpbGVJZCxcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RlbGluLmNhbXBhaWduJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhbEluZm9ybWF0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiByZXNwLmRhdGE/LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtOiBnZW5lcmFsSW5mb3JtYXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsb3ZlcjogcmVzcC5kYXRhPy5mYWlsb3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRBdWRpZW5jZTogcmVzcC5kYXRhPy50YXJnZXRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEF1ZGllbmNlRmlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXNwLmRhdGE/LmZpbGVOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRVUkw6IHJlc3AuZGF0YT8udGFyZ2V0VVJMLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlclR5cGU6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSA9PT0gJ01VTFRJJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ09ORV9USU1FJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVzcC5kYXRhPy5zY2hlZHVsZVR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZTogcmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogcmVzcC5kYXRhPy5zdGFydFRpbWU/LnNwbGl0KCcgJylbMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVwZWF0OiByZXNwLmRhdGE/LnNjaGVkdWxlVHlwZSA9PT0gJ01VTFRJJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsaXZlcnk6IHJlc3AuZGF0YT8ucmVwZWF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVqZWN0Q2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vcmVqZWN0YCxcclxuICAgICAgICAgICAgICAgICdQT1NUJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAocmVzcDogQXBwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwIHx8ICFyZXNwPy5kYXRhKSByZXR1cm4gdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIFJlamVjdGluZyBDYW1wYWlnbiEnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuc3VjY2VzcygnQ2FtcGFpZ24gUmVqZWN0ZWQgU3VjY2Vzc2Z1bGx5IScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcignRXJyb3IgUmVqZWN0aW5nIENhbXBhaWduIScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhcHByb3ZlQ2FtcGFpZ25TZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNTdWJtaXQgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG4gICAgICAgICAgICAuZXhlY3V0ZUFwaVJlcXVlc3QoXHJcbiAgICAgICAgICAgICAgICBbXSxcclxuICAgICAgICAgICAgICAgIGAvY2FtcGFpZ24vJHt0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5pZH0vYXBwcm92ZWAsXHJcbiAgICAgICAgICAgICAgICAnUE9TVCdcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3A6IEFwcFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcCB8fCAhcmVzcD8uZGF0YSkgcmV0dXJuIHRoaXMudG9hc3RyLmVycm9yKCdFcnJvciBBcHByb3ZpbmcgQ2FtcGFpZ24hJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoJ0NhbXBhaWduIEFwcHJvdmVkIFN1Y2Nlc3NmdWxseSEnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2xvc2UoKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoJ0Vycm9yIEFwcHJvdmluZyBDYW1wYWlnbiEnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndGVsaW4uY2FtcGFpZ24nKTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaCgoZWFjaCkgPT4gZWFjaC51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|