@esfaenza/core 15.2.309 → 15.2.310

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.
@@ -139,7 +139,7 @@ export class EsFaenzaCoreModule {
139
139
  if (!config.routes.find(t => t.path.startsWith("embed")))
140
140
  config.routes = [...config.routes, { path: "embed/:module", loadChildren: () => import('@esfaenza/core/modules').then(m => m.EmbeddingModule) }];
141
141
  baseAppRoutes[0].redirectTo = `pages/${config.emptyRouteRedirect || 'dashboard'}`;
142
- baseAppRoutes.filter(t => ["pages", "pages_ext"].includes(t.path)).forEach(path => {
142
+ baseAppRoutes.filter(t => ["pages", "pages_ext"].includes(t.path.split("/")[0])).forEach(path => {
143
143
  path.children = [
144
144
  { path: "profile", component: UserInfosComponent, data: { InternalNavigation: true, title: "profilo" } },
145
145
  ...config.routes.filter(r => !path.path.includes("pages_ext") || !r.path.startsWith("embed"))
@@ -240,4 +240,4 @@ export var DebugFlags;
240
240
  DebugFlags[DebugFlags["Tabber"] = 128] = "Tabber";
241
241
  DebugFlags[DebugFlags["All"] = 255] = "All";
242
242
  })(DebugFlags || (DebugFlags = {}));
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQVUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxtQ0FBbUMsQ0FBQztBQUUzQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxzQkFBc0IsQ0FBQztBQUU5QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxnQ0FBZ0MsRUFBRSxjQUFjLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvSyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFLGdC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QUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDMUgsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRTtnQkFDdkUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDN0gsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDL0gsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDeEksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDN0gsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3JJLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoRyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxhQUFhLElBQUksV0FBVyxFQUFFO2dCQUN4RSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGNBQWMsSUFBSSxrQkFBa0IsRUFBRTtnQkFDdkYsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRTtnQkFDOUYsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSw4QkFBOEIsSUFBSSw4QkFBOEIsRUFBRTtnQkFDL0gsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsSUFBSSxvQkFBb0IsRUFBRTtnQkFDakcsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsSUFBSSxzQkFBc0IsRUFBRTtnQkFDeEcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO2dCQUNoRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3hDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtnQkFDdEUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQywrQkFBK0IsRUFBRTtnQkFDeEksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMseUJBQXlCLEVBQUU7YUFDekg7U0FDSixDQUFDO0lBQ04sQ0FBQzs7Z0hBOUZRLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUhaLFlBQVksYUFsRTNCLHVCQUF1QjtRQUN2QixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGdCQUFnQjtpSEFrRVAsa0JBQWtCLFlBRmQsT0FBTzs0RkFFWCxrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztpQkFDeEI7O0FBa0dELE1BQU0sT0FBTyx3QkFBd0I7Q0F1Q3BDO0FBRUQsTUFBTSxDQUFOLElBQVksVUFXWDtBQVhELFdBQVksVUFBVTtJQUNsQiwyQ0FBUSxDQUFBO0lBQ1IsNkRBQXNCLENBQUE7SUFDdEIsdURBQW1CLENBQUE7SUFDbkIsNkRBQXNCLENBQUE7SUFDdEIsMkNBQWEsQ0FBQTtJQUNiLGtEQUFnQixDQUFBO0lBQ2hCLDBEQUFvQixDQUFBO0lBQ3BCLGdEQUFlLENBQUE7SUFDZixpREFBZSxDQUFBO0lBQ2YsMkNBQWdCLENBQUE7QUFDcEIsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBOZ01vZHVsZSwgRXJyb3JIYW5kbGVyLCBMT0NBTEVfSUQsIEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgVHlwZSwgaXNEZXZNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSwgTm9QcmVsb2FkaW5nLCBST1VURVMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7IEVWRU5UX01BTkFHRVJfUExVR0lOUyB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IFNlcnZpY2VXb3JrZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvc2VydmljZS13b3JrZXJcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgXCJAYW5ndWxhci9jb21tb24vbG9jYWxlcy9nbG9iYWwvaXRcIjtcclxuXHJcbi8vIFBsdWdpbnNcclxuaW1wb3J0IHsgTmd4TWF0RGF0ZUFkYXB0ZXIsIE5HWF9NQVRfREFURV9GT1JNQVRTIH0gZnJvbSBcIkBhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyXCI7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tIFwibmd4LWNvb2tpZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCBcIndpZGdzdGVyL3dpZGdzdGVyLmpzXCI7XHJcblxyXG4vLyBFU1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc01vZHVsZSwgUFJFRl9ERUJVR19NT0RFLCBQcmVmZXJlbmNlc1BlcnNpc3RvciwgTG9jYWxTdG9yYWdlUHJlZmVyZW5jZXNQZXJzaXN0b3IsIENhY2hlUGVyc2lzdG9yLCBMb2NhbFN0b3JhZ2VDYWNoZVBlcnNpc3RvciB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlLCBMb2NhbGl6YXRpb25TZXJ2aWNlLCBMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5LCBMT0NfREVCVUdfTU9ERSwgQmFzZUxvY2FsaXphdGlvbiB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBIdHRwc2VydmljZU1vZHVsZSwgSHR0cFNlcnZpY2VFeHRlbnNpb25zLCBIVFRQU2VydmljZSwgSFRUUF9ERUJVR19NT0RFLCBIVFRQX0lOVkFMSURBVElPTiB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2lnbmFsck5vdGlmaWNhdGlvbnNNb2R1bGUsIFNHUl9ERUJVR19NT0RFLCBCYXNlTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3NpZ25hbHItbm90aWZpY2F0aW9uc1wiO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlLCBOZ3hFeHBhbmRlZERheUpzRGF0ZUFkYXB0ZXIgfSBmcm9tIFwiQGVzZmFlbnphL2Zvcm1zLWFuZC12YWxpZGF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sTW9kdWxlLCBBY2Nlc3NDb250cm9sU2VydmljZSwgQUNDX0RFQlVHX01PREUgfSBmcm9tIFwiQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sXCI7XHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyLCBFc0NoYXJ0c01vZHVsZSwgRVNDX0RFQlVHX01PREUgfSBmcm9tIFwiQGVzZmFlbnphL2VzLWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25zTW9kdWxlLCBFWFRfREVCVUdfTU9ERSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvbmd4LWNvbnRleHRtZW51XCI7XHJcbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICdAZXNmYWVuemEvbmd4LWRyYWd1bGEnO1xyXG5pbXBvcnQgeyBFc1RhYmxlTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy10YWJsZVwiO1xyXG5pbXBvcnQgeyBUQUJfREVCVUdfTU9ERSB9IGZyb20gXCJAZXNmYWVuemEvdGFiYmVyXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFQUEVycm9ySGFuZGxlciwgSFRUUFNlcnZpY2VFeHRlbnNpb25zLCBBcHBsaWNhdGlvblByZWZlcmVuY2VzUGVyc2lzdG9yLCBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yLCBTZXNzaW9uUmV0cmlldmVyLCBPdXRab25lRXZlbnRQbHVnaW4sIFRva2VuU2VydmljZSwgR2xvYmFsU2VhcmNoU2VydmljZSwgQ29tcGxldGVkSm9iUmVkaXJlY3Rpb25TZXJ2aWNlLCBNZW51RmlsdGVyaW5nU2VydmljZSwgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBQYWdlTm90Rm91bmRDb21wb25lbnQsIFNlcnZlckVycm9yQ29tcG9uZW50LCBBbmd1bGFyRXJyb3JDb21wb25lbnQsIEV4dGVybmFsUGFnZXNDb21wb25lbnQsIEphY2VMb2dpbkNvbXBvbmVudCwgUGFnZXNDb21wb25lbnQsIFJlZGlyZWN0ZXJDb21wb25lbnQsIENvbXBvbmVudHNNb2R1bGUsIFVzZXJJbmZvc0NvbXBvbmVudCB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSwgRW52T3B0aW9ucywgQWNjb3VudFNjb3BlLCBNRU5VLCBNRU5VX0xPQ0FMSVpBVElPTiwgUkVESVJFQ1RfTUFQLCBVU0VfRkFLRV9BQ0NFU1NfVE9LRU4sIE5BVkJBUl9FWFRFTlNJT05TLCBMT0dJTl9VUkxfTEVHQUNZIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiXHJcbmltcG9ydCB7IFJPVVRFLCBFTUJFRERFRF9ST1VURSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIlxyXG5pbXBvcnQgeyBUZW1wbGF0ZUNvbW1vbiB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9tb2R1bGVzXCI7XHJcblxyXG4vLyBSeEpzXHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vLyBCb290c3RyYXBcclxuaW1wb3J0IHsgUHJvZ3Jlc3NiYXJNb2R1bGUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC9wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvdGltZXBpY2tlclwiO1xyXG5pbXBvcnQgeyBCc0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvZHJvcGRvd25cIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgTW9kYWxNb2R1bGUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC9tb2RhbFwiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEFwcENvbXBvbmVudCB9IGZyb20gXCIuL2FwcC5jb21wb25lbnRcIjtcclxuXHJcbi8vIFJlcG9zaXRvcmllc1xyXG5jb25zdCBHRVRfSmFjZV9HZXRBY2NvdW50U2NvcGU6IHN0cmluZyA9IFwiL2FwaS9KYWNlL0dldEFjY291bnRTY29wZVwiO1xyXG5jb25zdCBHRVRfQXBwQ29uZmlnX0dldEFwcENvbmZpZzogc3RyaW5nID0gXCIvYXBpL0FwcENvbmZpZy9HZXRBcHBDb25maWdcIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuY29uc3QgYmFzZUFwcFJvdXRlczogUm91dGVzID0gW1xyXG4gICAgeyBwYXRoOiBcIlwiLCByZWRpcmVjdFRvOiBcInBhZ2VzL3tlbXB0eVJvdXRlUmVkaXJlY3R9XCIsIHBhdGhNYXRjaDogXCJmdWxsXCIgfSxcclxuICAgIHsgcGF0aDogRU1CRURERURfUk9VVEUgKyBcIi86c291cmNlXCIsIGNvbXBvbmVudDogRXh0ZXJuYWxQYWdlc0NvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBST1VURSwgY29tcG9uZW50OiBQYWdlc0NvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBcInJkXCIsIGNvbXBvbmVudDogUmVkaXJlY3RlckNvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBcInJkLzp0ZW5hbnRcIiwgY29tcG9uZW50OiBSZWRpcmVjdGVyQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6IFwibG9naW5cIiwgY29tcG9uZW50OiBKYWNlTG9naW5Db21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogXCJpc2VyclwiLCBjb21wb25lbnQ6IFNlcnZlckVycm9yQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6IFwiYW5lcnJcIiwgY29tcG9uZW50OiBBbmd1bGFyRXJyb3JDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogXCIqKlwiLCBjb21wb25lbnQ6IFBhZ2VOb3RGb3VuZENvbXBvbmVudCB9LFxyXG4gICAgXHJcbl07XHJcblxyXG5jb25zdCBNT0RVTEVTID0gW1xyXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgVGVtcGxhdGVDb21tb24sXHJcbiAgICBDb21wb25lbnRzTW9kdWxlLFxyXG5cclxuICAgIC8vIEF0dGVuemlvbmUgYSBsYXNjaWFybG8gYXR0aXZvIGluIG5nIHNlcnZlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy80NzQ1NVxyXG4gICAgU2VydmljZVdvcmtlck1vZHVsZS5yZWdpc3Rlcignbmdzdy13b3JrZXIuanMnLCB7IGVuYWJsZWQ6ICFpc0Rldk1vZGUoKSB9KSxcclxuICAgIFJvdXRlck1vZHVsZS5mb3JSb290KFtdLCB7IHVzZUhhc2g6IHRydWUsIHByZWxvYWRpbmdTdHJhdGVneTogTm9QcmVsb2FkaW5nLCBvblNhbWVVcmxOYXZpZ2F0aW9uOiBcInJlbG9hZFwiIH0pLFxyXG5cclxuICAgIC8vIEVTXHJcbiAgICBFc1RhYmxlTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUuZm9yUm9vdCh7IGFjb2N1c3RvbTogXCJPXCIsIHNsaWRlck1vZGU6IHRydWUgfSksXHJcbiAgICBFeHRlbnNpb25zTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZS5mb3JSb290KHsgbG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeTogTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeS5QcmludFNvdXJjZVdpdGhvdXRXYXJuaW5ncywgZGVmYXVsdExvY2FsZTogJ2l0LUlUJyB9KSxcclxuICAgIEFjY2Vzc0NvbnRyb2xNb2R1bGUuZm9yUm9vdCh7IGNvbnRleHRBd2FyZUtleTogXCJPXCIsIGRlZmF1bHRDb25kaXRpb246ICcoUjpKYWNlIEFkbWluIHx8IFI6SmFjZSBTdXBwb3J0KScgfSksXHJcbiAgICBIdHRwc2VydmljZU1vZHVsZS5mb3JSb290KCksXHJcbiAgICBTaWduYWxyTm90aWZpY2F0aW9uc01vZHVsZS5mb3JSb290KHsgZW5kcG9pbnRVcmw6ICdub3RpZnknLCB1c2VNZXNzYWdlUGFjazogdHJ1ZSB9KSxcclxuICAgIFByZWZlcmVuY2VzTW9kdWxlLmZvclJvb3QoeyByZXRyaWV2ZUFsbEF0U3RhcnQ6IHRydWUsIHNlc3Npb25SZXRyaWV2ZXI6IFNlc3Npb25SZXRyaWV2ZXIsIHByZWZlcmVuY2VQZXJzaXN0b3I6IEFwcGxpY2F0aW9uUHJlZmVyZW5jZXNQZXJzaXN0b3IsIGNhY2hlUGVyc2lzdG9yOiBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIH0pLFxyXG4gICAgRXNDaGFydHNNb2R1bGUuZm9yUm9vdCgpLFxyXG5cclxuICAgIC8vIEJvb3RzdHJhcFxyXG4gICAgVG9vbHRpcE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBNb2RhbE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBQcm9ncmVzc2Jhck1vZHVsZS5mb3JSb290KCksXHJcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIFRvYXN0ck1vZHVsZS5mb3JSb290KCksXHJcbiAgICBUaW1lcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIENvbnRleHRNZW51TW9kdWxlLmZvclJvb3QoKSxcclxuICAgIERyYWd1bGFNb2R1bGUuZm9yUm9vdCgpXHJcbl07XHJcblxyXG4vLyBHZW5lcmF0b3JlIGRlaSBmb3JtYXRpIGRhdGFcclxudmFyIGZvcm1hdHMgPSAoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgcGFyc2U6IHsgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScgKyAoc3R5bGUgPT09ICdsb25nJyA/ICcgSEg6bW06c3MnIDogJycpIH0sXHJcbiAgICAgICAgZGlzcGxheToge1xyXG4gICAgICAgICAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZJyArIChzdHlsZSA9PT0gJ2xvbmcnID8gJyBISDptbTpzcycgOiAnJyksXHJcbiAgICAgICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU0gWVlZWScsXHJcbiAgICAgICAgICAgIGRhdGVBMTF5TGFiZWw6ICdERC9NTS9ZWVlZJyArIChzdHlsZSA9PT0gJ2xvbmcnID8gJyBISDptbTpzcycgOiAnJyksXHJcbiAgICAgICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NIFlZWVknLFxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmNvbnN0IGxvY2FsZUZhY3RvcnkgPSAobG9jOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSA9PiBsb2MuU21hbGxMb2NhbGU7XHJcblxyXG5jb25zdCBQUk9WSURFUlMgPSBbXHJcbiAgICBDb29raWVTZXJ2aWNlLFxyXG5cclxuICAgIC8vIFByb3ZpZGVycyBhcHBsaWNhdGl2aVxyXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBBUFBFcnJvckhhbmRsZXIgfSxcclxuICAgIHsgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLCB1c2VFeGlzdGluZzogT3V0Wm9uZUV2ZW50UGx1Z2luLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgeyBwcm92aWRlOiBIdHRwU2VydmljZUV4dGVuc2lvbnMsIHVzZUNsYXNzOiBIVFRQU2VydmljZUV4dGVuc2lvbnMgfSxcclxuXHJcbiAgICAvLyBMb2NhbGUgZSBnZXN0aW9uaSBkZWxsZSBkYXRlXHJcbiAgICB7IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlRmFjdG9yeTogbG9jYWxlRmFjdG9yeSwgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlRmFjdG9yeTogbG9jYWxlRmFjdG9yeSwgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBmb3JtYXRzKCdzaG9ydCcpIH0sXHJcblxyXG4gICAgLy8gUXVlc3RpIGR1ZSBzb25vIHByb3ZpZGF0aSBkYWwgRm9ybXNBbmRWYWxpZGF0aW9uTW9kdWxlIHN0ZXNzbywgcGVyw7IgcXVlc3QndWx0aW1vIMOoIGRlZmluaXRvIGluIGZvclJvb3Qgc29sbyBsYXRvIGNvbXBvbmVudGkgc2hhcmVkLCBcclxuICAgIC8vIHF1aW5kaSBwZXIgcmVuZGVyZSBxdWVzdGkgcHJvdmlkZXIgZGlzcG9uaWJpbGkgYW5jaGUgYSBtb2R1bGkgZXN0ZXJuaSBkZXZvIHJpcHJvdmlkYXJsaSBhbmNoZSBxdWlcclxuICAgIHsgcHJvdmlkZTogTkdYX01BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBmb3JtYXRzKCdsb25nJykgfSxcclxuICAgIHsgcHJvdmlkZTogTmd4TWF0RGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBOZ3hFeHBhbmRlZERheUpzRGF0ZUFkYXB0ZXIgfVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVzRmFlbnphQ29yZU1vZHVsZSB7XHJcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFc0ZhZW56YUNvcmVNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVzRmFlbnphQ29yZU1vZHVsZT4ge1xyXG4gICAgICAgIGlmIChjb25maWcucm91dGVzKSB7XHJcbiAgICAgICAgICAgIC8vIEFnZ2l1bnRhIGRlbGxhIHJvdXRlIGRpIGVtYmVkZGluZyBzZSBub24gZGljaGlhcmF0YSwgbGF0byBhZ2dpdW50YSBmYWNjaW8gaW4gbW9kbyBjaGUgbCdlbWJlZGRpbmcgc2lhIGRpc3BvbmliaWxlIHNvbG8gZGEgcm91dGUgaW50ZXJuZSAocGFnZXMgT0ssIHBhZ2VzX2V4dCBOT04gT0spXHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLnJvdXRlcy5maW5kKHQgPT4gdC5wYXRoLnN0YXJ0c1dpdGgoXCJlbWJlZFwiKSkpXHJcbiAgICAgICAgICAgICAgICBjb25maWcucm91dGVzID0gWy4uLmNvbmZpZy5yb3V0ZXMsIHsgcGF0aDogXCJlbWJlZC86bW9kdWxlXCIsIGxvYWRDaGlsZHJlbjogKCkgPT4gaW1wb3J0KCdAZXNmYWVuemEvY29yZS9tb2R1bGVzJykudGhlbihtID0+IG0uRW1iZWRkaW5nTW9kdWxlKSB9XVxyXG5cclxuICAgICAgICAgICAgYmFzZUFwcFJvdXRlc1swXS5yZWRpcmVjdFRvID0gYHBhZ2VzLyR7Y29uZmlnLmVtcHR5Um91dGVSZWRpcmVjdCB8fCAnZGFzaGJvYXJkJ31gO1xyXG4gICAgICAgICAgICBiYXNlQXBwUm91dGVzLmZpbHRlcih0ID0+IFtcInBhZ2VzXCIsIFwicGFnZXNfZXh0XCJdLmluY2x1ZGVzKHQucGF0aCkpLmZvckVhY2gocGF0aCA9PiB7IFxyXG4gICAgICAgICAgICAgICAgcGF0aC5jaGlsZHJlbiA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7IHBhdGg6IFwicHJvZmlsZVwiLCBjb21wb25lbnQ6IFVzZXJJbmZvc0NvbXBvbmVudCwgZGF0YTogeyBJbnRlcm5hbE5hdmlnYXRpb246IHRydWUsIHRpdGxlOiBcInByb2ZpbG9cIiB9IH0sIFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5yb3V0ZXMuZmlsdGVyKHIgPT4gIXBhdGgucGF0aC5pbmNsdWRlcyhcInBhZ2VzX2V4dFwiKSB8fCAhci5wYXRoLnN0YXJ0c1dpdGgoXCJlbWJlZFwiKSlcclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25maWcuZGVidWdNb2RlID0gKCFpc0Rldk1vZGUoKSAmJiAhY29uZmlnLmZvcmNlRGVidWdNb2RlRm9yUHJvZEJ1aWxkcykgPyBEZWJ1Z0ZsYWdzLk5vbmUgOiAoY29uZmlnLmRlYnVnTW9kZSB8fCBEZWJ1Z0ZsYWdzLkFsbCk7XHJcblxyXG4gICAgICAgIGxldCBtZXJnZWRBcHBJbml0aWFsaXplciA9IChodHRwOiBIVFRQU2VydmljZSwgYnRzOiBUb2tlblNlcnZpY2UsIGFhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIGxvYzogQmFzZUxvY2FsaXphdGlvbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIlY1tBUFBfSU5JVElBTElaRVJdIExvYWRpbmcgQXBwQ29uZmlnIGFuZCBBY2NvdW50IFNjb3BlLi4uXCIsIFwiYmFja2dyb3VuZC1jb2xvcjogeWVsbG93XCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlYWxPYnNlcnZhYmxlID0gZm9ya0pvaW4oXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBDb25maWc6IGh0dHAuZ2V0PEVudk9wdGlvbnM+KEdFVF9BcHBDb25maWdfR2V0QXBwQ29uZmlnLCBudWxsLCBudWxsLCBmYWxzZSkucGlwZShjYXRjaEVycm9yKF8gPT4gb2Yoe30pKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiBodHRwLmdldDxBY2NvdW50U2NvcGU+KEdFVF9KYWNlX0dldEFjY291bnRTY29wZSwgbnVsbCwgbnVsbCwgZmFsc2UpLnBpcGUoY2F0Y2hFcnJvcihfID0+IG9mKG51bGwpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jLkxvY2FsZS5waXBlKHRha2UoMSksIGNhdGNoRXJyb3IoXyA9PiBvZignaXQtSVQnKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCB1c2VkT2JzZXJ2YWJsZSA9IGNvbmZpZy5vcHRpb25zQW5kU2NvcGVQcm92aWRlciB8fCByZWFsT2JzZXJ2YWJsZTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdXNlZE9ic2VydmFibGUucGlwZShcclxuICAgICAgICAgICAgICAgICAgICB0YXAoKHJlczogeyBhcHBDb25maWc6IEVudk9wdGlvbnMsIHNjb3BlOiBBY2NvdW50U2NvcGUsIGxvY2FsZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbXljb25maWcgPSByZXMuYXBwQ29uZmlnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXR1cCBkZWxsYSBzb3VyY2UgbGVnZ2liaWxlIHBlciBsJ2VtYmVkZGluZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAod2luZG93IGFzIGFueSBhcyB7X19lc2ZhZW56YV9tb2R1bGU6IHN0cmluZ30pLl9fZXNmYWVuemFfbW9kdWxlID0gbXljb25maWcuQXBwRGF0YS5Nb2R1bGVJZDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHAuc2V0QXBwQ29uZmlnKG15Y29uZmlnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTCdhY2NvdW50IHNjb3BlIGxvIHByZW5kbyBkYWxsYSBRdWVyeSBhIGJhY2tlbmQgc29sbyBzZSBub24gdXNvIGlsIEZha2UgdG9rZW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFidHMuVVNFX0ZBS0VfQUNDRVNTX1RPS0VOKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRzLmFjY291bnRTY29wZSA9IHJlcy5zY29wZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiJWNbQVBQX0lOSVRJQUxJWkVSXSBhcHBDb25maWcgYW5kIHNjb3BlIHJlZ2lzdGVyZWRcIiwgXCJiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3dcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYnRzLmFjY291bnRTY29wZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFhYy5pbml0aWFsaXplSWRlbnRpdHkoYnRzLmdldEphY2VJZGVudGl0eSgpKTtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoXyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29uZmlnLmluaXRpYWxpemVyRnVuY3Rpb24pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiJWNbQVBQX0lOSVRJQUxJWkVSXSBMb2FkaW5nIGN1c3RvbSBhcHBsaWNhdGlvbiBpbml0aWFsaXphdGlvblwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5pbml0aWFsaXplckZ1bmN0aW9uKGh0dHAsIGJ0cywgYWFjKSgpLnBpcGUodGFwKF8gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIlY1tBUFBfSU5JVElBTElaRVJdIEluaXRpYWxpemF0aW9uIGlzIG92ZXJcIiwgXCJiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3dcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBFc0ZhZW56YUNvcmVNb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqIFByb3ZpZGVyIHN0YXRpY2kgKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gICAgICAgICAgICAgICAgLi4uUFJPVklERVJTLFxyXG5cclxuICAgICAgICAgICAgICAgIC8vICoqKioqKioqKioqKioqKioqKioqKioqKiBQcm92aWRlciBjdXN0b21penphYmlsaSAqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgICAgICAgIC4uLighY29uZmlnLnJlZGlyZWN0aW9uTWFwID8gW10gOiBbeyBwcm92aWRlOiBSRURJUkVDVF9NQVAsIHVzZVZhbHVlOiBjb25maWcucmVkaXJlY3Rpb25NYXAgfV0pLFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IG1lcmdlZEFwcEluaXRpYWxpemVyLCBkZXBzOiBbSFRUUFNlcnZpY2UsIFRva2VuU2VydmljZSwgQWNjZXNzQ29udHJvbFNlcnZpY2UsIEJhc2VMb2NhbGl6YXRpb25dLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBST1VURVMsIHVzZVZhbHVlOiBiYXNlQXBwUm91dGVzLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMT0NfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuTG9jYWxpemF0aW9ucykgPT0gRGVidWdGbGFncy5Mb2NhbGl6YXRpb25zIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRVhUX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLkV4dGVuc2lvbnMpID09IERlYnVnRmxhZ3MuRXh0ZW5zaW9ucyA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEFDQ19ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5BY2Nlc3NDb250cm9sKSA9PSBEZWJ1Z0ZsYWdzLkFjY2Vzc0NvbnRyb2wgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBIVFRQX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLkh0dHApID09IERlYnVnRmxhZ3MuSHR0cCA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5WQUxJREFUSU9OLCB1c2VWYWx1ZTogY29uZmlnPy5odHRwSW52YWxpZGF0aW9uQ2FjaGUgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogVEFCX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLlRhYmJlcikgPT0gRGVidWdGbGFncy5UYWJiZXIgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBTR1JfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuU2lnbmFsUikgPT0gRGVidWdGbGFncy5TaWduYWxSIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogUFJFRl9ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5QcmVmZXJlbmNlcykgPT0gRGVidWdGbGFncy5QcmVmZXJlbmNlcyA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEVTQ19ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5DaGFydHMpID09IERlYnVnRmxhZ3MuQ2hhcnRzIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTE9HSU5fVVJMX0xFR0FDWSwgdXNlVmFsdWU6IGNvbmZpZy5sZWdhY3lMb2dpbiAhPT0gbnVsbCAmJiBjb25maWcubGVnYWN5TG9naW4gIT09IHVuZGVmaW5lZCA/IGNvbmZpZy5sZWdhY3lMb2dpbiA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE5BVkJBUl9FWFRFTlNJT05TLCB1c2VWYWx1ZTogY29uZmlnLm5hdmJhckV4dGVuc2lvbnMgPyBjb25maWcubmF2YmFyRXh0ZW5zaW9ucyA6IFtdIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEJhc2VBZGFwdGVyLCB1c2VDbGFzczogY29uZmlnPy5jaGFydHNBZGFwdGVyIHx8IEJhc2VBZGFwdGVyIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEJhc2VNZXNzYWdlU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8ubWVzc2FnZVNlcnZpY2UgfHwgQmFzZU1lc3NhZ2VTZXJ2aWNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEdsb2JhbFNlYXJjaFNlcnZpY2UsIHVzZUNsYXNzOiBjb25maWc/Lmdsb2JhbFNlYXJjaFNlcnZpY2UgfHwgR2xvYmFsU2VhcmNoU2VydmljZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBDb21wbGV0ZWRKb2JSZWRpcmVjdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBjb25maWc/LmNvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZSB8fCBDb21wbGV0ZWRKb2JSZWRpcmVjdGlvblNlcnZpY2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTWVudUZpbHRlcmluZ1NlcnZpY2UsIHVzZUNsYXNzOiBjb25maWc/Lm1lbnVGaWx0ZXJpbmdTZXJ2aWNlIHx8IE1lbnVGaWx0ZXJpbmdTZXJ2aWNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIHVzZUNsYXNzOiBjb25maWc/LnVzZXJQcmVmZXJlbmNlc1Byb3ZpZGVyIHx8IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTUVOVV9MT0NBTElaQVRJT04sIHVzZVZhbHVlOiBjb25maWcubWVudUxvYyB8fCBudWxsIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IE1FTlUsIHVzZVZhbHVlOiBjb25maWcubWVudSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBVU0VfRkFLRV9BQ0NFU1NfVE9LRU4sIHVzZVZhbHVlOiAhIWNvbmZpZy5mYWtlQWNjZXNzVG9rZW4gfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogUHJlZmVyZW5jZXNQZXJzaXN0b3IsIHVzZUNsYXNzOiBjb25maWcuZmFrZUFjY2Vzc1Rva2VuID8gTG9jYWxTdG9yYWdlUHJlZmVyZW5jZXNQZXJzaXN0b3IgOiBBcHBsaWNhdGlvblByZWZlcmVuY2VzUGVyc2lzdG9yIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IENhY2hlUGVyc2lzdG9yLCB1c2VDbGFzczogY29uZmlnLmZha2VBY2Nlc3NUb2tlbiA/IExvY2FsU3RvcmFnZUNhY2hlUGVyc2lzdG9yIDogQXBwbGljYXRpb25DYWNoZVBlcnNpc3RvciB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRXNGYWVuemFDb3JlTW9kdWxlQ29uZmlnIHtcclxuICAgIC8qIFJvdXRlIGFwcGxpY2F0aXZlLCBzb2xvIHF1ZWxsZSBkZW50cm8gYSAqKnBhZ2VzKiogKi9cclxuICAgIHJvdXRlcyE6IFJvdXRlcztcclxuICAgIC8qIE1lbsO5IGRlbGxhIHNpZGViYXIgZGVsbCdhcHBsaWNhemlvbmUgKi9cclxuICAgIG1lbnU6IEFwcGxpY2F0aW9uTWVudVtdO1xyXG4gICAgLyogSW5kaWNhIHNlIHV0aWxpenphcmUgbCdhY2Nlc3MgdG9rZW4gZmludG8gKi9cclxuICAgIGZha2VBY2Nlc3NUb2tlbj86IGJvb2xlYW47XHJcbiAgICAvKiBUaXBvIGRhIHVzYXJlIHBlciBnZW5lcmFyZSBsZSBsb2NhbGl6emFpem9uaSBkZWwgbWVuw7kgKi9cclxuICAgIG1lbnVMb2M/OiBUeXBlPExvY2FsaXphdGlvblNlcnZpY2U+O1xyXG4gICAgLyogUmVkaXJlY3QgcGVyIGxhIHJvb3QgZGVsbCdhcHBsaWNhemlvbmUsIGRpIGRlZmF1bHQgw6ggaW1wb3N0YXRvIGEgKipkYXNoYm9hcmQqKi4gU2UgYWxsJ2ludGVybm8gZGVsbGUgKipyb3V0ZXMqKiBub24gZXNpc3RlIGxhIHJvdXRlICoqZGFzaGJvYXJkKiogw6ggZGEgaW1wb3N0YXJlIGFkZWd1YXRhbWVudGUgKi9cclxuICAgIGVtcHR5Um91dGVSZWRpcmVjdD86IHN0cmluZztcclxuICAgIC8qIFNlIG5vbiBzcGVjaWZpY2F0YSB2aWVuZSBpbXBvc3RhdGEgYXV0b21hdGljYW1lbnRlIGFkIFwiQWxsXCIgaW4gZmFzZSBkaSBkZWJ1ZywgXCJOb25lXCIgaW4gcHJvZHV6aW9uZSAocXVlc3QndWx0aW1vIGEgcHJlc2NpbmRlcmUsIGEgbWVubyBjaGUgKipmb3JjZURlYnVnTW9kZUZvclByb2RCdWlsZHMqKiBub24gc2lhIHRydWUpKi9cclxuICAgIGRlYnVnTW9kZT86IERlYnVnRmxhZ3M7XHJcbiAgICAvKiBQZXJtZXR0ZSBkaSBmb3J6YXJlIGxhIG1vZGFsaXTDoCBkaSBkZWJ1ZyBzcGVjaWZpY2F0YSBhbmNoZSBwZXIgbGUgYnVpbGQgZGkgcHJvZHV6aW9uZSwgKipOT04gSU1QT1NUQVJFIEEgVFJVRSoqIGEgbWVubyBkaSByYXJpc3NpbWlzc2ltaXNzaW1pIGNhc2kgKi9cclxuICAgIGZvcmNlRGVidWdNb2RlRm9yUHJvZEJ1aWxkcz86IGJvb2xlYW47XHJcbiAgICAvKiBDYWNoZSBkaSBpbnZhbGlkYXppb25lIHBlciBsZSBjaGlhbWF0ZSBodHRwICovXHJcbiAgICBodHRwSW52YWxpZGF0aW9uQ2FjaGU/OiBhbnk7XHJcbiAgICAvKiBGdW56aW9uZSBkaSBpbml6aWFsaXp6YXppb25lIEFQUF9JTklUSUFMSVpFUi1saWtlIGNoZSB2aWVuZSByaWNoaWFtYXRhIGRvcG8gYWxsYSBmdW56aW9uZSBkaSBpbml6aWFsaXp6YXppb25lIGRpIGRlZmF1bHQgKi9cclxuICAgIGluaXRpYWxpemVyRnVuY3Rpb24/OiAoaHR0cDogSFRUUFNlcnZpY2UsIGJ0czogVG9rZW5TZXJ2aWNlLCBhYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlKSA9PiAoKSA9PiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICAvKiBNYXBwYSBkaSByZWRpcmVjdCBwZXIgcGVybWV0dGVyZSBhbCAqKlJlZGlyZWN0ZXJDb21wb25lbnQqKiBkaSBzYXBlcmUgZG92ZSBuYXZpZ2FyZSBpbiBiYXNlIGEgT2dnZXR0by1QYXJhbWV0cmkgKi9cclxuICAgIHJlZGlyZWN0aW9uTWFwPzogeyBbaW5kZXg6IHN0cmluZ106IHsgdXJsOiBzdHJpbmcsIHBhcmFtczogc3RyaW5nW10gfSB9O1xyXG4gICAgLyogQWRhdHRhdG9yZSBkZWkgZ3JhZmljaSBuZWwgY2FzbyB1biBwcm9nZXR0byBmb3NzZSB2ZWNjaGlvIChSaW11b3ZpYmlsZSBxdWFuZG8gdHV0dGkgaSBwcm9nZXR0aSB1c2FubyBuYXRpdmFtZW50ZSBlcy1jaGFydHMpICovXHJcbiAgICBjaGFydHNBZGFwdGVyPzogVHlwZTxCYXNlQWRhcHRlcj47XHJcbiAgICAvKiBTZXJ2aXppbyBjaGUgZXNwb25lIGkgbWVzc2FnZ2kgZGlzcG9uaWJpbGkgc3UgU2lnbmFsciAqL1xyXG4gICAgbWVzc2FnZVNlcnZpY2U/OiBUeXBlPEJhc2VNZXNzYWdlU2VydmljZT47XHJcbiAgICAvKiBTZXJ2aXppbyBwZXIgbGEgc2VhcmNoIGdsb2JhbGUgZGVsIG1vZHVsbyAqL1xyXG4gICAgZ2xvYmFsU2VhcmNoU2VydmljZT86IFR5cGU8R2xvYmFsU2VhcmNoU2VydmljZT47XHJcbiAgICAvKiBTZXJ2aXppbyBwZXIgZmlsdHJhcmUgbGUgdm9jaSBkaSBtZW7DuSAqL1xyXG4gICAgbWVudUZpbHRlcmluZ1NlcnZpY2U/OiBUeXBlPE1lbnVGaWx0ZXJpbmdTZXJ2aWNlPjtcclxuICAgIC8qIFNlcnZpemlvIGRpIHJpZGlyZXppb25lIHBlciBqb2IgY29tcGxldGF0aSAqL1xyXG4gICAgY29tcGxldGVkSm9iUmVkaXJlY3Rpb25TZXJ2aWNlPzogVHlwZTxDb21wbGV0ZWRKb2JSZWRpcmVjdGlvblNlcnZpY2U+O1xyXG4gICAgLyogRnVuemlvbmUgZGkgb3ZlcnJpZGUgcGVyIHJlY3VwZXJhcmUgYWNjb3VudCBzY29wZSBlIGVudm9wdGlvbnMuIFB1w7IgYW5jaGUgZXNzZXJlIHV0aWxpenphdGEgcGVyIGZvcm5pcmUgbW9kZWxsaSBmaW50aSBmaW5vIGFkIGltcGxlbWVudGF6aW9uZSAqL1xyXG4gICAgb3B0aW9uc0FuZFNjb3BlUHJvdmlkZXI/OiBPYnNlcnZhYmxlPHsgYXBwQ29uZmlnOiBFbnZPcHRpb25zLCBzY29wZTogQWNjb3VudFNjb3BlLCBsb2NhbGU6IHN0cmluZyB9PjtcclxuICAgIC8qIExpc3RhIGRlaSBjb21wb25lbnRpIGNvbiBjdWkgZXNwYW5kZXJlIGxhIG5hdmJhciAqL1xyXG4gICAgbmF2YmFyRXh0ZW5zaW9ucz86IFR5cGU8YW55PltdO1xyXG4gICAgLyogU2Vydml6aW8gZGkgcmVjdXBlcm8vbW9kaWZpY2EgcHJlZmVyZW56ZSB1dGVudGUgKi9cclxuICAgIHVzZXJQcmVmZXJlbmNlc1Byb3ZpZGVyPzogVHlwZTxVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlPjtcclxuICAgIC8qIGlkZW50aWZpY2Egc2UgdXRpbGl6emFyZSBsYSB2ZXJzaW9uZSB2ZWNjaGlhIGRlbGwndXJsIGRpIGF1dGggKCR7bXljb25maWcuQVVUSF9VUkx9L2xvZ2luL2Zvcm0/Y2xpZW50PSR7bXljb25maWcuQ0xJRU5UX05BTUV9KSBpbnZlY2UgY2hlIGxhIG51b3ZhICgke215Y29uZmlnLkFVVEhfVVJMfS9sb2dpbjtjbGllbnQ9JHtteWNvbmZpZy5DTElFTlRfTkFNRX0pICovXHJcbiAgICBsZWdhY3lMb2dpbj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIERlYnVnRmxhZ3Mge1xyXG4gICAgTm9uZSA9IDAsXHJcbiAgICBMb2NhbGl6YXRpb25zID0gMSA8PCAwLFxyXG4gICAgRXh0ZW5zaW9ucyA9IDEgPDwgMSxcclxuICAgIEFjY2Vzc0NvbnRyb2wgPSAxIDw8IDIsXHJcbiAgICBIdHRwID0gMSA8PCAzLFxyXG4gICAgU2lnbmFsUiA9IDEgPDwgNCxcclxuICAgIFByZWZlcmVuY2VzID0gMSA8PCA1LFxyXG4gICAgQ2hhcnRzID0gMSA8PCA2LFxyXG4gICAgVGFiYmVyID0gMSA8PCA3LFxyXG4gICAgQWxsID0gfih+MCA8PCA4KVxyXG59Il19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQVUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxtQ0FBbUMsQ0FBQztBQUUzQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxzQkFBc0IsQ0FBQztBQUU5QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxnQ0FBZ0MsRUFBRSxjQUFjLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvSyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFLGdC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QUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQzFILEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUU7Z0JBQ3ZFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQzdILEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9ILEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hJLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQzdILEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUNySSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDaEcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsYUFBYSxJQUFJLFdBQVcsRUFBRTtnQkFDeEUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxjQUFjLElBQUksa0JBQWtCLEVBQUU7Z0JBQ3ZGLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLElBQUksbUJBQW1CLEVBQUU7Z0JBQzlGLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsOEJBQThCLElBQUksOEJBQThCLEVBQUU7Z0JBQy9ILEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLElBQUksb0JBQW9CLEVBQUU7Z0JBQ2pHLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLElBQUksc0JBQXNCLEVBQUU7Z0JBQ3hHLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDaEUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN4QyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUU7Z0JBQ3RFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsK0JBQStCLEVBQUU7Z0JBQ3hJLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixFQUFFO2FBQ3pIO1NBQ0osQ0FBQztJQUNOLENBQUM7O2dIQTlGUSxrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkFIWixZQUFZLGFBbEUzQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxnQkFBZ0I7aUhBa0VQLGtCQUFrQixZQUZkLE9BQU87NEZBRVgsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7aUJBQ3hCOztBQWtHRCxNQUFNLE9BQU8sd0JBQXdCO0NBdUNwQztBQUVELE1BQU0sQ0FBTixJQUFZLFVBV1g7QUFYRCxXQUFZLFVBQVU7SUFDbEIsMkNBQVEsQ0FBQTtJQUNSLDZEQUFzQixDQUFBO0lBQ3RCLHVEQUFtQixDQUFBO0lBQ25CLDZEQUFzQixDQUFBO0lBQ3RCLDJDQUFhLENBQUE7SUFDYixrREFBZ0IsQ0FBQTtJQUNoQiwwREFBb0IsQ0FBQTtJQUNwQixnREFBZSxDQUFBO0lBQ2YsaURBQWUsQ0FBQTtJQUNmLDJDQUFnQixDQUFBO0FBQ3BCLENBQUMsRUFYVyxVQUFVLEtBQVYsVUFBVSxRQVdyQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTmdNb2R1bGUsIEVycm9ySGFuZGxlciwgTE9DQUxFX0lELCBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIFR5cGUsIGlzRGV2TW9kZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUsIE5vUHJlbG9hZGluZywgUk9VVEVTIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xyXG5pbXBvcnQgeyBFVkVOVF9NQU5BR0VSX1BMVUdJTlMgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBTZXJ2aWNlV29ya2VyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3NlcnZpY2Utd29ya2VyXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IFwiQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZ2xvYmFsL2l0XCI7XHJcblxyXG4vLyBQbHVnaW5zXHJcbmltcG9ydCB7IE5neE1hdERhdGVBZGFwdGVyLCBOR1hfTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gXCJAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlclwiO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSBcIm5neC1jb29raWUtc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUb2FzdHJNb2R1bGUgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xyXG5pbXBvcnQgXCJ3aWRnc3Rlci93aWRnc3Rlci5qc1wiO1xyXG5cclxuLy8gRVNcclxuaW1wb3J0IHsgUHJlZmVyZW5jZXNNb2R1bGUsIFBSRUZfREVCVUdfTU9ERSwgUHJlZmVyZW5jZXNQZXJzaXN0b3IsIExvY2FsU3RvcmFnZVByZWZlcmVuY2VzUGVyc2lzdG9yLCBDYWNoZVBlcnNpc3RvciwgTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSwgTG9jYWxpemF0aW9uU2VydmljZSwgTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeSwgTE9DX0RFQlVHX01PREUsIEJhc2VMb2NhbGl6YXRpb24gfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgSHR0cHNlcnZpY2VNb2R1bGUsIEh0dHBTZXJ2aWNlRXh0ZW5zaW9ucywgSFRUUFNlcnZpY2UsIEhUVFBfREVCVUdfTU9ERSwgSFRUUF9JTlZBTElEQVRJT04gfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNpZ25hbHJOb3RpZmljYXRpb25zTW9kdWxlLCBTR1JfREVCVUdfTU9ERSwgQmFzZU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9zaWduYWxyLW5vdGlmaWNhdGlvbnNcIjtcclxuaW1wb3J0IHsgRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZSwgTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIH0gZnJvbSBcIkBlc2ZhZW56YS9mb3Jtcy1hbmQtdmFsaWRhdGlvbnNcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbE1vZHVsZSwgQWNjZXNzQ29udHJvbFNlcnZpY2UsIEFDQ19ERUJVR19NT0RFIH0gZnJvbSBcIkBlc2ZhZW56YS9hY2Nlc3MtY29udHJvbFwiO1xyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciwgRXNDaGFydHNNb2R1bGUsIEVTQ19ERUJVR19NT0RFIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy1jaGFydHNcIjtcclxuaW1wb3J0IHsgRXh0ZW5zaW9uc01vZHVsZSwgRVhUX0RFQlVHX01PREUgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgQ29udGV4dE1lbnVNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL25neC1jb250ZXh0bWVudVwiO1xyXG5pbXBvcnQgeyBEcmFndWxhTW9kdWxlIH0gZnJvbSAnQGVzZmFlbnphL25neC1kcmFndWxhJztcclxuaW1wb3J0IHsgRXNUYWJsZU1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvZXMtdGFibGVcIjtcclxuaW1wb3J0IHsgVEFCX0RFQlVHX01PREUgfSBmcm9tIFwiQGVzZmFlbnphL3RhYmJlclwiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBBUFBFcnJvckhhbmRsZXIsIEhUVFBTZXJ2aWNlRXh0ZW5zaW9ucywgQXBwbGljYXRpb25QcmVmZXJlbmNlc1BlcnNpc3RvciwgQXBwbGljYXRpb25DYWNoZVBlcnNpc3RvciwgU2Vzc2lvblJldHJpZXZlciwgT3V0Wm9uZUV2ZW50UGx1Z2luLCBUb2tlblNlcnZpY2UsIEdsb2JhbFNlYXJjaFNlcnZpY2UsIENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZSwgTWVudUZpbHRlcmluZ1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuaW1wb3J0IHsgUGFnZU5vdEZvdW5kQ29tcG9uZW50LCBTZXJ2ZXJFcnJvckNvbXBvbmVudCwgQW5ndWxhckVycm9yQ29tcG9uZW50LCBFeHRlcm5hbFBhZ2VzQ29tcG9uZW50LCBKYWNlTG9naW5Db21wb25lbnQsIFBhZ2VzQ29tcG9uZW50LCBSZWRpcmVjdGVyQ29tcG9uZW50LCBDb21wb25lbnRzTW9kdWxlLCBVc2VySW5mb3NDb21wb25lbnQgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbk1lbnUsIEVudk9wdGlvbnMsIEFjY291bnRTY29wZSwgTUVOVSwgTUVOVV9MT0NBTElaQVRJT04sIFJFRElSRUNUX01BUCwgVVNFX0ZBS0VfQUNDRVNTX1RPS0VOLCBOQVZCQVJfRVhURU5TSU9OUywgTE9HSU5fVVJMX0xFR0FDWSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIlxyXG5pbXBvcnQgeyBST1VURSwgRU1CRURERURfUk9VVEUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCJcclxuaW1wb3J0IHsgVGVtcGxhdGVDb21tb24gfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvbW9kdWxlc1wiO1xyXG5cclxuLy8gUnhKc1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLy8gQm9vdHN0cmFwXHJcbmltcG9ydCB7IFByb2dyZXNzYmFyTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvcHJvZ3Jlc3NiYXJcIjtcclxuaW1wb3J0IHsgVGltZXBpY2tlck1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL3RpbWVwaWNrZXJcIjtcclxuaW1wb3J0IHsgQnNEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC90b29sdGlwXCI7XHJcbmltcG9ydCB7IE1vZGFsTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBBcHBDb21wb25lbnQgfSBmcm9tIFwiLi9hcHAuY29tcG9uZW50XCI7XHJcblxyXG4vLyBSZXBvc2l0b3JpZXNcclxuY29uc3QgR0VUX0phY2VfR2V0QWNjb3VudFNjb3BlOiBzdHJpbmcgPSBcIi9hcGkvSmFjZS9HZXRBY2NvdW50U2NvcGVcIjtcclxuY29uc3QgR0VUX0FwcENvbmZpZ19HZXRBcHBDb25maWc6IHN0cmluZyA9IFwiL2FwaS9BcHBDb25maWcvR2V0QXBwQ29uZmlnXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9ucztcclxuXHJcbmNvbnN0IGJhc2VBcHBSb3V0ZXM6IFJvdXRlcyA9IFtcclxuICAgIHsgcGF0aDogXCJcIiwgcmVkaXJlY3RUbzogXCJwYWdlcy97ZW1wdHlSb3V0ZVJlZGlyZWN0fVwiLCBwYXRoTWF0Y2g6IFwiZnVsbFwiIH0sXHJcbiAgICB7IHBhdGg6IEVNQkVEREVEX1JPVVRFICsgXCIvOnNvdXJjZVwiLCBjb21wb25lbnQ6IEV4dGVybmFsUGFnZXNDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogUk9VVEUsIGNvbXBvbmVudDogUGFnZXNDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogXCJyZFwiLCBjb21wb25lbnQ6IFJlZGlyZWN0ZXJDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogXCJyZC86dGVuYW50XCIsIGNvbXBvbmVudDogUmVkaXJlY3RlckNvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBcImxvZ2luXCIsIGNvbXBvbmVudDogSmFjZUxvZ2luQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6IFwiaXNlcnJcIiwgY29tcG9uZW50OiBTZXJ2ZXJFcnJvckNvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBcImFuZXJyXCIsIGNvbXBvbmVudDogQW5ndWxhckVycm9yQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6IFwiKipcIiwgY29tcG9uZW50OiBQYWdlTm90Rm91bmRDb21wb25lbnQgfSxcclxuICAgIFxyXG5dO1xyXG5cclxuY29uc3QgTU9EVUxFUyA9IFtcclxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFRlbXBsYXRlQ29tbW9uLFxyXG4gICAgQ29tcG9uZW50c01vZHVsZSxcclxuXHJcbiAgICAvLyBBdHRlbnppb25lIGEgbGFzY2lhcmxvIGF0dGl2byBpbiBuZyBzZXJ2ZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNDc0NTVcclxuICAgIFNlcnZpY2VXb3JrZXJNb2R1bGUucmVnaXN0ZXIoJ25nc3ctd29ya2VyLmpzJywgeyBlbmFibGVkOiAhaXNEZXZNb2RlKCkgfSksXHJcbiAgICBSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSwgeyB1c2VIYXNoOiB0cnVlLCBwcmVsb2FkaW5nU3RyYXRlZ3k6IE5vUHJlbG9hZGluZywgb25TYW1lVXJsTmF2aWdhdGlvbjogXCJyZWxvYWRcIiB9KSxcclxuXHJcbiAgICAvLyBFU1xyXG4gICAgRXNUYWJsZU1vZHVsZS5mb3JSb290KCksXHJcbiAgICBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlLmZvclJvb3QoeyBhY29jdXN0b206IFwiT1wiLCBzbGlkZXJNb2RlOiB0cnVlIH0pLFxyXG4gICAgRXh0ZW5zaW9uc01vZHVsZS5mb3JSb290KCksXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUuZm9yUm9vdCh7IGxvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3k6IExvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3kuUHJpbnRTb3VyY2VXaXRob3V0V2FybmluZ3MsIGRlZmF1bHRMb2NhbGU6ICdpdC1JVCcgfSksXHJcbiAgICBBY2Nlc3NDb250cm9sTW9kdWxlLmZvclJvb3QoeyBjb250ZXh0QXdhcmVLZXk6IFwiT1wiLCBkZWZhdWx0Q29uZGl0aW9uOiAnKFI6SmFjZSBBZG1pbiB8fCBSOkphY2UgU3VwcG9ydCknIH0pLFxyXG4gICAgSHR0cHNlcnZpY2VNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgU2lnbmFsck5vdGlmaWNhdGlvbnNNb2R1bGUuZm9yUm9vdCh7IGVuZHBvaW50VXJsOiAnbm90aWZ5JywgdXNlTWVzc2FnZVBhY2s6IHRydWUgfSksXHJcbiAgICBQcmVmZXJlbmNlc01vZHVsZS5mb3JSb290KHsgcmV0cmlldmVBbGxBdFN0YXJ0OiB0cnVlLCBzZXNzaW9uUmV0cmlldmVyOiBTZXNzaW9uUmV0cmlldmVyLCBwcmVmZXJlbmNlUGVyc2lzdG9yOiBBcHBsaWNhdGlvblByZWZlcmVuY2VzUGVyc2lzdG9yLCBjYWNoZVBlcnNpc3RvcjogQXBwbGljYXRpb25DYWNoZVBlcnNpc3RvciB9KSxcclxuICAgIEVzQ2hhcnRzTW9kdWxlLmZvclJvb3QoKSxcclxuXHJcbiAgICAvLyBCb290c3RyYXBcclxuICAgIFRvb2x0aXBNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgTW9kYWxNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgUHJvZ3Jlc3NiYXJNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgQnNEcm9wZG93bk1vZHVsZS5mb3JSb290KCksXHJcbiAgICBUb2FzdHJNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgVGltZXBpY2tlck1vZHVsZS5mb3JSb290KCksXHJcbiAgICBDb250ZXh0TWVudU1vZHVsZS5mb3JSb290KCksXHJcbiAgICBEcmFndWxhTW9kdWxlLmZvclJvb3QoKVxyXG5dO1xyXG5cclxuLy8gR2VuZXJhdG9yZSBkZWkgZm9ybWF0aSBkYXRhXHJcbnZhciBmb3JtYXRzID0gKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHBhcnNlOiB7IGRhdGVJbnB1dDogJ0REL01NL1lZWVknICsgKHN0eWxlID09PSAnbG9uZycgPyAnIEhIOm1tOnNzJyA6ICcnKSB9LFxyXG4gICAgICAgIGRpc3BsYXk6IHtcclxuICAgICAgICAgICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScgKyAoc3R5bGUgPT09ICdsb25nJyA/ICcgSEg6bW06c3MnIDogJycpLFxyXG4gICAgICAgICAgICBtb250aFllYXJMYWJlbDogJ01NIFlZWVknLFxyXG4gICAgICAgICAgICBkYXRlQTExeUxhYmVsOiAnREQvTU0vWVlZWScgKyAoc3R5bGUgPT09ICdsb25nJyA/ICcgSEg6bW06c3MnIDogJycpLFxyXG4gICAgICAgICAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTSBZWVlZJyxcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcblxyXG5jb25zdCBsb2NhbGVGYWN0b3J5ID0gKGxvYzogTG9jYWxpemF0aW9uU2VydmljZSkgPT4gbG9jLlNtYWxsTG9jYWxlO1xyXG5cclxuY29uc3QgUFJPVklERVJTID0gW1xyXG4gICAgQ29va2llU2VydmljZSxcclxuXHJcbiAgICAvLyBQcm92aWRlcnMgYXBwbGljYXRpdmlcclxuICAgIHsgcHJvdmlkZTogRXJyb3JIYW5kbGVyLCB1c2VDbGFzczogQVBQRXJyb3JIYW5kbGVyIH0sXHJcbiAgICB7IHByb3ZpZGU6IEVWRU5UX01BTkFHRVJfUExVR0lOUywgdXNlRXhpc3Rpbmc6IE91dFpvbmVFdmVudFBsdWdpbiwgbXVsdGk6IHRydWUgfSxcclxuICAgIHsgcHJvdmlkZTogSHR0cFNlcnZpY2VFeHRlbnNpb25zLCB1c2VDbGFzczogSFRUUFNlcnZpY2VFeHRlbnNpb25zIH0sXHJcblxyXG4gICAgLy8gTG9jYWxlIGUgZ2VzdGlvbmkgZGVsbGUgZGF0ZVxyXG4gICAgeyBwcm92aWRlOiBMT0NBTEVfSUQsIHVzZUZhY3Rvcnk6IGxvY2FsZUZhY3RvcnksIGRlcHM6IFtMb2NhbGl6YXRpb25TZXJ2aWNlXSB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZUZhY3Rvcnk6IGxvY2FsZUZhY3RvcnksIGRlcHM6IFtMb2NhbGl6YXRpb25TZXJ2aWNlXSB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogZm9ybWF0cygnc2hvcnQnKSB9LFxyXG5cclxuICAgIC8vIFF1ZXN0aSBkdWUgc29ubyBwcm92aWRhdGkgZGFsIEZvcm1zQW5kVmFsaWRhdGlvbk1vZHVsZSBzdGVzc28sIHBlcsOyIHF1ZXN0J3VsdGltbyDDqCBkZWZpbml0byBpbiBmb3JSb290IHNvbG8gbGF0byBjb21wb25lbnRpIHNoYXJlZCwgXHJcbiAgICAvLyBxdWluZGkgcGVyIHJlbmRlcmUgcXVlc3RpIHByb3ZpZGVyIGRpc3BvbmliaWxpIGFuY2hlIGEgbW9kdWxpIGVzdGVybmkgZGV2byByaXByb3ZpZGFybGkgYW5jaGUgcXVpXHJcbiAgICB7IHByb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogZm9ybWF0cygnbG9uZycpIH0sXHJcbiAgICB7IHByb3ZpZGU6IE5neE1hdERhdGVBZGFwdGVyLCB1c2VDbGFzczogTmd4RXhwYW5kZWREYXlKc0RhdGVBZGFwdGVyIH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBcHBDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogWy4uLk1PRFVMRVNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc0ZhZW56YUNvcmVNb2R1bGUge1xyXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRXNGYWVuemFDb3JlTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFc0ZhZW56YUNvcmVNb2R1bGU+IHtcclxuICAgICAgICBpZiAoY29uZmlnLnJvdXRlcykge1xyXG4gICAgICAgICAgICAvLyBBZ2dpdW50YSBkZWxsYSByb3V0ZSBkaSBlbWJlZGRpbmcgc2Ugbm9uIGRpY2hpYXJhdGEsIGxhdG8gYWdnaXVudGEgZmFjY2lvIGluIG1vZG8gY2hlIGwnZW1iZWRkaW5nIHNpYSBkaXNwb25pYmlsZSBzb2xvIGRhIHJvdXRlIGludGVybmUgKHBhZ2VzIE9LLCBwYWdlc19leHQgTk9OIE9LKVxyXG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5yb3V0ZXMuZmluZCh0ID0+IHQucGF0aC5zdGFydHNXaXRoKFwiZW1iZWRcIikpKVxyXG4gICAgICAgICAgICAgICAgY29uZmlnLnJvdXRlcyA9IFsuLi5jb25maWcucm91dGVzLCB7IHBhdGg6IFwiZW1iZWQvOm1vZHVsZVwiLCBsb2FkQ2hpbGRyZW46ICgpID0+IGltcG9ydCgnQGVzZmFlbnphL2NvcmUvbW9kdWxlcycpLnRoZW4obSA9PiBtLkVtYmVkZGluZ01vZHVsZSkgfV1cclxuXHJcbiAgICAgICAgICAgIGJhc2VBcHBSb3V0ZXNbMF0ucmVkaXJlY3RUbyA9IGBwYWdlcy8ke2NvbmZpZy5lbXB0eVJvdXRlUmVkaXJlY3QgfHwgJ2Rhc2hib2FyZCd9YDtcclxuICAgICAgICAgICAgYmFzZUFwcFJvdXRlcy5maWx0ZXIodCA9PiBbXCJwYWdlc1wiLCBcInBhZ2VzX2V4dFwiXS5pbmNsdWRlcyh0LnBhdGguc3BsaXQoXCIvXCIpWzBdKSkuZm9yRWFjaChwYXRoID0+IHsgXHJcbiAgICAgICAgICAgICAgICBwYXRoLmNoaWxkcmVuID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIHsgcGF0aDogXCJwcm9maWxlXCIsIGNvbXBvbmVudDogVXNlckluZm9zQ29tcG9uZW50LCBkYXRhOiB7IEludGVybmFsTmF2aWdhdGlvbjogdHJ1ZSwgdGl0bGU6IFwicHJvZmlsb1wiIH0gfSwgXHJcbiAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLnJvdXRlcy5maWx0ZXIociA9PiAhcGF0aC5wYXRoLmluY2x1ZGVzKFwicGFnZXNfZXh0XCIpIHx8ICFyLnBhdGguc3RhcnRzV2l0aChcImVtYmVkXCIpKVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbmZpZy5kZWJ1Z01vZGUgPSAoIWlzRGV2TW9kZSgpICYmICFjb25maWcuZm9yY2VEZWJ1Z01vZGVGb3JQcm9kQnVpbGRzKSA/IERlYnVnRmxhZ3MuTm9uZSA6IChjb25maWcuZGVidWdNb2RlIHx8IERlYnVnRmxhZ3MuQWxsKTtcclxuXHJcbiAgICAgICAgbGV0IG1lcmdlZEFwcEluaXRpYWxpemVyID0gKGh0dHA6IEhUVFBTZXJ2aWNlLCBidHM6IFRva2VuU2VydmljZSwgYWFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgbG9jOiBCYXNlTG9jYWxpemF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIiVjW0FQUF9JTklUSUFMSVpFUl0gTG9hZGluZyBBcHBDb25maWcgYW5kIEFjY291bnQgU2NvcGUuLi5cIiwgXCJiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3dcIik7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVhbE9ic2VydmFibGUgPSBmb3JrSm9pbihcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcENvbmZpZzogaHR0cC5nZXQ8RW52T3B0aW9ucz4oR0VUX0FwcENvbmZpZ19HZXRBcHBDb25maWcsIG51bGwsIG51bGwsIGZhbHNlKS5waXBlKGNhdGNoRXJyb3IoXyA9PiBvZih7fSkpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGU6IGh0dHAuZ2V0PEFjY291bnRTY29wZT4oR0VUX0phY2VfR2V0QWNjb3VudFNjb3BlLCBudWxsLCBudWxsLCBmYWxzZSkucGlwZShjYXRjaEVycm9yKF8gPT4gb2YobnVsbCkpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlOiBsb2MuTG9jYWxlLnBpcGUodGFrZSgxKSwgY2F0Y2hFcnJvcihfID0+IG9mKCdpdC1JVCcpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHVzZWRPYnNlcnZhYmxlID0gY29uZmlnLm9wdGlvbnNBbmRTY29wZVByb3ZpZGVyIHx8IHJlYWxPYnNlcnZhYmxlO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB1c2VkT2JzZXJ2YWJsZS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIHRhcCgocmVzOiB7IGFwcENvbmZpZzogRW52T3B0aW9ucywgc2NvcGU6IEFjY291bnRTY29wZSwgbG9jYWxlOiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBteWNvbmZpZyA9IHJlcy5hcHBDb25maWc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldHVwIGRlbGxhIHNvdXJjZSBsZWdnaWJpbGUgcGVyIGwnZW1iZWRkaW5nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh3aW5kb3cgYXMgYW55IGFzIHtfX2VzZmFlbnphX21vZHVsZTogc3RyaW5nfSkuX19lc2ZhZW56YV9tb2R1bGUgPSBteWNvbmZpZy5BcHBEYXRhLk1vZHVsZUlkO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cC5zZXRBcHBDb25maWcobXljb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBMJ2FjY291bnQgc2NvcGUgbG8gcHJlbmRvIGRhbGxhIFF1ZXJ5IGEgYmFja2VuZCBzb2xvIHNlIG5vbiB1c28gaWwgRmFrZSB0b2tlblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJ0cy5VU0VfRkFLRV9BQ0NFU1NfVE9LRU4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidHMuYWNjb3VudFNjb3BlID0gcmVzLnNjb3BlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIlY1tBUFBfSU5JVElBTElaRVJdIGFwcENvbmZpZyBhbmQgc2NvcGUgcmVnaXN0ZXJlZFwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChidHMuYWNjb3VudFNjb3BlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWFjLmluaXRpYWxpemVJZGVudGl0eShidHMuZ2V0SmFjZUlkZW50aXR5KCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChfID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25maWcuaW5pdGlhbGl6ZXJGdW5jdGlvbilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZigpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIlY1tBUFBfSU5JVElBTElaRVJdIExvYWRpbmcgY3VzdG9tIGFwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uXCIsIFwiYmFja2dyb3VuZC1jb2xvcjogeWVsbG93XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLmluaXRpYWxpemVyRnVuY3Rpb24oaHR0cCwgYnRzLCBhYWMpKCkucGlwZSh0YXAoXyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIiVjW0FQUF9JTklUSUFMSVpFUl0gSW5pdGlhbGl6YXRpb24gaXMgb3ZlclwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IEVzRmFlbnphQ29yZU1vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKiogUHJvdmlkZXIgc3RhdGljaSAqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAuLi5QUk9WSURFUlMsXHJcblxyXG4gICAgICAgICAgICAgICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqIFByb3ZpZGVyIGN1c3RvbWl6emFiaWxpICoqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICAgICAgLi4uKCFjb25maWcucmVkaXJlY3Rpb25NYXAgPyBbXSA6IFt7IHByb3ZpZGU6IFJFRElSRUNUX01BUCwgdXNlVmFsdWU6IGNvbmZpZy5yZWRpcmVjdGlvbk1hcCB9XSksXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogbWVyZ2VkQXBwSW5pdGlhbGl6ZXIsIGRlcHM6IFtIVFRQU2VydmljZSwgVG9rZW5TZXJ2aWNlLCBBY2Nlc3NDb250cm9sU2VydmljZSwgQmFzZUxvY2FsaXphdGlvbl0sIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFJPVVRFUywgdXNlVmFsdWU6IGJhc2VBcHBSb3V0ZXMsIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPQ19ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5Mb2NhbGl6YXRpb25zKSA9PSBEZWJ1Z0ZsYWdzLkxvY2FsaXphdGlvbnMgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBFWFRfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuRXh0ZW5zaW9ucykgPT0gRGVidWdGbGFncy5FeHRlbnNpb25zIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQUNDX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLkFjY2Vzc0NvbnRyb2wpID09IERlYnVnRmxhZ3MuQWNjZXNzQ29udHJvbCA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEhUVFBfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuSHR0cCkgPT0gRGVidWdGbGFncy5IdHRwIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogSFRUUF9JTlZBTElEQVRJT04sIHVzZVZhbHVlOiBjb25maWc/Lmh0dHBJbnZhbGlkYXRpb25DYWNoZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBUQUJfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuVGFiYmVyKSA9PSBEZWJ1Z0ZsYWdzLlRhYmJlciA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFNHUl9ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5TaWduYWxSKSA9PSBEZWJ1Z0ZsYWdzLlNpZ25hbFIgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBQUkVGX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLlByZWZlcmVuY2VzKSA9PSBEZWJ1Z0ZsYWdzLlByZWZlcmVuY2VzIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRVNDX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLkNoYXJ0cykgPT0gRGVidWdGbGFncy5DaGFydHMgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMT0dJTl9VUkxfTEVHQUNZLCB1c2VWYWx1ZTogY29uZmlnLmxlZ2FjeUxvZ2luICE9PSBudWxsICYmIGNvbmZpZy5sZWdhY3lMb2dpbiAhPT0gdW5kZWZpbmVkID8gY29uZmlnLmxlZ2FjeUxvZ2luIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTkFWQkFSX0VYVEVOU0lPTlMsIHVzZVZhbHVlOiBjb25maWcubmF2YmFyRXh0ZW5zaW9ucyA/IGNvbmZpZy5uYXZiYXJFeHRlbnNpb25zIDogW10gfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQmFzZUFkYXB0ZXIsIHVzZUNsYXNzOiBjb25maWc/LmNoYXJ0c0FkYXB0ZXIgfHwgQmFzZUFkYXB0ZXIgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQmFzZU1lc3NhZ2VTZXJ2aWNlLCB1c2VDbGFzczogY29uZmlnPy5tZXNzYWdlU2VydmljZSB8fCBCYXNlTWVzc2FnZVNlcnZpY2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogR2xvYmFsU2VhcmNoU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8uZ2xvYmFsU2VhcmNoU2VydmljZSB8fCBHbG9iYWxTZWFyY2hTZXJ2aWNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8uY29tcGxldGVkSm9iUmVkaXJlY3Rpb25TZXJ2aWNlIHx8IENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBNZW51RmlsdGVyaW5nU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8ubWVudUZpbHRlcmluZ1NlcnZpY2UgfHwgTWVudUZpbHRlcmluZ1NlcnZpY2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogVXNlclByZWZlcmVuY2VzU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8udXNlclByZWZlcmVuY2VzUHJvdmlkZXIgfHwgVXNlclByZWZlcmVuY2VzU2VydmljZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBNRU5VX0xPQ0FMSVpBVElPTiwgdXNlVmFsdWU6IGNvbmZpZy5tZW51TG9jIHx8IG51bGwgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTUVOVSwgdXNlVmFsdWU6IGNvbmZpZy5tZW51IH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFVTRV9GQUtFX0FDQ0VTU19UT0tFTiwgdXNlVmFsdWU6ICEhY29uZmlnLmZha2VBY2Nlc3NUb2tlbiB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBQcmVmZXJlbmNlc1BlcnNpc3RvciwgdXNlQ2xhc3M6IGNvbmZpZy5mYWtlQWNjZXNzVG9rZW4gPyBMb2NhbFN0b3JhZ2VQcmVmZXJlbmNlc1BlcnNpc3RvciA6IEFwcGxpY2F0aW9uUHJlZmVyZW5jZXNQZXJzaXN0b3IgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQ2FjaGVQZXJzaXN0b3IsIHVzZUNsYXNzOiBjb25maWcuZmFrZUFjY2Vzc1Rva2VuID8gTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IgOiBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFc0ZhZW56YUNvcmVNb2R1bGVDb25maWcge1xyXG4gICAgLyogUm91dGUgYXBwbGljYXRpdmUsIHNvbG8gcXVlbGxlIGRlbnRybyBhICoqcGFnZXMqKiAqL1xyXG4gICAgcm91dGVzITogUm91dGVzO1xyXG4gICAgLyogTWVuw7kgZGVsbGEgc2lkZWJhciBkZWxsJ2FwcGxpY2F6aW9uZSAqL1xyXG4gICAgbWVudTogQXBwbGljYXRpb25NZW51W107XHJcbiAgICAvKiBJbmRpY2Egc2UgdXRpbGl6emFyZSBsJ2FjY2VzcyB0b2tlbiBmaW50byAqL1xyXG4gICAgZmFrZUFjY2Vzc1Rva2VuPzogYm9vbGVhbjtcclxuICAgIC8qIFRpcG8gZGEgdXNhcmUgcGVyIGdlbmVyYXJlIGxlIGxvY2FsaXp6YWl6b25pIGRlbCBtZW7DuSAqL1xyXG4gICAgbWVudUxvYz86IFR5cGU8TG9jYWxpemF0aW9uU2VydmljZT47XHJcbiAgICAvKiBSZWRpcmVjdCBwZXIgbGEgcm9vdCBkZWxsJ2FwcGxpY2F6aW9uZSwgZGkgZGVmYXVsdCDDqCBpbXBvc3RhdG8gYSAqKmRhc2hib2FyZCoqLiBTZSBhbGwnaW50ZXJubyBkZWxsZSAqKnJvdXRlcyoqIG5vbiBlc2lzdGUgbGEgcm91dGUgKipkYXNoYm9hcmQqKiDDqCBkYSBpbXBvc3RhcmUgYWRlZ3VhdGFtZW50ZSAqL1xyXG4gICAgZW1wdHlSb3V0ZVJlZGlyZWN0Pzogc3RyaW5nO1xyXG4gICAgLyogU2Ugbm9uIHNwZWNpZmljYXRhIHZpZW5lIGltcG9zdGF0YSBhdXRvbWF0aWNhbWVudGUgYWQgXCJBbGxcIiBpbiBmYXNlIGRpIGRlYnVnLCBcIk5vbmVcIiBpbiBwcm9kdXppb25lIChxdWVzdCd1bHRpbW8gYSBwcmVzY2luZGVyZSwgYSBtZW5vIGNoZSAqKmZvcmNlRGVidWdNb2RlRm9yUHJvZEJ1aWxkcyoqIG5vbiBzaWEgdHJ1ZSkqL1xyXG4gICAgZGVidWdNb2RlPzogRGVidWdGbGFncztcclxuICAgIC8qIFBlcm1ldHRlIGRpIGZvcnphcmUgbGEgbW9kYWxpdMOgIGRpIGRlYnVnIHNwZWNpZmljYXRhIGFuY2hlIHBlciBsZSBidWlsZCBkaSBwcm9kdXppb25lLCAqKk5PTiBJTVBPU1RBUkUgQSBUUlVFKiogYSBtZW5vIGRpIHJhcmlzc2ltaXNzaW1pc3NpbWkgY2FzaSAqL1xyXG4gICAgZm9yY2VEZWJ1Z01vZGVGb3JQcm9kQnVpbGRzPzogYm9vbGVhbjtcclxuICAgIC8qIENhY2hlIGRpIGludmFsaWRhemlvbmUgcGVyIGxlIGNoaWFtYXRlIGh0dHAgKi9cclxuICAgIGh0dHBJbnZhbGlkYXRpb25DYWNoZT86IGFueTtcclxuICAgIC8qIEZ1bnppb25lIGRpIGluaXppYWxpenphemlvbmUgQVBQX0lOSVRJQUxJWkVSLWxpa2UgY2hlIHZpZW5lIHJpY2hpYW1hdGEgZG9wbyBhbGxhIGZ1bnppb25lIGRpIGluaXppYWxpenphemlvbmUgZGkgZGVmYXVsdCAqL1xyXG4gICAgaW5pdGlhbGl6ZXJGdW5jdGlvbj86IChodHRwOiBIVFRQU2VydmljZSwgYnRzOiBUb2tlblNlcnZpY2UsIGFhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UpID0+ICgpID0+IE9ic2VydmFibGU8YW55PjtcclxuICAgIC8qIE1hcHBhIGRpIHJlZGlyZWN0IHBlciBwZXJtZXR0ZXJlIGFsICoqUmVkaXJlY3RlckNvbXBvbmVudCoqIGRpIHNhcGVyZSBkb3ZlIG5hdmlnYXJlIGluIGJhc2UgYSBPZ2dldHRvLVBhcmFtZXRyaSAqL1xyXG4gICAgcmVkaXJlY3Rpb25NYXA/OiB7IFtpbmRleDogc3RyaW5nXTogeyB1cmw6IHN0cmluZywgcGFyYW1zOiBzdHJpbmdbXSB9IH07XHJcbiAgICAvKiBBZGF0dGF0b3JlIGRlaSBncmFmaWNpIG5lbCBjYXNvIHVuIHByb2dldHRvIGZvc3NlIHZlY2NoaW8gKFJpbXVvdmliaWxlIHF1YW5kbyB0dXR0aSBpIHByb2dldHRpIHVzYW5vIG5hdGl2YW1lbnRlIGVzLWNoYXJ0cykgKi9cclxuICAgIGNoYXJ0c0FkYXB0ZXI/OiBUeXBlPEJhc2VBZGFwdGVyPjtcclxuICAgIC8qIFNlcnZpemlvIGNoZSBlc3BvbmUgaSBtZXNzYWdnaSBkaXNwb25pYmlsaSBzdSBTaWduYWxyICovXHJcbiAgICBtZXNzYWdlU2VydmljZT86IFR5cGU8QmFzZU1lc3NhZ2VTZXJ2aWNlPjtcclxuICAgIC8qIFNlcnZpemlvIHBlciBsYSBzZWFyY2ggZ2xvYmFsZSBkZWwgbW9kdWxvICovXHJcbiAgICBnbG9iYWxTZWFyY2hTZXJ2aWNlPzogVHlwZTxHbG9iYWxTZWFyY2hTZXJ2aWNlPjtcclxuICAgIC8qIFNlcnZpemlvIHBlciBmaWx0cmFyZSBsZSB2b2NpIGRpIG1lbsO5ICovXHJcbiAgICBtZW51RmlsdGVyaW5nU2VydmljZT86IFR5cGU8TWVudUZpbHRlcmluZ1NlcnZpY2U+O1xyXG4gICAgLyogU2Vydml6aW8gZGkgcmlkaXJlemlvbmUgcGVyIGpvYiBjb21wbGV0YXRpICovXHJcbiAgICBjb21wbGV0ZWRKb2JSZWRpcmVjdGlvblNlcnZpY2U/OiBUeXBlPENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZT47XHJcbiAgICAvKiBGdW56aW9uZSBkaSBvdmVycmlkZSBwZXIgcmVjdXBlcmFyZSBhY2NvdW50IHNjb3BlIGUgZW52b3B0aW9ucy4gUHXDsiBhbmNoZSBlc3NlcmUgdXRpbGl6emF0YSBwZXIgZm9ybmlyZSBtb2RlbGxpIGZpbnRpIGZpbm8gYWQgaW1wbGVtZW50YXppb25lICovXHJcbiAgICBvcHRpb25zQW5kU2NvcGVQcm92aWRlcj86IE9ic2VydmFibGU8eyBhcHBDb25maWc6IEVudk9wdGlvbnMsIHNjb3BlOiBBY2NvdW50U2NvcGUsIGxvY2FsZTogc3RyaW5nIH0+O1xyXG4gICAgLyogTGlzdGEgZGVpIGNvbXBvbmVudGkgY29uIGN1aSBlc3BhbmRlcmUgbGEgbmF2YmFyICovXHJcbiAgICBuYXZiYXJFeHRlbnNpb25zPzogVHlwZTxhbnk+W107XHJcbiAgICAvKiBTZXJ2aXppbyBkaSByZWN1cGVyby9tb2RpZmljYSBwcmVmZXJlbnplIHV0ZW50ZSAqL1xyXG4gICAgdXNlclByZWZlcmVuY2VzUHJvdmlkZXI/OiBUeXBlPFVzZXJQcmVmZXJlbmNlc1NlcnZpY2U+O1xyXG4gICAgLyogaWRlbnRpZmljYSBzZSB1dGlsaXp6YXJlIGxhIHZlcnNpb25lIHZlY2NoaWEgZGVsbCd1cmwgZGkgYXV0aCAoJHtteWNvbmZpZy5BVVRIX1VSTH0vbG9naW4vZm9ybT9jbGllbnQ9JHtteWNvbmZpZy5DTElFTlRfTkFNRX0pIGludmVjZSBjaGUgbGEgbnVvdmEgKCR7bXljb25maWcuQVVUSF9VUkx9L2xvZ2luO2NsaWVudD0ke215Y29uZmlnLkNMSUVOVF9OQU1FfSkgKi9cclxuICAgIGxlZ2FjeUxvZ2luPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGVidWdGbGFncyB7XHJcbiAgICBOb25lID0gMCxcclxuICAgIExvY2FsaXphdGlvbnMgPSAxIDw8IDAsXHJcbiAgICBFeHRlbnNpb25zID0gMSA8PCAxLFxyXG4gICAgQWNjZXNzQ29udHJvbCA9IDEgPDwgMixcclxuICAgIEh0dHAgPSAxIDw8IDMsXHJcbiAgICBTaWduYWxSID0gMSA8PCA0LFxyXG4gICAgUHJlZmVyZW5jZXMgPSAxIDw8IDUsXHJcbiAgICBDaGFydHMgPSAxIDw8IDYsXHJcbiAgICBUYWJiZXIgPSAxIDw8IDcsXHJcbiAgICBBbGwgPSB+KH4wIDw8IDgpXHJcbn0iXX0=