@ieeesa-npm/groups 0.3.4 → 0.3.6
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/components/create-group/create-group.component.mjs +3 -3
- package/esm2022/lib/components/tree-view/tree-view.component.mjs +37 -20
- package/esm2022/lib/components/view-roster/view-roster.component.mjs +3 -3
- package/esm2022/lib/groups.component.mjs +13 -6
- package/esm2022/lib/models/group-function-type.model.mjs +2 -1
- package/esm2022/lib/services/groups.service.mjs +2 -2
- package/fesm2022/ieeesa-npm-groups.mjs +55 -32
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/components/tree-view/tree-view.component.d.ts +3 -1
- package/lib/groups.component.d.ts +1 -1
- package/lib/models/group-function-type.model.d.ts +2 -1
- package/package.json +3 -3
|
@@ -4,5 +4,6 @@ export var GroupFunctionType;
|
|
|
4
4
|
GroupFunctionType["CREATE"] = "CREATE";
|
|
5
5
|
GroupFunctionType["EDIT"] = "EDIT";
|
|
6
6
|
GroupFunctionType["VIEW_ROSTER"] = "VIEW_ROSTER";
|
|
7
|
+
GroupFunctionType["FILTER"] = "FILTER";
|
|
7
8
|
})(GroupFunctionType || (GroupFunctionType = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZnVuY3Rpb24tdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyb3Vwcy9zcmMvbGliL21vZGVscy9ncm91cC1mdW5jdGlvbi10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyxNQUFNLENBQU4sSUFBWSxpQkFLWDtBQUxELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLGtDQUFhLENBQUE7SUFDYixnREFBMkIsQ0FBQTtJQUMzQixzQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUs1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXHJcbmV4cG9ydCBlbnVtIEdyb3VwRnVuY3Rpb25UeXBlIHtcclxuICBDUkVBVEUgPSAnQ1JFQVRFJyxcclxuICBFRElUID0gJ0VESVQnLFxyXG4gIFZJRVdfUk9TVEVSID0gJ1ZJRVdfUk9TVEVSJyxcclxuICBGSUxURVIgPSAnRklMVEVSJ1xyXG59XHJcbiJdfQ==
|
|
@@ -213,7 +213,7 @@ export class GroupsService {
|
|
|
213
213
|
*/
|
|
214
214
|
getGroupTypeRoles(groupTypeId) {
|
|
215
215
|
return this.httpService
|
|
216
|
-
.getData(`${this.apiBaseUrl}/
|
|
216
|
+
.getData(`${this.apiBaseUrl}/groups/config/rolesByGroupType/${groupTypeId}`)
|
|
217
217
|
.pipe(map((response) => {
|
|
218
218
|
const rolesOption = [];
|
|
219
219
|
response?.body?.forEach((role) => {
|
|
@@ -271,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
271
271
|
providedIn: 'root',
|
|
272
272
|
}]
|
|
273
273
|
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i1.AlertsService }]; } });
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9zZXJ2aWNlcy9ncm91cHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBWW5ELE9BQU8sS0FBSyxXQUFXLE1BQU0sMEJBQTBCLENBQUM7OztBQWN4RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQVF4Qiw2REFBNkQ7SUFDN0Q7SUFDRSwwQ0FBMEM7SUFDbEMsV0FBd0I7SUFDaEMsMENBQTBDO0lBQ25DLFlBQTJCLENBQUMsNkNBQTZDOztRQUZ4RSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV6QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQVpwQyxlQUFVLEdBQUcsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQWE5QixDQUFDO0lBQ0osOERBQThEO0lBQzlELFlBQVksQ0FBQyxVQUFrQixFQUFFLGNBQW1CO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsOERBQThEO0lBQzlELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLDRCQUE0QixDQUFDO2FBQ3ZELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gs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QUM1RCxNQUFNLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDekIsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMvQixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7WUFDM0IsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0QsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQ3BCLGlCQUEyQztRQUUzQyxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs4R0E3VFUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZUdyb3VwUGF5bG9hZCxcclxuICBDcmVhdGVHcm91cFJlc3BvbnNlLFxyXG59IGZyb20gJy4uL21vZGVscy9jcmVhdGUtZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIEdyb3VwVHlwZUNvbmZpZ3VyYXRpb24sXHJcbiAgR3JvdXBUeXBlQ29uZmlnVmFsdWUsXHJcbiAgR3JvdXBUeXBlUmVzcG9uc2UsXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2dyb3VwLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgQWxlcnRzU2VydmljZSwgSHR0cFNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgR2V0R3JvdXBSZXNwb25zZSwgR2V0R3JvdXBzUGF5bG9hZCB9IGZyb20gJy4uL21vZGVscy92aWV3LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dHMgZnJvbSAnLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRGVsZXRlR3JvdXBQYXlsb2FkIH0gZnJvbSAnLi4vbW9kZWxzL2RlbGV0ZS1ncm91cC5tb2RlbCc7XHJcbmltcG9ydCB7IEdyb3VwSW5mbyB9IGZyb20gJy4uL21vZGVscy9ncm91cC1pbmZvLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hVc2Vyc1BheWxvYWQsXHJcbiAgRmlsdGVyVXNlcnNCeVJvbGVzUGF5bG9hZCxcclxuICBHZXRHcm91cFVzZXJzUmVzcG9uc2UsXHJcbiAgVXNlcixcclxufSBmcm9tICcuLi9tb2RlbHMvdXNlci5tb2RlbCc7XHJcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi9tb2RlbHMvcm9sZS5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuaW1wb3J0IHsgRWRpdEdyb3VwUGF5bG9hZCB9IGZyb20gJy4uL21vZGVscy9lZGl0LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgR3JvdXBGdW5jdGlvblR5cGUgfSBmcm9tICcuLi9tb2RlbHMvZ3JvdXAtZnVuY3Rpb24tdHlwZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogR3JvdXBzIHNlcnZpY2UgaXMgYW4gYWJzdHJhY3QgbGF5ZXIgYW5kIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBncm91cHMgUkVTVCBBUEkgY2FsbHMuXHJcbiAqIEBjbGFzcyBHcm91cHNTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JvdXBzU2VydmljZSB7XHJcbiAgZ3JvdXBzVGV4dCA9IHNjcmVlblRleHRzPy5lcnJvcnM7XHJcbiAgYXBpQmFzZVVybCE6IHN0cmluZztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVzZXJQZXJtaXNzaW9uOiBhbnk7XHJcbiAgc2VsZWN0ZWRHcm91cEluZm8hOiBHcm91cEluZm8gfCB1bmRlZmluZWQ7XHJcbiAgZ3JvdXBGdW5jdGlvblR5cGUhOiBHcm91cEZ1bmN0aW9uVHlwZTtcclxuICBzZWxlY3RlZEdyb3VwUGFyZW50SW5mbyE6IEdyb3VwSW5mbyB8IHVuZGVmaW5lZDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb24sIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldEFwcENvbmZpZyhhcGlCYXNlVXJsOiBzdHJpbmcsIHVzZXJQZXJtaXNzaW9uOiBhbnkpIHtcclxuICAgIHRoaXMuYXBpQmFzZVVybCA9IGFwaUJhc2VVcmw7XHJcbiAgICB0aGlzLnVzZXJQZXJtaXNzaW9uID0gdXNlclBlcm1pc3Npb247XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgYXBwbGljYXRpb24gZ3JvdXAgdHlwZXMgZnJvbSBBUEkgYW5kIHJldHVybnMgaXQgYXMgYW4gb2JzZXJ2YWJsZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdyb3VwVHlwZVJlc3BvbnNlPn0gLUl0IHJldHVybnMgZ3JvdXAgdHlwZXMgaWYgc3VjY2VzcyBlbHNlIGVycm9yLlxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXRHcm91cFR5cGVzKCk6IE9ic2VydmFibGU8R3JvdXBUeXBlUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvZ3JvdXBfdHlwZWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxsIHRoZSBncm91cHMgYmFzZWQgb24gcGFzc2VkIGdyb3VwIElkIGFuZCBncm91cCB0eXBlLlxyXG4gICAqIEBwYXJhbSB7R2V0R3JvdXBzUGF5bG9hZH0gZ2V0R3JvdXBzUGF5bG9hZFxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2V0R3JvdXBSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cHMoZ2V0R3JvdXBzUGF5bG9hZDogR2V0R3JvdXBzUGF5bG9hZCk6IE9ic2VydmFibGU8R2V0R3JvdXBSZXNwb25zZT4ge1xyXG4gICAgbGV0IHVybCA9ICdyb290R3JvdXBzJztcclxuICAgIGlmIChnZXRHcm91cHNQYXlsb2FkLmdyb3VwSWQpXHJcbiAgICAgIHVybCA9ICdpbW1DaGlsZEdyb3Vwc0J5R3JvdXBJZC8nICsgZ2V0R3JvdXBzUGF5bG9hZC5ncm91cElkO1xyXG4gICAgZWxzZSBpZiAoZ2V0R3JvdXBzUGF5bG9hZC5ncm91cFR5cGVJZClcclxuICAgICAgdXJsID0gJ2dyb3Vwc0J5R3JvdXBUeXBlLycgKyBnZXRHcm91cHNQYXlsb2FkLmdyb3VwVHlwZUlkO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9ncm91cHMvJHt1cmx9YCkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBEZWxldGVzIGEgZ3JvdXAgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uXHJcbiAgICogQHBhcmFtIHtncm91cElkfSBzdHJpbmcgLWdyb3VwSWQgb2YgdGhlIGdyb3VwIHdoaWNoIGlzIHRvIGJlIGRlbGV0ZWRcclxuICAgKiBAcmV0dXJuIHsqfSAge09ic2VydmFibGU8YW55Pn0gLU9ic2VydmFibGUgcmVwcmVzZW50aW5nIHRoZSBncm91cCBkZWxldGlvbiByZXNwb25zZVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkZWxldGVHcm91cChkZWxldGVHcm91cFBheWxvYWQ6IERlbGV0ZUdyb3VwUGF5bG9hZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucHV0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L2dyb3Vwcy9kZWxldGVgLCBkZWxldGVHcm91cFBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc3RzIGNyZWF0ZSBncm91cCBmb3JtIGRhdGEgdG8gc2VydmVyIHVzaW5nIEh0dHBTZXJ2aWNlIGZvciBjcmVhdGluZyBuZXcgZ3JvdXAuXHJcbiAgICogQHBhcmFtIHtDcmVhdGVHcm91cFBheWxvYWR9IGNyZWF0ZUdyb3VwUGF5bG9hZCAtY3JlYXRlIGdyb3VwIGZvcm0gZGF0YSB3aGljaCBpbmNsdWRlcyBncm91cCBuYW1lLCB0eXBlLCBzaG9ydCBuYW1lLCBzY29wZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENyZWF0ZUdyb3VwUmVzcG9uc2U+fSAtcmV0dXJucyBjcmVhdGUgZ3JvdXAgQVBJIHJlc3BvbnNlIChzdWNjZXNzIG9yIGVycm9yKSBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjcmVhdGVHcm91cChcclxuICAgIGNyZWF0ZUdyb3VwUGF5bG9hZDogQ3JlYXRlR3JvdXBQYXlsb2FkXHJcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVHcm91cFJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucG9zdERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9ncm91cHMvY3JlYXRlYCwgY3JlYXRlR3JvdXBQYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGdyb3VwIGZvcm0gZGF0YSB0byBzZXJ2ZXIgdXNpbmcgSHR0cFNlcnZpY2UuXHJcbiAgICogQHBhcmFtIHtFZGl0R3JvdXBQYXlsb2FkfSBlZGl0R3JvdXBQYXlsb2FkIC1lZGl0IGdyb3VwIGZvcm0gZGF0YSB3aGljaCBpbmNsdWRlcyBncm91cCBuYW1lLCBzaG9ydCBuYW1lLCBzY29wZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEVkaXRHcm91cFBheWxvYWQ+fSAtcmV0dXJucyBlZGl0IGdyb3VwIEFQSSByZXNwb25zZSAoc3VjY2VzcyBvciBlcnJvcikgYXMgYW4gb2JzZXJ2YWJsZS5cclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzU2VydmljZVxyXG4gICAqL1xyXG4gIGVkaXRHcm91cChcclxuICAgIGVkaXRHcm91cFBheWxvYWQ6IEVkaXRHcm91cFBheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPENyZWF0ZUdyb3VwUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5wdXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL2VkaXRgLCBlZGl0R3JvdXBQYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIHBhcnNlIHRoZSBlcnJvciBjb2RlcyBhbmQgcmV0dXJuIHRoZSByZXNwZWN0aXZlIGVycm9yIG1lc3NhZ2UgZm9yIGVhY2ggY29kZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBlcnJvckNvZGVzXHJcbiAgICogQHJldHVybiB7c3RyaW5nW119IGVycm9yTWVzc2FnZVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgcGFyc2VFcnJvck1lc3NhZ2UoZXJyb3JDb2Rlczogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGVycm9yTWVzc2FnZTogc3RyaW5nW10gPSBbXTtcclxuICAgIGVycm9yQ29kZXM/LmZvckVhY2goKGl0ZW06IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2VLZXkgPSBlcnJvckNvZGVzW2luZGV4XSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5ncm91cHNUZXh0O1xyXG4gICAgICBlcnJvck1lc3NhZ2UucHVzaCh0aGlzLmdyb3Vwc1RleHRbZXJyb3JNZXNzYWdlS2V5XSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHNlbGVjdGVkIGdyb3VwIGluZm8uXHJcbiAgICogQHBhcmFtIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gc2VsZWN0ZWRHcm91cEluZm8gLXNlbGVjdGVkIGdyb3VwIGluZm8uXHJcbiAgICogQHBhcmFtIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gW3NlbGVjdGVkR3JvdXBQYXJlbnRJbmZvXSAtc2VsZWN0ZWQgcGFyZW50IGdyb3VwIGluZm8uXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRTZWxlY3RlZEdyb3VwSW5mbyhcclxuICAgIHNlbGVjdGVkR3JvdXBJbmZvOiBHcm91cEluZm8gfCB1bmRlZmluZWQsXHJcbiAgICBzZWxlY3RlZEdyb3VwUGFyZW50SW5mbz86IEdyb3VwSW5mbyB8IHVuZGVmaW5lZFxyXG4gICkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSW5mbyA9IHNlbGVjdGVkR3JvdXBJbmZvO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGFyZW50SW5mbyA9IHNlbGVjdGVkR3JvdXBQYXJlbnRJbmZvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgZ3JvdXAgaW5mby5cclxuICAgKiBAcmV0dXJuIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gLWdyb3VwIGluZm8uXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRTZWxlY3RlZEdyb3VwSW5mbygpOiBHcm91cEluZm8gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cEluZm87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBncm91cCBwYXJlbnQgZ3JvdXAgaW5mby5cclxuICAgKiBAcmV0dXJuIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gLWdyb3VwIGluZm8uXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRTZWxlY3RlZEdyb3VwUGFyZW50SW5mbygpOiBHcm91cEluZm8gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cFBhcmVudEluZm87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIGdyb3VwIGZ1bmN0aW9uIHR5cGUuXHJcbiAgICogQHBhcmFtIHtHcm91cEZ1bmN0aW9uVHlwZX0gZ3JvdXBGdW5jdGlvblR5cGUgLWdyb3VwIGZ1bmN0aW9uIHR5cGUuXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRHcm91cEZ1bmN0aW9uVHlwZShncm91cEZ1bmN0aW9uVHlwZTogR3JvdXBGdW5jdGlvblR5cGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXBGdW5jdGlvblR5cGUgPSBncm91cEZ1bmN0aW9uVHlwZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgZ3JvdXAgZnVuY3Rpb24gdHlwZS5cclxuICAgKiBAcmV0dXJuIHtHcm91cEZ1bmN0aW9uVHlwZX0gLWdyb3VwIGZ1bmN0aW9uIHR5cGUuXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cEZ1bmN0aW9uVHlwZSgpOiBHcm91cEZ1bmN0aW9uVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cEZ1bmN0aW9uVHlwZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGdyb3VwIHVzZXJzIGZvciB0aGUgZ2l2ZW4gZ3JvdXAgaWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGdyb3VwSWRcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldEdyb3VwVXNlcnNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cFVzZXJzKGdyb3VwSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0R3JvdXBVc2Vyc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L2dyb3Vwcy9yb3N0ZXIvJHtncm91cElkfWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGdyb3VwIHVzZXJzIGJhc2VkIG9uIHRoZSBmaWx0ZXJlZCByb2xlcy5cclxuICAgKiBAcGFyYW0ge0ZpbHRlclVzZXJzQnlSb2xlc1BheWxvYWR9IHBheWxvYWRcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldEdyb3VwVXNlcnNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cFVzZXJzQnlSb2xlcyhcclxuICAgIHBheWxvYWQ6IEZpbHRlclVzZXJzQnlSb2xlc1BheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPEdldEdyb3VwVXNlcnNSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL3Jvc3Rlci9ncm91cFVzZXJzQnlSb2xlYCwgcGF5bG9hZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZ3JvdXAgdXNlcnMgYmFzZWQgb24gc2VhcmNoZWQgbmFtZSBvciBlbWFpbFxyXG4gICAqIEBwYXJhbSB7U2VhcmNoVXNlcnNQYXlsb2FkfSBwYXlsb2FkXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRHcm91cFVzZXJzUmVzcG9uc2U+fVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2VhcmNoR3JvdXBVc2VycyhcclxuICAgIHBheWxvYWQ6IFNlYXJjaFVzZXJzUGF5bG9hZFxyXG4gICk6IE9ic2VydmFibGU8R2V0R3JvdXBVc2Vyc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucG9zdERhdGEoXHJcbiAgICAgICAgYCR7dGhpcy5hcGlCYXNlVXJsfS9ncm91cHMvcm9zdGVyL2dyb3VwVXNlcnNCeVJvbGVCeU5hbWVCeUVtYWlsYCxcclxuICAgICAgICBwYXlsb2FkXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZ3JvdXAgcm9sZXMgYmFzZWQgb24gdGhlIGdyb3VwIHR5cGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGdyb3VwVHlwZUlkXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDaGVja2JveE9wdGlvbltdPn1cclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEdyb3VwVHlwZVJvbGVzKGdyb3VwVHlwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENoZWNrYm94T3B0aW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKFxyXG4gICAgICAgIGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvdXNlcnMvcm9sZXNCeUdyb3VwVHlwZS8ke2dyb3VwVHlwZUlkfWBcclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCByb2xlc09wdGlvbjogQ2hlY2tib3hPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgICAgcmVzcG9uc2U/LmJvZHk/LmZvckVhY2goKHJvbGU6IFJvbGUpID0+IHtcclxuICAgICAgICAgICAgcm9sZXNPcHRpb24ucHVzaCh7XHJcbiAgICAgICAgICAgICAgaWQ6IHJvbGUucm9sZUlkLFxyXG4gICAgICAgICAgICAgIG5hbWU6IHJvbGUucm9sZU5hbWUsXHJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIHJvbGVzT3B0aW9uO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uY2F0ZW5hdGVzIHRoZSBncm91cCB1c2VycyBhc3NpZ25lZCByb2xlcyBuYW1lIHNlcGFyYXRlZCBieSBjb21tYSBhcyBzdHJpbmcgYW5kIHJldHVybnMgdGhlIGdyb3VwIHVzZXJzIGluIGFuIGFycmF5LlxyXG4gICAqIEBwYXJhbSB7R2V0R3JvdXBVc2Vyc1Jlc3BvbnNlfSByZXNwb25zZVxyXG4gICAqIEByZXR1cm4ge1VzZXJbXX1cclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzU2VydmljZVxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybVVzZXJSb2xlc05hbWVBc1N0cmluZyhyZXNwb25zZTogR2V0R3JvdXBVc2Vyc1Jlc3BvbnNlKTogVXNlcltdIHtcclxuICAgIGNvbnN0IHVzZXJzOiBVc2VyW10gPSBbXTtcclxuICAgIHJlc3BvbnNlPy5ib2R5Py5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJvbGVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBpdGVtPy5yb2xlc0xpc3Q/LmZvckVhY2goKHJvbGUpID0+IHJvbGVzLnB1c2gocm9sZT8ucm9sZU5hbWUpKTtcclxuICAgICAgdXNlcnMucHVzaCh7XHJcbiAgICAgICAgdXNlcklkOiBpdGVtLnVzZXJJZCxcclxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgZW1haWw6IGl0ZW0uZW1haWwsXHJcbiAgICAgICAgcm9sZTogcm9sZXMuam9pbignLCAnKSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB1c2VycztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBmb3JtYXR0ZWQgZ3JvdXAgdHlwZXMuXHJcbiAgICogQHBhcmFtIHtHcm91cFR5cGVDb25maWd1cmF0aW9uW119IGdyb3VwVHlwZVJlc3BvbnNlXHJcbiAgICogQHJldHVybiB7R3JvdXBUeXBlQ29uZmlnVmFsdWV9XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRGb3JtYXR0ZWRHcm91cFR5cGVzKFxyXG4gICAgZ3JvdXBUeXBlUmVzcG9uc2U6IEdyb3VwVHlwZUNvbmZpZ3VyYXRpb25bXVxyXG4gICk6IEdyb3VwVHlwZUNvbmZpZ1ZhbHVlIHtcclxuICAgIGNvbnN0IGdyb3VwVHlwZXM6IEdyb3VwVHlwZUNvbmZpZ1ZhbHVlID0ge307XHJcbiAgICBncm91cFR5cGVSZXNwb25zZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGdyb3VwVHlwZXNbaXRlbS5jb25maWdGaWVsZElkXSA9IGl0ZW0uY29uZmlnRmllbGRWYWx1ZTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGdyb3VwVHlwZXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncm91cHMvc3JjL2xpYi9zZXJ2aWNlcy9ncm91cHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBWW5ELE9BQU8sS0FBSyxXQUFXLE1BQU0sMEJBQTBCLENBQUM7OztBQWN4RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQVF4Qiw2REFBNkQ7SUFDN0Q7SUFDRSwwQ0FBMEM7SUFDbEMsV0FBd0I7SUFDaEMsMENBQTBDO0lBQ25DLFlBQTJCLENBQUMsNkNBQTZDOztRQUZ4RSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUV6QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQVpwQyxlQUFVLEdBQUcsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQWE5QixDQUFDO0lBQ0osOERBQThEO0lBQzlELFlBQVksQ0FBQyxVQUFrQixFQUFFLGNBQW1CO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsOERBQThEO0lBQzlELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLDRCQUE0QixDQUFDO2FBQ3ZELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gs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QUM1RCxNQUFNLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDekIsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMvQixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7WUFDM0IsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0QsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUN2QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQ3BCLGlCQUEyQztRQUUzQyxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs4R0E3VFUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZUdyb3VwUGF5bG9hZCxcclxuICBDcmVhdGVHcm91cFJlc3BvbnNlLFxyXG59IGZyb20gJy4uL21vZGVscy9jcmVhdGUtZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIEdyb3VwVHlwZUNvbmZpZ3VyYXRpb24sXHJcbiAgR3JvdXBUeXBlQ29uZmlnVmFsdWUsXHJcbiAgR3JvdXBUeXBlUmVzcG9uc2UsXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2dyb3VwLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgQWxlcnRzU2VydmljZSwgSHR0cFNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgR2V0R3JvdXBSZXNwb25zZSwgR2V0R3JvdXBzUGF5bG9hZCB9IGZyb20gJy4uL21vZGVscy92aWV3LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dHMgZnJvbSAnLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRGVsZXRlR3JvdXBQYXlsb2FkIH0gZnJvbSAnLi4vbW9kZWxzL2RlbGV0ZS1ncm91cC5tb2RlbCc7XHJcbmltcG9ydCB7IEdyb3VwSW5mbyB9IGZyb20gJy4uL21vZGVscy9ncm91cC1pbmZvLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBTZWFyY2hVc2Vyc1BheWxvYWQsXHJcbiAgRmlsdGVyVXNlcnNCeVJvbGVzUGF5bG9hZCxcclxuICBHZXRHcm91cFVzZXJzUmVzcG9uc2UsXHJcbiAgVXNlcixcclxufSBmcm9tICcuLi9tb2RlbHMvdXNlci5tb2RlbCc7XHJcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi9tb2RlbHMvcm9sZS5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuaW1wb3J0IHsgRWRpdEdyb3VwUGF5bG9hZCB9IGZyb20gJy4uL21vZGVscy9lZGl0LWdyb3VwLm1vZGVsJztcclxuaW1wb3J0IHsgR3JvdXBGdW5jdGlvblR5cGUgfSBmcm9tICcuLi9tb2RlbHMvZ3JvdXAtZnVuY3Rpb24tdHlwZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogR3JvdXBzIHNlcnZpY2UgaXMgYW4gYWJzdHJhY3QgbGF5ZXIgYW5kIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBncm91cHMgUkVTVCBBUEkgY2FsbHMuXHJcbiAqIEBjbGFzcyBHcm91cHNTZXJ2aWNlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JvdXBzU2VydmljZSB7XHJcbiAgZ3JvdXBzVGV4dCA9IHNjcmVlblRleHRzPy5lcnJvcnM7XHJcbiAgYXBpQmFzZVVybCE6IHN0cmluZztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVzZXJQZXJtaXNzaW9uOiBhbnk7XHJcbiAgc2VsZWN0ZWRHcm91cEluZm8hOiBHcm91cEluZm8gfCB1bmRlZmluZWQ7XHJcbiAgZ3JvdXBGdW5jdGlvblR5cGUhOiBHcm91cEZ1bmN0aW9uVHlwZTtcclxuICBzZWxlY3RlZEdyb3VwUGFyZW50SW5mbyE6IEdyb3VwSW5mbyB8IHVuZGVmaW5lZDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb24sIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldEFwcENvbmZpZyhhcGlCYXNlVXJsOiBzdHJpbmcsIHVzZXJQZXJtaXNzaW9uOiBhbnkpIHtcclxuICAgIHRoaXMuYXBpQmFzZVVybCA9IGFwaUJhc2VVcmw7XHJcbiAgICB0aGlzLnVzZXJQZXJtaXNzaW9uID0gdXNlclBlcm1pc3Npb247XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgYXBwbGljYXRpb24gZ3JvdXAgdHlwZXMgZnJvbSBBUEkgYW5kIHJldHVybnMgaXQgYXMgYW4gb2JzZXJ2YWJsZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdyb3VwVHlwZVJlc3BvbnNlPn0gLUl0IHJldHVybnMgZ3JvdXAgdHlwZXMgaWYgc3VjY2VzcyBlbHNlIGVycm9yLlxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXRHcm91cFR5cGVzKCk6IE9ic2VydmFibGU8R3JvdXBUeXBlUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvZ3JvdXBfdHlwZWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxsIHRoZSBncm91cHMgYmFzZWQgb24gcGFzc2VkIGdyb3VwIElkIGFuZCBncm91cCB0eXBlLlxyXG4gICAqIEBwYXJhbSB7R2V0R3JvdXBzUGF5bG9hZH0gZ2V0R3JvdXBzUGF5bG9hZFxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2V0R3JvdXBSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cHMoZ2V0R3JvdXBzUGF5bG9hZDogR2V0R3JvdXBzUGF5bG9hZCk6IE9ic2VydmFibGU8R2V0R3JvdXBSZXNwb25zZT4ge1xyXG4gICAgbGV0IHVybCA9ICdyb290R3JvdXBzJztcclxuICAgIGlmIChnZXRHcm91cHNQYXlsb2FkLmdyb3VwSWQpXHJcbiAgICAgIHVybCA9ICdpbW1DaGlsZEdyb3Vwc0J5R3JvdXBJZC8nICsgZ2V0R3JvdXBzUGF5bG9hZC5ncm91cElkO1xyXG4gICAgZWxzZSBpZiAoZ2V0R3JvdXBzUGF5bG9hZC5ncm91cFR5cGVJZClcclxuICAgICAgdXJsID0gJ2dyb3Vwc0J5R3JvdXBUeXBlLycgKyBnZXRHcm91cHNQYXlsb2FkLmdyb3VwVHlwZUlkO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9ncm91cHMvJHt1cmx9YCkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBEZWxldGVzIGEgZ3JvdXAgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uXHJcbiAgICogQHBhcmFtIHtncm91cElkfSBzdHJpbmcgLWdyb3VwSWQgb2YgdGhlIGdyb3VwIHdoaWNoIGlzIHRvIGJlIGRlbGV0ZWRcclxuICAgKiBAcmV0dXJuIHsqfSAge09ic2VydmFibGU8YW55Pn0gLU9ic2VydmFibGUgcmVwcmVzZW50aW5nIHRoZSBncm91cCBkZWxldGlvbiByZXNwb25zZVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkZWxldGVHcm91cChkZWxldGVHcm91cFBheWxvYWQ6IERlbGV0ZUdyb3VwUGF5bG9hZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucHV0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L2dyb3Vwcy9kZWxldGVgLCBkZWxldGVHcm91cFBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc3RzIGNyZWF0ZSBncm91cCBmb3JtIGRhdGEgdG8gc2VydmVyIHVzaW5nIEh0dHBTZXJ2aWNlIGZvciBjcmVhdGluZyBuZXcgZ3JvdXAuXHJcbiAgICogQHBhcmFtIHtDcmVhdGVHcm91cFBheWxvYWR9IGNyZWF0ZUdyb3VwUGF5bG9hZCAtY3JlYXRlIGdyb3VwIGZvcm0gZGF0YSB3aGljaCBpbmNsdWRlcyBncm91cCBuYW1lLCB0eXBlLCBzaG9ydCBuYW1lLCBzY29wZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENyZWF0ZUdyb3VwUmVzcG9uc2U+fSAtcmV0dXJucyBjcmVhdGUgZ3JvdXAgQVBJIHJlc3BvbnNlIChzdWNjZXNzIG9yIGVycm9yKSBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjcmVhdGVHcm91cChcclxuICAgIGNyZWF0ZUdyb3VwUGF5bG9hZDogQ3JlYXRlR3JvdXBQYXlsb2FkXHJcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVHcm91cFJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucG9zdERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9ncm91cHMvY3JlYXRlYCwgY3JlYXRlR3JvdXBQYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIGdyb3VwIGZvcm0gZGF0YSB0byBzZXJ2ZXIgdXNpbmcgSHR0cFNlcnZpY2UuXHJcbiAgICogQHBhcmFtIHtFZGl0R3JvdXBQYXlsb2FkfSBlZGl0R3JvdXBQYXlsb2FkIC1lZGl0IGdyb3VwIGZvcm0gZGF0YSB3aGljaCBpbmNsdWRlcyBncm91cCBuYW1lLCBzaG9ydCBuYW1lLCBzY29wZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEVkaXRHcm91cFBheWxvYWQ+fSAtcmV0dXJucyBlZGl0IGdyb3VwIEFQSSByZXNwb25zZSAoc3VjY2VzcyBvciBlcnJvcikgYXMgYW4gb2JzZXJ2YWJsZS5cclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzU2VydmljZVxyXG4gICAqL1xyXG4gIGVkaXRHcm91cChcclxuICAgIGVkaXRHcm91cFBheWxvYWQ6IEVkaXRHcm91cFBheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPENyZWF0ZUdyb3VwUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5wdXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL2VkaXRgLCBlZGl0R3JvdXBQYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIHBhcnNlIHRoZSBlcnJvciBjb2RlcyBhbmQgcmV0dXJuIHRoZSByZXNwZWN0aXZlIGVycm9yIG1lc3NhZ2UgZm9yIGVhY2ggY29kZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBlcnJvckNvZGVzXHJcbiAgICogQHJldHVybiB7c3RyaW5nW119IGVycm9yTWVzc2FnZVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgcGFyc2VFcnJvck1lc3NhZ2UoZXJyb3JDb2Rlczogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGVycm9yTWVzc2FnZTogc3RyaW5nW10gPSBbXTtcclxuICAgIGVycm9yQ29kZXM/LmZvckVhY2goKGl0ZW06IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2VLZXkgPSBlcnJvckNvZGVzW2luZGV4XSBhcyBrZXlvZiB0eXBlb2YgdGhpcy5ncm91cHNUZXh0O1xyXG4gICAgICBlcnJvck1lc3NhZ2UucHVzaCh0aGlzLmdyb3Vwc1RleHRbZXJyb3JNZXNzYWdlS2V5XSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHNlbGVjdGVkIGdyb3VwIGluZm8uXHJcbiAgICogQHBhcmFtIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gc2VsZWN0ZWRHcm91cEluZm8gLXNlbGVjdGVkIGdyb3VwIGluZm8uXHJcbiAgICogQHBhcmFtIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gW3NlbGVjdGVkR3JvdXBQYXJlbnRJbmZvXSAtc2VsZWN0ZWQgcGFyZW50IGdyb3VwIGluZm8uXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRTZWxlY3RlZEdyb3VwSW5mbyhcclxuICAgIHNlbGVjdGVkR3JvdXBJbmZvOiBHcm91cEluZm8gfCB1bmRlZmluZWQsXHJcbiAgICBzZWxlY3RlZEdyb3VwUGFyZW50SW5mbz86IEdyb3VwSW5mbyB8IHVuZGVmaW5lZFxyXG4gICkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSW5mbyA9IHNlbGVjdGVkR3JvdXBJbmZvO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwUGFyZW50SW5mbyA9IHNlbGVjdGVkR3JvdXBQYXJlbnRJbmZvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgZ3JvdXAgaW5mby5cclxuICAgKiBAcmV0dXJuIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gLWdyb3VwIGluZm8uXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRTZWxlY3RlZEdyb3VwSW5mbygpOiBHcm91cEluZm8gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cEluZm87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBncm91cCBwYXJlbnQgZ3JvdXAgaW5mby5cclxuICAgKiBAcmV0dXJuIHsoR3JvdXBJbmZvIHwgdW5kZWZpbmVkKX0gLWdyb3VwIGluZm8uXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRTZWxlY3RlZEdyb3VwUGFyZW50SW5mbygpOiBHcm91cEluZm8gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cFBhcmVudEluZm87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIGdyb3VwIGZ1bmN0aW9uIHR5cGUuXHJcbiAgICogQHBhcmFtIHtHcm91cEZ1bmN0aW9uVHlwZX0gZ3JvdXBGdW5jdGlvblR5cGUgLWdyb3VwIGZ1bmN0aW9uIHR5cGUuXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRHcm91cEZ1bmN0aW9uVHlwZShncm91cEZ1bmN0aW9uVHlwZTogR3JvdXBGdW5jdGlvblR5cGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXBGdW5jdGlvblR5cGUgPSBncm91cEZ1bmN0aW9uVHlwZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgZ3JvdXAgZnVuY3Rpb24gdHlwZS5cclxuICAgKiBAcmV0dXJuIHtHcm91cEZ1bmN0aW9uVHlwZX0gLWdyb3VwIGZ1bmN0aW9uIHR5cGUuXHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cEZ1bmN0aW9uVHlwZSgpOiBHcm91cEZ1bmN0aW9uVHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cEZ1bmN0aW9uVHlwZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGdyb3VwIHVzZXJzIGZvciB0aGUgZ2l2ZW4gZ3JvdXAgaWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGdyb3VwSWRcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldEdyb3VwVXNlcnNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cFVzZXJzKGdyb3VwSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8R2V0R3JvdXBVc2Vyc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L2dyb3Vwcy9yb3N0ZXIvJHtncm91cElkfWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGdyb3VwIHVzZXJzIGJhc2VkIG9uIHRoZSBmaWx0ZXJlZCByb2xlcy5cclxuICAgKiBAcGFyYW0ge0ZpbHRlclVzZXJzQnlSb2xlc1BheWxvYWR9IHBheWxvYWRcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEdldEdyb3VwVXNlcnNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEdyb3Vwc1NlcnZpY2VcclxuICAgKi9cclxuICBnZXRHcm91cFVzZXJzQnlSb2xlcyhcclxuICAgIHBheWxvYWQ6IEZpbHRlclVzZXJzQnlSb2xlc1BheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPEdldEdyb3VwVXNlcnNSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL3Jvc3Rlci9ncm91cFVzZXJzQnlSb2xlYCwgcGF5bG9hZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZ3JvdXAgdXNlcnMgYmFzZWQgb24gc2VhcmNoZWQgbmFtZSBvciBlbWFpbFxyXG4gICAqIEBwYXJhbSB7U2VhcmNoVXNlcnNQYXlsb2FkfSBwYXlsb2FkXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRHcm91cFVzZXJzUmVzcG9uc2U+fVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2VhcmNoR3JvdXBVc2VycyhcclxuICAgIHBheWxvYWQ6IFNlYXJjaFVzZXJzUGF5bG9hZFxyXG4gICk6IE9ic2VydmFibGU8R2V0R3JvdXBVc2Vyc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucG9zdERhdGEoXHJcbiAgICAgICAgYCR7dGhpcy5hcGlCYXNlVXJsfS9ncm91cHMvcm9zdGVyL2dyb3VwVXNlcnNCeVJvbGVCeU5hbWVCeUVtYWlsYCxcclxuICAgICAgICBwYXlsb2FkXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvclJlcztcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZ3JvdXAgcm9sZXMgYmFzZWQgb24gdGhlIGdyb3VwIHR5cGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGdyb3VwVHlwZUlkXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDaGVja2JveE9wdGlvbltdPn1cclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEdyb3VwVHlwZVJvbGVzKGdyb3VwVHlwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENoZWNrYm94T3B0aW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKFxyXG4gICAgICAgIGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL2NvbmZpZy9yb2xlc0J5R3JvdXBUeXBlLyR7Z3JvdXBUeXBlSWR9YFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHJvbGVzT3B0aW9uOiBDaGVja2JveE9wdGlvbltdID0gW107XHJcbiAgICAgICAgICByZXNwb25zZT8uYm9keT8uZm9yRWFjaCgocm9sZTogUm9sZSkgPT4ge1xyXG4gICAgICAgICAgICByb2xlc09wdGlvbi5wdXNoKHtcclxuICAgICAgICAgICAgICBpZDogcm9sZS5yb2xlSWQsXHJcbiAgICAgICAgICAgICAgbmFtZTogcm9sZS5yb2xlTmFtZSxcclxuICAgICAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gcm9sZXNPcHRpb247XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25jYXRlbmF0ZXMgdGhlIGdyb3VwIHVzZXJzIGFzc2lnbmVkIHJvbGVzIG5hbWUgc2VwYXJhdGVkIGJ5IGNvbW1hIGFzIHN0cmluZyBhbmQgcmV0dXJucyB0aGUgZ3JvdXAgdXNlcnMgaW4gYW4gYXJyYXkuXHJcbiAgICogQHBhcmFtIHtHZXRHcm91cFVzZXJzUmVzcG9uc2V9IHJlc3BvbnNlXHJcbiAgICogQHJldHVybiB7VXNlcltdfVxyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgdHJhbnNmb3JtVXNlclJvbGVzTmFtZUFzU3RyaW5nKHJlc3BvbnNlOiBHZXRHcm91cFVzZXJzUmVzcG9uc2UpOiBVc2VyW10ge1xyXG4gICAgY29uc3QgdXNlcnM6IFVzZXJbXSA9IFtdO1xyXG4gICAgcmVzcG9uc2U/LmJvZHk/LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgY29uc3Qgcm9sZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgIGl0ZW0/LnJvbGVzTGlzdD8uZm9yRWFjaCgocm9sZSkgPT4gcm9sZXMucHVzaChyb2xlPy5yb2xlTmFtZSkpO1xyXG4gICAgICB1c2Vycy5wdXNoKHtcclxuICAgICAgICB1c2VySWQ6IGl0ZW0udXNlcklkLFxyXG4gICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICBlbWFpbDogaXRlbS5lbWFpbCxcclxuICAgICAgICByb2xlOiByb2xlcy5qb2luKCcsICcpLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHVzZXJzO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGZvcm1hdHRlZCBncm91cCB0eXBlcy5cclxuICAgKiBAcGFyYW0ge0dyb3VwVHlwZUNvbmZpZ3VyYXRpb25bXX0gZ3JvdXBUeXBlUmVzcG9uc2VcclxuICAgKiBAcmV0dXJuIHtHcm91cFR5cGVDb25maWdWYWx1ZX1cclxuICAgKiBAbWVtYmVyb2YgR3JvdXBzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEZvcm1hdHRlZEdyb3VwVHlwZXMoXHJcbiAgICBncm91cFR5cGVSZXNwb25zZTogR3JvdXBUeXBlQ29uZmlndXJhdGlvbltdXHJcbiAgKTogR3JvdXBUeXBlQ29uZmlnVmFsdWUge1xyXG4gICAgY29uc3QgZ3JvdXBUeXBlczogR3JvdXBUeXBlQ29uZmlnVmFsdWUgPSB7fTtcclxuICAgIGdyb3VwVHlwZVJlc3BvbnNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgZ3JvdXBUeXBlc1tpdGVtLmNvbmZpZ0ZpZWxkSWRdID0gaXRlbS5jb25maWdGaWVsZFZhbHVlO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZ3JvdXBUeXBlcztcclxuICB9XHJcbn1cclxuIl19
|