@openziti/ziti-console-lib 0.12.4 → 0.12.5
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/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +4 -2
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +4 -2
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +4 -2
- package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +3 -2
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +3 -2
- package/esm2022/lib/pages/config-types/config-types-page.service.mjs +3 -2
- package/esm2022/lib/pages/configurations/configurations-page.service.mjs +3 -2
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +3 -2
- package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +3 -2
- package/esm2022/lib/pages/identities/identities-page.service.mjs +3 -2
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +3 -2
- package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +3 -2
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +3 -2
- package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +3 -2
- package/esm2022/lib/pages/services/services-page.service.mjs +3 -2
- package/esm2022/lib/pages/terminators/terminators-page.service.mjs +3 -2
- package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +3 -2
- package/esm2022/lib/shared/list-page-service.class.mjs +21 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/openziti-ziti-console-lib.mjs +674 -635
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -1
- package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +1 -1
- package/lib/pages/certificate-authorities/certificate-authorities-page.service.d.ts.map +1 -1
- package/lib/pages/config-types/config-types-page.service.d.ts.map +1 -1
- package/lib/pages/configurations/configurations-page.service.d.ts.map +1 -1
- package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts.map +1 -1
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
- package/lib/pages/identities/identities-page.service.d.ts.map +1 -1
- package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts.map +1 -1
- package/lib/pages/posture-checks/posture-checks-page.service.d.ts.map +1 -1
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts.map +1 -1
- package/lib/pages/service-policies/service-policies-page.service.d.ts.map +1 -1
- package/lib/pages/services/services-page.service.d.ts.map +1 -1
- package/lib/pages/terminators/terminators-page.service.d.ts.map +1 -1
- package/lib/pages/transit-routers/transit-routers-page.service.d.ts.map +1 -1
- package/lib/shared/list-page-service.class.d.ts +21 -0
- package/lib/shared/list-page-service.class.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -231,7 +231,8 @@ class EdgeRoutersPageService extends ListPageServiceClass {
|
|
|
231
231
|
cellRenderer: 'cellTokenComponent',
|
|
232
232
|
resizable: true,
|
|
233
233
|
cellClass: 'nf-cell-vert-align tCol',
|
|
234
|
-
}
|
|
234
|
+
},
|
|
235
|
+
this.ID_COLUMN_DEF
|
|
235
236
|
];
|
|
236
237
|
if (this.extService.processTableColumns) {
|
|
237
238
|
tableColumns = this.extService.processTableColumns(tableColumns);
|
|
@@ -352,4 +353,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
352
353
|
type: Inject,
|
|
353
354
|
args: [EDGE_ROUTER_EXTENSION_SERVICE]
|
|
354
355
|
}] }, { type: i5.Router }]; } });
|
|
355
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1yb3V0ZXJzLXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9wYWdlcy9lZGdlLXJvdXRlcnMvZWRnZS1yb3V0ZXJzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQVksT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzFDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzlCLE1BQU0sOEZBQThGLENBQUM7QUFFdEcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFHdEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBSXBFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBRXBILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7QUFFakgsTUFHYSxzQkFBdUIsU0FBUSxvQkFBb0I7SUE4QzVELFlBQzhCLFFBQThCLEVBQ3hELGFBQXFDLEVBQ0Ys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T0FBTyxFQUFDLENBQUMsQ0FBQzthQUM5RjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7YUFDOUU7WUFDRCxpRUFBaUU7WUFDakU7Ozs7Z0JBSUk7WUFDSixLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztTQUM5QztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBdlZRLHNCQUFzQixrQkErQ25CLGdCQUFnQixtREFFaEIsaUJBQWlCLHNHQUlqQiw2QkFBNkI7bUhBckRoQyxzQkFBc0IsY0FGbkIsTUFBTTs7U0FFVCxzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWdEUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFJeEIsTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdCwgQ29tcG9uZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtjbG9uZURlZXAsIGlzRW1wdHl9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge0RhdGFUYWJsZUZpbHRlclNlcnZpY2UsIEZpbHRlck9ian0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtMaXN0UGFnZVNlcnZpY2VDbGFzc30gZnJvbSBcIi4uLy4uL3NoYXJlZC9saXN0LXBhZ2Utc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtcbiAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnRcbn0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge0NhbGxiYWNrUmVzdWx0c30gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7U0VUVElOR1NfU0VSVklDRSwgU2V0dGluZ3NTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZVwiO1xuaW1wb3J0IHtaSVRJX0RBVEFfU0VSVklDRSwgWml0aURhdGFTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7Q3N2RG93bmxvYWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY3N2LWRvd25sb2FkLnNlcnZpY2VcIjtcbmltcG9ydCB7RWRnZVJvdXRlcn0gZnJvbSBcIi4uLy4uL21vZGVscy9lZGdlLXJvdXRlclwiO1xuaW1wb3J0IHt1bnNldCwgZm9yRWFjaH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtJVG9vbHRpcEFuZ3VsYXJDb21wfSBmcm9tIFwiYWctZ3JpZC1hbmd1bGFyXCI7XG5pbXBvcnQge0lUb29sdGlwUGFyYW1zfSBmcm9tIFwiYWctZ3JpZC1jb21tdW5pdHlcIjtcbmltcG9ydCB7T1NUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS90b29sdGlwcy9vcy10b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcm93bGVyTW9kZWx9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5tb2RlbFwiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZUNsYXNzfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Mtc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtFREdFX1JPVVRFUl9FWFRFTlNJT05fU0VSVklDRX0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2VkZ2Utcm91dGVyL2VkZ2Utcm91dGVyLWZvcm0uc2VydmljZVwiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFZGdlUm91dGVyc1BhZ2VTZXJ2aWNlIGV4dGVuZHMgTGlzdFBhZ2VTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcHJpdmF0ZSBwYWdpbmcgPSB0aGlzLkRFRkFVTFRfUEFHSU5HO1xuICAgIHB1YmxpYyBtb2RhbFR5cGUgPSAnZWRnZS1yb3V0ZXInO1xuXG4gICAgb3ZlcnJpZGUgQ1NWX0NPTFVNTlMgPSBbXG4gICAgICAgIHtsYWJlbDogJ05hbWUnLCBwYXRoOiAnbmFtZSd9LFxuICAgICAgICB7bGFiZWw6ICdBdHRyaWJ1dGVzJywgcGF0aDogJ3JvbGVBdHRyaWJ1dGVzJ30sXG4gICAgICAgIHtsYWJlbDogJ1ZlcmlmaWVkJywgcGF0aDogJ2lzVmVyaWZpZWQnfSxcbiAgICAgICAge2xhYmVsOiAnT25saW5lJywgcGF0aDogJ2lzT25saW5lJ30sXG4gICAgICAgIHtsYWJlbDogJ0NyZWF0ZWQnLCBwYXRoOiAnY3JlYXRlZEF0J30sXG4gICAgICAgIHtsYWJlbDogJ1Rva2VuJywgcGF0aDogJ2Vucm9sbG1lbnRUb2tlbid9LFxuICAgICAgICB7bGFiZWw6ICdObyBUcmF2ZXJzYWwnLCBwYXRoOiAnbm9UcmF2ZXJzYWwnfSxcbiAgICAgICAge2xhYmVsOiAnSG9zdCBOYW1lJywgcGF0aDogJ2hvc3RuYW1lJ30sXG4gICAgICAgIHtsYWJlbDogJ0Rpc2FibGVkJywgcGF0aDogJ2Rpc2FibGVkJ30sXG4gICAgICAgIHtsYWJlbDogJ1R1bm5lbGVyIEVuYWJsZWQnLCBwYXRoOiAnaXNUdW5uZWxlckVuYWJsZWQnfSxcbiAgICAgICAge2xhYmVsOiAnT1MnLCBwYXRoOiAndmVyc2lvbkluZm8ub3MnfSxcbiAgICAgICAge2xhYmVsOiAnQXJjaGl0ZWN0dXJlJywgcGF0aDogJ3ZlcnNpb25JbmZvLmFyY2gnfSxcbiAgICAgICAge2xhYmVsOiAnVmVyc2lvbicsIHBhdGg6ICd2ZXJzaW9uSW5mby52ZXJzaW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ1JldmlzaW9uJywgcGF0aDogJ3ZlcnNpb25JbmZvLnJldmlzaW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ0ZpbmdlcnByaW50JywgcGF0aDogJ2ZpbmdlcnByaW50J30sXG4gICAgICAgIHtsYWJlbDogJ0lEJywgcGF0aDogJ2lkJ30sXG4gICAgXTtcblxuICAgIHNlbGVjdGVkRWRnZVJvdXRlcjogYW55ID0gbmV3IEVkZ2VSb3V0ZXIoKTtcbiAgICBjb2x1bW5GaWx0ZXJzOiBhbnkgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICBvczogJycsXG4gICAgICAgIGNyZWF0ZWRBdDogJycsXG4gICAgfTtcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgSldUJywgYWN0aW9uOiAnZG93bmxvYWQtZW5yb2xsbWVudCd9LFxuICAgICAgICB7bmFtZTogJ1Jlc2V0IEVucm9sbG1lbnQnLCBhY3Rpb246ICdyZXNldC1lbnJvbGxtZW50J30sXG4gICAgICAgIHtuYW1lOiAnUmUtRW5yb2xsJywgYWN0aW9uOiAncmUtZW5yb2xsJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgb3ZlcnJpZGUgdGFibGVIZWFkZXJBY3Rpb25zID0gW1xuICAgICAgICB7bmFtZTogJ0Rvd25sb2FkIEFsbCcsIGFjdGlvbjogJ2Rvd25sb2FkLWFsbCd9LFxuICAgICAgICB7bmFtZTogJ0Rvd25sb2FkIFNlbGVjdGVkJywgYWN0aW9uOiAnZG93bmxvYWQtc2VsZWN0ZWQnfSxcbiAgICBdXG5cbiAgICByZXNvdXJjZVR5cGUgPSAnZWRnZS1yb3V0ZXJzJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2VDbGFzcyxcbiAgICAgICAgZmlsdGVyU2VydmljZTogRGF0YVRhYmxlRmlsdGVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChaSVRJX0RBVEFfU0VSVklDRSkgcHJpdmF0ZSB6aXRpU2VydmljZTogWml0aURhdGFTZXJ2aWNlLFxuICAgICAgICBvdmVycmlkZSBjc3ZEb3dubG9hZFNlcnZpY2U6IENzdkRvd25sb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nRm9ybTogTWF0RGlhbG9nLFxuICAgICAgICBASW5qZWN0KEVER0VfUk9VVEVSX0VYVEVOU0lPTl9TRVJWSUNFKSBwcml2YXRlIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZXI6IFJvdXRlclxuICAgICkge1xuICAgICAgICBzdXBlcihzZXR0aW5ncywgZmlsdGVyU2VydmljZSwgY3N2RG93bmxvYWRTZXJ2aWNlLCBleHRTZXJ2aWNlLCByb3V0ZXIpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlID0gKGZvcm1EYXRhKTogUHJvbWlzZTxDYWxsYmFja1Jlc3VsdHM+ID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHBhc3NlZDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIGluaXRUYWJsZUNvbHVtbnMoKTogYW55IHtcbiAgICAgICAgdGhpcy5pbml0TWVudUFjdGlvbnMoKTtcblxuICAgICAgICBjb25zdCBuYW1lUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJjb2wgY2VsbC1uYW1lLXJlbmRlcmVyXCIgZGF0YS1pZD1cIiR7cm93Py5kYXRhPy5pZH1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNpcmNsZSAke3Jvdz8uZGF0YT8uaXNWZXJpZmllZH1cIiB0aXRsZT1cIlZlcmlmaWVkIFN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNpcmNsZSAke3Jvdz8uZGF0YT8uaXNPbmxpbmV9XCIgdGl0bGU9XCJPbmxpbmUgU3RhdHVzXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+JHtyb3c/LmRhdGE/Lm5hbWV9PC9zdHJvbmc+XG4gICAgICAgICAgICAgIDwvZGl2PmA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb2xlc1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgbGV0IHJvbGVzID0gJyc7XG4gICAgICAgICAgICByb3c/LmRhdGE/LnJvbGVBdHRyaWJ1dGVzPy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgcm9sZXMgKz0gJzxkaXYgY2xhc3M9XCJoYXNodGFnXCI+JythdHRyKyc8L2Rpdj4nO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcm9sZXM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvc1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3NNYXA6IGFueSA9IHtcbiAgICAgICAgICAgICAgICAnZGFyd2luJzogJ2FwcGxlJyxcbiAgICAgICAgICAgICAgICAnbGludXgnOiAnbGludXgnLFxuICAgICAgICAgICAgICAgICdhbmRyb2lkJzogJ2FuZHJvaWQnLFxuICAgICAgICAgICAgICAgICd3aW5kb3dzJzogJ3dpbmRvd3MnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgb3MgPSBcIm90aGVyXCI7XG4gICAgICAgICAgICBmb3JFYWNoKG9zTWFwLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LnZlcnNpb25JbmZvPy5vc1ZlcnNpb24/LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXkpPj0wIHx8XG4gICAgICAgICAgICAgICAgICAgIHJvdz8uZGF0YT8udmVyc2lvbkluZm8/Lm9zLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXkpPj0wKSB7XG4gICAgICAgICAgICAgICAgICAgIG9zID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJjb2wgZGVza3RvcFwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCIgc3R5bGU9XCJvdmVyZmxvdzogdW5zZXQ7XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcyAke29zfVwiIGRhdGEtYmFsbG9vbi1wb3M9XCJ1cFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5yb2xsbWVudFRva2VuRm9ybWF0dGVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSByb3c/LmRhdGE/LmVucm9sbG1lbnRUb2tlbjtcbiAgICAgICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgICAgIGlmIChtb21lbnQocm93Py5kYXRhPy5lbnJvbGxtZW50RXhwaXJlc0F0KS5pc0JlZm9yZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnRW5yb2xsbWVudCBFeHBpcmVkJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgY29sdW1uRmlsdGVycyA9IHRoaXMuY29sdW1uRmlsdGVycztcblxuICAgICAgICBjb25zdCBvc1BhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdDT01CTycsXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FsbCcsIHZhbHVlOiAnJywgaWNvbjogJ2VtcHR5JyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBcHBsZScsIHZhbHVlOiAnZGFyd2luJywgaWNvbjogJ2FwcGxlJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdXaW5kb3dzJywgdmFsdWU6ICdtaW5ndycsIGljb246ICd3aW5kb3dzJyAgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTGludXgnLCB2YWx1ZTogJ2xpbnV4JywgaWNvbjogJ2xpbnV4JyAgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQW5kcm9pZCcsIHZhbHVlOiAnYW5kcm9pZCcsIGljb246ICdhbmRyb2lkJyAgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnT3RoZXIgKHRleHQgc2VhcmNoKScsIHZhbHVlOiAnJywgaWNvbjogJ290aGVyJywgdXNlVGV4dElucHV0OiB0cnVlICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGNvbHVtbkZpbHRlcnMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IHRhYmxlQ29sdW1ucyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlclBhcmFtczogeyBwYXRoUm9vdDogdGhpcy5iYXNlUGF0aCwgc2hvd1JvdXRlckljb25zOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBzb3J0RGlyOiAnYXNjJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ29zJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3ZlcnNpb25JbmZvLm9zJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnTy9TJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogb3NSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICB0b29sdGlwQ29tcG9uZW50OiBPU1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdG9vbHRpcEZpZWxkOiAndmVyc2lvbkluZm8ub3MnLFxuICAgICAgICAgICAgICAgIHRvb2x0aXBDb21wb25lbnRQYXJhbXM6IHsgY29sb3I6ICcjZWNlY2VjJyB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdSb2xlcycsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLnJvbGVzUmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ3ZlcmlmaWVkJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lzVmVyaWZpZWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdWZXJpZmllZCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ29ubGluZScsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpc09ubGluZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ09ubGluZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdDcmVhdGVkIEF0JyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogdGhpcy5jcmVhdGVkQXRGb3JtYXR0ZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdlbnJvbGxtZW50VG9rZW4nLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnZW5yb2xsbWVudFRva2VuJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnVG9rZW4nLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiBlbnJvbGxtZW50VG9rZW5Gb3JtYXR0ZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdqd3QnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnZW5yb2xsbWVudEp3dCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0pXVCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiAnY2VsbFRva2VuQ29tcG9uZW50JyxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh0aGlzLmV4dFNlcnZpY2UucHJvY2Vzc1RhYmxlQ29sdW1ucykge1xuICAgICAgICAgICAgdGFibGVDb2x1bW5zID0gdGhpcy5leHRTZXJ2aWNlLnByb2Nlc3NUYWJsZUNvbHVtbnModGFibGVDb2x1bW5zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJsZUNvbHVtbnM7XG4gICAgfVxuXG4gICAgZ2V0RGF0YShmaWx0ZXJzPzogRmlsdGVyT2JqW10sIHNvcnQ/OiBhbnksIHBhZ2U/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvLyB3ZSBjYW4gY3VzdG9taXplIGZpbHRlcnMgb3Igc29ydGluZyBoZXJlIGJlZm9yZSBtb3Zpbmcgb24uLi5cbiAgICAgICAgdGhpcy5wYWdpbmcucGFnZSA9IHBhZ2UgfHwgdGhpcy5wYWdpbmcucGFnZTtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFRhYmxlRGF0YSgnZWRnZS1yb3V0ZXJzJywgdGhpcy5wYWdpbmcsIGZpbHRlcnMsIHNvcnQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RhdGEocmVzdWx0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhKHJlc3VsdHM6IGFueSkge1xuICAgICAgICBpZiAoIWlzRW1wdHkocmVzdWx0cz8uZGF0YSkpIHtcbiAgICAgICAgICAgIC8vcHJlLXByb2Nlc3MgZGF0YSBiZWZvcmUgcmVuZGVyaW5nXG4gICAgICAgICAgICByZXN1bHRzLmRhdGEgPSB0aGlzLmFkZEFjdGlvbnNQZXJSb3cocmVzdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRBY3Rpb25zUGVyUm93KHJlc3VsdHM6IGFueSk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMuZGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QgPSBbJ3VwZGF0ZScsICdyZS1lbnJvbGwnLCAnZGVsZXRlJ107XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNFbnJvbG1lbnRUb2tlbihyb3cpKSB7XG4gICAgICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QucHVzaCgnZG93bmxvYWQtZW5yb2xsbWVudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hZGRMaXN0SXRlbUV4dGVuc2lvbkFjdGlvbnMocm93KTtcbiAgICAgICAgICAgIHJldHVybiByb3c7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc0Vucm9sbWVudFRva2VuKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuICFpc0VtcHR5KGl0ZW0/LmVucm9sbG1lbnRKd3QpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFZGdlUm91dGVyUm9sZUF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmdldCgnZWRnZS1yb3V0ZXItcm9sZS1hdHRyaWJ1dGVzJywge30sIFtdKTtcbiAgICB9XG5cblxuICAgIGdldEpXVChpZGVudGl0eTogYW55KSB7XG4gICAgICAgIHJldHVybiBpZGVudGl0eS5lbnJvbGxtZW50Snd0O1xuICAgIH1cblxuICAgIGRvd25sb2FkSldUKGp3dCwgbmFtZSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnaHJlZicsICdkYXRhOmFwcGxpY2F0aW9uL3ppdGktand0O2NoYXJzZXQ9dXRmLTgsJyArIGVuY29kZVVSSUNvbXBvbmVudChqd3QpKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgbmFtZStcIi5qd3RcIik7XG4gICAgICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgZWxlbWVudC5jbGljaygpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJlZW5yb2xsKHJvdXRlcjogYW55KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBhcHBlbmRJZDogJ1JlZW5yb2xsUm91dGVyJyxcbiAgICAgICAgICAgIHRpdGxlOiAnUmUtRW5yb2xsIFJvdXRlcicsXG4gICAgICAgICAgICBtZXNzYWdlOiBgPHA+SWYgdGhlIHJvdXRlciBpcyBjdXJyZW50bHkgY29ubmVjdGVkLCBpdCB3aWxsIGJlIGRpc2Nvbm5lY3RlZCB1bnRpbCB0aGUgZW5yb2xsbWVudCBwcm9jZXNzIGlzIGNvbXBsZXRlZCB3aXRoIHRoZSBuZXdseSBnZW5lcmF0ZWQgSldULiA8cD4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlLWVucm9sbCB0aGUgc2VsZWN0ZWQgcm91dGVyP2AsXG4gICAgICAgICAgICBjb25maXJtTGFiZWw6ICdZZXMnLFxuICAgICAgICAgICAgY2FuY2VsTGFiZWw6ICdPb3BzLCBubyBnZXQgbWUgb3V0IG9mIGhlcmUnLFxuICAgICAgICAgICAgc2hvd0NhbmNlbExpbms6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ0Zvcm0ub3BlbihDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnRvUHJvbWlzZSgpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdD8uY29uZmlybWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UucG9zdChgZWRnZS1yb3V0ZXJzLyR7cm91dGVyLmlkfS9yZS1lbnJvbGxgLCB7fSwgdHJ1ZSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdTdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBSZS1lbnJvbGwgQ29uZmlybWVkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBSb3V0ZXIgcmUtZW5yb2xsIHdhcyBzZW50LiBBIG5ldyBlbnJvbGxtZW50IHRva2VuIGlzIG5vdyBhdmFpbGFibGVgLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuVXBkYXRlKGl0ZW0/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5tb2RhbFR5cGUgPSAnZWRnZS1yb3V0ZXInO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIgPSBpdGVtO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIuYmFkZ2VzID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIuaXNPbmxpbmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRWRnZVJvdXRlci5iYWRnZXMucHVzaCh7bGFiZWw6ICdPbmxpbmUnLCBjbGFzczogJ29ubGluZScsIGNpcmNsZTogJ3RydWUnfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFZGdlUm91dGVyLmJhZGdlcy5wdXNoKHtsYWJlbDogJ09mZmxpbmUnLCBjbGFzczogJ29mZmxpbmUnLCBjaXJjbGU6ICdmYWxzZSd9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIuaXNWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFZGdlUm91dGVyLmJhZGdlcy5wdXNoKHtsYWJlbDogJ1VudmVyaWZpZWQnLCBjbGFzczogJ3VucmVnJ30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHdoZW4gbWV0cmljcyBhbmQgZGlhbG9nIGZlYXR1cmVzIGFyZSBhdmFpbGFibGVcbiAgICAgICAgICAgIC8qdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXJaLm1vcmVBY3Rpb25zID0gW1xuICAgICAgICAgICAgICAgIHtuYW1lOiAnb3Blbi1tZXRyaWNzJywgbGFiZWw6ICdPcGVuIE1ldHJpY3MnfSxcbiAgICAgICAgICAgICAgICB7bmFtZTogJ2RpYWwtbG9ncycsIGxhYmVsOiAnRGlhbCBMb2dzJ30sXG4gICAgICAgICAgICAgICAge25hbWU6ICdkaWFsLWxvZ3MnLCBsYWJlbDogJ1ZpZXcgRXZlbnRzJ30sXG4gICAgICAgICAgICBdOyovXG4gICAgICAgICAgICB1bnNldCh0aGlzLnNlbGVjdGVkRWRnZVJvdXRlciwgJ19saW5rcycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIgPSBuZXcgRWRnZVJvdXRlcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1yb3V0ZXJzLXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9wYWdlcy9lZGdlLXJvdXRlcnMvZWRnZS1yb3V0ZXJzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQVksT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzFDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzlCLE1BQU0sOEZBQThGLENBQUM7QUFFdEcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFHdEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBSXBFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBRXBILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7QUFFakgsTUFHYSxzQkFBdUIsU0FBUSxvQkFBb0I7SUE4QzVELFlBQzhCLFFBQThCLEVBQ3hELGFBQXFDLEVBQ0Ys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LFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQzthQUM5RjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7YUFDOUU7WUFDRCxpRUFBaUU7WUFDakU7Ozs7Z0JBSUk7WUFDSixLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO2FBQU07WUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztTQUM5QztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBeFZRLHNCQUFzQixrQkErQ25CLGdCQUFnQixtREFFaEIsaUJBQWlCLHNHQUlqQiw2QkFBNkI7bUhBckRoQyxzQkFBc0IsY0FGbkIsTUFBTTs7U0FFVCxzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWdEUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFJeEIsTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdCwgQ29tcG9uZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtjbG9uZURlZXAsIGlzRW1wdHl9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge0RhdGFUYWJsZUZpbHRlclNlcnZpY2UsIEZpbHRlck9ian0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtMaXN0UGFnZVNlcnZpY2VDbGFzc30gZnJvbSBcIi4uLy4uL3NoYXJlZC9saXN0LXBhZ2Utc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtcbiAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnRcbn0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge0NhbGxiYWNrUmVzdWx0c30gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7U0VUVElOR1NfU0VSVklDRSwgU2V0dGluZ3NTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZVwiO1xuaW1wb3J0IHtaSVRJX0RBVEFfU0VSVklDRSwgWml0aURhdGFTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7Q3N2RG93bmxvYWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY3N2LWRvd25sb2FkLnNlcnZpY2VcIjtcbmltcG9ydCB7RWRnZVJvdXRlcn0gZnJvbSBcIi4uLy4uL21vZGVscy9lZGdlLXJvdXRlclwiO1xuaW1wb3J0IHt1bnNldCwgZm9yRWFjaH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtJVG9vbHRpcEFuZ3VsYXJDb21wfSBmcm9tIFwiYWctZ3JpZC1hbmd1bGFyXCI7XG5pbXBvcnQge0lUb29sdGlwUGFyYW1zfSBmcm9tIFwiYWctZ3JpZC1jb21tdW5pdHlcIjtcbmltcG9ydCB7T1NUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS90b29sdGlwcy9vcy10b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtHcm93bGVyTW9kZWx9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5tb2RlbFwiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZUNsYXNzfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Mtc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtFREdFX1JPVVRFUl9FWFRFTlNJT05fU0VSVklDRX0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2VkZ2Utcm91dGVyL2VkZ2Utcm91dGVyLWZvcm0uc2VydmljZVwiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtDb25maXJtQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFZGdlUm91dGVyc1BhZ2VTZXJ2aWNlIGV4dGVuZHMgTGlzdFBhZ2VTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcHJpdmF0ZSBwYWdpbmcgPSB0aGlzLkRFRkFVTFRfUEFHSU5HO1xuICAgIHB1YmxpYyBtb2RhbFR5cGUgPSAnZWRnZS1yb3V0ZXInO1xuXG4gICAgb3ZlcnJpZGUgQ1NWX0NPTFVNTlMgPSBbXG4gICAgICAgIHtsYWJlbDogJ05hbWUnLCBwYXRoOiAnbmFtZSd9LFxuICAgICAgICB7bGFiZWw6ICdBdHRyaWJ1dGVzJywgcGF0aDogJ3JvbGVBdHRyaWJ1dGVzJ30sXG4gICAgICAgIHtsYWJlbDogJ1ZlcmlmaWVkJywgcGF0aDogJ2lzVmVyaWZpZWQnfSxcbiAgICAgICAge2xhYmVsOiAnT25saW5lJywgcGF0aDogJ2lzT25saW5lJ30sXG4gICAgICAgIHtsYWJlbDogJ0NyZWF0ZWQnLCBwYXRoOiAnY3JlYXRlZEF0J30sXG4gICAgICAgIHtsYWJlbDogJ1Rva2VuJywgcGF0aDogJ2Vucm9sbG1lbnRUb2tlbid9LFxuICAgICAgICB7bGFiZWw6ICdObyBUcmF2ZXJzYWwnLCBwYXRoOiAnbm9UcmF2ZXJzYWwnfSxcbiAgICAgICAge2xhYmVsOiAnSG9zdCBOYW1lJywgcGF0aDogJ2hvc3RuYW1lJ30sXG4gICAgICAgIHtsYWJlbDogJ0Rpc2FibGVkJywgcGF0aDogJ2Rpc2FibGVkJ30sXG4gICAgICAgIHtsYWJlbDogJ1R1bm5lbGVyIEVuYWJsZWQnLCBwYXRoOiAnaXNUdW5uZWxlckVuYWJsZWQnfSxcbiAgICAgICAge2xhYmVsOiAnT1MnLCBwYXRoOiAndmVyc2lvbkluZm8ub3MnfSxcbiAgICAgICAge2xhYmVsOiAnQXJjaGl0ZWN0dXJlJywgcGF0aDogJ3ZlcnNpb25JbmZvLmFyY2gnfSxcbiAgICAgICAge2xhYmVsOiAnVmVyc2lvbicsIHBhdGg6ICd2ZXJzaW9uSW5mby52ZXJzaW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ1JldmlzaW9uJywgcGF0aDogJ3ZlcnNpb25JbmZvLnJldmlzaW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ0ZpbmdlcnByaW50JywgcGF0aDogJ2ZpbmdlcnByaW50J30sXG4gICAgICAgIHtsYWJlbDogJ0lEJywgcGF0aDogJ2lkJ30sXG4gICAgXTtcblxuICAgIHNlbGVjdGVkRWRnZVJvdXRlcjogYW55ID0gbmV3IEVkZ2VSb3V0ZXIoKTtcbiAgICBjb2x1bW5GaWx0ZXJzOiBhbnkgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICBvczogJycsXG4gICAgICAgIGNyZWF0ZWRBdDogJycsXG4gICAgfTtcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgSldUJywgYWN0aW9uOiAnZG93bmxvYWQtZW5yb2xsbWVudCd9LFxuICAgICAgICB7bmFtZTogJ1Jlc2V0IEVucm9sbG1lbnQnLCBhY3Rpb246ICdyZXNldC1lbnJvbGxtZW50J30sXG4gICAgICAgIHtuYW1lOiAnUmUtRW5yb2xsJywgYWN0aW9uOiAncmUtZW5yb2xsJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgb3ZlcnJpZGUgdGFibGVIZWFkZXJBY3Rpb25zID0gW1xuICAgICAgICB7bmFtZTogJ0Rvd25sb2FkIEFsbCcsIGFjdGlvbjogJ2Rvd25sb2FkLWFsbCd9LFxuICAgICAgICB7bmFtZTogJ0Rvd25sb2FkIFNlbGVjdGVkJywgYWN0aW9uOiAnZG93bmxvYWQtc2VsZWN0ZWQnfSxcbiAgICBdXG5cbiAgICByZXNvdXJjZVR5cGUgPSAnZWRnZS1yb3V0ZXJzJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2VDbGFzcyxcbiAgICAgICAgZmlsdGVyU2VydmljZTogRGF0YVRhYmxlRmlsdGVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChaSVRJX0RBVEFfU0VSVklDRSkgcHJpdmF0ZSB6aXRpU2VydmljZTogWml0aURhdGFTZXJ2aWNlLFxuICAgICAgICBvdmVycmlkZSBjc3ZEb3dubG9hZFNlcnZpY2U6IENzdkRvd25sb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nRm9ybTogTWF0RGlhbG9nLFxuICAgICAgICBASW5qZWN0KEVER0VfUk9VVEVSX0VYVEVOU0lPTl9TRVJWSUNFKSBwcml2YXRlIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZXI6IFJvdXRlclxuICAgICkge1xuICAgICAgICBzdXBlcihzZXR0aW5ncywgZmlsdGVyU2VydmljZSwgY3N2RG93bmxvYWRTZXJ2aWNlLCBleHRTZXJ2aWNlLCByb3V0ZXIpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlID0gKGZvcm1EYXRhKTogUHJvbWlzZTxDYWxsYmFja1Jlc3VsdHM+ID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHBhc3NlZDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIGluaXRUYWJsZUNvbHVtbnMoKTogYW55IHtcbiAgICAgICAgdGhpcy5pbml0TWVudUFjdGlvbnMoKTtcblxuICAgICAgICBjb25zdCBuYW1lUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJjb2wgY2VsbC1uYW1lLXJlbmRlcmVyXCIgZGF0YS1pZD1cIiR7cm93Py5kYXRhPy5pZH1cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNpcmNsZSAke3Jvdz8uZGF0YT8uaXNWZXJpZmllZH1cIiB0aXRsZT1cIlZlcmlmaWVkIFN0YXR1c1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNpcmNsZSAke3Jvdz8uZGF0YT8uaXNPbmxpbmV9XCIgdGl0bGU9XCJPbmxpbmUgU3RhdHVzXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+JHtyb3c/LmRhdGE/Lm5hbWV9PC9zdHJvbmc+XG4gICAgICAgICAgICAgIDwvZGl2PmA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb2xlc1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgbGV0IHJvbGVzID0gJyc7XG4gICAgICAgICAgICByb3c/LmRhdGE/LnJvbGVBdHRyaWJ1dGVzPy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgcm9sZXMgKz0gJzxkaXYgY2xhc3M9XCJoYXNodGFnXCI+JythdHRyKyc8L2Rpdj4nO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcm9sZXM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvc1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3NNYXA6IGFueSA9IHtcbiAgICAgICAgICAgICAgICAnZGFyd2luJzogJ2FwcGxlJyxcbiAgICAgICAgICAgICAgICAnbGludXgnOiAnbGludXgnLFxuICAgICAgICAgICAgICAgICdhbmRyb2lkJzogJ2FuZHJvaWQnLFxuICAgICAgICAgICAgICAgICd3aW5kb3dzJzogJ3dpbmRvd3MnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgb3MgPSBcIm90aGVyXCI7XG4gICAgICAgICAgICBmb3JFYWNoKG9zTWFwLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LnZlcnNpb25JbmZvPy5vc1ZlcnNpb24/LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXkpPj0wIHx8XG4gICAgICAgICAgICAgICAgICAgIHJvdz8uZGF0YT8udmVyc2lvbkluZm8/Lm9zLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihrZXkpPj0wKSB7XG4gICAgICAgICAgICAgICAgICAgIG9zID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJjb2wgZGVza3RvcFwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCIgc3R5bGU9XCJvdmVyZmxvdzogdW5zZXQ7XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcyAke29zfVwiIGRhdGEtYmFsbG9vbi1wb3M9XCJ1cFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5yb2xsbWVudFRva2VuRm9ybWF0dGVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSByb3c/LmRhdGE/LmVucm9sbG1lbnRUb2tlbjtcbiAgICAgICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgICAgIGlmIChtb21lbnQocm93Py5kYXRhPy5lbnJvbGxtZW50RXhwaXJlc0F0KS5pc0JlZm9yZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnRW5yb2xsbWVudCBFeHBpcmVkJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgY29sdW1uRmlsdGVycyA9IHRoaXMuY29sdW1uRmlsdGVycztcblxuICAgICAgICBjb25zdCBvc1BhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdDT01CTycsXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FsbCcsIHZhbHVlOiAnJywgaWNvbjogJ2VtcHR5JyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBcHBsZScsIHZhbHVlOiAnZGFyd2luJywgaWNvbjogJ2FwcGxlJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdXaW5kb3dzJywgdmFsdWU6ICdtaW5ndycsIGljb246ICd3aW5kb3dzJyAgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTGludXgnLCB2YWx1ZTogJ2xpbnV4JywgaWNvbjogJ2xpbnV4JyAgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQW5kcm9pZCcsIHZhbHVlOiAnYW5kcm9pZCcsIGljb246ICdhbmRyb2lkJyAgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnT3RoZXIgKHRleHQgc2VhcmNoKScsIHZhbHVlOiAnJywgaWNvbjogJ290aGVyJywgdXNlVGV4dElucHV0OiB0cnVlICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGNvbHVtbkZpbHRlcnMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbGV0IHRhYmxlQ29sdW1ucyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlclBhcmFtczogeyBwYXRoUm9vdDogdGhpcy5iYXNlUGF0aCwgc2hvd1JvdXRlckljb25zOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBzb3J0RGlyOiAnYXNjJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ29zJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3ZlcnNpb25JbmZvLm9zJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnTy9TJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogb3NSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICB0b29sdGlwQ29tcG9uZW50OiBPU1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdG9vbHRpcEZpZWxkOiAndmVyc2lvbkluZm8ub3MnLFxuICAgICAgICAgICAgICAgIHRvb2x0aXBDb21wb25lbnRQYXJhbXM6IHsgY29sb3I6ICcjZWNlY2VjJyB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdSb2xlcycsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLnJvbGVzUmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ3ZlcmlmaWVkJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lzVmVyaWZpZWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdWZXJpZmllZCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ29ubGluZScsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpc09ubGluZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ09ubGluZScsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdDcmVhdGVkIEF0JyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogdGhpcy5jcmVhdGVkQXRGb3JtYXR0ZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdlbnJvbGxtZW50VG9rZW4nLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnZW5yb2xsbWVudFRva2VuJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnVG9rZW4nLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiBlbnJvbGxtZW50VG9rZW5Gb3JtYXR0ZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdqd3QnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnZW5yb2xsbWVudEp3dCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0pXVCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiAnY2VsbFRva2VuQ29tcG9uZW50JyxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuSURfQ09MVU1OX0RFRlxuICAgICAgICBdO1xuXG4gICAgICAgIGlmICh0aGlzLmV4dFNlcnZpY2UucHJvY2Vzc1RhYmxlQ29sdW1ucykge1xuICAgICAgICAgICAgdGFibGVDb2x1bW5zID0gdGhpcy5leHRTZXJ2aWNlLnByb2Nlc3NUYWJsZUNvbHVtbnModGFibGVDb2x1bW5zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJsZUNvbHVtbnM7XG4gICAgfVxuXG4gICAgZ2V0RGF0YShmaWx0ZXJzPzogRmlsdGVyT2JqW10sIHNvcnQ/OiBhbnksIHBhZ2U/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvLyB3ZSBjYW4gY3VzdG9taXplIGZpbHRlcnMgb3Igc29ydGluZyBoZXJlIGJlZm9yZSBtb3Zpbmcgb24uLi5cbiAgICAgICAgdGhpcy5wYWdpbmcucGFnZSA9IHBhZ2UgfHwgdGhpcy5wYWdpbmcucGFnZTtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFRhYmxlRGF0YSgnZWRnZS1yb3V0ZXJzJywgdGhpcy5wYWdpbmcsIGZpbHRlcnMsIHNvcnQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RhdGEocmVzdWx0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhKHJlc3VsdHM6IGFueSkge1xuICAgICAgICBpZiAoIWlzRW1wdHkocmVzdWx0cz8uZGF0YSkpIHtcbiAgICAgICAgICAgIC8vcHJlLXByb2Nlc3MgZGF0YSBiZWZvcmUgcmVuZGVyaW5nXG4gICAgICAgICAgICByZXN1bHRzLmRhdGEgPSB0aGlzLmFkZEFjdGlvbnNQZXJSb3cocmVzdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRBY3Rpb25zUGVyUm93KHJlc3VsdHM6IGFueSk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMuZGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QgPSBbJ3VwZGF0ZScsICdyZS1lbnJvbGwnLCAnZGVsZXRlJ107XG4gICAgICAgICAgICBpZiAodGhpcy5oYXNFbnJvbG1lbnRUb2tlbihyb3cpKSB7XG4gICAgICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QucHVzaCgnZG93bmxvYWQtZW5yb2xsbWVudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hZGRMaXN0SXRlbUV4dGVuc2lvbkFjdGlvbnMocm93KTtcbiAgICAgICAgICAgIHJldHVybiByb3c7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc0Vucm9sbWVudFRva2VuKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuICFpc0VtcHR5KGl0ZW0/LmVucm9sbG1lbnRKd3QpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFZGdlUm91dGVyUm9sZUF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmdldCgnZWRnZS1yb3V0ZXItcm9sZS1hdHRyaWJ1dGVzJywge30sIFtdKTtcbiAgICB9XG5cblxuICAgIGdldEpXVChpZGVudGl0eTogYW55KSB7XG4gICAgICAgIHJldHVybiBpZGVudGl0eS5lbnJvbGxtZW50Snd0O1xuICAgIH1cblxuICAgIGRvd25sb2FkSldUKGp3dCwgbmFtZSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnaHJlZicsICdkYXRhOmFwcGxpY2F0aW9uL3ppdGktand0O2NoYXJzZXQ9dXRmLTgsJyArIGVuY29kZVVSSUNvbXBvbmVudChqd3QpKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgbmFtZStcIi5qd3RcIik7XG4gICAgICAgIGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgZWxlbWVudC5jbGljaygpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJlZW5yb2xsKHJvdXRlcjogYW55KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBhcHBlbmRJZDogJ1JlZW5yb2xsUm91dGVyJyxcbiAgICAgICAgICAgIHRpdGxlOiAnUmUtRW5yb2xsIFJvdXRlcicsXG4gICAgICAgICAgICBtZXNzYWdlOiBgPHA+SWYgdGhlIHJvdXRlciBpcyBjdXJyZW50bHkgY29ubmVjdGVkLCBpdCB3aWxsIGJlIGRpc2Nvbm5lY3RlZCB1bnRpbCB0aGUgZW5yb2xsbWVudCBwcm9jZXNzIGlzIGNvbXBsZXRlZCB3aXRoIHRoZSBuZXdseSBnZW5lcmF0ZWQgSldULiA8cD4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlLWVucm9sbCB0aGUgc2VsZWN0ZWQgcm91dGVyP2AsXG4gICAgICAgICAgICBjb25maXJtTGFiZWw6ICdZZXMnLFxuICAgICAgICAgICAgY2FuY2VsTGFiZWw6ICdPb3BzLCBubyBnZXQgbWUgb3V0IG9mIGhlcmUnLFxuICAgICAgICAgICAgc2hvd0NhbmNlbExpbms6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ0Zvcm0ub3BlbihDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnRvUHJvbWlzZSgpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdD8uY29uZmlybWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UucG9zdChgZWRnZS1yb3V0ZXJzLyR7cm91dGVyLmlkfS9yZS1lbnJvbGxgLCB7fSwgdHJ1ZSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdTdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBSZS1lbnJvbGwgQ29uZmlybWVkYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBSb3V0ZXIgcmUtZW5yb2xsIHdhcyBzZW50LiBBIG5ldyBlbnJvbGxtZW50IHRva2VuIGlzIG5vdyBhdmFpbGFibGVgLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuVXBkYXRlKGl0ZW0/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5tb2RhbFR5cGUgPSAnZWRnZS1yb3V0ZXInO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIgPSBpdGVtO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIuYmFkZ2VzID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIuaXNPbmxpbmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRWRnZVJvdXRlci5iYWRnZXMucHVzaCh7bGFiZWw6ICdPbmxpbmUnLCBjbGFzczogJ29ubGluZScsIGNpcmNsZTogJ3RydWUnfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFZGdlUm91dGVyLmJhZGdlcy5wdXNoKHtsYWJlbDogJ09mZmxpbmUnLCBjbGFzczogJ29mZmxpbmUnLCBjaXJjbGU6ICdmYWxzZSd9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIuaXNWZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRFZGdlUm91dGVyLmJhZGdlcy5wdXNoKHtsYWJlbDogJ1VudmVyaWZpZWQnLCBjbGFzczogJ3VucmVnJ30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHdoZW4gbWV0cmljcyBhbmQgZGlhbG9nIGZlYXR1cmVzIGFyZSBhdmFpbGFibGVcbiAgICAgICAgICAgIC8qdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXJaLm1vcmVBY3Rpb25zID0gW1xuICAgICAgICAgICAgICAgIHtuYW1lOiAnb3Blbi1tZXRyaWNzJywgbGFiZWw6ICdPcGVuIE1ldHJpY3MnfSxcbiAgICAgICAgICAgICAgICB7bmFtZTogJ2RpYWwtbG9ncycsIGxhYmVsOiAnRGlhbCBMb2dzJ30sXG4gICAgICAgICAgICAgICAge25hbWU6ICdkaWFsLWxvZ3MnLCBsYWJlbDogJ1ZpZXcgRXZlbnRzJ30sXG4gICAgICAgICAgICBdOyovXG4gICAgICAgICAgICB1bnNldCh0aGlzLnNlbGVjdGVkRWRnZVJvdXRlciwgJ19saW5rcycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXIgPSBuZXcgRWRnZVJvdXRlcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
|
|
@@ -288,7 +288,8 @@ class IdentitiesPageService extends ListPageServiceClass {
|
|
|
288
288
|
resizable: true,
|
|
289
289
|
cellClass: 'nf-cell-vert-align tCol',
|
|
290
290
|
width: 100,
|
|
291
|
-
}
|
|
291
|
+
},
|
|
292
|
+
this.ID_COLUMN_DEF
|
|
292
293
|
];
|
|
293
294
|
}
|
|
294
295
|
getData(filters, sort, page) {
|
|
@@ -490,4 +491,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
490
491
|
type: Inject,
|
|
491
492
|
args: [IDENTITY_EXTENSION_SERVICE]
|
|
492
493
|
}] }, { type: i5.Router }]; } });
|
|
493
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdGllcy1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvaWRlbnRpdGllcy9pZGVudGl0aWVzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQVksT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzFDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzlCLE1BQU0sOEZBQThGLENBQUM7QUFFdEcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBRXBFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBSXBHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBRTNHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7QUFFakgsTUFHYSxxQkFBc0IsU0FBUSxvQkFBb0I7SUFnRDNELFlBQzhCLFFBQThCLEVBQ3hE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QVcsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBdGRRLHFCQUFxQixrQkFpRGxCLGdCQUFnQixtREFFaEIsaUJBQWlCLHNHQUlqQiwwQkFBMEI7bUhBdkQ3QixxQkFBcUIsY0FGbEIsTUFBTTs7U0FFVCxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWtEUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFJeEIsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdCwgQ29tcG9uZW50LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge2Nsb25lRGVlcCwgaXNFbXB0eX0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZSwgRmlsdGVyT2JqfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0xpc3RQYWdlU2VydmljZUNsYXNzfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2xpc3QtcGFnZS1zZXJ2aWNlLmNsYXNzXCI7XG5pbXBvcnQge1xuICAgIFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudFxufSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tZGVmYXVsdC90YWJsZS1jb2x1bW4tZGVmYXVsdC5jb21wb25lbnRcIjtcbmltcG9ydCB7Q2FsbGJhY2tSZXN1bHRzfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbGlzdC1wYWdlLWZlYXR1cmVzL2xpc3QtcGFnZS1mb3JtL2xpc3QtcGFnZS1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge1pJVElfREFUQV9TRVJWSUNFLCBaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy96aXRpLWRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHtDc3ZEb3dubG9hZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9jc3YtZG93bmxvYWQuc2VydmljZVwiO1xuaW1wb3J0IHtJZGVudGl0eX0gZnJvbSBcIi4uLy4uL21vZGVscy9pZGVudGl0eVwiO1xuaW1wb3J0IHt1bnNldH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtJVG9vbHRpcEFuZ3VsYXJDb21wfSBmcm9tIFwiYWctZ3JpZC1hbmd1bGFyXCI7XG5pbXBvcnQge0lUb29sdGlwUGFyYW1zfSBmcm9tIFwiYWctZ3JpZC1jb21tdW5pdHlcIjtcbmltcG9ydCB7T1NUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS90b29sdGlwcy9vcy10b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTREtUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS90b29sdGlwcy9zZGstdG9vbHRpcC5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kZWxcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1Jlc2V0RW5yb2xsbWVudENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL3Jlc2V0LWVucm9sbG1lbnQvcmVzZXQtZW5yb2xsbWVudC5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZUNsYXNzfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Mtc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtJREVOVElUWV9FWFRFTlNJT05fU0VSVklDRX0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2lkZW50aXR5L2lkZW50aXR5LWZvcm0uc2VydmljZVwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0aWVzUGFnZVNlcnZpY2UgZXh0ZW5kcyBMaXN0UGFnZVNlcnZpY2VDbGFzcyB7XG5cbiAgICBwcml2YXRlIHBhZ2luZyA9IHRoaXMuREVGQVVMVF9QQUdJTkc7XG4gICAgcHVibGljIG1vZGFsVHlwZSA9ICdpZGVudGl0aWVzJztcblxuICAgIG92ZXJyaWRlIENTVl9DT0xVTU5TID0gW1xuICAgICAgICB7bGFiZWw6ICdOYW1lJywgcGF0aDogJ25hbWUnfSxcbiAgICAgICAge2xhYmVsOiAnUm9sZXMnLCBwYXRoOiAncm9sZUF0dHJpYnV0ZXMnfSxcbiAgICAgICAge2xhYmVsOiAnT25saW5lJywgcGF0aDogJ2hhc0FwaVNlc3Npb24nfSxcbiAgICAgICAge2xhYmVsOiAnRWRnZSBSb3V0ZXIgQ29ubmVjdGVkJywgcGF0aDogJ2hhc0VkZ2VSb3V0ZXJDb25uZWN0aW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ09TJywgcGF0aDogJ2VudkluZm8ub3MnfSxcbiAgICAgICAge2xhYmVsOiAnT1MgVmVyc2lvbicsIHBhdGg6ICdlbnZJbmZvLm9zVmVyc2lvbid9LFxuICAgICAgICB7bGFiZWw6ICdTREsnLCBwYXRoOiAnc2RrSW5mby52ZXJzaW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ0FwcCBWZXJzaW9uJywgcGF0aDogJ3Nka0luZm8uYXBwVmVyc2lvbid9LFxuICAgICAgICB7bGFiZWw6ICdUeXBlJywgcGF0aDogJ3R5cGVJZCd9LFxuICAgICAgICB7bGFiZWw6ICdJcyBBZG1pbicsIHBhdGg6ICdpc0FkbWluJ30sXG4gICAgICAgIHtsYWJlbDogJ0F1dGggUG9saWN5JywgcGF0aDogJ2F1dGhQb2xpY3kubmFtZSd9LFxuICAgICAgICB7bGFiZWw6ICdBdXRoIFBvbGljeSBJRCcsIHBhdGg6ICdhdXRoUG9saWN5LmlkJ30sXG4gICAgICAgIHtsYWJlbDogJ01GQSBFbmFibGVkJywgcGF0aDogJ2lzTWZhRW5hYmxlZCd9LFxuICAgICAgICB7bGFiZWw6ICdDcmVhdGVkIEF0JywgcGF0aDogJ2NyZWF0ZWRBdCd9LFxuICAgICAgICB7bGFiZWw6ICdJRCcsIHBhdGg6ICdpZCd9LFxuICAgIF07XG5cbiAgICBzZWxlY3RlZElkZW50aXR5OiBhbnkgPSBuZXcgSWRlbnRpdHkoKTtcbiAgICBjb2x1bW5GaWx0ZXJzOiBhbnkgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICBvczogJycsXG4gICAgICAgIGNyZWF0ZWRBdDogJycsXG4gICAgfTtcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgSldUJywgYWN0aW9uOiAnZG93bmxvYWQtZW5yb2xsbWVudCd9LFxuICAgICAgICB7bmFtZTogJ1ZpZXcgUVInLCBhY3Rpb246ICdxci1jb2RlJ30sXG4gICAgICAgIHtuYW1lOiAnVmlzdWFsaXplcicsIGFjdGlvbjogJ2lkZW50aXR5LXNlcnZpY2UtcGF0aCd9LFxuICAgICAgICB7bmFtZTogJ1Jlc2V0IEVucm9sbG1lbnQnLCBhY3Rpb246ICdyZXNldC1lbnJvbGxtZW50J30sXG4gICAgICAgIHtuYW1lOiAnUmVpc3N1ZSBFbnJvbGxtZW50JywgYWN0aW9uOiAncmVpc3N1ZS1lbnJvbGxtZW50J30sXG4gICAgICAgIHtuYW1lOiAnUmVzZXQgTUZBJywgYWN0aW9uOiAncmVzZXQtbWZhJ30sXG4gICAgICAgIHtuYW1lOiAnT3ZlcnJpZGUnLCBhY3Rpb246ICdvdmVycmlkZSd9LFxuICAgICAgICB7bmFtZTogJ0RlbGV0ZScsIGFjdGlvbjogJ2RlbGV0ZSd9LFxuICAgIF07XG5cbiAgICBvdmVycmlkZSB0YWJsZUhlYWRlckFjdGlvbnMgPSBbXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgQWxsJywgYWN0aW9uOiAnZG93bmxvYWQtYWxsJ30sXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgU2VsZWN0ZWQnLCBhY3Rpb246ICdkb3dubG9hZC1zZWxlY3RlZCd9LFxuICAgIF1cblxuICAgIHJlc291cmNlVHlwZSA9ICdpZGVudGl0aWVzJztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChTRVRUSU5HU19TRVJWSUNFKSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlQ2xhc3MsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIHByaXZhdGUgeml0aVNlcnZpY2U6IFppdGlEYXRhU2VydmljZSxcbiAgICAgICAgb3ZlcnJpZGUgY3N2RG93bmxvYWRTZXJ2aWNlOiBDc3ZEb3dubG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2U6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0Zvcm06IE1hdERpYWxvZyxcbiAgICAgICAgQEluamVjdChJREVOVElUWV9FWFRFTlNJT05fU0VSVklDRSkgZXh0U2VydmljZTogRXh0ZW5zaW9uU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJvdXRlcjogUm91dGVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHNldHRpbmdzLCBmaWx0ZXJTZXJ2aWNlLCBjc3ZEb3dubG9hZFNlcnZpY2UsIGV4dFNlcnZpY2UsIHJvdXRlcik7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUgPSAoZm9ybURhdGEpOiBQcm9taXNlPENhbGxiYWNrUmVzdWx0cz4gPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcGFzc2VkOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgaW5pdFRhYmxlQ29sdW1ucygpOiBhbnkge1xuICAgICAgICB0aGlzLmluaXRNZW51QWN0aW9ucygpO1xuXG4gICAgICAgIGNvbnN0IG5hbWVSZW5kZXJlciA9IChyb3cpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgPGEgaHJlZj1cIi4vaWRlbnRpdGllcy8ke3Jvdz8uZGF0YT8uaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGNlbGwtbmFtZS1yZW5kZXJlclwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaXJjbGUgJHtyb3c/LmRhdGE/Lmhhc0FwaVNlc3Npb259XCIgdGl0bGU9XCJBcGkgU2Vzc2lvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNpcmNsZSAke3Jvdz8uZGF0YT8uaGFzRWRnZVJvdXRlckNvbm5lY3Rpb259XCIgdGl0bGU9XCJFZGdlIFJvdXRlciBDb25uZWN0ZWRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz4ke3Jvdz8uZGF0YT8ubmFtZX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9zUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgICAgICBsZXQgb3MgPSBcIm90aGVyXCI7XG4gICAgICAgICAgICBsZXQgb3NEZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8pIHtcbiAgICAgICAgICAgICAgICBpZiAocm93Py5kYXRhPy5lbnZJbmZvPy5vc1ZlcnNpb24mJnJvdz8uZGF0YT8uZW52SW5mbz8ub3NWZXJzaW9uLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcIndpbmRvd3NcIik+PTApIG9zID0gXCJ3aW5kb3dzXCI7XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8/Lm9zJiZyb3c/LmRhdGE/LmVudkluZm8/Lm9zLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImRhcndpblwiKT49MCkgb3MgPSBcImFwcGxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvdz8uZGF0YT8uZW52SW5mbz8ub3MmJnJvdz8uZGF0YT8uZW52SW5mbz8ub3MudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwibGludXhcIik+PTApIG9zID0gXCJsaW51eFwiO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyb3c/LmRhdGE/LmVudkluZm8/Lm9zJiZyb3c/LmRhdGE/LmVudkluZm8/Lm9zLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImFuZHJvaWRcIik+PTApIG9zID0gXCJhbmRyb2lkXCI7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvdz8uZGF0YT8uZW52SW5mbz8ub3MmJnJvdz8uZGF0YT8uZW52SW5mbz8ub3MudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwid2luZG93c1wiKT49MCkgb3MgPSBcIndpbmRvd3NcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJvdz8uZGF0YT8uZW52SW5mbz8ub3MpIG9zRGV0YWlscyArPSBcIk9TOiBcIityb3c/LmRhdGE/LmVudkluZm8/Lm9zO1xuICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8/LmFyY2gpIG9zRGV0YWlscyArPSBcIiYjMTA7QXJjaDogXCIrcm93Py5kYXRhPy5lbnZJbmZvPy5hcmNoO1xuICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8/Lm9zUmVsZWFzZSkgb3NEZXRhaWxzICs9IFwiJiMxMDtSZWxlYXNlOiBcIityb3c/LmRhdGE/LmVudkluZm8/Lm9zUmVsZWFzZTtcbiAgICAgICAgICAgICAgICBpZiAocm93Py5kYXRhPy5lbnZJbmZvPy5vc1ZlcnNpb24pIG9zRGV0YWlscyArPSBcIiYjMTA7VmVyc2lvbjogXCIrcm93Py5kYXRhPy5lbnZJbmZvPy5vc1ZlcnNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJjb2wgZGVza3RvcFwiIHN0eWxlPVwib3ZlcmZsb3c6IHVuc2V0O1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3MgJHtvc31cIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNka1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgbGV0IHNkayA9IFwiXCI7XG4gICAgICAgICAgICBsZXQgdmVyc2lvbiA9IFwiLVwiO1xuICAgICAgICAgICAgY29uc3Qgc2RrSW5mbyA9IHJvdz8uZGF0YT8uc2RrSW5mbztcbiAgICAgICAgICAgIGlmIChzZGtJbmZvKSB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgaWYgKHNka0luZm8/LnZlcnNpb24pIHZlcnNpb24gKz0gc2RrSW5mbz8udmVyc2lvbjtcbiAgICAgICAgICAgICAgICBpZiAoc2RrSW5mbz8uYXBwSWQpIHNkayArPSBzZGtJbmZvPy5hcHBJZDtcbiAgICAgICAgICAgICAgICBpZiAoc2RrSW5mbz8uYXBwVmVyc2lvbikgc2RrICs9IHNka0luZm8/LmFwcFZlcnNpb247XG4gICAgICAgICAgICAgICAgaWYgKHNka0luZm8/LnR5cGUpIHNkayArPSBzZGtJbmZvPy50eXBlO1xuICAgICAgICAgICAgICAgIGlmIChzZGtJbmZvPy50eXBlKSBzZGsgKz0gXCImIzEwO1wiK3Nka0luZm8/LmJyYW5jaDtcbiAgICAgICAgICAgICAgICBpZiAoc2RrSW5mbz8ucmV2aXNpb24pIHNkayArPSBcIiAtIFwiK3Nka0luZm8/LnJldmlzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuYDxkaXYgY2xhc3M9XCJjb2wgZGVza3RvcFwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCIgc3R5bGU9XCJvdmVyZmxvdzogdW5zZXQ7XCIgZGF0YS1iYWxsb29uLXBvcz1cInVwXCIgYXJpYS1sYWJlbD1cIiR7c2RrfVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib25lbGluZVwiPiR7dmVyc2lvbn08L3NwYW4+XG4gICAgICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbHVtbkZpbHRlcnMgPSB0aGlzLmNvbHVtbkZpbHRlcnM7XG5cbiAgICAgICAgY29uc3Qgb3NQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnQ09NQk8nLFxuICAgICAgICAgICAgZmlsdGVyT3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBbGwnLCB2YWx1ZTogJycsIGljb246ICdlbXB0eScgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXBwbGUnLCB2YWx1ZTogJ2RhcndpbicsIGljb246ICdhcHBsZScgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnV2luZG93cycsIHZhbHVlOiAnbWluZ3cnLCBpY29uOiAnd2luZG93cycgIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0xpbnV4JywgdmFsdWU6ICdsaW51eCcsIGljb246ICdsaW51eCcgIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FuZHJvaWQnLCB2YWx1ZTogJ2FuZHJvaWQnLCBpY29uOiAnYW5kcm9pZCcgIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ090aGVyICh0ZXh0IHNlYXJjaCknLCB2YWx1ZTogJycsIGljb246ICdvdGhlcicsIHVzZVRleHRJbnB1dDogdHJ1ZSAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBjb2x1bW5GaWx0ZXJzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzQWRtaW5IZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnU0VMRUNUJyxcbiAgICAgICAgICAgIGVuYWJsZVNvcnRpbmc6IHRydWUsXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FsbCcsIHZhbHVlOiAnJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBZG1pbnMnLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdOb24tQWRtaW5zJywgdmFsdWU6IGZhbHNlIH0sXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlclBhcmFtczogeyBwYXRoUm9vdDogdGhpcy5iYXNlUGF0aCwgc2hvd0lkZW50aXR5SWNvbnM6IHRydWUgfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIHNvcnREaXI6ICdhc2MnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdSb2xlcycsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLnJvbGVzUmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ29zJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ29zJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnTy9TJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogb3NSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICB0b29sdGlwQ29tcG9uZW50OiBPU1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdG9vbHRpcEZpZWxkOiAnZW52SW5mbycsXG4gICAgICAgICAgICAgICAgdG9vbHRpcENvbXBvbmVudFBhcmFtczogeyBjb2xvcjogJyNlY2VjZWMnIH0sXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdzZGsnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc2RrJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnU0RLJyxcbiAgICAgICAgICAgICAgICB0b29sdGlwRmllbGQ6ICdzZGtJbmZvJyxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IHNka1JlbmRlcmVyLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHRvb2x0aXBDb21wb25lbnQ6IFNES1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTI1LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ3R5cGUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAndHlwZS5uYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnVHlwZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdpc0FkbWluJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lzQWRtaW4nLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdJcyBBZG1pbicsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiBpc0FkbWluSGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuY3JlYXRlZEF0Rm9ybWF0dGVyLFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAndG9rZW4nLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAndG9rZW4nLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdUb2tlbicsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiAnY2VsbFRva2VuQ29tcG9uZW50JyxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2lzTWZhRW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpc01mYUVuYWJsZWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdNRkEnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBnZXREYXRhKGZpbHRlcnM/OiBGaWx0ZXJPYmpbXSwgc29ydD86IGFueSwgcGFnZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICB0aGlzLnBhZ2luZy5wYWdlID0gcGFnZSB8fCB0aGlzLnBhZ2luZy5wYWdlO1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKCdpZGVudGl0aWVzJywgdGhpcy5wYWdpbmcsIGZpbHRlcnMsIHNvcnQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RhdGEocmVzdWx0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhKHJlc3VsdHM6IGFueSkge1xuICAgICAgICBpZiAoIWlzRW1wdHkocmVzdWx0cz8uZGF0YSkpIHtcbiAgICAgICAgICAgIC8vcHJlLXByb2Nlc3MgZGF0YSBiZWZvcmUgcmVuZGVyaW5nXG4gICAgICAgICAgICByZXN1bHRzLmRhdGEgPSB0aGlzLmFkZEFjdGlvbnNQZXJSb3cocmVzdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRBY3Rpb25zUGVyUm93KHJlc3VsdHM6IGFueSk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMuZGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QgPSBbJ3VwZGF0ZScsICdvdmVycmlkZScsICdkZWxldGUnLCAnaWRlbnRpdHktc2VydmljZS1wYXRoJ107XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0Vucm9sbWVudFRva2VuKHJvdykpIHtcbiAgICAgICAgICAgICAgICByb3cuYWN0aW9uTGlzdC5wdXNoKCdyZWlzc3VlLWVucm9sbG1lbnQnKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5yb2xsbWVudEV4cGlyZWQocm93KSkge1xuICAgICAgICAgICAgICAgICAgICByb3cuYWN0aW9uTGlzdC5wdXNoKCdkb3dubG9hZC1lbnJvbGxtZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5hY3Rpb25MaXN0LnB1c2goJ3FyLWNvZGUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzQXV0aGVudGljYXRvcihyb3cpKSB7XG4gICAgICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QucHVzaCgncmVzZXQtZW5yb2xsbWVudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJvdy5pc01mYUVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuYWN0aW9uTGlzdC5wdXNoKCdyZXNldC1tZmEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYWRkTGlzdEl0ZW1FeHRlbnNpb25BY3Rpb25zKHJvdyk7XG4gICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNBdXRoZW50aWNhdG9yKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/LmF1dGhlbnRpY2F0b3JzPy5jZXJ0Py5pZCB8fCBpdGVtLmF1dGhlbnRpY2F0b3JzPy51cGRiPy5pZDtcbiAgICB9XG5cbiAgICBoYXNFbnJvbG1lbnRUb2tlbihpdGVtKSB7XG4gICAgICAgIGxldCB0b2tlbjtcbiAgICAgICAgaWYgKGl0ZW0/LmVucm9sbG1lbnQ/Lm90dD8uand0KSB7XG4gICAgICAgICAgICB0b2tlbiA9IGl0ZW0/LmVucm9sbG1lbnQ/Lm90dD8uand0O1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LmVucm9sbG1lbnQ/Lm90dGNhPy5qd3QpIHtcbiAgICAgICAgICAgIHRva2VuID0gaXRlbT8uZW5yb2xsbWVudD8ub3R0Y2E/Lmp3dDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5qd3QpIHtcbiAgICAgICAgICAgIHRva2VuID0gaXRlbT8uZW5yb2xsbWVudD8udXBkYj8uand0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9XG5cbiAgICBlbnJvbGxtZW50RXhwaXJlZChpdGVtKSB7XG4gICAgICAgIGxldCBleHBpcmF0aW9uO1xuICAgICAgICBpZiAoaXRlbT8uZW5yb2xsbWVudD8ub3R0Py5qd3QpIHtcbiAgICAgICAgICAgIGV4cGlyYXRpb24gPSBpdGVtPy5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5lbnJvbGxtZW50Py5vdHRjYT8uand0KSB7XG4gICAgICAgICAgICBleHBpcmF0aW9uID0gaXRlbT8uZW5yb2xsbWVudD8ub3R0Y2E/LmV4cGlyZXNBdDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5qd3QpIHtcbiAgICAgICAgICAgIGV4cGlyYXRpb24gPSBpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vbWVudChleHBpcmF0aW9uKS5pc0JlZm9yZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJZGVudGl0aWVzUm9sZUF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmdldCgnaWRlbnRpdHktcm9sZS1hdHRyaWJ1dGVzJywge30sIFtdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRNRkEoaWRlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UucmVzZXRNRkEoaWRlbnRpdHkuaWQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAnU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgYE1GQSBSZXNldGAsXG4gICAgICAgICAgICAgICAgYE1GQSB3YXMgc3VjY2Vzc2Z1bGx5IHJlc2V0IGZvciBpZGVudGl0eTogJHtpZGVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy56aXRpU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIFJlc2V0IE1GQWAsXG4gICAgICAgICAgICAgICAgYEF0dGVtcHQgdG8gcmVzZXQgTUZBIGZhaWxlZDogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0SldUKGlkZW50aXR5OiBhbnkpIHtcbiAgICAgICAgbGV0IHFyQ29kZTtcbiAgICAgICAgaWYgKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/Lmp3dCkpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/Lmp3dDtcbiAgICAgICAgfSBlbHNlIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Y2E/Lmp3dCkpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHRjYT8uand0O1xuICAgICAgICB9IGVsc2UgaWYoIWlzRW1wdHkoaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/Lmp3dCkpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py51cGRiPy5qd3Q7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHFyQ29kZTtcbiAgICB9XG5cbiAgICBnZXRUb2tlbihpZGVudGl0eTogYW55KSB7XG4gICAgICAgIGxldCBxckNvZGU7XG4gICAgICAgIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Py50b2tlbikpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/LnRva2VuO1xuICAgICAgICB9IGVsc2UgaWYgKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHRjYT8udG9rZW4pKSB7XG4gICAgICAgICAgICBxckNvZGUgPSBpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Y2E/LnRva2VuO1xuICAgICAgICB9IGVsc2UgaWYoIWlzRW1wdHkoaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/LnRva2VuKSkge1xuICAgICAgICAgICAgcXJDb2RlID0gaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/LnRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBxckNvZGU7XG4gICAgfVxuXG4gICAgZG93bmxvYWRKV1Qoand0LCBuYW1lKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgJ2RhdGE6YXBwbGljYXRpb24veml0aS1qd3Q7Y2hhcnNldD11dGYtOCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KGp3dCkpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBuYW1lK1wiLmp3dFwiKTtcbiAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgICAgICBlbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29weVRva2VuKHRva2VuKSB7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRva2VuKTtcbiAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgYFRleHQgQ29waWVkYCxcbiAgICAgICAgICAgIGBSZWdpc3RyYXRpb24gdG9rZW4gY29waWVkIHRvIGNsaXBib2FyZGAsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgfVxuXG4gICAgcmVzZXRKV1QoaWRlbnRpdHkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ0Zvcm0ub3BlbihSZXNldEVucm9sbG1lbnRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBpZGVudGl0eTogaWRlbnRpdHksXG4gICAgICAgICAgICAgICAgdHlwZTogJ3Jlc2V0J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWY7XG4gICAgfVxuXG4gICAgcmVpc3N1ZUpXVChpZGVudGl0eSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nRm9ybS5vcGVuKFJlc2V0RW5yb2xsbWVudENvbXBvbmVudCwge1xuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGlkZW50aXR5OiBpZGVudGl0eSxcbiAgICAgICAgICAgICAgICB0eXBlOiAncmVpc3N1ZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nUmVmO1xuICAgIH1cblxuICAgIGdldEVucm9sbG1lbnRFeHBpcmF0aW9uKGlkZW50aXR5OiBhbnkpIHtcbiAgICAgICAgbGV0IGV4cGlyZXNBdDtcbiAgICAgICAgaWYgKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdCkpIHtcbiAgICAgICAgICAgIGV4cGlyZXNBdCA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdDtcbiAgICAgICAgfSBlbHNlIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Y2E/LmV4cGlyZXNBdCkpIHtcbiAgICAgICAgICAgIGV4cGlyZXNBdCA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHRjYT8uZXhwaXJlc0F0O1xuICAgICAgICB9IGVsc2UgaWYoIWlzRW1wdHkoaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/LmV4cGlyZXNBdCkpIHtcbiAgICAgICAgICAgIGV4cGlyZXNBdCA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV4cGlyZXNBdDtcbiAgICB9XG5cbiAgICByZXNldEVucm9sbG1lbnQoaWRlbnRpdHk6IGFueSwgZGF0ZTogYW55KSB7XG4gICAgICAgIGxldCBpZCA9IGlkZW50aXR5Py5hdXRoZW50aWNhdG9ycz8uY2VydD8uaWQ7XG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICAgIGlmKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQpKSB7XG4gICAgICAgICAgICAgICAgaWQgPSBpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0LmlkO1xuICAgICAgICAgICAgfSBlbHNlIGlmKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Lm90dGNhKSkge1xuICAgICAgICAgICAgICAgIGlkID0gaWRlbnRpdHk/LmVucm9sbG1lbnQ/Lm90dGNhLmlkO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudC51cGRiKSkge1xuICAgICAgICAgICAgICAgIGlkID0gaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGIuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucmVzZXRFbnJvbGxtZW50KGlkLCBkYXRlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIGBFbnJvbGxtZW50IFJlc2V0YCxcbiAgICAgICAgICAgICAgICBgU3VjY2Vzc2Z1bGx5IHJlaXNzdWVkIGVucm9sbG1lbnQgdG9rZW5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgUmVzZXQgRmFpbGVkYCxcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHJlaXNzdWVzIGVucm9sbG1lbnQgdG9rZW5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuVXBkYXRlKGl0ZW1JZD86IGFueSkge1xuICAgICAgICB0aGlzLm1vZGFsVHlwZSA9ICdpZGVudGl0eSc7XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5PdmVycmlkZXNNb2RhbChpdGVtKSB7XG4gICAgICAgIHRoaXMubW9kYWxUeXBlID0gJ292ZXJyaWRlcyc7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZGVudGl0eSA9IGl0ZW07XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
|
|
494
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdGllcy1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvaWRlbnRpdGllcy9pZGVudGl0aWVzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQVksT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzFDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0gsMkJBQTJCLEVBQzlCLE1BQU0sOEZBQThGLENBQUM7QUFFdEcsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxpQkFBaUIsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDN0YsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBRXBFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBSXBHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBRTNHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7QUFFakgsTUFHYSxxQkFBc0IsU0FBUSxvQkFBb0I7SUFnRDNELFlBQzhCLFFBQThCLEVBQ3hE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QUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBdmRRLHFCQUFxQixrQkFpRGxCLGdCQUFnQixtREFFaEIsaUJBQWlCLHNHQUlqQiwwQkFBMEI7bUhBdkQ3QixxQkFBcUIsY0FGbEIsTUFBTTs7U0FFVCxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWtEUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFJeEIsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdCwgQ29tcG9uZW50LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge2Nsb25lRGVlcCwgaXNFbXB0eX0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZSwgRmlsdGVyT2JqfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0xpc3RQYWdlU2VydmljZUNsYXNzfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2xpc3QtcGFnZS1zZXJ2aWNlLmNsYXNzXCI7XG5pbXBvcnQge1xuICAgIFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudFxufSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tZGVmYXVsdC90YWJsZS1jb2x1bW4tZGVmYXVsdC5jb21wb25lbnRcIjtcbmltcG9ydCB7Q2FsbGJhY2tSZXN1bHRzfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbGlzdC1wYWdlLWZlYXR1cmVzL2xpc3QtcGFnZS1mb3JtL2xpc3QtcGFnZS1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge1pJVElfREFUQV9TRVJWSUNFLCBaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy96aXRpLWRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHtDc3ZEb3dubG9hZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9jc3YtZG93bmxvYWQuc2VydmljZVwiO1xuaW1wb3J0IHtJZGVudGl0eX0gZnJvbSBcIi4uLy4uL21vZGVscy9pZGVudGl0eVwiO1xuaW1wb3J0IHt1bnNldH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtJVG9vbHRpcEFuZ3VsYXJDb21wfSBmcm9tIFwiYWctZ3JpZC1hbmd1bGFyXCI7XG5pbXBvcnQge0lUb29sdGlwUGFyYW1zfSBmcm9tIFwiYWctZ3JpZC1jb21tdW5pdHlcIjtcbmltcG9ydCB7T1NUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS90b29sdGlwcy9vcy10b29sdGlwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTREtUb29sdGlwQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS90b29sdGlwcy9zZGstdG9vbHRpcC5jb21wb25lbnRcIjtcbmltcG9ydCB7R3Jvd2xlck1vZGVsfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIubW9kZWxcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1Jlc2V0RW5yb2xsbWVudENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL3Jlc2V0LWVucm9sbG1lbnQvcmVzZXQtZW5yb2xsbWVudC5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZUNsYXNzfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Mtc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtFeHRlbnNpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtJREVOVElUWV9FWFRFTlNJT05fU0VSVklDRX0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2lkZW50aXR5L2lkZW50aXR5LWZvcm0uc2VydmljZVwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0aWVzUGFnZVNlcnZpY2UgZXh0ZW5kcyBMaXN0UGFnZVNlcnZpY2VDbGFzcyB7XG5cbiAgICBwcml2YXRlIHBhZ2luZyA9IHRoaXMuREVGQVVMVF9QQUdJTkc7XG4gICAgcHVibGljIG1vZGFsVHlwZSA9ICdpZGVudGl0aWVzJztcblxuICAgIG92ZXJyaWRlIENTVl9DT0xVTU5TID0gW1xuICAgICAgICB7bGFiZWw6ICdOYW1lJywgcGF0aDogJ25hbWUnfSxcbiAgICAgICAge2xhYmVsOiAnUm9sZXMnLCBwYXRoOiAncm9sZUF0dHJpYnV0ZXMnfSxcbiAgICAgICAge2xhYmVsOiAnT25saW5lJywgcGF0aDogJ2hhc0FwaVNlc3Npb24nfSxcbiAgICAgICAge2xhYmVsOiAnRWRnZSBSb3V0ZXIgQ29ubmVjdGVkJywgcGF0aDogJ2hhc0VkZ2VSb3V0ZXJDb25uZWN0aW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ09TJywgcGF0aDogJ2VudkluZm8ub3MnfSxcbiAgICAgICAge2xhYmVsOiAnT1MgVmVyc2lvbicsIHBhdGg6ICdlbnZJbmZvLm9zVmVyc2lvbid9LFxuICAgICAgICB7bGFiZWw6ICdTREsnLCBwYXRoOiAnc2RrSW5mby52ZXJzaW9uJ30sXG4gICAgICAgIHtsYWJlbDogJ0FwcCBWZXJzaW9uJywgcGF0aDogJ3Nka0luZm8uYXBwVmVyc2lvbid9LFxuICAgICAgICB7bGFiZWw6ICdUeXBlJywgcGF0aDogJ3R5cGVJZCd9LFxuICAgICAgICB7bGFiZWw6ICdJcyBBZG1pbicsIHBhdGg6ICdpc0FkbWluJ30sXG4gICAgICAgIHtsYWJlbDogJ0F1dGggUG9saWN5JywgcGF0aDogJ2F1dGhQb2xpY3kubmFtZSd9LFxuICAgICAgICB7bGFiZWw6ICdBdXRoIFBvbGljeSBJRCcsIHBhdGg6ICdhdXRoUG9saWN5LmlkJ30sXG4gICAgICAgIHtsYWJlbDogJ01GQSBFbmFibGVkJywgcGF0aDogJ2lzTWZhRW5hYmxlZCd9LFxuICAgICAgICB7bGFiZWw6ICdDcmVhdGVkIEF0JywgcGF0aDogJ2NyZWF0ZWRBdCd9LFxuICAgICAgICB7bGFiZWw6ICdJRCcsIHBhdGg6ICdpZCd9LFxuICAgIF07XG5cbiAgICBzZWxlY3RlZElkZW50aXR5OiBhbnkgPSBuZXcgSWRlbnRpdHkoKTtcbiAgICBjb2x1bW5GaWx0ZXJzOiBhbnkgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICBvczogJycsXG4gICAgICAgIGNyZWF0ZWRBdDogJycsXG4gICAgfTtcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgSldUJywgYWN0aW9uOiAnZG93bmxvYWQtZW5yb2xsbWVudCd9LFxuICAgICAgICB7bmFtZTogJ1ZpZXcgUVInLCBhY3Rpb246ICdxci1jb2RlJ30sXG4gICAgICAgIHtuYW1lOiAnVmlzdWFsaXplcicsIGFjdGlvbjogJ2lkZW50aXR5LXNlcnZpY2UtcGF0aCd9LFxuICAgICAgICB7bmFtZTogJ1Jlc2V0IEVucm9sbG1lbnQnLCBhY3Rpb246ICdyZXNldC1lbnJvbGxtZW50J30sXG4gICAgICAgIHtuYW1lOiAnUmVpc3N1ZSBFbnJvbGxtZW50JywgYWN0aW9uOiAncmVpc3N1ZS1lbnJvbGxtZW50J30sXG4gICAgICAgIHtuYW1lOiAnUmVzZXQgTUZBJywgYWN0aW9uOiAncmVzZXQtbWZhJ30sXG4gICAgICAgIHtuYW1lOiAnT3ZlcnJpZGUnLCBhY3Rpb246ICdvdmVycmlkZSd9LFxuICAgICAgICB7bmFtZTogJ0RlbGV0ZScsIGFjdGlvbjogJ2RlbGV0ZSd9LFxuICAgIF07XG5cbiAgICBvdmVycmlkZSB0YWJsZUhlYWRlckFjdGlvbnMgPSBbXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgQWxsJywgYWN0aW9uOiAnZG93bmxvYWQtYWxsJ30sXG4gICAgICAgIHtuYW1lOiAnRG93bmxvYWQgU2VsZWN0ZWQnLCBhY3Rpb246ICdkb3dubG9hZC1zZWxlY3RlZCd9LFxuICAgIF1cblxuICAgIHJlc291cmNlVHlwZSA9ICdpZGVudGl0aWVzJztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChTRVRUSU5HU19TRVJWSUNFKSBzZXR0aW5nczogU2V0dGluZ3NTZXJ2aWNlQ2xhc3MsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIHByaXZhdGUgeml0aVNlcnZpY2U6IFppdGlEYXRhU2VydmljZSxcbiAgICAgICAgb3ZlcnJpZGUgY3N2RG93bmxvYWRTZXJ2aWNlOiBDc3ZEb3dubG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2U6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0Zvcm06IE1hdERpYWxvZyxcbiAgICAgICAgQEluamVjdChJREVOVElUWV9FWFRFTlNJT05fU0VSVklDRSkgZXh0U2VydmljZTogRXh0ZW5zaW9uU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJvdXRlcjogUm91dGVyXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHNldHRpbmdzLCBmaWx0ZXJTZXJ2aWNlLCBjc3ZEb3dubG9hZFNlcnZpY2UsIGV4dFNlcnZpY2UsIHJvdXRlcik7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUgPSAoZm9ybURhdGEpOiBQcm9taXNlPENhbGxiYWNrUmVzdWx0cz4gPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcGFzc2VkOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgaW5pdFRhYmxlQ29sdW1ucygpOiBhbnkge1xuICAgICAgICB0aGlzLmluaXRNZW51QWN0aW9ucygpO1xuXG4gICAgICAgIGNvbnN0IG5hbWVSZW5kZXJlciA9IChyb3cpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgPGEgaHJlZj1cIi4vaWRlbnRpdGllcy8ke3Jvdz8uZGF0YT8uaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGNlbGwtbmFtZS1yZW5kZXJlclwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaXJjbGUgJHtyb3c/LmRhdGE/Lmhhc0FwaVNlc3Npb259XCIgdGl0bGU9XCJBcGkgU2Vzc2lvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNpcmNsZSAke3Jvdz8uZGF0YT8uaGFzRWRnZVJvdXRlckNvbm5lY3Rpb259XCIgdGl0bGU9XCJFZGdlIFJvdXRlciBDb25uZWN0ZWRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz4ke3Jvdz8uZGF0YT8ubmFtZX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9zUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgICAgICBsZXQgb3MgPSBcIm90aGVyXCI7XG4gICAgICAgICAgICBsZXQgb3NEZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8pIHtcbiAgICAgICAgICAgICAgICBpZiAocm93Py5kYXRhPy5lbnZJbmZvPy5vc1ZlcnNpb24mJnJvdz8uZGF0YT8uZW52SW5mbz8ub3NWZXJzaW9uLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcIndpbmRvd3NcIik+PTApIG9zID0gXCJ3aW5kb3dzXCI7XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8/Lm9zJiZyb3c/LmRhdGE/LmVudkluZm8/Lm9zLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImRhcndpblwiKT49MCkgb3MgPSBcImFwcGxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvdz8uZGF0YT8uZW52SW5mbz8ub3MmJnJvdz8uZGF0YT8uZW52SW5mbz8ub3MudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwibGludXhcIik+PTApIG9zID0gXCJsaW51eFwiO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyb3c/LmRhdGE/LmVudkluZm8/Lm9zJiZyb3c/LmRhdGE/LmVudkluZm8/Lm9zLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcImFuZHJvaWRcIik+PTApIG9zID0gXCJhbmRyb2lkXCI7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvdz8uZGF0YT8uZW52SW5mbz8ub3MmJnJvdz8uZGF0YT8uZW52SW5mbz8ub3MudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwid2luZG93c1wiKT49MCkgb3MgPSBcIndpbmRvd3NcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJvdz8uZGF0YT8uZW52SW5mbz8ub3MpIG9zRGV0YWlscyArPSBcIk9TOiBcIityb3c/LmRhdGE/LmVudkluZm8/Lm9zO1xuICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8/LmFyY2gpIG9zRGV0YWlscyArPSBcIiYjMTA7QXJjaDogXCIrcm93Py5kYXRhPy5lbnZJbmZvPy5hcmNoO1xuICAgICAgICAgICAgICAgIGlmIChyb3c/LmRhdGE/LmVudkluZm8/Lm9zUmVsZWFzZSkgb3NEZXRhaWxzICs9IFwiJiMxMDtSZWxlYXNlOiBcIityb3c/LmRhdGE/LmVudkluZm8/Lm9zUmVsZWFzZTtcbiAgICAgICAgICAgICAgICBpZiAocm93Py5kYXRhPy5lbnZJbmZvPy5vc1ZlcnNpb24pIG9zRGV0YWlscyArPSBcIiYjMTA7VmVyc2lvbjogXCIrcm93Py5kYXRhPy5lbnZJbmZvPy5vc1ZlcnNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJjb2wgZGVza3RvcFwiIHN0eWxlPVwib3ZlcmZsb3c6IHVuc2V0O1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3MgJHtvc31cIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PmBcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNka1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgbGV0IHNkayA9IFwiXCI7XG4gICAgICAgICAgICBsZXQgdmVyc2lvbiA9IFwiLVwiO1xuICAgICAgICAgICAgY29uc3Qgc2RrSW5mbyA9IHJvdz8uZGF0YT8uc2RrSW5mbztcbiAgICAgICAgICAgIGlmIChzZGtJbmZvKSB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgaWYgKHNka0luZm8/LnZlcnNpb24pIHZlcnNpb24gKz0gc2RrSW5mbz8udmVyc2lvbjtcbiAgICAgICAgICAgICAgICBpZiAoc2RrSW5mbz8uYXBwSWQpIHNkayArPSBzZGtJbmZvPy5hcHBJZDtcbiAgICAgICAgICAgICAgICBpZiAoc2RrSW5mbz8uYXBwVmVyc2lvbikgc2RrICs9IHNka0luZm8/LmFwcFZlcnNpb247XG4gICAgICAgICAgICAgICAgaWYgKHNka0luZm8/LnR5cGUpIHNkayArPSBzZGtJbmZvPy50eXBlO1xuICAgICAgICAgICAgICAgIGlmIChzZGtJbmZvPy50eXBlKSBzZGsgKz0gXCImIzEwO1wiK3Nka0luZm8/LmJyYW5jaDtcbiAgICAgICAgICAgICAgICBpZiAoc2RrSW5mbz8ucmV2aXNpb24pIHNkayArPSBcIiAtIFwiK3Nka0luZm8/LnJldmlzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuYDxkaXYgY2xhc3M9XCJjb2wgZGVza3RvcFwiIGRhdGEtaWQ9XCIke3Jvdz8uZGF0YT8uaWR9XCIgc3R5bGU9XCJvdmVyZmxvdzogdW5zZXQ7XCIgZGF0YS1iYWxsb29uLXBvcz1cInVwXCIgYXJpYS1sYWJlbD1cIiR7c2RrfVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib25lbGluZVwiPiR7dmVyc2lvbn08L3NwYW4+XG4gICAgICAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbHVtbkZpbHRlcnMgPSB0aGlzLmNvbHVtbkZpbHRlcnM7XG5cbiAgICAgICAgY29uc3Qgb3NQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnQ09NQk8nLFxuICAgICAgICAgICAgZmlsdGVyT3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBbGwnLCB2YWx1ZTogJycsIGljb246ICdlbXB0eScgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXBwbGUnLCB2YWx1ZTogJ2RhcndpbicsIGljb246ICdhcHBsZScgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnV2luZG93cycsIHZhbHVlOiAnbWluZ3cnLCBpY29uOiAnd2luZG93cycgIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0xpbnV4JywgdmFsdWU6ICdsaW51eCcsIGljb246ICdsaW51eCcgIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FuZHJvaWQnLCB2YWx1ZTogJ2FuZHJvaWQnLCBpY29uOiAnYW5kcm9pZCcgIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ090aGVyICh0ZXh0IHNlYXJjaCknLCB2YWx1ZTogJycsIGljb246ICdvdGhlcicsIHVzZVRleHRJbnB1dDogdHJ1ZSAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBjb2x1bW5GaWx0ZXJzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzQWRtaW5IZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnU0VMRUNUJyxcbiAgICAgICAgICAgIGVuYWJsZVNvcnRpbmc6IHRydWUsXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FsbCcsIHZhbHVlOiAnJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdBZG1pbnMnLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdOb24tQWRtaW5zJywgdmFsdWU6IGZhbHNlIH0sXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlclBhcmFtczogeyBwYXRoUm9vdDogdGhpcy5iYXNlUGF0aCwgc2hvd0lkZW50aXR5SWNvbnM6IHRydWUgfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIHNvcnREaXI6ICdhc2MnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncm9sZUF0dHJpYnV0ZXMnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdSb2xlcycsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLnJvbGVzUmVuZGVyZXIsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ29zJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ29zJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnTy9TJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogb3NSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICB0b29sdGlwQ29tcG9uZW50OiBPU1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdG9vbHRpcEZpZWxkOiAnZW52SW5mbycsXG4gICAgICAgICAgICAgICAgdG9vbHRpcENvbXBvbmVudFBhcmFtczogeyBjb2xvcjogJyNlY2VjZWMnIH0sXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdzZGsnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc2RrJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnU0RLJyxcbiAgICAgICAgICAgICAgICB0b29sdGlwRmllbGQ6ICdzZGtJbmZvJyxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IHNka1JlbmRlcmVyLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHRvb2x0aXBDb21wb25lbnQ6IFNES1Rvb2x0aXBDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTI1LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ3R5cGUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAndHlwZS5uYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnVHlwZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdpc0FkbWluJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2lzQWRtaW4nLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdJcyBBZG1pbicsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiBpc0FkbWluSGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuY3JlYXRlZEF0Rm9ybWF0dGVyLFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAndG9rZW4nLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAndG9rZW4nLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdUb2tlbicsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiAnY2VsbFRva2VuQ29tcG9uZW50JyxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2lzTWZhRW5hYmxlZCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpc01mYUVuYWJsZWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdNRkEnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLklEX0NPTFVNTl9ERUZcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBnZXREYXRhKGZpbHRlcnM/OiBGaWx0ZXJPYmpbXSwgc29ydD86IGFueSwgcGFnZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICB0aGlzLnBhZ2luZy5wYWdlID0gcGFnZSB8fCB0aGlzLnBhZ2luZy5wYWdlO1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKCdpZGVudGl0aWVzJywgdGhpcy5wYWdpbmcsIGZpbHRlcnMsIHNvcnQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RhdGEocmVzdWx0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhKHJlc3VsdHM6IGFueSkge1xuICAgICAgICBpZiAoIWlzRW1wdHkocmVzdWx0cz8uZGF0YSkpIHtcbiAgICAgICAgICAgIC8vcHJlLXByb2Nlc3MgZGF0YSBiZWZvcmUgcmVuZGVyaW5nXG4gICAgICAgICAgICByZXN1bHRzLmRhdGEgPSB0aGlzLmFkZEFjdGlvbnNQZXJSb3cocmVzdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRBY3Rpb25zUGVyUm93KHJlc3VsdHM6IGFueSk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHMuZGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QgPSBbJ3VwZGF0ZScsICdvdmVycmlkZScsICdkZWxldGUnLCAnaWRlbnRpdHktc2VydmljZS1wYXRoJ107XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0Vucm9sbWVudFRva2VuKHJvdykpIHtcbiAgICAgICAgICAgICAgICByb3cuYWN0aW9uTGlzdC5wdXNoKCdyZWlzc3VlLWVucm9sbG1lbnQnKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5yb2xsbWVudEV4cGlyZWQocm93KSkge1xuICAgICAgICAgICAgICAgICAgICByb3cuYWN0aW9uTGlzdC5wdXNoKCdkb3dubG9hZC1lbnJvbGxtZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJvdy5hY3Rpb25MaXN0LnB1c2goJ3FyLWNvZGUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzQXV0aGVudGljYXRvcihyb3cpKSB7XG4gICAgICAgICAgICAgICAgcm93LmFjdGlvbkxpc3QucHVzaCgncmVzZXQtZW5yb2xsbWVudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJvdy5pc01mYUVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByb3cuYWN0aW9uTGlzdC5wdXNoKCdyZXNldC1tZmEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYWRkTGlzdEl0ZW1FeHRlbnNpb25BY3Rpb25zKHJvdyk7XG4gICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNBdXRoZW50aWNhdG9yKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/LmF1dGhlbnRpY2F0b3JzPy5jZXJ0Py5pZCB8fCBpdGVtLmF1dGhlbnRpY2F0b3JzPy51cGRiPy5pZDtcbiAgICB9XG5cbiAgICBoYXNFbnJvbG1lbnRUb2tlbihpdGVtKSB7XG4gICAgICAgIGxldCB0b2tlbjtcbiAgICAgICAgaWYgKGl0ZW0/LmVucm9sbG1lbnQ/Lm90dD8uand0KSB7XG4gICAgICAgICAgICB0b2tlbiA9IGl0ZW0/LmVucm9sbG1lbnQ/Lm90dD8uand0O1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LmVucm9sbG1lbnQ/Lm90dGNhPy5qd3QpIHtcbiAgICAgICAgICAgIHRva2VuID0gaXRlbT8uZW5yb2xsbWVudD8ub3R0Y2E/Lmp3dDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5qd3QpIHtcbiAgICAgICAgICAgIHRva2VuID0gaXRlbT8uZW5yb2xsbWVudD8udXBkYj8uand0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9XG5cbiAgICBlbnJvbGxtZW50RXhwaXJlZChpdGVtKSB7XG4gICAgICAgIGxldCBleHBpcmF0aW9uO1xuICAgICAgICBpZiAoaXRlbT8uZW5yb2xsbWVudD8ub3R0Py5qd3QpIHtcbiAgICAgICAgICAgIGV4cGlyYXRpb24gPSBpdGVtPy5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5lbnJvbGxtZW50Py5vdHRjYT8uand0KSB7XG4gICAgICAgICAgICBleHBpcmF0aW9uID0gaXRlbT8uZW5yb2xsbWVudD8ub3R0Y2E/LmV4cGlyZXNBdDtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5qd3QpIHtcbiAgICAgICAgICAgIGV4cGlyYXRpb24gPSBpdGVtPy5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vbWVudChleHBpcmF0aW9uKS5pc0JlZm9yZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJZGVudGl0aWVzUm9sZUF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmdldCgnaWRlbnRpdHktcm9sZS1hdHRyaWJ1dGVzJywge30sIFtdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRNRkEoaWRlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UucmVzZXRNRkEoaWRlbnRpdHkuaWQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAnU3VjY2VzcycsXG4gICAgICAgICAgICAgICAgYE1GQSBSZXNldGAsXG4gICAgICAgICAgICAgICAgYE1GQSB3YXMgc3VjY2Vzc2Z1bGx5IHJlc2V0IGZvciBpZGVudGl0eTogJHtpZGVudGl0eS5uYW1lfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy56aXRpU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIFJlc2V0IE1GQWAsXG4gICAgICAgICAgICAgICAgYEF0dGVtcHQgdG8gcmVzZXQgTUZBIGZhaWxlZDogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0SldUKGlkZW50aXR5OiBhbnkpIHtcbiAgICAgICAgbGV0IHFyQ29kZTtcbiAgICAgICAgaWYgKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/Lmp3dCkpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/Lmp3dDtcbiAgICAgICAgfSBlbHNlIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Y2E/Lmp3dCkpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHRjYT8uand0O1xuICAgICAgICB9IGVsc2UgaWYoIWlzRW1wdHkoaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/Lmp3dCkpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py51cGRiPy5qd3Q7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHFyQ29kZTtcbiAgICB9XG5cbiAgICBnZXRUb2tlbihpZGVudGl0eTogYW55KSB7XG4gICAgICAgIGxldCBxckNvZGU7XG4gICAgICAgIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Py50b2tlbikpIHtcbiAgICAgICAgICAgIHFyQ29kZSA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/LnRva2VuO1xuICAgICAgICB9IGVsc2UgaWYgKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHRjYT8udG9rZW4pKSB7XG4gICAgICAgICAgICBxckNvZGUgPSBpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Y2E/LnRva2VuO1xuICAgICAgICB9IGVsc2UgaWYoIWlzRW1wdHkoaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/LnRva2VuKSkge1xuICAgICAgICAgICAgcXJDb2RlID0gaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/LnRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBxckNvZGU7XG4gICAgfVxuXG4gICAgZG93bmxvYWRKV1Qoand0LCBuYW1lKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgJ2RhdGE6YXBwbGljYXRpb24veml0aS1qd3Q7Y2hhcnNldD11dGYtOCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KGp3dCkpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBuYW1lK1wiLmp3dFwiKTtcbiAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgICAgICBlbGVtZW50LmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29weVRva2VuKHRva2VuKSB7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRva2VuKTtcbiAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgYFRleHQgQ29waWVkYCxcbiAgICAgICAgICAgIGBSZWdpc3RyYXRpb24gdG9rZW4gY29waWVkIHRvIGNsaXBib2FyZGAsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgfVxuXG4gICAgcmVzZXRKV1QoaWRlbnRpdHkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ0Zvcm0ub3BlbihSZXNldEVucm9sbG1lbnRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBpZGVudGl0eTogaWRlbnRpdHksXG4gICAgICAgICAgICAgICAgdHlwZTogJ3Jlc2V0J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWY7XG4gICAgfVxuXG4gICAgcmVpc3N1ZUpXVChpZGVudGl0eSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nRm9ybS5vcGVuKFJlc2V0RW5yb2xsbWVudENvbXBvbmVudCwge1xuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGlkZW50aXR5OiBpZGVudGl0eSxcbiAgICAgICAgICAgICAgICB0eXBlOiAncmVpc3N1ZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nUmVmO1xuICAgIH1cblxuICAgIGdldEVucm9sbG1lbnRFeHBpcmF0aW9uKGlkZW50aXR5OiBhbnkpIHtcbiAgICAgICAgbGV0IGV4cGlyZXNBdDtcbiAgICAgICAgaWYgKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdCkpIHtcbiAgICAgICAgICAgIGV4cGlyZXNBdCA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQ/LmV4cGlyZXNBdDtcbiAgICAgICAgfSBlbHNlIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0Y2E/LmV4cGlyZXNBdCkpIHtcbiAgICAgICAgICAgIGV4cGlyZXNBdCA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHRjYT8uZXhwaXJlc0F0O1xuICAgICAgICB9IGVsc2UgaWYoIWlzRW1wdHkoaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGI/LmV4cGlyZXNBdCkpIHtcbiAgICAgICAgICAgIGV4cGlyZXNBdCA9IGlkZW50aXR5Py5lbnJvbGxtZW50Py51cGRiPy5leHBpcmVzQXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV4cGlyZXNBdDtcbiAgICB9XG5cbiAgICByZXNldEVucm9sbG1lbnQoaWRlbnRpdHk6IGFueSwgZGF0ZTogYW55KSB7XG4gICAgICAgIGxldCBpZCA9IGlkZW50aXR5Py5hdXRoZW50aWNhdG9ycz8uY2VydD8uaWQ7XG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICAgIGlmKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Py5vdHQpKSB7XG4gICAgICAgICAgICAgICAgaWQgPSBpZGVudGl0eT8uZW5yb2xsbWVudD8ub3R0LmlkO1xuICAgICAgICAgICAgfSBlbHNlIGlmKCFpc0VtcHR5KGlkZW50aXR5Py5lbnJvbGxtZW50Lm90dGNhKSkge1xuICAgICAgICAgICAgICAgIGlkID0gaWRlbnRpdHk/LmVucm9sbG1lbnQ/Lm90dGNhLmlkO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghaXNFbXB0eShpZGVudGl0eT8uZW5yb2xsbWVudC51cGRiKSkge1xuICAgICAgICAgICAgICAgIGlkID0gaWRlbnRpdHk/LmVucm9sbG1lbnQ/LnVwZGIuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucmVzZXRFbnJvbGxtZW50KGlkLCBkYXRlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIGBFbnJvbGxtZW50IFJlc2V0YCxcbiAgICAgICAgICAgICAgICBgU3VjY2Vzc2Z1bGx5IHJlaXNzdWVkIGVucm9sbG1lbnQgdG9rZW5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgIH0pLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgUmVzZXQgRmFpbGVkYCxcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHJlaXNzdWVzIGVucm9sbG1lbnQgdG9rZW5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuVXBkYXRlKGl0ZW1JZD86IGFueSkge1xuICAgICAgICB0aGlzLm1vZGFsVHlwZSA9ICdpZGVudGl0eSc7XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5PdmVycmlkZXNNb2RhbChpdGVtKSB7XG4gICAgICAgIHRoaXMubW9kYWxUeXBlID0gJ292ZXJyaWRlcyc7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZGVudGl0eSA9IGl0ZW07XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
|
|
@@ -123,7 +123,8 @@ class JwtSignersPageService extends ListPageServiceClass {
|
|
|
123
123
|
valueFormatter: this.createdAtFormatter,
|
|
124
124
|
resizable: true,
|
|
125
125
|
cellClass: 'nf-cell-vert-align tCol',
|
|
126
|
-
}
|
|
126
|
+
},
|
|
127
|
+
this.ID_COLUMN_DEF
|
|
127
128
|
];
|
|
128
129
|
}
|
|
129
130
|
getData(filters, sort) {
|
|
@@ -174,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
174
175
|
type: Inject,
|
|
175
176
|
args: [SHAREDZ_EXTENSION]
|
|
176
177
|
}] }, { type: i4.Router }]; } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LXNpZ25lcnMtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL2p3dC1zaWduZXJzL2p3dC1zaWduZXJzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQVUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCwyQkFBMkIsRUFDOUIsTUFBTSw4RkFBOEYsQ0FBQztBQUd0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQzs7Ozs7OztBQUdqSCxNQUdhLHFCQUFzQixTQUFRLG9CQUFvQjtJQWEzRCxZQUNZLFNBQXdCLEVBQ04sUUFBeUIsRUFDbkQsYUFBcUMsRUFDckMsa0JBQXNDLEVBQ1gsVUFBNEIsRUFDcEMsTUFBYztRQUVqQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFQL0QsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUtiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQjdCLFdBQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXJDLGlCQUFZLEdBQUcsc0JBQXNCLENBQUM7UUFD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QUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM1QixHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDOUIsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztTQUN2QztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBakpRLHFCQUFxQiwrQ0FlbEIsZ0JBQWdCLHFGQUdoQixpQkFBaUI7bUhBbEJwQixxQkFBcUIsY0FGbEIsTUFBTTs7U0FFVCxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWdCUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBR3ZCLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlLCBGaWx0ZXJPYmp9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCBfLCB7aXNFbXB0eSwgdW5zZXR9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtMaXN0UGFnZVNlcnZpY2VDbGFzc30gZnJvbSBcIi4uLy4uL3NoYXJlZC9saXN0LXBhZ2Utc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtcbiAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnRcbn0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge0NhbGxiYWNrUmVzdWx0c30gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7U2NoZW1hU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NjaGVtYS5zZXJ2aWNlXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7Q3N2RG93bmxvYWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY3N2LWRvd25sb2FkLnNlcnZpY2VcIjtcbmltcG9ydCB7RXh0ZW5zaW9uU2VydmljZSwgU0hBUkVEWl9FWFRFTlNJT059IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQge1NlcnZpY2V9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmljZVwiO1xuaW1wb3J0IHtUYWJsZUNlbGxOYW1lQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9jZWxscy90YWJsZS1jZWxsLW5hbWUvdGFibGUtY2VsbC1uYW1lLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBKd3RTaWduZXJzUGFnZVNlcnZpY2UgZXh0ZW5kcyBMaXN0UGFnZVNlcnZpY2VDbGFzcyB7XG5cbiAgICBwcml2YXRlIHBhZ2luZyA9IHRoaXMuREVGQVVMVF9QQUdJTkc7XG5cbiAgICByZXNvdXJjZVR5cGUgPSAnZXh0ZXJuYWwtand0LXNpZ25lcnMnO1xuICAgIHNlbGVjdGVkQ29uZmlnOiBhbnkgPSB7fTtcbiAgICBtb2RhbFR5cGUgPSAnJztcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2NoZW1hU3ZjOiBTY2hlbWFTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIGNzdkRvd25sb2FkU2VydmljZTogQ3N2RG93bmxvYWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNIQVJFRFpfRVhURU5TSU9OKSBleHRTZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc2V0dGluZ3MsIGZpbHRlclNlcnZpY2UsIGNzdkRvd25sb2FkU2VydmljZSwgZXh0U2VydmljZSwgcm91dGVyKTtcbiAgICB9XG5cbiAgICBpbml0VGFibGVDb2x1bW5zKCk6IGFueSB7XG5cbiAgICAgICAgY29uc3QgZW5hYmxlZEhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTRUxFQ1QnLFxuICAgICAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGZpbHRlck9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQWxsJywgdmFsdWU6ICcnIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0VuYWJsZWQnLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEaXNhYmxlZCcsIHZhbHVlOiBmYWxzZSB9LFxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBjcmVhdGVkQXRIZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnREFURVRJTUUnLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnTmFtZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLmhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IFRhYmxlQ2VsbE5hbWVDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB7IHBhdGhSb290OiB0aGlzLmJhc2VQYXRoIH0sXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2lzc3VlcicsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpc3N1ZXInLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdJc3N1ZXInLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnYXVkaWVuY2UnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnYXVkaWVuY2UnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdBdWRpZW5jZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLmhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdlbmFibGVkJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2VuYWJsZWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdFbmFibGVkJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IGVuYWJsZWRIZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0NyZWF0ZWQgQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogY3JlYXRlZEF0SGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmNyZWF0ZWRBdEZvcm1hdHRlcixcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldERhdGEoZmlsdGVycz86IEZpbHRlck9ialtdLCBzb3J0PzogYW55KSB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKHRoaXMucmVzb3VyY2VUeXBlLCB0aGlzLnBhZ2luZywgZmlsdGVycywgc29ydClcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRGF0YShyZXN1bHRzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhbGlkYXRlID0gKGZvcm1EYXRhKTogUHJvbWlzZTxDYWxsYmFja1Jlc3VsdHM+ID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHBhc3NlZDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RhdGEocmVzdWx0czogYW55KSB7XG4gICAgICAgIGlmICghaXNFbXB0eShyZXN1bHRzPy5kYXRhKSkge1xuICAgICAgICAgICAgLy9wcmUtcHJvY2VzcyBkYXRhIGJlZm9yZSByZW5kZXJpbmdcbiAgICAgICAgICAgIHJlc3VsdHMuZGF0YSA9IHRoaXMuYWRkQWN0aW9uc1BlclJvdyhyZXN1bHRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEFjdGlvbnNQZXJSb3cocmVzdWx0czogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5kYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICByb3cuYWN0aW9uTGlzdCA9IFsndXBkYXRlJywgJ2RlbGV0ZSddO1xuICAgICAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5VcGRhdGUoaXRlbT86IGFueSkge1xuICAgICAgICB0aGlzLm1vZGFsVHlwZSA9ICdqd3Qtc2lnbmVyJztcbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWcgPSBpdGVtO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZy5iYWRnZXMgPSBbXTtcbiAgICAgICAgICAgIHVuc2V0KHRoaXMuc2VsZWN0ZWRDb25maWcsICdfbGlua3MnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWcgPSBuZXcgU2VydmljZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LXNpZ25lcnMtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL2p3dC1zaWduZXJzL2p3dC1zaWduZXJzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQVUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCwyQkFBMkIsRUFDOUIsTUFBTSw4RkFBOEYsQ0FBQztBQUd0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQzs7Ozs7OztBQUdqSCxNQUdhLHFCQUFzQixTQUFRLG9CQUFvQjtJQWEzRCxZQUNZLFNBQXdCLEVBQ04sUUFBeUIsRUFDbkQsYUFBcUMsRUFDckMsa0JBQXNDLEVBQ1gsVUFBNEIsRUFDcEMsTUFBYztRQUVqQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFQL0QsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUtiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQjdCLFdBQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXJDLGlCQUFZLEdBQUcsc0JBQXNCLENBQUM7UUFD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QUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM1QixHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUM7UUFDOUIsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztTQUN2QztRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBbEpRLHFCQUFxQiwrQ0FlbEIsZ0JBQWdCLHFGQUdoQixpQkFBaUI7bUhBbEJwQixxQkFBcUIsY0FGbEIsTUFBTTs7U0FFVCxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWdCUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBR3ZCLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlLCBGaWx0ZXJPYmp9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCBfLCB7aXNFbXB0eSwgdW5zZXR9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtMaXN0UGFnZVNlcnZpY2VDbGFzc30gZnJvbSBcIi4uLy4uL3NoYXJlZC9saXN0LXBhZ2Utc2VydmljZS5jbGFzc1wiO1xuaW1wb3J0IHtcbiAgICBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnRcbn0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50XCI7XG5pbXBvcnQge0NhbGxiYWNrUmVzdWx0c30gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2xpc3QtcGFnZS1mZWF0dXJlcy9saXN0LXBhZ2UtZm9ybS9saXN0LXBhZ2UtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7U2NoZW1hU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NjaGVtYS5zZXJ2aWNlXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7Q3N2RG93bmxvYWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvY3N2LWRvd25sb2FkLnNlcnZpY2VcIjtcbmltcG9ydCB7RXh0ZW5zaW9uU2VydmljZSwgU0hBUkVEWl9FWFRFTlNJT059IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQge1NlcnZpY2V9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmljZVwiO1xuaW1wb3J0IHtUYWJsZUNlbGxOYW1lQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9jZWxscy90YWJsZS1jZWxsLW5hbWUvdGFibGUtY2VsbC1uYW1lLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBKd3RTaWduZXJzUGFnZVNlcnZpY2UgZXh0ZW5kcyBMaXN0UGFnZVNlcnZpY2VDbGFzcyB7XG5cbiAgICBwcml2YXRlIHBhZ2luZyA9IHRoaXMuREVGQVVMVF9QQUdJTkc7XG5cbiAgICByZXNvdXJjZVR5cGUgPSAnZXh0ZXJuYWwtand0LXNpZ25lcnMnO1xuICAgIHNlbGVjdGVkQ29uZmlnOiBhbnkgPSB7fTtcbiAgICBtb2RhbFR5cGUgPSAnJztcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2NoZW1hU3ZjOiBTY2hlbWFTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIGNzdkRvd25sb2FkU2VydmljZTogQ3N2RG93bmxvYWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNIQVJFRFpfRVhURU5TSU9OKSBleHRTZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc2V0dGluZ3MsIGZpbHRlclNlcnZpY2UsIGNzdkRvd25sb2FkU2VydmljZSwgZXh0U2VydmljZSwgcm91dGVyKTtcbiAgICB9XG5cbiAgICBpbml0VGFibGVDb2x1bW5zKCk6IGFueSB7XG5cbiAgICAgICAgY29uc3QgZW5hYmxlZEhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTRUxFQ1QnLFxuICAgICAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGZpbHRlck9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQWxsJywgdmFsdWU6ICcnIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0VuYWJsZWQnLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEaXNhYmxlZCcsIHZhbHVlOiBmYWxzZSB9LFxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBjcmVhdGVkQXRIZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnREFURVRJTUUnLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnbmFtZScsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnTmFtZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLmhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IFRhYmxlQ2VsbE5hbWVDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB7IHBhdGhSb290OiB0aGlzLmJhc2VQYXRoIH0sXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2lzc3VlcicsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdpc3N1ZXInLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdJc3N1ZXInLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnYXVkaWVuY2UnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnYXVkaWVuY2UnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdBdWRpZW5jZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLmhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdlbmFibGVkJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2VuYWJsZWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdFbmFibGVkJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IGVuYWJsZWRIZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0NyZWF0ZWQgQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogY3JlYXRlZEF0SGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmNyZWF0ZWRBdEZvcm1hdHRlcixcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuSURfQ09MVU1OX0RFRlxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldERhdGEoZmlsdGVycz86IEZpbHRlck9ialtdLCBzb3J0PzogYW55KSB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKHRoaXMucmVzb3VyY2VUeXBlLCB0aGlzLnBhZ2luZywgZmlsdGVycywgc29ydClcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRGF0YShyZXN1bHRzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhbGlkYXRlID0gKGZvcm1EYXRhKTogUHJvbWlzZTxDYWxsYmFja1Jlc3VsdHM+ID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHBhc3NlZDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RhdGEocmVzdWx0czogYW55KSB7XG4gICAgICAgIGlmICghaXNFbXB0eShyZXN1bHRzPy5kYXRhKSkge1xuICAgICAgICAgICAgLy9wcmUtcHJvY2VzcyBkYXRhIGJlZm9yZSByZW5kZXJpbmdcbiAgICAgICAgICAgIHJlc3VsdHMuZGF0YSA9IHRoaXMuYWRkQWN0aW9uc1BlclJvdyhyZXN1bHRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEFjdGlvbnNQZXJSb3cocmVzdWx0czogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5kYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICByb3cuYWN0aW9uTGlzdCA9IFsndXBkYXRlJywgJ2RlbGV0ZSddO1xuICAgICAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5VcGRhdGUoaXRlbT86IGFueSkge1xuICAgICAgICB0aGlzLm1vZGFsVHlwZSA9ICdqd3Qtc2lnbmVyJztcbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWcgPSBpdGVtO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZy5iYWRnZXMgPSBbXTtcbiAgICAgICAgICAgIHVuc2V0KHRoaXMuc2VsZWN0ZWRDb25maWcsICdfbGlua3MnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWcgPSBuZXcgU2VydmljZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
|
|
@@ -155,7 +155,8 @@ class PostureChecksPageService extends ListPageServiceClass {
|
|
|
155
155
|
resizable: true,
|
|
156
156
|
cellClass: 'nf-cell-vert-align tCol',
|
|
157
157
|
width: this.remToPx(10),
|
|
158
|
-
}
|
|
158
|
+
},
|
|
159
|
+
this.ID_COLUMN_DEF
|
|
159
160
|
];
|
|
160
161
|
}
|
|
161
162
|
getData(filters, sort) {
|
|
@@ -197,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
197
198
|
type: Inject,
|
|
198
199
|
args: [SHAREDZ_EXTENSION]
|
|
199
200
|
}] }, { type: i4.Router }]; } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdHVyZS1jaGVja3MtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL3Bvc3R1cmUtY2hlY2tzL3Bvc3R1cmUtY2hlY2tzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQVUsRUFBQyxPQUFPLEVBQVEsTUFBTSxRQUFRLENBQUM7QUFFekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUNILDJCQUEyQixFQUM5QixNQUFNLDhGQUE4RixDQUFDO0FBR3RHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRixPQUFPLEVBQW1CLGlCQUFpQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFdEcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7QUFHakgsTUFHYSx3QkFBeUIsU0FBUSxvQkFBb0I7SUFZOUQsWUFDWSxTQUF3QixFQUNOLFFBQXlCLEVBQ25ELGFBQXFDLEVBQ3JDLGtCQUFzQyxFQUNYLFVBQTRCLEVBQ3BDLE1BQWM7UUFFakMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBUC9ELGNBQVMsR0FBVCxTQUFTLENBQWU7UUFLYixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEI3QixXQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVyQyxpQkFBWSxHQUFHLGdCQUFnQixDQUFDO1FBQ2hDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFTixjQUFTLEdBQUc7WUFDakIs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LEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQzthQUNsRSxJQUFJLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDekIsbUNBQW1DO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQVk7UUFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdEMsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBVTtRQUN4QixRQUFRO0lBQ1osQ0FBQzsrR0F2S1Esd0JBQXdCLCtDQWNyQixnQkFBZ0IscUZBR2hCLGlCQUFpQjttSEFqQnBCLHdCQUF3QixjQUZyQixNQUFNOztTQUVULHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZVEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUd2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZSwgRmlsdGVyT2JqfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgXywge2lzRW1wdHksIHVuc2V0fSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7TGlzdFBhZ2VTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7XG4gICAgVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50XG59IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1kZWZhdWx0L3RhYmxlLWNvbHVtbi1kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja1Jlc3VsdHN9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9saXN0LXBhZ2UtZmVhdHVyZXMvbGlzdC1wYWdlLWZvcm0vbGlzdC1wYWdlLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge1NjaGVtYVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zY2hlbWEuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge0NzdkRvd25sb2FkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2Nzdi1kb3dubG9hZC5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NlcnZpY2VcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Um91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUG9zdHVyZUNoZWNrc1BhZ2VTZXJ2aWNlIGV4dGVuZHMgTGlzdFBhZ2VTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcHJpdmF0ZSBwYWdpbmcgPSB0aGlzLkRFRkFVTFRfUEFHSU5HO1xuXG4gICAgcmVzb3VyY2VUeXBlID0gJ3Bvc3R1cmUtY2hlY2tzJztcbiAgICBtb2RhbFR5cGUgPSAnJztcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2NoZW1hU3ZjOiBTY2hlbWFTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIGNzdkRvd25sb2FkU2VydmljZTogQ3N2RG93bmxvYWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNIQVJFRFpfRVhURU5TSU9OKSBleHRTZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc2V0dGluZ3MsIGZpbHRlclNlcnZpY2UsIGNzdkRvd25sb2FkU2VydmljZSwgZXh0U2VydmljZSwgcm91dGVyKTtcbiAgICB9XG5cbiAgICBpbml0VGFibGVDb2x1bW5zKCk6IGFueSB7XG5cbiAgICAgICAgY29uc3Qgb3NUeXBlRmlsdGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTRUxFQ1QnLFxuICAgICAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGZpbHRlck9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnRG9tYWluJywgdmFsdWU6ICdET01BSU4nIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ01BQycsIHZhbHVlOiAnTUFDJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdNRkEnLCB2YWx1ZTogJ01GQScgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnT1MnLCB2YWx1ZTogJ09TJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdQcm9jZXNzJywgdmFsdWU6ICdQUk9DRVNTJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdQcm9jZXNzIE11bHRpJywgdmFsdWU6ICdNVUxUSV9QUk9DRVNTJyB9LFxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRBdEhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdEQVRFVElNRScsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZGV0YWlsc1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJvdz8uZGF0YSB8fCAnJztcbiAgICAgICAgICAgIGxldCBkZXRhaWxzID0gJyc7XG4gICAgICAgICAgICBpZiAoZGF0YS50eXBlSWQ9PVwiRE9NQUlOXCIpIHtcbiAgICAgICAgICAgICAgICBkZXRhaWxzID0gZGF0YS5kb21haW5zLmpvaW4oJywnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlSWQ9PVwiTUFDXCIpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBkYXRhLm1hY0FkZHJlc3Nlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyArPSBkYXRhLm1hY0FkZHJlc3Nlc1tpXS5tYXRjaCggLy57MSwyfS9nKS5qb2luKCc6JykudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEudHlwZUlkPT1cIk9TXCIpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBkYXRhLm9wZXJhdGluZ1N5c3RlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3MgPSBkYXRhLm9wZXJhdGluZ1N5c3RlbXNbaV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnNpb25EYXRhID0gb3MudmVyc2lvbnM/Lmxlbmd0aCA+IDAgPyBcIiAoXCIrb3MudmVyc2lvbnMuam9pbignLCcpK1wiKSBcIiA6ICcgKCknO1xuICAgICAgICAgICAgICAgICAgICBkZXRhaWxzICs9IG9zLnR5cGUgKyB2ZXJzaW9uRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEudHlwZUlkPT1cIlBST0NFU1NcIikge1xuICAgICAgICAgICAgICAgIGRldGFpbHMgPSBkYXRhLnByb2Nlc3MucGF0aDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGV0YWlscyA9IFwiUmVxdWlyZXMgTUZBXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHRoaXMuaGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogVGFibGVDZWxsTmFtZUNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ3R5cGVJZCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0eXBlSWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdUeXBlJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMCxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2RldGFpbHMnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdEZXRhaWxzJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IGRldGFpbHNSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0NyZWF0ZWQgQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogY3JlYXRlZEF0SGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmNyZWF0ZWRBdEZvcm1hdHRlcixcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLnJlbVRvUHgoMTApLFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldERhdGEoZmlsdGVycz86IEZpbHRlck9ialtdLCBzb3J0PzogYW55KSB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKCdwb3N0dXJlLWNoZWNrcycsIHRoaXMucGFnaW5nLCBmaWx0ZXJzLCBzb3J0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEYXRhKHJlc3VsdHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRGF0YShyZXN1bHRzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHJlc3VsdHM/LmRhdGEpKSB7XG4gICAgICAgICAgICAvL3ByZS1wcm9jZXNzIGRhdGEgYmVmb3JlIHJlbmRlcmluZ1xuICAgICAgICAgICAgcmVzdWx0cy5kYXRhID0gdGhpcy5hZGRBY3Rpb25zUGVyUm93KHJlc3VsdHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQWN0aW9uc1BlclJvdyhyZXN1bHRzOiBhbnkpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmRhdGEubWFwKChyb3cpID0+IHtcbiAgICAgICAgICAgIHJvdy5hY3Rpb25MaXN0ID0gWyd1cGRhdGUnLCAnZGVsZXRlJ107XG4gICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblVwZGF0ZShpdGVtPzogYW55KSB7XG4gICAgICAgIC8vbm8tb3BwXG4gICAgfVxufVxuIl19
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdHVyZS1jaGVja3MtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL3Bvc3R1cmUtY2hlY2tzL3Bvc3R1cmUtY2hlY2tzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQVUsRUFBQyxPQUFPLEVBQVEsTUFBTSxRQUFRLENBQUM7QUFFekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUNILDJCQUEyQixFQUM5QixNQUFNLDhGQUE4RixDQUFDO0FBR3RHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRixPQUFPLEVBQW1CLGlCQUFpQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFdEcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7QUFHakgsTUFHYSx3QkFBeUIsU0FBUSxvQkFBb0I7SUFZOUQsWUFDWSxTQUF3QixFQUNOLFFBQXlCLEVBQ25ELGFBQXFDLEVBQ3JDLGtCQUFzQyxFQUNYLFVBQTRCLEVBQ3BDLE1BQWM7UUFFakMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBUC9ELGNBQVMsR0FBVCxTQUFTLENBQWU7UUFLYixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEI3QixXQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVyQyxpQkFBWSxHQUFHLGdCQUFnQixDQUFDO1FBQ2hDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFTixjQUFTLEdBQUc7WUFDakIs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QixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQzthQUNsRSxJQUFJLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDekIsbUNBQW1DO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQVk7UUFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdEMsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBVTtRQUN4QixRQUFRO0lBQ1osQ0FBQzsrR0F4S1Esd0JBQXdCLCtDQWNyQixnQkFBZ0IscUZBR2hCLGlCQUFpQjttSEFqQnBCLHdCQUF3QixjQUZyQixNQUFNOztTQUVULHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZVEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUd2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZSwgRmlsdGVyT2JqfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgXywge2lzRW1wdHksIHVuc2V0fSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7TGlzdFBhZ2VTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7XG4gICAgVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50XG59IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1kZWZhdWx0L3RhYmxlLWNvbHVtbi1kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja1Jlc3VsdHN9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9saXN0LXBhZ2UtZmVhdHVyZXMvbGlzdC1wYWdlLWZvcm0vbGlzdC1wYWdlLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge1NjaGVtYVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zY2hlbWEuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge0NzdkRvd25sb2FkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2Nzdi1kb3dubG9hZC5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NlcnZpY2VcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Um91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUG9zdHVyZUNoZWNrc1BhZ2VTZXJ2aWNlIGV4dGVuZHMgTGlzdFBhZ2VTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcHJpdmF0ZSBwYWdpbmcgPSB0aGlzLkRFRkFVTFRfUEFHSU5HO1xuXG4gICAgcmVzb3VyY2VUeXBlID0gJ3Bvc3R1cmUtY2hlY2tzJztcbiAgICBtb2RhbFR5cGUgPSAnJztcblxuICAgIG92ZXJyaWRlIG1lbnVJdGVtcyA9IFtcbiAgICAgICAge25hbWU6ICdFZGl0JywgYWN0aW9uOiAndXBkYXRlJ30sXG4gICAgICAgIHtuYW1lOiAnRGVsZXRlJywgYWN0aW9uOiAnZGVsZXRlJ30sXG4gICAgXVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2NoZW1hU3ZjOiBTY2hlbWFTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICAgIGNzdkRvd25sb2FkU2VydmljZTogQ3N2RG93bmxvYWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNIQVJFRFpfRVhURU5TSU9OKSBleHRTZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc2V0dGluZ3MsIGZpbHRlclNlcnZpY2UsIGNzdkRvd25sb2FkU2VydmljZSwgZXh0U2VydmljZSwgcm91dGVyKTtcbiAgICB9XG5cbiAgICBpbml0VGFibGVDb2x1bW5zKCk6IGFueSB7XG5cbiAgICAgICAgY29uc3Qgb3NUeXBlRmlsdGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdTRUxFQ1QnLFxuICAgICAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGZpbHRlck9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnRG9tYWluJywgdmFsdWU6ICdET01BSU4nIH0sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ01BQycsIHZhbHVlOiAnTUFDJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdNRkEnLCB2YWx1ZTogJ01GQScgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnT1MnLCB2YWx1ZTogJ09TJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdQcm9jZXNzJywgdmFsdWU6ICdQUk9DRVNTJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdQcm9jZXNzIE11bHRpJywgdmFsdWU6ICdNVUxUSV9QUk9DRVNTJyB9LFxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRBdEhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdEQVRFVElNRScsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZGV0YWlsc1JlbmRlcmVyID0gKHJvdykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHJvdz8uZGF0YSB8fCAnJztcbiAgICAgICAgICAgIGxldCBkZXRhaWxzID0gJyc7XG4gICAgICAgICAgICBpZiAoZGF0YS50eXBlSWQ9PVwiRE9NQUlOXCIpIHtcbiAgICAgICAgICAgICAgICBkZXRhaWxzID0gZGF0YS5kb21haW5zLmpvaW4oJywnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlSWQ9PVwiTUFDXCIpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBkYXRhLm1hY0FkZHJlc3Nlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyArPSBkYXRhLm1hY0FkZHJlc3Nlc1tpXS5tYXRjaCggLy57MSwyfS9nKS5qb2luKCc6JykudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEudHlwZUlkPT1cIk9TXCIpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpPTA7IGkgPCBkYXRhLm9wZXJhdGluZ1N5c3RlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3MgPSBkYXRhLm9wZXJhdGluZ1N5c3RlbXNbaV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcnNpb25EYXRhID0gb3MudmVyc2lvbnM/Lmxlbmd0aCA+IDAgPyBcIiAoXCIrb3MudmVyc2lvbnMuam9pbignLCcpK1wiKSBcIiA6ICcgKCknO1xuICAgICAgICAgICAgICAgICAgICBkZXRhaWxzICs9IG9zLnR5cGUgKyB2ZXJzaW9uRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEudHlwZUlkPT1cIlBST0NFU1NcIikge1xuICAgICAgICAgICAgICAgIGRldGFpbHMgPSBkYXRhLnByb2Nlc3MucGF0aDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGV0YWlscyA9IFwiUmVxdWlyZXMgTUZBXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHRoaXMuaGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogVGFibGVDZWxsTmFtZUNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ3R5cGVJZCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICd0eXBlSWQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdUeXBlJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyMCxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2RldGFpbHMnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdEZXRhaWxzJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IGRldGFpbHNSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ0NyZWF0ZWQgQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogY3JlYXRlZEF0SGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiB0aGlzLmNyZWF0ZWRBdEZvcm1hdHRlcixcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLnJlbVRvUHgoMTApLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuSURfQ09MVU1OX0RFRlxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldERhdGEoZmlsdGVycz86IEZpbHRlck9ialtdLCBzb3J0PzogYW55KSB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKCdwb3N0dXJlLWNoZWNrcycsIHRoaXMucGFnaW5nLCBmaWx0ZXJzLCBzb3J0KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEYXRhKHJlc3VsdHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzRGF0YShyZXN1bHRzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHJlc3VsdHM/LmRhdGEpKSB7XG4gICAgICAgICAgICAvL3ByZS1wcm9jZXNzIGRhdGEgYmVmb3JlIHJlbmRlcmluZ1xuICAgICAgICAgICAgcmVzdWx0cy5kYXRhID0gdGhpcy5hZGRBY3Rpb25zUGVyUm93KHJlc3VsdHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQWN0aW9uc1BlclJvdyhyZXN1bHRzOiBhbnkpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmRhdGEubWFwKChyb3cpID0+IHtcbiAgICAgICAgICAgIHJvdy5hY3Rpb25MaXN0ID0gWyd1cGRhdGUnLCAnZGVsZXRlJ107XG4gICAgICAgICAgICByZXR1cm4gcm93O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblVwZGF0ZShpdGVtPzogYW55KSB7XG4gICAgICAgIC8vbm8tb3BwXG4gICAgfVxufVxuIl19
|