@provoly/dashboard 0.13.10 → 0.13.11
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/dashboard/store/dashboard.actions.mjs +2 -1
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +12 -3
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +11 -2
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +2 -1
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/dashboard/store/dashboard.actions.d.ts +1 -0
- package/package.json +43 -43
- package/schematics/ng-update/version-0-13/index.js +5 -0
- package/schematics/ng-update/version-0-13/index.js.map +1 -1
- package/widgets/widget-map/component/widget-map.component.d.ts +3 -2
|
@@ -70,8 +70,9 @@ export const DashboardActions = {
|
|
|
70
70
|
updateFilters: createAction('[Dashboard] (bus) update datasource filters', props()),
|
|
71
71
|
removeFilter: createAction('[Dashboard] (bus) remove filter in presentation', props()),
|
|
72
72
|
updateFilterValue: createAction('[Dashboard] (bus) update filter value', props()),
|
|
73
|
+
resetWmsFeatures: createAction('[Widget map] Reset Wms layer features'),
|
|
73
74
|
getWmsFeatures: createAction('[Widget map] Get Wms layer features', props()),
|
|
74
75
|
addWmsFeatures: createAction('[Widget map] Set Wms layer features', props()),
|
|
75
76
|
updateDisplayOptions: createAction('[Dashboard/Display] Update displayed dashboard management features', props())
|
|
76
77
|
};
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQU1YO0FBTkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFOVyxRQUFRLEtBQVIsUUFBUSxRQU1uQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCx5QkFBeUIsRUFBRSxZQUFZLENBQ3JDLGtEQUFrRCxFQUNsRCxLQUFLLEVBT0QsQ0FDTDtJQUNELDZCQUE2QixFQUFFLFlBQVksQ0FDekMsdURBQXVELEVBQ3ZELEtBQUssRUFRRCxDQUNMO0lBQ0QsOEJBQThCLEVBQUUsWUFBWSxDQUMxQyx3REFBd0QsRUFDeEQsS0FBSyxFQU9ELENBQ0w7SUFDRCxrQkFBa0IsRUFBRSxZQUFZLENBQzlCLHNDQUFzQyxFQUN0QyxLQUFLLEVBR0QsQ0FDTDtJQUNELHNCQUFzQixFQUFFLFlBQVksQ0FDbEMsNENBQTRDLEVBQzVDLEtBQUssRUFFRCxDQUNMO0lBQ0QsZUFBZSxFQUFFLFlBQVksQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLEVBQXlDLENBQUM7SUFDbkgsdUJBQXVCLEVBQUUsWUFBWSxDQUNuQyxxQ0FBcUMsRUFDckMsS0FBSyxFQUFtQyxDQUN6QztJQUNELG9CQUFvQixFQUFFLFlBQVksQ0FDaEMsa0NBQWtDLEVBQ2xDLEtBQUssRUFBK0MsQ0FDckQ7SUFDRCx1QkFBdUIsRUFBRSxZQUFZLENBQ25DLHdDQUF3QyxFQUN4QyxLQUFLLEVBQTRGLENBQ2xHO0lBQ0QsMEJBQTBCLEVBQUUsWUFBWSxDQUN0QywyQ0FBMkMsRUFDM0MsS0FBSyxFQUEyRSxDQUNqRjtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQywyQ0FBMkMsQ0FBQztJQUMzRSxtQkFBbUIsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUFzQyxDQUFDO0lBQ2xILGtCQUFrQixFQUFFLFlBQVksQ0FBQyxnREFBZ0QsQ0FBQztJQUNsRixjQUFjLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBZ0MsQ0FBQztJQUM1RyxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLDJDQUEyQyxFQUMzQyxLQUFLLEVBQXdDLENBQzlDO0lBQ0QsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN2RyxVQUFVLEVBQUUsWUFBWSxDQUFDLHlCQUF5QixDQUFDO0lBQ25ELG9CQUFvQixFQUFFLFlBQVksQ0FDaEMsMkNBQTJDLEVBQzNDLEtBQUssRUFBc0MsQ0FDNUM7SUFDRCxZQUFZLEVBQUUsWUFBWSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN0Rix1QkFBdUIsRUFBRSxZQUFZLENBQUMsOENBQThDLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQzlHLGdCQUFnQixFQUFFLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQWdDLENBQUM7SUFDdEcsdUJBQXVCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN2RyxjQUFjLEVBQUUsWUFBWSxDQUFDLCtCQUErQixFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN0RixZQUFZLEVBQUUsWUFBWSxDQUN4QiwyQkFBMkIsRUFDM0IsS0FBSyxFQVFELENBQ0w7SUFDRCxlQUFlLEVBQUUsWUFBWSxDQUFDLGdDQUFnQyxDQUFDO0lBQy9ELGVBQWUsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUFnQyxDQUFDO0lBQ3hHLGFBQWEsRUFBRSxZQUFZLENBQUMsNEJBQTRCLENBQUM7SUFDekQsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLHlDQUF5QyxDQUFDO0lBQzVFLFVBQVUsRUFBRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFnRCxDQUFDO0lBQzVHLGNBQWMsRUFBRSxZQUFZLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUEyQixDQUFDO0lBQzdGLGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsZ0VBQWdFLEVBQ2hFLEtBQUssRUFBbUIsQ0FDekI7SUFDRCxlQUFlLEVBQUUsWUFBWSxDQUMzQiw0Q0FBNEMsRUFDNUMsS0FBSyxFQUF5RCxDQUMvRDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsOENBQThDLEVBQzlDLEtBQUssRUFBNkIsQ0FDbkM7SUFDRCxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLHlDQUF5QyxFQUN6QyxLQUFLLEVBQXNDLENBQzVDO0lBQ0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLGdEQUFnRCxDQUFDO0lBQ3BGLHdCQUF3QixFQUFFLFlBQVksQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLEVBQXVCLENBQUM7SUFDaEgsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBdUIsQ0FBQztJQUNuRyxxQkFBcUIsRUFBRSxZQUFZLENBQ2pDLHVDQUF1QyxFQUN2QyxLQUFLLEVBQTRDLENBQ2xEO0lBQ0QsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBdUIsQ0FBQztJQUNoRyxNQUFNLEVBQUUsWUFBWSxDQUFDLCtCQUErQixFQUFFLEtBQUssRUFBdUMsQ0FBQztJQUNuRyxVQUFVLEVBQUUsWUFBWSxDQUFDLGdDQUFnQyxFQUFFLEtBQUssRUFBcUIsQ0FBQztJQUN0RixlQUFlLEVBQUUsWUFBWSxDQUFDLG9DQUFvQyxDQUFDO0lBQ25FLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDbEcsb0JBQW9CLEVBQUUsWUFBWSxDQUNoQywwQ0FBMEMsRUFDMUMsS0FBSyxFQUFvQyxDQUMxQztJQUNELE9BQU8sRUFBRSxZQUFZLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ3ZGLE1BQU0sRUFBRSxZQUFZLENBQUMsbUNBQW1DLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQ3JGLFNBQVMsRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUEyQyxDQUFDO0lBQ3pHLGFBQWEsRUFBRSxZQUFZLENBQUMseUNBQXlDLEVBQUUsS0FBSyxFQUFnQyxDQUFDO0lBQzdHLFVBQVUsRUFBRSxZQUFZLENBQ3RCLCtCQUErQixFQUMvQixLQUFLLEVBQWdFLENBQ3RFO0lBQ0QsYUFBYSxFQUFFLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLEVBQW1DLENBQUM7SUFDcEcsbUJBQW1CLEVBQUUsWUFBWSxDQUMvQixzQ0FBc0MsRUFDdEMsS0FBSyxFQUFpRCxDQUN2RDtJQUNELFNBQVMsRUFBRSxZQUFZLENBQUMsa0NBQWtDLENBQUM7SUFDM0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxDQUFDO0lBQ2hGLFVBQVUsRUFBRSxZQUFZLENBQUMsMENBQTBDLEVBQUUsS0FBSyxFQUF5QixDQUFDO0lBQ3BHLGFBQWEsRUFBRSxZQUFZLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3ZHLFlBQVksRUFBRSxZQUFZLENBQUMsaURBQWlELEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ3RHLGlCQUFpQixFQUFFLFlBQVksQ0FDN0IsdUNBQXVDLEVBQ3ZDLEtBQUssRUFBb0QsQ0FDMUQ7SUFDRCxjQUFjLEVBQUUsWUFBWSxDQUMxQixxQ0FBcUMsRUFDckMsS0FBSyxFQUEwRCxDQUNoRTtJQUNELGNBQWMsRUFBRSxZQUFZLENBQUMscUNBQXFDLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQy9GLG9CQUFvQixFQUFFLFlBQVksQ0FDaEMsb0VBQW9FLEVBQ3BFLEtBQUssRUFBeUQsQ0FDL0Q7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFByeVZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvc2hhcmUvc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5TW9kZSwgRGlzcGxheU9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2Rpc3BsYXktb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZE1hbmlmZXN0LFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgTWFuaWZlc3REZXNjcmlwdGlvbixcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcmRlclZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCwgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InXG59XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRBY3Rpb25zID0ge1xuICBqb2luOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGpvaW5lZCcsIHByb3BzPHsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIGxlYXZlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGxlYXZlJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlckZldGNoOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIGZldGNoJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0V2l0aG91dEFjdGl2YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYnV0IGRvIG5vdCBhY3RpdmF0ZSBpdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyUmVzaXplOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHJlc2l6ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50Sm9pbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgam9pbicsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgICBwcmVzZW50YXRpb24/OiB7IGN1cnJlbnQ/OiBNYW5pZmVzdERlc2NyaXB0aW9uOyBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7IHZpZXdNb2RlPzogVmlld01vZGUgfTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRMZWF2ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgbGVhdmUnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc2VsZWN0UHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdFByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8e1xuICAgICAgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgdmlld01vZGU6IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw6IEdsb2JhbE1hbmlmZXN0O1xuICAgIH0+KClcbiAgKSxcbiAgZGVjbGFyZVNlbmRlcklkOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNlbGYtdXBkYXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IHRlbmFudHM6IHN0cmluZ1tdOyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlRGFzaGJvYXJkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gdXBkYXRpbmcgZGFzaGJvYXJkIHZpZXcnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0IH0+KClcbiAgKSxcbiAgdXBkYXRlV2lkZ2V0TWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gdXBkYXRpbmcgd2lkZ2V0IHZpZXcnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0OyBpbmRleDogbnVtYmVyIH0+KClcbiAgKSxcbiAgYWRkV2lkZ2V0VG9QcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gYWRkIHdpZGdldCB0byBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgaWQ/OiBzdHJpbmcgfCBzdHJpbmdbXTsgd2lkZ2V0VHlwZTogc3RyaW5nOyBhZGRpdGlvbmFsT3B0aW9ucz86IGFueTsgYWxlcnQ/OiBib29sZWFuIH0+KClcbiAgKSxcbiAgdXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gdXBkYXRlIHdpZGdldCBpbiBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgaWQ/OiBzdHJpbmcgfCBzdHJpbmdbXTsgd2lkZ2V0VHlwZTogc3RyaW5nOyBhZGRpdGlvbmFsT3B0aW9ucz86IGFueSB9PigpXG4gICksXG4gIHJlcXVlc3RBbGxSb3V0ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVxdWVzdGluZyByb3V0ZSB1cGRhdGUnKSxcbiAgdXBkYXRlUm91dGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyByb3V0ZScsIHByb3BzPHsgc2VuZGVyPzogc3RyaW5nOyByb3V0ZTogc3RyaW5nIH0+KCkpLFxuICBmZXRjaE1hbmlmZXN0c0xpc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgYXZhaWxhYmxlIG1hbmlmZXN0cycpLFxuICBzZXRSZWZyZXNoUmF0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXR0aW5nIHJlZnJlc2hSYXRlJywgcHJvcHM8eyBpZDogc3RyaW5nOyByYXRlOiBudW1iZXIgfT4oKSksXG4gIHVwZGF0ZU1hbmlmZXN0c0xpc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbWFuaWZlc3RzIGxpc3QnLFxuICAgIHByb3BzPHsgbWFuaWZlc3RzOiBNYW5pZmVzdERlc2NyaXB0aW9uW10gfT4oKVxuICApLFxuICBmZXRjaFN0YXRpY01hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIHN0YXRpY01hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBlbmRMb2FkaW5nOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGVuZCBsb2FkaW5nJyksXG4gIHVwZGF0ZVN0YXRpY01hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIHN0YXRpY01hbmlmZXN0JyxcbiAgICBwcm9wczx7IHN0YXRpY01hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCB9PigpXG4gICksXG4gIGxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIG1hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkQW5kQWN0aXZhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIGFuZCBhY3RpdmF0ZSBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZG93bmxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkb3dubG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+KCkpLFxuICBjb25maXJtTWFuaWZlc3REZWxldGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjb25maXJtIG1hbmlmZXN0IGRlbGV0aW9uJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZWxldGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkZWxldGluZyBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgc2F2ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNhdmUgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIG1hbmlmZXN0PzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICBpZD86IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICB2aXNpYmlsaXR5PzogUHJ5VmlzaWJpbGl0eTtcbiAgICAgIGNvdmVyPzogYm9vbGVhbjtcbiAgICB9PigpXG4gICksXG4gIHNvbHZlQ29sbGlzaW9uczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzb2x2aW5nIGNvbGxpc2lvbnMnKSxcbiAgZGVmYXVsdE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNldCBkZWZhdWx0IG1hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfT4oKSksXG4gIGNsZWFyTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY2xlYXIgbWFuaWZlc3QnKSxcbiAgZm9sbG93TWFuaWZlc3RSb3V0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmb2xsb3cgbWFuaWZlc3Qgcm91dGUnKSxcbiAgbW92ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtb3Zpbmcgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyOyB0YXJnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBtYXhpbWl6ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtYXhpbWl6ZSB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIGFzc2VydFJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gcmVxdWVzdCByZXN1bHRTZXQgaWYgbm90IHByZXNlbnQgb3IgcGFyYW1zIGNoYW5nZWQnLFxuICAgIHByb3BzPHsgaWQ/OiBzdHJpbmcgfT4oKVxuICApLFxuICB1cGRhdGVSZXN1bHRTZXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbmFtZWQgcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHJlc3VsdFNldDogUmVzdWx0U2V0OyBwYXJhbXM/OiBzdHJpbmcgfT4oKVxuICApLFxuICBhZGRSZWxhdGlvbnNUb1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIHJlbGF0aW9ucyB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb25zOiBSZWxhdGlvbltdIH0+KClcbiAgKSxcbiAgYWRkSXRlbVRvUmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgaXRlbSB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgaXRlbTogSXRlbTsgcmVzdWx0U2V0Pzogc3RyaW5nIH0+KClcbiAgKSxcbiAgc3RhcnRpbmdNaXNzaW5nVmlld3M6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gb3BlbmluZyBtaXNzaW5nIHZpZXdzIGZvciBtYW5pZmVzdCcpLFxuICBzZXRBdmFpbGFibGVOYW1lZFF1ZXJpZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGF2YWlsYWJsZSBycyBuYW1lcycsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICBzZXREZWZhdWx0RGF0YXNvdXJjZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgY3VycmVudCBycyBuYW1lJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZFBhcmFtczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzZXQgZGFzaGJvYXJkIGNlbGwgcGFyYW1zJyxcbiAgICBwcm9wczx7IHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPiB9PigpXG4gICksXG4gIHRvZ2dsZUVkaXRpb25Nb2RlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHRvZ2dsZSBlZGl0aW9uIG1vZGUnLCBwcm9wczx7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtJywgcHJvcHM8eyBpZDogc3RyaW5nOyBjdW11bGF0aXZlOiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3RNYW55OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtcycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgaW52ZXJ0U2VsZWN0aW9uOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGludmVydCBzZWxlY3Rpb24nKSxcbiAgZmV0Y2hPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBmZXRjaCBvYmplY3RzIGRldGFpbHMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZU9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBvYmplY3RzIGRldGFpbHMnLFxuICAgIHByb3BzPHsgbGlzdDogeyBbaWQ6IHN0cmluZ106IEl0ZW0gfSB9PigpXG4gICksXG4gIGV4cGxvcmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaXNvbGF0ZSBpbiBkYXRhIHNldCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGV0YWlsOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBkZXRhaWwgdmlldycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgcHJveGltaXR5OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHByb3hpbWl0eSBzZWFyY2gnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHRhcmdldFJlc3VsdFNldDogc3RyaW5nIH0+KCkpLFxuICBtdWx0aVNuYWNrQmFyOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGRpc3BsYXkgc25hY2sgbWVzc2FnZScsIHByb3BzPHsgbWVzc2FnZTogUHJ5U25hY2tNZXNzYWdlIH0+KCkpLFxuICBxdWlja09yZGVyOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHF1aWNrIG9yZGVyJyxcbiAgICBwcm9wczx7IGRhdGFzb3VyY2VJZDogc3RyaW5nOyBhdHRyaWJ1dGU6IHN0cmluZzsgYXNjOiBPcmRlclZhbHVlIH0+KClcbiAgKSxcbiAgc2V0R3JpZExheW91dDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgZ3JpZCBsYXlvdXQnLCBwcm9wczx7IGxheW91dDogRGFzaGJvYXJkR3JpZExheW91dCB9PigpKSxcbiAgcHJvcGFnYXRlR3JpZExheW91dDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjaGFuZ2UgZ3JpZCBsYXlvdXQnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0OyByYW5rOiBudW1iZXIgfT4oKVxuICApLFxuICBjcmVhdGVUYWI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY3JlYXRlIG5ldyB0YWInKSxcbiAgcmVzdG9yZUluaXRpYWxNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXN0b3JpbmcgbWlzc2luZyB0YWJzJyksXG4gIHNldEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyczogRmlsdGVyW10gfT4oKSksXG4gIHVwZGF0ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyOiBGaWx0ZXIgfT4oKSksXG4gIHJlbW92ZUZpbHRlcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVyIGluIHByZXNlbnRhdGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlRmlsdGVyVmFsdWU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGZpbHRlciB2YWx1ZScsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyB2YWx1ZTogYW55OyBkYXRhc291cmNlSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGdldFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tXaWRnZXQgbWFwXSBHZXQgV21zIGxheWVyIGZlYXR1cmVzJyxcbiAgICBwcm9wczx7IHVybDogc3RyaW5nOyBvQ2xhc3M6IHN0cmluZzsgY29vcmRpbmF0ZXM6IG51bWJlcltdIH0+KClcbiAgKSxcbiAgYWRkV21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIFNldCBXbXMgbGF5ZXIgZmVhdHVyZXMnLCBwcm9wczx7IGZlYXR1cmVzOiBhbnkgfT4oKSksXG4gIHVwZGF0ZURpc3BsYXlPcHRpb25zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmQvRGlzcGxheV0gVXBkYXRlIGRpc3BsYXllZCBkYXNoYm9hcmQgbWFuYWdlbWVudCBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyBtb2RlOiBEaXNwbGF5TW9kZTsgY3VzdG9tRGlzcGxheT86IERpc3BsYXlPcHRpb25zIH0+KClcbiAgKVxufTtcbiJdfQ==
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQU1YO0FBTkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFOVyxRQUFRLEtBQVIsUUFBUSxRQU1uQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCx5QkFBeUIsRUFBRSxZQUFZLENBQ3JDLGtEQUFrRCxFQUNsRCxLQUFLLEVBT0QsQ0FDTDtJQUNELDZCQUE2QixFQUFFLFlBQVksQ0FDekMsdURBQXVELEVBQ3ZELEtBQUssRUFRRCxDQUNMO0lBQ0QsOEJBQThCLEVBQUUsWUFBWSxDQUMxQyx3REFBd0QsRUFDeEQsS0FBSyxFQU9ELENBQ0w7SUFDRCxrQkFBa0IsRUFBRSxZQUFZLENBQzlCLHNDQUFzQyxFQUN0QyxLQUFLLEVBR0QsQ0FDTDtJQUNELHNCQUFzQixFQUFFLFlBQVksQ0FDbEMsNENBQTRDLEVBQzVDLEtBQUssRUFFRCxDQUNMO0lBQ0QsZUFBZSxFQUFFLFlBQVksQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLEVBQXlDLENBQUM7SUFDbkgsdUJBQXVCLEVBQUUsWUFBWSxDQUNuQyxxQ0FBcUMsRUFDckMsS0FBSyxFQUFtQyxDQUN6QztJQUNELG9CQUFvQixFQUFFLFlBQVksQ0FDaEMsa0NBQWtDLEVBQ2xDLEtBQUssRUFBK0MsQ0FDckQ7SUFDRCx1QkFBdUIsRUFBRSxZQUFZLENBQ25DLHdDQUF3QyxFQUN4QyxLQUFLLEVBQTRGLENBQ2xHO0lBQ0QsMEJBQTBCLEVBQUUsWUFBWSxDQUN0QywyQ0FBMkMsRUFDM0MsS0FBSyxFQUEyRSxDQUNqRjtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQywyQ0FBMkMsQ0FBQztJQUMzRSxtQkFBbUIsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUFzQyxDQUFDO0lBQ2xILGtCQUFrQixFQUFFLFlBQVksQ0FBQyxnREFBZ0QsQ0FBQztJQUNsRixjQUFjLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBZ0MsQ0FBQztJQUM1RyxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLDJDQUEyQyxFQUMzQyxLQUFLLEVBQXdDLENBQzlDO0lBQ0QsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN2RyxVQUFVLEVBQUUsWUFBWSxDQUFDLHlCQUF5QixDQUFDO0lBQ25ELG9CQUFvQixFQUFFLFlBQVksQ0FDaEMsMkNBQTJDLEVBQzNDLEtBQUssRUFBc0MsQ0FDNUM7SUFDRCxZQUFZLEVBQUUsWUFBWSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN0Rix1QkFBdUIsRUFBRSxZQUFZLENBQUMsOENBQThDLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQzlHLGdCQUFnQixFQUFFLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQWdDLENBQUM7SUFDdEcsdUJBQXVCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN2RyxjQUFjLEVBQUUsWUFBWSxDQUFDLCtCQUErQixFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUN0RixZQUFZLEVBQUUsWUFBWSxDQUN4QiwyQkFBMkIsRUFDM0IsS0FBSyxFQVFELENBQ0w7SUFDRCxlQUFlLEVBQUUsWUFBWSxDQUFDLGdDQUFnQyxDQUFDO0lBQy9ELGVBQWUsRUFBRSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxFQUFnQyxDQUFDO0lBQ3hHLGFBQWEsRUFBRSxZQUFZLENBQUMsNEJBQTRCLENBQUM7SUFDekQsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLHlDQUF5QyxDQUFDO0lBQzVFLFVBQVUsRUFBRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxFQUFnRCxDQUFDO0lBQzVHLGNBQWMsRUFBRSxZQUFZLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUEyQixDQUFDO0lBQzdGLGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsZ0VBQWdFLEVBQ2hFLEtBQUssRUFBbUIsQ0FDekI7SUFDRCxlQUFlLEVBQUUsWUFBWSxDQUMzQiw0Q0FBNEMsRUFDNUMsS0FBSyxFQUF5RCxDQUMvRDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsOENBQThDLEVBQzlDLEtBQUssRUFBNkIsQ0FDbkM7SUFDRCxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLHlDQUF5QyxFQUN6QyxLQUFLLEVBQXNDLENBQzVDO0lBQ0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLGdEQUFnRCxDQUFDO0lBQ3BGLHdCQUF3QixFQUFFLFlBQVksQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLEVBQXVCLENBQUM7SUFDaEgsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBdUIsQ0FBQztJQUNuRyxxQkFBcUIsRUFBRSxZQUFZLENBQ2pDLHVDQUF1QyxFQUN2QyxLQUFLLEVBQTRDLENBQ2xEO0lBQ0QsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssRUFBdUIsQ0FBQztJQUNoRyxNQUFNLEVBQUUsWUFBWSxDQUFDLCtCQUErQixFQUFFLEtBQUssRUFBdUMsQ0FBQztJQUNuRyxVQUFVLEVBQUUsWUFBWSxDQUFDLGdDQUFnQyxFQUFFLEtBQUssRUFBcUIsQ0FBQztJQUN0RixlQUFlLEVBQUUsWUFBWSxDQUFDLG9DQUFvQyxDQUFDO0lBQ25FLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDbEcsb0JBQW9CLEVBQUUsWUFBWSxDQUNoQywwQ0FBMEMsRUFDMUMsS0FBSyxFQUFvQyxDQUMxQztJQUNELE9BQU8sRUFBRSxZQUFZLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ3ZGLE1BQU0sRUFBRSxZQUFZLENBQUMsbUNBQW1DLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQ3JGLFNBQVMsRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUEyQyxDQUFDO0lBQ3pHLGFBQWEsRUFBRSxZQUFZLENBQUMseUNBQXlDLEVBQUUsS0FBSyxFQUFnQyxDQUFDO0lBQzdHLFVBQVUsRUFBRSxZQUFZLENBQ3RCLCtCQUErQixFQUMvQixLQUFLLEVBQWdFLENBQ3RFO0lBQ0QsYUFBYSxFQUFFLFlBQVksQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLEVBQW1DLENBQUM7SUFDcEcsbUJBQW1CLEVBQUUsWUFBWSxDQUMvQixzQ0FBc0MsRUFDdEMsS0FBSyxFQUFpRCxDQUN2RDtJQUNELFNBQVMsRUFBRSxZQUFZLENBQUMsa0NBQWtDLENBQUM7SUFDM0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxDQUFDO0lBQ2hGLFVBQVUsRUFBRSxZQUFZLENBQUMsMENBQTBDLEVBQUUsS0FBSyxFQUF5QixDQUFDO0lBQ3BHLGFBQWEsRUFBRSxZQUFZLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3ZHLFlBQVksRUFBRSxZQUFZLENBQUMsaURBQWlELEVBQUUsS0FBSyxFQUFrQixDQUFDO0lBQ3RHLGlCQUFpQixFQUFFLFlBQVksQ0FDN0IsdUNBQXVDLEVBQ3ZDLEtBQUssRUFBb0QsQ0FDMUQ7SUFDRCxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsdUNBQXVDLENBQUM7SUFDdkUsY0FBYyxFQUFFLFlBQVksQ0FDMUIscUNBQXFDLEVBQ3JDLEtBQUssRUFBMEQsQ0FDaEU7SUFDRCxjQUFjLEVBQUUsWUFBWSxDQUFDLHFDQUFxQyxFQUFFLEtBQUssRUFBcUIsQ0FBQztJQUMvRixvQkFBb0IsRUFBRSxZQUFZLENBQ2hDLG9FQUFvRSxFQUNwRSxLQUFLLEVBQXlELENBQy9EO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcnlWaXNpYmlsaXR5IH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NoYXJlL3NoYXJlLm1vZGVsJztcbmltcG9ydCB7IFByeVNuYWNrTWVzc2FnZSB9IGZyb20gJy4uLy4uL2NvcmUvY29tcG9uZW50cy9zbmFja2Jhci9zbmFjay5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlzcGxheU1vZGUsIERpc3BsYXlPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9kaXNwbGF5LW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRHcmlkTGF5b3V0LFxuICBEYXNoYm9hcmRNYW5pZmVzdCxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlbGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3JkZXJWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQsIFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgRGFzaGJvYXJkQ2VsbFBhcmFtcyA9IHtcbiAgZ3JpZFdpZHRoOiBudW1iZXI7XG4gIGdyaWRIZWlnaHQ6IG51bWJlcjtcbiAgZ3JpZEdhcDogbnVtYmVyO1xuICBjb2x1bW5zOiBudW1iZXI7XG4gIGNlbGxIZWlnaHQ6IG51bWJlcjtcbiAgcm93czogbnVtYmVyO1xuICBjZWxsV2lkdGg6IG51bWJlcjtcbiAgb2Zmc2V0TGVmdDogbnVtYmVyO1xuICBvZmZzZXRUb3A6IG51bWJlcjtcbiAgbW9iaWxlTW9kZTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBlbnVtIFZpZXdNb2RlIHtcbiAgQ0FUQUxPRyA9ICdjYXRhbG9nJyxcbiAgQ09OU1VMVCA9ICdjb25zdWx0JyxcbiAgQ1JFQVRJT04gPSAnY3JlYXRpb24nLFxuICBFRElUSU9OID0gJ2VkaXRpb24nLFxuICBFRElUT1IgPSAnZWRpdG9yJ1xufVxuXG5leHBvcnQgY29uc3QgRGFzaGJvYXJkQWN0aW9ucyA9IHtcbiAgam9pbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBqb2luZWQnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICBsZWF2ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBsZWF2ZScsIHByb3BzPHsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJGZXRjaDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciBmZXRjaCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdFdpdGhvdXRBY3RpdmF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGJ1dCBkbyBub3QgYWN0aXZhdGUgaXQnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclJlc2l6ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciByZXNpemUnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudEpvaW46IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgdGVuYW50IGpvaW4nLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgICAgcHJlc2VudGF0aW9uPzogeyBjdXJyZW50PzogTWFuaWZlc3REZXNjcmlwdGlvbjsgaW5pdGlhbD86IEdsb2JhbE1hbmlmZXN0OyB2aWV3TW9kZT86IFZpZXdNb2RlIH07XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50TGVhdmU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgdGVuYW50IGxlYXZlJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHNlbGVjdFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3RQcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIHByZXNlbnRhdGlvbjogTWFuaWZlc3REZXNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgICAgIHZpZXdNb2RlOiBWaWV3TW9kZTtcbiAgICB9PigpXG4gICksXG4gIHNldEluaXRpYWxQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGluaXRpYWwgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBpbml0aWFsOiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ/OiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIGltYWdlPzogc3RyaW5nO1xuICAgICAgdmlzaWJpbGl0eT86IFByeVZpc2liaWxpdHk7XG4gICAgICBjb3Zlcj86IGJvb2xlYW47XG4gICAgfT4oKVxuICApLFxuICBzb2x2ZUNvbGxpc2lvbnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc29sdmluZyBjb2xsaXNpb25zJyksXG4gIGRlZmF1bHRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgZGVmYXVsdCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+KCkpLFxuICBjbGVhck1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGNsZWFyIG1hbmlmZXN0JyksXG4gIGZvbGxvd01hbmlmZXN0Um91dGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZm9sbG93IG1hbmlmZXN0IHJvdXRlJyksXG4gIG1vdmVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbW92aW5nIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgdGFyZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgbWF4aW1pemVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbWF4aW1pemUgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBhc3NlcnRSZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHJlcXVlc3QgcmVzdWx0U2V0IGlmIG5vdCBwcmVzZW50IG9yIHBhcmFtcyBjaGFuZ2VkJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIH0+KClcbiAgKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyByZXN1bHRTZXQ6IFJlc3VsdFNldDsgcGFyYW1zPzogc3RyaW5nIH0+KClcbiAgKSxcbiAgYWRkUmVsYXRpb25zVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCByZWxhdGlvbnMgdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IHJlbGF0aW9uczogUmVsYXRpb25bXSB9PigpXG4gICksXG4gIGFkZEl0ZW1Ub1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGl0ZW0gdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGl0ZW06IEl0ZW07IHJlc3VsdFNldD86IHN0cmluZyB9PigpXG4gICksXG4gIHN0YXJ0aW5nTWlzc2luZ1ZpZXdzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG9wZW5pbmcgbWlzc2luZyB2aWV3cyBmb3IgbWFuaWZlc3QnKSxcbiAgc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBhdmFpbGFibGUgcnMgbmFtZXMnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgc2V0RGVmYXVsdERhdGFzb3VyY2U6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGN1cnJlbnQgcnMgbmFtZScsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRQYXJhbXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gc2V0IGRhc2hib2FyZCBjZWxsIHBhcmFtcycsXG4gICAgcHJvcHM8eyBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz4gfT4oKVxuICApLFxuICB0b2dnbGVFZGl0aW9uTW9kZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSB0b2dnbGUgZWRpdGlvbiBtb2RlJywgcHJvcHM8eyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbScsIHByb3BzPHsgaWQ6IHN0cmluZzsgY3VtdWxhdGl2ZTogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0TWFueTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbXMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIGludmVydFNlbGVjdGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpbnZlcnQgc2VsZWN0aW9uJyksXG4gIGZldGNoT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZmV0Y2ggb2JqZWN0cyBkZXRhaWxzJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgb2JqZWN0cyBkZXRhaWxzJyxcbiAgICBwcm9wczx7IGxpc3Q6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH0gfT4oKVxuICApLFxuICBleHBsb3JlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGlzb2xhdGUgaW4gZGF0YSBzZXQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRldGFpbDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgZGV0YWlsIHZpZXcnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHByb3hpbWl0eTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBwcm94aW1pdHkgc2VhcmNoJywgcHJvcHM8eyBpZDogc3RyaW5nOyB0YXJnZXRSZXN1bHRTZXQ6IHN0cmluZyB9PigpKSxcbiAgbXVsdGlTbmFja0JhcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBkaXNwbGF5IHNuYWNrIG1lc3NhZ2UnLCBwcm9wczx7IG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSB9PigpKSxcbiAgcXVpY2tPcmRlcjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBxdWljayBvcmRlcicsXG4gICAgcHJvcHM8eyBkYXRhc291cmNlSWQ6IHN0cmluZzsgYXR0cmlidXRlOiBzdHJpbmc7IGFzYzogT3JkZXJWYWx1ZSB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IERhc2hib2FyZEdyaWRMYXlvdXQgfT4oKSksXG4gIHByb3BhZ2F0ZUdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgY2hhbmdlIGdyaWQgbGF5b3V0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdDsgcmFuazogbnVtYmVyIH0+KClcbiAgKSxcbiAgY3JlYXRlVGFiOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNyZWF0ZSBuZXcgdGFiJyksXG4gIHJlc3RvcmVJbml0aWFsTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVzdG9yaW5nIG1pc3NpbmcgdGFicycpLFxuICBzZXRGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcnM6IEZpbHRlcltdIH0+KCkpLFxuICB1cGRhdGVGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcjogRmlsdGVyIH0+KCkpLFxuICByZW1vdmVGaWx0ZXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlciBpbiBwcmVzZW50YXRpb24nLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZUZpbHRlclZhbHVlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBmaWx0ZXIgdmFsdWUnLFxuICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgdmFsdWU6IGFueTsgZGF0YXNvdXJjZUlkOiBzdHJpbmcgfT4oKVxuICApLFxuICByZXNldFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBSZXNldCBXbXMgbGF5ZXIgZmVhdHVyZXMnKSxcbiAgZ2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIEdldCBXbXMgbGF5ZXIgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW10gfT4oKVxuICApLFxuICBhZGRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gU2V0IFdtcyBsYXllciBmZWF0dXJlcycsIHByb3BzPHsgZmVhdHVyZXM6IGFueSB9PigpKSxcbiAgdXBkYXRlRGlzcGxheU9wdGlvbnM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZC9EaXNwbGF5XSBVcGRhdGUgZGlzcGxheWVkIGRhc2hib2FyZCBtYW5hZ2VtZW50IGZlYXR1cmVzJyxcbiAgICBwcm9wczx7IG1vZGU6IERpc3BsYXlNb2RlOyBjdXN0b21EaXNwbGF5PzogRGlzcGxheU9wdGlvbnMgfT4oKVxuICApXG59O1xuIl19
|
|
@@ -576,7 +576,7 @@ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions
|
|
|
576
576
|
}
|
|
577
577
|
}
|
|
578
578
|
};
|
|
579
|
-
}), on(DashboardActions.getWmsFeatures, (state, action) => ({
|
|
579
|
+
}), on(DashboardActions.getWmsFeatures, DashboardActions.resetWmsFeatures, (state, action) => ({
|
|
580
580
|
...state,
|
|
581
581
|
wmsFeatures: []
|
|
582
582
|
})), on(DashboardActions.addWmsFeatures, (state, action) => {
|
|
@@ -611,4 +611,4 @@ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions
|
|
|
611
611
|
export function dashboardReducer(state, action) {
|
|
612
612
|
return internalReducer(state, action);
|
|
613
613
|
}
|
|
614
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFrQixpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRy9GLE9BQU8sRUFDTCxtQkFBbUIsRUFJcEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDckcsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQWtDcEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW1CO0lBQ25ELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztTQUMzQjtRQUNELGNBQWMsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxFQUFFLEVBQUU7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S0FBSztTQUNmO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUMxRCxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDdEYsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBcUIsRUFBRSxNQUFjO0lBQ3BFLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERpc3BsYXlPcHRpb25zLCBnZXREaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlbGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0T3JkZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvc2VhcmNoL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgc29sdmVDb2xsaXNpb25zIH0gZnJvbSAnLi4vY29tcG9uZW50cy9zb2x2ZS1jb2xsaXNpb25zLmZ1bmN0aW9uJztcbmltcG9ydCB7IFdpZGdldFBsYWNlbWVudFV0aWxzIH0gZnJvbSAnLi4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRBY3Rpb25zLCBEYXNoYm9hcmRDZWxsUGFyYW1zLCBWaWV3TW9kZSB9IGZyb20gJy4vZGFzaGJvYXJkLmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9DT0xVTU5TX05VTUJFUixcbiAgREVGQVVMVF9HQVBfUFgsXG4gIERFRkFVTFRfUk9XX0hFSUdIVF9QWCxcbiAgREVGQVVMVF9ST1dTX05VTUJFUlxufSBmcm9tICcuL2Rhc2hib2FyZC5jb250YW50cyc7XG5cbmV4cG9ydCBjb25zdCBkYXNoYm9hcmRGZWF0dXJlS2V5ID0gJ0BwcnkvZGFzaGJvYXJkJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRTdGF0ZSB7XG4gIG1hbmlmZXN0czoge1xuICAgIHNlbmRlcjogc3RyaW5nO1xuICAgIHRlbmFudHM6IHN0cmluZ1tdO1xuICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICBsaXN0OiBNYW5pZmVzdERlc2NyaXB0aW9uW107XG4gICAgY3VycmVudElkOiBzdHJpbmc7XG4gICAgc3RhdGljTWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gIH07XG4gIHByZXNlbnRhdGlvbjoge1xuICAgIGN1cnJlbnQ6IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgdmlld01vZGU/OiBWaWV3TW9kZTtcbiAgICBpbml0aWFsOiBHbG9iYWxNYW5pZmVzdCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzdWx0czoge1xuICAgIHJlc3VsdFNldHM6IFJlc3VsdFNldHM7XG4gICAgcmVzdWx0U2V0c1BhcmFtczogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9O1xuICAgIGF2YWlsYWJsZURhdGFzb3VyY2VOYW1lczogc3RyaW5nW107XG4gICAgZGVmYXVsdERhdGFzb3VyY2U6IHN0cmluZ1tdO1xuICAgIHNlbGVjdGVkSXRlbXM6IHN0cmluZ1tdO1xuICAgIG9iamVjdERldGFpbHM6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH07XG4gICAgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH07XG4gIH07XG4gIGRhc2hib2FyZDoge1xuICAgIHBhcmFtczogRGFzaGJvYXJkQ2VsbFBhcmFtcztcbiAgICBlZGl0aW9uTW9kZTogYm9vbGVhbjtcbiAgfTtcbiAgd21zRmVhdHVyZXM6IGFueVtdO1xuICBkaXNwbGF5PzogRGlzcGxheU9wdGlvbnM7XG59XG5cbmV4cG9ydCBjb25zdCBkYXNoYm9hcmRJbml0aWFsU3RhdGU6IERhc2hib2FyZFN0YXRlID0ge1xuICBtYW5pZmVzdHM6IHtcbiAgICBzZW5kZXI6ICcnLFxuICAgIHRlbmFudHM6IFtdLFxuICAgIG1hbmlmZXN0OiB7XG4gICAgICB3aW5kb3dzOiBbeyB3aWRnZXRzOiBbXSB9XVxuICAgIH0sXG4gICAgc3RhdGljTWFuaWZlc3Q6IHtcbiAgICAgIHdpbmRvd3M6IFt7IHdpZGdldHM6IFtdIH1dXG4gICAgfSxcbiAgICBsaXN0OiBbXSxcbiAgICBjdXJyZW50SWQ6ICcnLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0sXG4gIHByZXNlbnRhdGlvbjoge1xuICAgIGN1cnJlbnQ6IHVuZGVmaW5lZCxcbiAgICBpbml0aWFsOiB1bmRlZmluZWRcbiAgfSxcbiAgcmVzdWx0czoge1xuICAgIGF2YWlsYWJsZURhdGFzb3VyY2VOYW1lczogW10sXG4gICAgcmVzdWx0U2V0czoge1xuICAgICAgW0RFRkFVTFRfTkFNRURfUVVFUllfSURdOiB7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9LFxuICAgICAgW0VYUExPUkVfTkFNRURfUVVFUllfSURdOiB7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9XG4gICAgfSxcbiAgICByZXN1bHRTZXRzUGFyYW1zOiB7XG4gICAgICBbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF06IHVuZGVmaW5lZCxcbiAgICAgIFtFWFBMT1JFX05BTUVEX1FVRVJZX0lEXTogdW5kZWZpbmVkXG4gICAgfSxcbiAgICBkZWZhdWx0RGF0YXNvdXJjZTogWydjdXJyZW50J10sXG4gICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgb2JqZWN0RGV0YWlsczoge30sXG4gICAgcXVpY2tPcmRlcjoge31cbiAgfSxcbiAgZGFzaGJvYXJkOiB7XG4gICAgcGFyYW1zOiB7XG4gICAgICBncmlkV2lkdGg6IDEsXG4gICAgICBncmlkSGVpZ2h0OiAxLFxuICAgICAgZ3JpZEdhcDogREVGQVVMVF9HQVBfUFgsXG4gICAgICBjb2x1bW5zOiBERUZBVUxUX0NPTFVNTlNfTlVNQkVSLFxuICAgICAgY2VsbEhlaWdodDogREVGQVVMVF9ST1dfSEVJR0hUX1BYLFxuICAgICAgcm93czogREVGQVVMVF9ST1dTX05VTUJFUixcbiAgICAgIGNlbGxXaWR0aDogMSxcbiAgICAgIG9mZnNldExlZnQ6IDAsXG4gICAgICBvZmZzZXRUb3A6IDAsXG4gICAgICBtb2JpbGVNb2RlOiBmYWxzZVxuICAgIH0sXG4gICAgZWRpdGlvbk1vZGU6IGZhbHNlXG4gIH0sXG4gIHdtc0ZlYXR1cmVzOiBbXVxufTtcblxuY29uc3QgaW50ZXJuYWxSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcjxEYXNoYm9hcmRTdGF0ZT4oXG4gIGRhc2hib2FyZEluaXRpYWxTdGF0ZSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5qb2luLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIHRlbmFudHM6IFsuLi5zdGF0ZS5tYW5pZmVzdHMudGVuYW50cywgYWN0aW9uLnNlbmRlcl1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5kZWNsYXJlU2VuZGVySWQsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgc2VuZGVyOiBhY3Rpb24uc2VuZGVyLFxuICAgICAgdGVuYW50czogc3RhdGUubWFuaWZlc3RzLnRlbmFudHMubGVuZ3RoID09PSAwID8gYWN0aW9uLnRlbmFudHMgOiBzdGF0ZS5tYW5pZmVzdHMudGVuYW50c1xuICAgIH1cbiAgfSkpLFxuICBvbihcbiAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0LFxuICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudEpvaW4sXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50TGVhdmUsXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2gsXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyUmVzaXplLFxuICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbixcbiAgICAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKCEhYWN0aW9uLnNlbmRlciAmJiAhc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuZmluZCgodGVuYW50KSA9PiB0ZW5hbnQgPT09IGFjdGlvbi5zZW5kZXIpICYmICFhY3Rpb24uam9pbmluZykge1xuICAgICAgICAvLyBpZ25vcmUgbWFuaWZlc3QgdXBkYXRlcyBmcm9tIHRlbmFudHMgdGhhdCBoYXZlIG5vdCBqb2luZWRcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgICB0ZW5hbnRzOiBhY3Rpb24udGVuYW50cyA/PyBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cyxcbiAgICAgICAgICBtYW5pZmVzdDogYWN0aW9uLm1hbmlmZXN0LFxuICAgICAgICAgIGN1cnJlbnRJZDogYWN0aW9uLm1hbmlmZXN0SWQgPz8gc3RhdGUubWFuaWZlc3RzLmN1cnJlbnRJZFxuICAgICAgICB9LFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHByZXNlbnRhdGlvbjogYWN0aW9uLnByZXNlbnRhdGlvbiA/PyBzdGF0ZS5wcmVzZW50YXRpb24sXG4gICAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IGFjdGlvbi5zZWxlY3RlZElkcyxcbiAgICAgICAgICByZXN1bHRTZXRzOiAhIWFjdGlvbi5yZXN1bHRTZXRzXG4gICAgICAgICAgICA/IHsgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzLCAuLi5hY3Rpb24ucmVzdWx0U2V0cyB9XG4gICAgICAgICAgICA6IHN0YXRlLnJlc3VsdHMucmVzdWx0U2V0c1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVSb3V0ZU1hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IHNlbmRlclJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKGFjdGlvbi5zZW5kZXIgPz8gc3RhdGUubWFuaWZlc3RzLnNlbmRlcik7XG4gICAgY29uc3QgbmV3V2luZG93cyA9IFsuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93c107XG4gICAgbmV3V2luZG93c1tzZW5kZXJSYW5rXSA9IHsgLi4ubmV3V2luZG93c1tzZW5kZXJSYW5rXSwgcm91dGU6IGFjdGlvbi5yb3V0ZSB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRGFzaGJvYXJkTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzXTtcbiAgICBuZXdXaW5kb3dzW215UmFua10gPSBhY3Rpb24ubWFuaWZlc3Q7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVXaWRnZXRNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzKSk7XG4gICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHNbYWN0aW9uLmluZGV4XSA9IGFjdGlvbi5tYW5pZmVzdDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVJlc3VsdFNldCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVzdWx0czoge1xuICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgIHJlc3VsdFNldHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzLFxuICAgICAgICBbYWN0aW9uLmlkXTogYWN0aW9uLnJlc3VsdFNldFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFNldHNQYXJhbXM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzUGFyYW1zLFxuICAgICAgICBbYWN0aW9uLmlkXTogYWN0aW9uLnBhcmFtc1xuICAgICAgfVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLm1vdmVXaWRnZXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzXTtcblxuICAgIC8vIENyZWF0aW5nIG5ldyBjdXJyZW50IHdpbmRvdyBtYW5pZmVzdCwgd2l0aG91dCBtb3ZlZCB3aWRnZXRcbiAgICBjb25zdCBteU5ld1dpbmRvdyA9IHtcbiAgICAgIC4uLm5ld1dpbmRvd3NbbXlSYW5rXSxcbiAgICAgIHdpZGdldHM6IFsuLi5uZXdXaW5kb3dzW215UmFua10ud2lkZ2V0c11cbiAgICB9O1xuICAgIGNvbnN0IHdpZGdldCA9IG15TmV3V2luZG93LndpZGdldHMuc3BsaWNlKGFjdGlvbi53aWRnZXRJbmRleCwgMSlbMF07XG4gICAgbmV3V2luZG93c1tteVJhbmtdID0gbXlOZXdXaW5kb3c7XG5cbiAgICAvLyBDcmVhdGluZyBlaXRoZXIgYSBuZXcgd2luZG93IG1hbmlmZXN0IG9yIHVwZGF0ZSB0aGUgdGFyZ2V0IG9uZVxuICAgIGNvbnN0IHRhcmdldFJhbmsgPSBhY3Rpb24udGFyZ2V0SW5kZXg7XG4gICAgaWYgKHRhcmdldFJhbmsgIT09IC0xKSB7XG4gICAgICBpZiAoIW5ld1dpbmRvd3NbdGFyZ2V0UmFua10pIHtcbiAgICAgICAgbmV3V2luZG93c1t0YXJnZXRSYW5rXSA9IHtcbiAgICAgICAgICAuLi5uZXdXaW5kb3dzW215UmFua10sXG4gICAgICAgICAgd2lkZ2V0czogW3dpZGdldF1cbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1dpbmRvd3NbdGFyZ2V0UmFua10gPSB7XG4gICAgICAgICAgLi4ubmV3V2luZG93c1t0YXJnZXRSYW5rXSxcbiAgICAgICAgICB3aWRnZXRzOiBbLi4uKG5ld1dpbmRvd3NbdGFyZ2V0UmFua10ud2lkZ2V0cyA/PyBbXSksIHdpZGdldF1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY3JlYXRlIG5ldyB3aW5kb3cgdG8gd2VsY29tZSB0aGlzIHdpZGdldFxuICAgICAgbmV3V2luZG93cy5wdXNoKHtcbiAgICAgICAgLi4ubmV3V2luZG93c1tteVJhbmtdLFxuICAgICAgICB3aWRnZXRzOiBbd2lkZ2V0XVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMubWF4aW1pemVXaWRnZXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93cykpO1xuICAgIG5ld1dpbmRvd3NbbXlSYW5rXS53aWRnZXRzW2FjdGlvbi53aWRnZXRJbmRleF0ubGF5b3V0ID0ge1xuICAgICAgeDogMSxcbiAgICAgIHk6IDEsXG4gICAgICB3aWR0aDogc3RhdGUuZGFzaGJvYXJkLnBhcmFtcy5jb2x1bW5zLFxuICAgICAgaGVpZ2h0OiBzdGF0ZS5kYXNoYm9hcmQucGFyYW1zLnJvd3NcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZXN1bHRzOiB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgYXZhaWxhYmxlRGF0YXNvdXJjZU5hbWVzOiBhY3Rpb24ubmFtZXMsXG4gICAgICBkZWZhdWx0RGF0YXNvdXJjZTogc3RhdGUucmVzdWx0cy5kZWZhdWx0RGF0YXNvdXJjZS5maWx0ZXIoKHJzTmFtZSkgPT4gYWN0aW9uLm5hbWVzLmluY2x1ZGVzKHJzTmFtZSkpXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0RGVmYXVsdERhdGFzb3VyY2UsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHM6IHtcbiAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICBkZWZhdWx0RGF0YXNvdXJjZTogYWN0aW9uLm5hbWVzXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc29sdmVDb2xsaXNpb25zLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgd2luZG93czogc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MubWFwKCh3aW5kb3cpID0+IHtcbiAgICAgICAgICBjb25zdCBbZmlyc3QsIC4uLm90aGVyc10gPSB3aW5kb3cud2lkZ2V0cztcbiAgICAgICAgICByZXR1cm4gc29sdmVDb2xsaXNpb25zKGZpcnN0LCBvdGhlcnMsIHdpbmRvdyk7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRGFzaGJvYXJkUGFyYW1zLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkYXNoYm9hcmQ6IHtcbiAgICAgIC4uLnN0YXRlLmRhc2hib2FyZCxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICAuLi5zdGF0ZS5kYXNoYm9hcmQucGFyYW1zLFxuICAgICAgICAuLi5hY3Rpb24ucGFyYW1zXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudG9nZ2xlRWRpdGlvbk1vZGUsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGRhc2hib2FyZDoge1xuICAgICAgLi4uc3RhdGUuZGFzaGJvYXJkLFxuICAgICAgZWRpdGlvbk1vZGU6IGFjdGlvbi5mb3JjZSA/PyAhc3RhdGUuZGFzaGJvYXJkLmVkaXRpb25Nb2RlXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2VsZWN0LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZXN1bHRzOiB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW1xuICAgICAgICAuLi5uZXcgU2V0KFxuICAgICAgICAgICFhY3Rpb24uY3VtdWxhdGl2ZVxuICAgICAgICAgICAgPyBbYWN0aW9uLmlkXVxuICAgICAgICAgICAgOiBzdGF0ZS5yZXN1bHRzLnNlbGVjdGVkSXRlbXMuZmluZCgoaWQpID0+IGlkID09PSBhY3Rpb24uaWQpXG4gICAgICAgICAgICA/IHN0YXRlLnJlc3VsdHMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gYWN0aW9uLmlkKVxuICAgICAgICAgICAgOiBbLi4uc3RhdGUucmVzdWx0cy5zZWxlY3RlZEl0ZW1zLCBhY3Rpb24uaWRdXG4gICAgICAgIClcbiAgICAgIF1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5pbnZlcnRTZWxlY3Rpb24sIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgYWxsSXRlbXMgPSBPYmplY3Qua2V5cyhzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHMpXG4gICAgICAubWFwKChycykgPT5cbiAgICAgICAgT2JqZWN0LmtleXMoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzW3JzXS5pdGVtcylcbiAgICAgICAgICAubWFwKChjbGFzc0lkKSA9PiBzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNbcnNdLml0ZW1zW2NsYXNzSWRdIGFzIEl0ZW1bXSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpO1xuXG4gICAgY29uc3QgaW52ZXJ0ZWRJdGVtc0lkID0gYWxsSXRlbXMuZmlsdGVyKChpdGVtSWQpID0+ICFzdGF0ZS5yZXN1bHRzLnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoaXRlbUlkKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICByZXN1bHRzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IFsuLi5uZXcgU2V0KGludmVydGVkSXRlbXNJZCldXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2VsZWN0TWFueSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVzdWx0czoge1xuICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IFsuLi5uZXcgU2V0KGFjdGlvbi5pZHMpXVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0c0xpc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbGlzdDogYWN0aW9uLm1hbmlmZXN0c1xuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVN0YXRpY01hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIHN0YXRpY01hbmlmZXN0OiBhY3Rpb24uc3RhdGljTWFuaWZlc3RcbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5sb2FkQW5kQWN0aXZhdGVNYW5pZmVzdCwgRGFzaGJvYXJkQWN0aW9ucy5sb2FkTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgd2luZG93czogWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzLm1hcCgod2luTWFuaWZlc3QpID0+ICh7IC4uLndpbk1hbmlmZXN0LCB3aWRnZXRzOiBbXSB9KSldXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuY2xlYXJNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWFuaWZlc3RzOiB7XG4gICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgIHdpbmRvd3M6IFsuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93cy5tYXAoKHByZXZpb3VzKSA9PiAoeyAuLi5wcmV2aW91cywgd2lkZ2V0czogW10gfSkpXSxcbiAgICAgICAgZmlsdGVyczogW11cbiAgICAgIH0sXG4gICAgICBjdXJyZW50SWQ6ICcnXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlT2JqZWN0c0RldGFpbHMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHM6IHtcbiAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICBvYmplY3REZXRhaWxzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMub2JqZWN0RGV0YWlscyxcbiAgICAgICAgLi4uYWN0aW9uLmxpc3RcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5leHBsb3JlLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gT2JqZWN0LmtleXMoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKVxuICAgICAgLm1hcCgoa2V5KSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNba2V5XS5pdGVtcylcbiAgICAgICAgICAubWFwKChrZXlDbGFzcykgPT4gc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzW2tleV0uaXRlbXNba2V5Q2xhc3NdLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGFjdGlvbi5pZCkpXG4gICAgICAgICAgLmZpbmQoKGl0KSA9PiAhIWl0KVxuICAgICAgKVxuICAgICAgLmZpbmQoKGl0KSA9PiAhIWl0KSBhcyBJdGVtO1xuXG4gICAgY29uc3QgYWN0dWFsV2luZG93cyA9IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogYWN0dWFsV2luZG93cy5jb25jYXQoe1xuICAgICAgICAgICAgd2lkZ2V0czogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIHdpZHRoOiAxMiwgaGVpZ2h0OiAxMiB9LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdncmFwaCcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgZGF0YXNvdXJjZTogRVhQTE9SRV9OQU1FRF9RVUVSWV9JRFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcmVzdWx0U2V0czoge1xuICAgICAgICAgIC4uLnN0YXRlLnJlc3VsdHMucmVzdWx0U2V0cyxcbiAgICAgICAgICBbRVhQTE9SRV9OQU1FRF9RVUVSWV9JRF06IHtcbiAgICAgICAgICAgIGl0ZW1zOiB7IFtjdXJyZW50SXRlbS5vQ2xhc3NdOiBbY3VycmVudEl0ZW1dIH0sXG4gICAgICAgICAgICByZWxhdGlvbnM6IFtdIGFzIFJlbGF0aW9uW11cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRSZWZyZXNoUmF0ZSwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICByZWZyZXNoUmF0ZXM6IHsgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LnJlZnJlc2hSYXRlcywgW2FjdGlvbi5pZF06IGFjdGlvbi5yYXRlIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmFkZFJlbGF0aW9uc1RvUmVzdWx0U2V0cywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkUmVzdWx0U2V0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKSk7XG4gICAgYWN0aW9uLnJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgT2JqZWN0LmtleXModXBkYXRlZFJlc3VsdFNldHMpLmZvckVhY2goKHJzSWQpID0+IHtcbiAgICAgICAgY29uc3QgaXNDb25jZXJuZWQgPSBPYmplY3Qua2V5cyh1cGRhdGVkUmVzdWx0U2V0c1tyc0lkXS5pdGVtcykubWFwKChjbGFzc0lkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRSZXN1bHRTZXRzW3JzSWRdLml0ZW1zW2NsYXNzSWRdLm1hcChcbiAgICAgICAgICAgIChpdGVtOiBJdGVtKSA9PiBpdGVtLmlkID09PSByZWxhdGlvbi5zb3VyY2UgfHwgaXRlbS5pZCA9PT0gcmVsYXRpb24uZGVzdGluYXRpb25cbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzQ29uY2VybmVkKSB7XG4gICAgICAgICAgdXBkYXRlZFJlc3VsdFNldHNbcnNJZF0ucmVsYXRpb25zLnB1c2gocmVsYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICByZXN1bHRzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICAgIHJlc3VsdFNldHM6IHVwZGF0ZWRSZXN1bHRTZXRzXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuYWRkSXRlbVRvUmVzdWx0U2V0cywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkUmVzdWx0U2V0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKSk7XG5cbiAgICBpZiAoISFhY3Rpb24ucmVzdWx0U2V0KSB7XG4gICAgICBpZiAoIXVwZGF0ZWRSZXN1bHRTZXRzW2FjdGlvbi5yZXN1bHRTZXRdLml0ZW1zW2FjdGlvbi5pdGVtLm9DbGFzc10pIHtcbiAgICAgICAgdXBkYXRlZFJlc3VsdFNldHNbYWN0aW9uLnJlc3VsdFNldF0uaXRlbXNbYWN0aW9uLml0ZW0ub0NsYXNzXSA9IFthY3Rpb24uaXRlbV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkUmVzdWx0U2V0c1thY3Rpb24ucmVzdWx0U2V0XS5pdGVtc1thY3Rpb24uaXRlbS5vQ2xhc3NdLnB1c2goYWN0aW9uLml0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcmVzdWx0U2V0czogdXBkYXRlZFJlc3VsdFNldHNcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5xdWlja09yZGVyLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcXVpY2tPcmRlcjoge1xuICAgICAgICAgIC4uLnN0YXRlLnJlc3VsdHMucXVpY2tPcmRlcixcbiAgICAgICAgICBbYWN0aW9uLmRhdGFzb3VyY2VJZF06IGFjdGlvbi5hc2MgPyB7IGF0dHJpYnV0ZTogYWN0aW9uLmF0dHJpYnV0ZSwgYXNjOiBhY3Rpb24uYXNjIH0gOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbiwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBwcmVzZW50YXRpb246IHtcbiAgICAgICAgLi4uc3RhdGUucHJlc2VudGF0aW9uLFxuICAgICAgICBjdXJyZW50OiBhY3Rpb24ucHJlc2VudGF0aW9uLFxuICAgICAgICB2aWV3TW9kZTogYWN0aW9uLnZpZXdNb2RlLFxuICAgICAgICBpbml0aWFsOiBhY3Rpb24ucHJlc2VudGF0aW9uID8gc3RhdGUucHJlc2VudGF0aW9uLmluaXRpYWwgOiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRJbml0aWFsUHJlc2VudGF0aW9uLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHByZXNlbnRhdGlvbjoge1xuICAgICAgICAuLi5zdGF0ZS5wcmVzZW50YXRpb24sXG4gICAgICAgIGluaXRpYWw6IGFjdGlvbi5pbml0aWFsXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0R3JpZExheW91dCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzID8/IFtdKSk7XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10pIHtcbiAgICAgIG5ld1dpbmRvd3NbbXlSYW5rXSA9IHsgd2lkZ2V0czogW10gfTtcbiAgICB9XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10uZ3JpZCkge1xuICAgICAgbmV3V2luZG93c1tteVJhbmtdLmdyaWQgPSB7fTtcbiAgICB9XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10ud2lkZ2V0cykge1xuICAgICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHMgPSBbXTtcbiAgICB9XG4gICAgbmV3V2luZG93c1tteVJhbmtdLmdyaWQubGF5b3V0ID0gYWN0aW9uLmxheW91dDtcbiAgICBpZiAoYWN0aW9uLmxheW91dCAhPT0gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwpIHtcbiAgICAgIC8vIFJlb3JkZXIgbGF5b3V0c1xuICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICByb3dzOiBuZXdXaW5kb3dzW215UmFua10uZ3JpZC5yb3dzLFxuICAgICAgICBjb2x1bW5zOiBuZXdXaW5kb3dzW215UmFua10uZ3JpZC5jb2x1bW5zXG4gICAgICB9O1xuICAgICAgY29uc3QgcGxhY2VzID0gV2lkZ2V0UGxhY2VtZW50VXRpbHMucGxhY2VtZW50T3B0aW9ucyh7fSBhcyBXaWRnZXRNYW5pZmVzdCwgYWN0aW9uLmxheW91dCwgcGFyYW1zKTtcblxuICAgICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHMuZm9yRWFjaCgod2lkZ2V0OiBXaWRnZXRNYW5pZmVzdCwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IHRhcmdldExheW91dCA9IHBsYWNlc1tpZHhdPy5sYXlvdXQ7XG4gICAgICAgIGlmICghdGFyZ2V0TGF5b3V0KSB7XG4gICAgICAgICAgdGFyZ2V0TGF5b3V0ID0geyB4OiAxLCB5OiAxLCB3aWR0aDogMSwgaGVpZ2h0OiAxIH07XG4gICAgICAgICAgY29uc29sZS53YXJuKCdJbmNvcnJlY3QgcGxhY2VtZW50IGNhbGN1bGF0aW9uJywgcGxhY2VzLCBpZHgsIHdpZGdldCwgYWN0aW9uLmxheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgd2lkZ2V0LmxheW91dCA9IHsgLi4udGFyZ2V0TGF5b3V0IH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5jcmVhdGVUYWIsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBteUxheW91dCA9IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzW215UmFua10uZ3JpZD8ubGF5b3V0ID8/IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzKSk7XG4gICAgbmV3V2luZG93cy5wdXNoKHsgZ3JpZDogeyBsYXlvdXQ6IG15TGF5b3V0IH0sIHdpZGdldHM6IFtdIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnJlc3RvcmVJbml0aWFsTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucHJlc2VudGF0aW9uLmluaXRpYWwpKVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnByb3BhZ2F0ZUdyaWRMYXlvdXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbmV3V2luZG93cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MpKTtcbiAgICBuZXdXaW5kb3dzW2FjdGlvbi5yYW5rXSA9IGFjdGlvbi5tYW5pZmVzdDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnNldEZpbHRlcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICBmaWx0ZXJzOiBhY3Rpb24uZmlsdGVyc1xuICAgICAgfVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZUZpbHRlcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgaXNQcmVzZW50ID0gc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnM/LmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBhY3Rpb24uZmlsdGVyLmlkKTtcbiAgICBsZXQgZmlsdGVycyA9IFtdO1xuICAgIGlmIChpc1ByZXNlbnQpIHtcbiAgICAgIGZpbHRlcnMgPVxuICAgICAgICBzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycz8ubWFwKChmaWx0ZXIpID0+IChmaWx0ZXIuaWQgPT09IGFjdGlvbi5maWx0ZXIuaWQgPyBhY3Rpb24uZmlsdGVyIDogZmlsdGVyKSkgPz9cbiAgICAgICAgW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycykge1xuICAgICAgICBmaWx0ZXJzID0gWy4uLihzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyBhcyBGaWx0ZXJbXSksIGFjdGlvbi5maWx0ZXJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVycyA9IFthY3Rpb24uZmlsdGVyXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVyc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMucmVtb3ZlRmlsdGVyLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgZmlsdGVyczogc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnM/LmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgIT09IGFjdGlvbi5pZClcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVGaWx0ZXJWYWx1ZSwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyA/PyBbXSkpIGFzIEZpbHRlcltdO1xuXG4gICAgY29uc3QgZmlsdGVyVG9VcGRhdGUgPSBmaWx0ZXJzLmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBhY3Rpb24uaWQpO1xuICAgIGlmIChmaWx0ZXJUb1VwZGF0ZSkge1xuICAgICAgaWYgKCFhY3Rpb24udmFsdWUpIHtcbiAgICAgICAgZGVsZXRlIGZpbHRlclRvVXBkYXRlLnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVyVG9VcGRhdGUudmFsdWUgPSBhY3Rpb24udmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgZmlsdGVyc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuZ2V0V21zRmVhdHVyZXMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHdtc0ZlYXR1cmVzOiBbXVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuYWRkV21zRmVhdHVyZXMsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgYWxsRmVhdHVyZXMgPSBbLi4uc3RhdGUud21zRmVhdHVyZXMsIC4uLmFjdGlvbi5mZWF0dXJlc107XG4gICAgY29uc3QgZGVEdXBlZElkcyA9IFsuLi5uZXcgU2V0KGFsbEZlYXR1cmVzLm1hcCgoZmVhdCkgPT4gZmVhdC5pZCkpXTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB3bXNGZWF0dXJlczogZGVEdXBlZElkcy5tYXAoKGlkKSA9PiBhbGxGZWF0dXJlcy5maW5kKChmZWF0KSA9PiBmZWF0LmlkID09PSBpZCkpXG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuZmV0Y2hTdGF0aWNNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBsb2FkaW5nOiB0cnVlXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuZW5kTG9hZGluZywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZURpc3BsYXlPcHRpb25zLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGRpc3BsYXk6IGFjdGlvbi5jdXN0b21EaXNwbGF5ID8gYWN0aW9uLmN1c3RvbURpc3BsYXkgOiBnZXREaXNwbGF5T3B0aW9ucyhhY3Rpb24ubW9kZSlcbiAgICB9O1xuICB9KVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhc2hib2FyZFJlZHVjZXIoc3RhdGU6IERhc2hib2FyZFN0YXRlLCBhY3Rpb246IEFjdGlvbikge1xuICByZXR1cm4gaW50ZXJuYWxSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pO1xufVxuIl19
|
|
614
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFrQixpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRy9GLE9BQU8sRUFDTCxtQkFBbUIsRUFJcEIsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDckcsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQWtDcEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW1CO0lBQ25ELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztTQUMzQjtRQUNELGNBQWMsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxFQUFFLEVBQUU7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QUMsU0FBUztZQUNsQixPQUFPLEVBQUUsS0FBSztTQUNmO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUMxRCxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDdEYsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBcUIsRUFBRSxNQUFjO0lBQ3BFLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IERpc3BsYXlPcHRpb25zLCBnZXREaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIE1hbmlmZXN0RGVzY3JpcHRpb24sXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlbGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZWxhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0T3JkZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4uLy4uL2NvcmUvc3RvcmUvc2VhcmNoL3NlYXJjaC5jb25zdGFudHMnO1xuaW1wb3J0IHsgc29sdmVDb2xsaXNpb25zIH0gZnJvbSAnLi4vY29tcG9uZW50cy9zb2x2ZS1jb2xsaXNpb25zLmZ1bmN0aW9uJztcbmltcG9ydCB7IFdpZGdldFBsYWNlbWVudFV0aWxzIH0gZnJvbSAnLi4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRBY3Rpb25zLCBEYXNoYm9hcmRDZWxsUGFyYW1zLCBWaWV3TW9kZSB9IGZyb20gJy4vZGFzaGJvYXJkLmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9DT0xVTU5TX05VTUJFUixcbiAgREVGQVVMVF9HQVBfUFgsXG4gIERFRkFVTFRfUk9XX0hFSUdIVF9QWCxcbiAgREVGQVVMVF9ST1dTX05VTUJFUlxufSBmcm9tICcuL2Rhc2hib2FyZC5jb250YW50cyc7XG5cbmV4cG9ydCBjb25zdCBkYXNoYm9hcmRGZWF0dXJlS2V5ID0gJ0BwcnkvZGFzaGJvYXJkJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRTdGF0ZSB7XG4gIG1hbmlmZXN0czoge1xuICAgIHNlbmRlcjogc3RyaW5nO1xuICAgIHRlbmFudHM6IHN0cmluZ1tdO1xuICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICBsaXN0OiBNYW5pZmVzdERlc2NyaXB0aW9uW107XG4gICAgY3VycmVudElkOiBzdHJpbmc7XG4gICAgc3RhdGljTWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gIH07XG4gIHByZXNlbnRhdGlvbjoge1xuICAgIGN1cnJlbnQ6IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgdmlld01vZGU/OiBWaWV3TW9kZTtcbiAgICBpbml0aWFsOiBHbG9iYWxNYW5pZmVzdCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcmVzdWx0czoge1xuICAgIHJlc3VsdFNldHM6IFJlc3VsdFNldHM7XG4gICAgcmVzdWx0U2V0c1BhcmFtczogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9O1xuICAgIGF2YWlsYWJsZURhdGFzb3VyY2VOYW1lczogc3RyaW5nW107XG4gICAgZGVmYXVsdERhdGFzb3VyY2U6IHN0cmluZ1tdO1xuICAgIHNlbGVjdGVkSXRlbXM6IHN0cmluZ1tdO1xuICAgIG9iamVjdERldGFpbHM6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH07XG4gICAgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH07XG4gIH07XG4gIGRhc2hib2FyZDoge1xuICAgIHBhcmFtczogRGFzaGJvYXJkQ2VsbFBhcmFtcztcbiAgICBlZGl0aW9uTW9kZTogYm9vbGVhbjtcbiAgfTtcbiAgd21zRmVhdHVyZXM6IGFueVtdO1xuICBkaXNwbGF5PzogRGlzcGxheU9wdGlvbnM7XG59XG5cbmV4cG9ydCBjb25zdCBkYXNoYm9hcmRJbml0aWFsU3RhdGU6IERhc2hib2FyZFN0YXRlID0ge1xuICBtYW5pZmVzdHM6IHtcbiAgICBzZW5kZXI6ICcnLFxuICAgIHRlbmFudHM6IFtdLFxuICAgIG1hbmlmZXN0OiB7XG4gICAgICB3aW5kb3dzOiBbeyB3aWRnZXRzOiBbXSB9XVxuICAgIH0sXG4gICAgc3RhdGljTWFuaWZlc3Q6IHtcbiAgICAgIHdpbmRvd3M6IFt7IHdpZGdldHM6IFtdIH1dXG4gICAgfSxcbiAgICBsaXN0OiBbXSxcbiAgICBjdXJyZW50SWQ6ICcnLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0sXG4gIHByZXNlbnRhdGlvbjoge1xuICAgIGN1cnJlbnQ6IHVuZGVmaW5lZCxcbiAgICBpbml0aWFsOiB1bmRlZmluZWRcbiAgfSxcbiAgcmVzdWx0czoge1xuICAgIGF2YWlsYWJsZURhdGFzb3VyY2VOYW1lczogW10sXG4gICAgcmVzdWx0U2V0czoge1xuICAgICAgW0RFRkFVTFRfTkFNRURfUVVFUllfSURdOiB7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9LFxuICAgICAgW0VYUExPUkVfTkFNRURfUVVFUllfSURdOiB7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9XG4gICAgfSxcbiAgICByZXN1bHRTZXRzUGFyYW1zOiB7XG4gICAgICBbREVGQVVMVF9OQU1FRF9RVUVSWV9JRF06IHVuZGVmaW5lZCxcbiAgICAgIFtFWFBMT1JFX05BTUVEX1FVRVJZX0lEXTogdW5kZWZpbmVkXG4gICAgfSxcbiAgICBkZWZhdWx0RGF0YXNvdXJjZTogWydjdXJyZW50J10sXG4gICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgb2JqZWN0RGV0YWlsczoge30sXG4gICAgcXVpY2tPcmRlcjoge31cbiAgfSxcbiAgZGFzaGJvYXJkOiB7XG4gICAgcGFyYW1zOiB7XG4gICAgICBncmlkV2lkdGg6IDEsXG4gICAgICBncmlkSGVpZ2h0OiAxLFxuICAgICAgZ3JpZEdhcDogREVGQVVMVF9HQVBfUFgsXG4gICAgICBjb2x1bW5zOiBERUZBVUxUX0NPTFVNTlNfTlVNQkVSLFxuICAgICAgY2VsbEhlaWdodDogREVGQVVMVF9ST1dfSEVJR0hUX1BYLFxuICAgICAgcm93czogREVGQVVMVF9ST1dTX05VTUJFUixcbiAgICAgIGNlbGxXaWR0aDogMSxcbiAgICAgIG9mZnNldExlZnQ6IDAsXG4gICAgICBvZmZzZXRUb3A6IDAsXG4gICAgICBtb2JpbGVNb2RlOiBmYWxzZVxuICAgIH0sXG4gICAgZWRpdGlvbk1vZGU6IGZhbHNlXG4gIH0sXG4gIHdtc0ZlYXR1cmVzOiBbXVxufTtcblxuY29uc3QgaW50ZXJuYWxSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcjxEYXNoYm9hcmRTdGF0ZT4oXG4gIGRhc2hib2FyZEluaXRpYWxTdGF0ZSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5qb2luLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIHRlbmFudHM6IFsuLi5zdGF0ZS5tYW5pZmVzdHMudGVuYW50cywgYWN0aW9uLnNlbmRlcl1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5kZWNsYXJlU2VuZGVySWQsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgc2VuZGVyOiBhY3Rpb24uc2VuZGVyLFxuICAgICAgdGVuYW50czogc3RhdGUubWFuaWZlc3RzLnRlbmFudHMubGVuZ3RoID09PSAwID8gYWN0aW9uLnRlbmFudHMgOiBzdGF0ZS5tYW5pZmVzdHMudGVuYW50c1xuICAgIH1cbiAgfSkpLFxuICBvbihcbiAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0LFxuICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudEpvaW4sXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50TGVhdmUsXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2gsXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyUmVzaXplLFxuICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbixcbiAgICAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKCEhYWN0aW9uLnNlbmRlciAmJiAhc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuZmluZCgodGVuYW50KSA9PiB0ZW5hbnQgPT09IGFjdGlvbi5zZW5kZXIpICYmICFhY3Rpb24uam9pbmluZykge1xuICAgICAgICAvLyBpZ25vcmUgbWFuaWZlc3QgdXBkYXRlcyBmcm9tIHRlbmFudHMgdGhhdCBoYXZlIG5vdCBqb2luZWRcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgICB0ZW5hbnRzOiBhY3Rpb24udGVuYW50cyA/PyBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cyxcbiAgICAgICAgICBtYW5pZmVzdDogYWN0aW9uLm1hbmlmZXN0LFxuICAgICAgICAgIGN1cnJlbnRJZDogYWN0aW9uLm1hbmlmZXN0SWQgPz8gc3RhdGUubWFuaWZlc3RzLmN1cnJlbnRJZFxuICAgICAgICB9LFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHByZXNlbnRhdGlvbjogYWN0aW9uLnByZXNlbnRhdGlvbiA/PyBzdGF0ZS5wcmVzZW50YXRpb24sXG4gICAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IGFjdGlvbi5zZWxlY3RlZElkcyxcbiAgICAgICAgICByZXN1bHRTZXRzOiAhIWFjdGlvbi5yZXN1bHRTZXRzXG4gICAgICAgICAgICA/IHsgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzLCAuLi5hY3Rpb24ucmVzdWx0U2V0cyB9XG4gICAgICAgICAgICA6IHN0YXRlLnJlc3VsdHMucmVzdWx0U2V0c1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVSb3V0ZU1hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IHNlbmRlclJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKGFjdGlvbi5zZW5kZXIgPz8gc3RhdGUubWFuaWZlc3RzLnNlbmRlcik7XG4gICAgY29uc3QgbmV3V2luZG93cyA9IFsuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93c107XG4gICAgbmV3V2luZG93c1tzZW5kZXJSYW5rXSA9IHsgLi4ubmV3V2luZG93c1tzZW5kZXJSYW5rXSwgcm91dGU6IGFjdGlvbi5yb3V0ZSB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRGFzaGJvYXJkTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzXTtcbiAgICBuZXdXaW5kb3dzW215UmFua10gPSBhY3Rpb24ubWFuaWZlc3Q7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVXaWRnZXRNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzKSk7XG4gICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHNbYWN0aW9uLmluZGV4XSA9IGFjdGlvbi5tYW5pZmVzdDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVJlc3VsdFNldCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVzdWx0czoge1xuICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgIHJlc3VsdFNldHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzLFxuICAgICAgICBbYWN0aW9uLmlkXTogYWN0aW9uLnJlc3VsdFNldFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFNldHNQYXJhbXM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzUGFyYW1zLFxuICAgICAgICBbYWN0aW9uLmlkXTogYWN0aW9uLnBhcmFtc1xuICAgICAgfVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLm1vdmVXaWRnZXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzXTtcblxuICAgIC8vIENyZWF0aW5nIG5ldyBjdXJyZW50IHdpbmRvdyBtYW5pZmVzdCwgd2l0aG91dCBtb3ZlZCB3aWRnZXRcbiAgICBjb25zdCBteU5ld1dpbmRvdyA9IHtcbiAgICAgIC4uLm5ld1dpbmRvd3NbbXlSYW5rXSxcbiAgICAgIHdpZGdldHM6IFsuLi5uZXdXaW5kb3dzW215UmFua10ud2lkZ2V0c11cbiAgICB9O1xuICAgIGNvbnN0IHdpZGdldCA9IG15TmV3V2luZG93LndpZGdldHMuc3BsaWNlKGFjdGlvbi53aWRnZXRJbmRleCwgMSlbMF07XG4gICAgbmV3V2luZG93c1tteVJhbmtdID0gbXlOZXdXaW5kb3c7XG5cbiAgICAvLyBDcmVhdGluZyBlaXRoZXIgYSBuZXcgd2luZG93IG1hbmlmZXN0IG9yIHVwZGF0ZSB0aGUgdGFyZ2V0IG9uZVxuICAgIGNvbnN0IHRhcmdldFJhbmsgPSBhY3Rpb24udGFyZ2V0SW5kZXg7XG4gICAgaWYgKHRhcmdldFJhbmsgIT09IC0xKSB7XG4gICAgICBpZiAoIW5ld1dpbmRvd3NbdGFyZ2V0UmFua10pIHtcbiAgICAgICAgbmV3V2luZG93c1t0YXJnZXRSYW5rXSA9IHtcbiAgICAgICAgICAuLi5uZXdXaW5kb3dzW215UmFua10sXG4gICAgICAgICAgd2lkZ2V0czogW3dpZGdldF1cbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1dpbmRvd3NbdGFyZ2V0UmFua10gPSB7XG4gICAgICAgICAgLi4ubmV3V2luZG93c1t0YXJnZXRSYW5rXSxcbiAgICAgICAgICB3aWRnZXRzOiBbLi4uKG5ld1dpbmRvd3NbdGFyZ2V0UmFua10ud2lkZ2V0cyA/PyBbXSksIHdpZGdldF1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY3JlYXRlIG5ldyB3aW5kb3cgdG8gd2VsY29tZSB0aGlzIHdpZGdldFxuICAgICAgbmV3V2luZG93cy5wdXNoKHtcbiAgICAgICAgLi4ubmV3V2luZG93c1tteVJhbmtdLFxuICAgICAgICB3aWRnZXRzOiBbd2lkZ2V0XVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMubWF4aW1pemVXaWRnZXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93cykpO1xuICAgIG5ld1dpbmRvd3NbbXlSYW5rXS53aWRnZXRzW2FjdGlvbi53aWRnZXRJbmRleF0ubGF5b3V0ID0ge1xuICAgICAgeDogMSxcbiAgICAgIHk6IDEsXG4gICAgICB3aWR0aDogc3RhdGUuZGFzaGJvYXJkLnBhcmFtcy5jb2x1bW5zLFxuICAgICAgaGVpZ2h0OiBzdGF0ZS5kYXNoYm9hcmQucGFyYW1zLnJvd3NcbiAgICB9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZXN1bHRzOiB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgYXZhaWxhYmxlRGF0YXNvdXJjZU5hbWVzOiBhY3Rpb24ubmFtZXMsXG4gICAgICBkZWZhdWx0RGF0YXNvdXJjZTogc3RhdGUucmVzdWx0cy5kZWZhdWx0RGF0YXNvdXJjZS5maWx0ZXIoKHJzTmFtZSkgPT4gYWN0aW9uLm5hbWVzLmluY2x1ZGVzKHJzTmFtZSkpXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0RGVmYXVsdERhdGFzb3VyY2UsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHM6IHtcbiAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICBkZWZhdWx0RGF0YXNvdXJjZTogYWN0aW9uLm5hbWVzXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc29sdmVDb2xsaXNpb25zLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgd2luZG93czogc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MubWFwKCh3aW5kb3cpID0+IHtcbiAgICAgICAgICBjb25zdCBbZmlyc3QsIC4uLm90aGVyc10gPSB3aW5kb3cud2lkZ2V0cztcbiAgICAgICAgICByZXR1cm4gc29sdmVDb2xsaXNpb25zKGZpcnN0LCBvdGhlcnMsIHdpbmRvdyk7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRGFzaGJvYXJkUGFyYW1zLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBkYXNoYm9hcmQ6IHtcbiAgICAgIC4uLnN0YXRlLmRhc2hib2FyZCxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICAuLi5zdGF0ZS5kYXNoYm9hcmQucGFyYW1zLFxuICAgICAgICAuLi5hY3Rpb24ucGFyYW1zXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudG9nZ2xlRWRpdGlvbk1vZGUsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGRhc2hib2FyZDoge1xuICAgICAgLi4uc3RhdGUuZGFzaGJvYXJkLFxuICAgICAgZWRpdGlvbk1vZGU6IGFjdGlvbi5mb3JjZSA/PyAhc3RhdGUuZGFzaGJvYXJkLmVkaXRpb25Nb2RlXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2VsZWN0LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZXN1bHRzOiB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW1xuICAgICAgICAuLi5uZXcgU2V0KFxuICAgICAgICAgICFhY3Rpb24uY3VtdWxhdGl2ZVxuICAgICAgICAgICAgPyBbYWN0aW9uLmlkXVxuICAgICAgICAgICAgOiBzdGF0ZS5yZXN1bHRzLnNlbGVjdGVkSXRlbXMuZmluZCgoaWQpID0+IGlkID09PSBhY3Rpb24uaWQpXG4gICAgICAgICAgICA/IHN0YXRlLnJlc3VsdHMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoKGlkKSA9PiBpZCAhPT0gYWN0aW9uLmlkKVxuICAgICAgICAgICAgOiBbLi4uc3RhdGUucmVzdWx0cy5zZWxlY3RlZEl0ZW1zLCBhY3Rpb24uaWRdXG4gICAgICAgIClcbiAgICAgIF1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5pbnZlcnRTZWxlY3Rpb24sIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgYWxsSXRlbXMgPSBPYmplY3Qua2V5cyhzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHMpXG4gICAgICAubWFwKChycykgPT5cbiAgICAgICAgT2JqZWN0LmtleXMoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzW3JzXS5pdGVtcylcbiAgICAgICAgICAubWFwKChjbGFzc0lkKSA9PiBzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNbcnNdLml0ZW1zW2NsYXNzSWRdIGFzIEl0ZW1bXSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpO1xuXG4gICAgY29uc3QgaW52ZXJ0ZWRJdGVtc0lkID0gYWxsSXRlbXMuZmlsdGVyKChpdGVtSWQpID0+ICFzdGF0ZS5yZXN1bHRzLnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoaXRlbUlkKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICByZXN1bHRzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IFsuLi5uZXcgU2V0KGludmVydGVkSXRlbXNJZCldXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2VsZWN0TWFueSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVzdWx0czoge1xuICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IFsuLi5uZXcgU2V0KGFjdGlvbi5pZHMpXVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0c0xpc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbGlzdDogYWN0aW9uLm1hbmlmZXN0c1xuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVN0YXRpY01hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIHN0YXRpY01hbmlmZXN0OiBhY3Rpb24uc3RhdGljTWFuaWZlc3RcbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5sb2FkQW5kQWN0aXZhdGVNYW5pZmVzdCwgRGFzaGJvYXJkQWN0aW9ucy5sb2FkTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgd2luZG93czogWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzLm1hcCgod2luTWFuaWZlc3QpID0+ICh7IC4uLndpbk1hbmlmZXN0LCB3aWRnZXRzOiBbXSB9KSldXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuY2xlYXJNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWFuaWZlc3RzOiB7XG4gICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgIHdpbmRvd3M6IFsuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93cy5tYXAoKHByZXZpb3VzKSA9PiAoeyAuLi5wcmV2aW91cywgd2lkZ2V0czogW10gfSkpXSxcbiAgICAgICAgZmlsdGVyczogW11cbiAgICAgIH0sXG4gICAgICBjdXJyZW50SWQ6ICcnXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlT2JqZWN0c0RldGFpbHMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHM6IHtcbiAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICBvYmplY3REZXRhaWxzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMub2JqZWN0RGV0YWlscyxcbiAgICAgICAgLi4uYWN0aW9uLmxpc3RcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5leHBsb3JlLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gT2JqZWN0LmtleXMoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKVxuICAgICAgLm1hcCgoa2V5KSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNba2V5XS5pdGVtcylcbiAgICAgICAgICAubWFwKChrZXlDbGFzcykgPT4gc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzW2tleV0uaXRlbXNba2V5Q2xhc3NdLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGFjdGlvbi5pZCkpXG4gICAgICAgICAgLmZpbmQoKGl0KSA9PiAhIWl0KVxuICAgICAgKVxuICAgICAgLmZpbmQoKGl0KSA9PiAhIWl0KSBhcyBJdGVtO1xuXG4gICAgY29uc3QgYWN0dWFsV2luZG93cyA9IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogYWN0dWFsV2luZG93cy5jb25jYXQoe1xuICAgICAgICAgICAgd2lkZ2V0czogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIHdpZHRoOiAxMiwgaGVpZ2h0OiAxMiB9LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdncmFwaCcsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgICAgICAgICAgZGF0YXNvdXJjZTogRVhQTE9SRV9OQU1FRF9RVUVSWV9JRFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcmVzdWx0U2V0czoge1xuICAgICAgICAgIC4uLnN0YXRlLnJlc3VsdHMucmVzdWx0U2V0cyxcbiAgICAgICAgICBbRVhQTE9SRV9OQU1FRF9RVUVSWV9JRF06IHtcbiAgICAgICAgICAgIGl0ZW1zOiB7IFtjdXJyZW50SXRlbS5vQ2xhc3NdOiBbY3VycmVudEl0ZW1dIH0sXG4gICAgICAgICAgICByZWxhdGlvbnM6IFtdIGFzIFJlbGF0aW9uW11cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRSZWZyZXNoUmF0ZSwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICByZWZyZXNoUmF0ZXM6IHsgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LnJlZnJlc2hSYXRlcywgW2FjdGlvbi5pZF06IGFjdGlvbi5yYXRlIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmFkZFJlbGF0aW9uc1RvUmVzdWx0U2V0cywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkUmVzdWx0U2V0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKSk7XG4gICAgYWN0aW9uLnJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgT2JqZWN0LmtleXModXBkYXRlZFJlc3VsdFNldHMpLmZvckVhY2goKHJzSWQpID0+IHtcbiAgICAgICAgY29uc3QgaXNDb25jZXJuZWQgPSBPYmplY3Qua2V5cyh1cGRhdGVkUmVzdWx0U2V0c1tyc0lkXS5pdGVtcykubWFwKChjbGFzc0lkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRSZXN1bHRTZXRzW3JzSWRdLml0ZW1zW2NsYXNzSWRdLm1hcChcbiAgICAgICAgICAgIChpdGVtOiBJdGVtKSA9PiBpdGVtLmlkID09PSByZWxhdGlvbi5zb3VyY2UgfHwgaXRlbS5pZCA9PT0gcmVsYXRpb24uZGVzdGluYXRpb25cbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzQ29uY2VybmVkKSB7XG4gICAgICAgICAgdXBkYXRlZFJlc3VsdFNldHNbcnNJZF0ucmVsYXRpb25zLnB1c2gocmVsYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICByZXN1bHRzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICAgIHJlc3VsdFNldHM6IHVwZGF0ZWRSZXN1bHRTZXRzXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuYWRkSXRlbVRvUmVzdWx0U2V0cywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkUmVzdWx0U2V0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKSk7XG5cbiAgICBpZiAoISFhY3Rpb24ucmVzdWx0U2V0KSB7XG4gICAgICBpZiAoIXVwZGF0ZWRSZXN1bHRTZXRzW2FjdGlvbi5yZXN1bHRTZXRdLml0ZW1zW2FjdGlvbi5pdGVtLm9DbGFzc10pIHtcbiAgICAgICAgdXBkYXRlZFJlc3VsdFNldHNbYWN0aW9uLnJlc3VsdFNldF0uaXRlbXNbYWN0aW9uLml0ZW0ub0NsYXNzXSA9IFthY3Rpb24uaXRlbV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkUmVzdWx0U2V0c1thY3Rpb24ucmVzdWx0U2V0XS5pdGVtc1thY3Rpb24uaXRlbS5vQ2xhc3NdLnB1c2goYWN0aW9uLml0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcmVzdWx0U2V0czogdXBkYXRlZFJlc3VsdFNldHNcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5xdWlja09yZGVyLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcXVpY2tPcmRlcjoge1xuICAgICAgICAgIC4uLnN0YXRlLnJlc3VsdHMucXVpY2tPcmRlcixcbiAgICAgICAgICBbYWN0aW9uLmRhdGFzb3VyY2VJZF06IGFjdGlvbi5hc2MgPyB7IGF0dHJpYnV0ZTogYWN0aW9uLmF0dHJpYnV0ZSwgYXNjOiBhY3Rpb24uYXNjIH0gOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbiwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBwcmVzZW50YXRpb246IHtcbiAgICAgICAgLi4uc3RhdGUucHJlc2VudGF0aW9uLFxuICAgICAgICBjdXJyZW50OiBhY3Rpb24ucHJlc2VudGF0aW9uLFxuICAgICAgICB2aWV3TW9kZTogYWN0aW9uLnZpZXdNb2RlLFxuICAgICAgICBpbml0aWFsOiBhY3Rpb24ucHJlc2VudGF0aW9uID8gc3RhdGUucHJlc2VudGF0aW9uLmluaXRpYWwgOiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRJbml0aWFsUHJlc2VudGF0aW9uLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHByZXNlbnRhdGlvbjoge1xuICAgICAgICAuLi5zdGF0ZS5wcmVzZW50YXRpb24sXG4gICAgICAgIGluaXRpYWw6IGFjdGlvbi5pbml0aWFsXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0R3JpZExheW91dCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzID8/IFtdKSk7XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10pIHtcbiAgICAgIG5ld1dpbmRvd3NbbXlSYW5rXSA9IHsgd2lkZ2V0czogW10gfTtcbiAgICB9XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10uZ3JpZCkge1xuICAgICAgbmV3V2luZG93c1tteVJhbmtdLmdyaWQgPSB7fTtcbiAgICB9XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10ud2lkZ2V0cykge1xuICAgICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHMgPSBbXTtcbiAgICB9XG4gICAgbmV3V2luZG93c1tteVJhbmtdLmdyaWQubGF5b3V0ID0gYWN0aW9uLmxheW91dDtcbiAgICBpZiAoYWN0aW9uLmxheW91dCAhPT0gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwpIHtcbiAgICAgIC8vIFJlb3JkZXIgbGF5b3V0c1xuICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICByb3dzOiBuZXdXaW5kb3dzW215UmFua10uZ3JpZC5yb3dzLFxuICAgICAgICBjb2x1bW5zOiBuZXdXaW5kb3dzW215UmFua10uZ3JpZC5jb2x1bW5zXG4gICAgICB9O1xuICAgICAgY29uc3QgcGxhY2VzID0gV2lkZ2V0UGxhY2VtZW50VXRpbHMucGxhY2VtZW50T3B0aW9ucyh7fSBhcyBXaWRnZXRNYW5pZmVzdCwgYWN0aW9uLmxheW91dCwgcGFyYW1zKTtcblxuICAgICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHMuZm9yRWFjaCgod2lkZ2V0OiBXaWRnZXRNYW5pZmVzdCwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IHRhcmdldExheW91dCA9IHBsYWNlc1tpZHhdPy5sYXlvdXQ7XG4gICAgICAgIGlmICghdGFyZ2V0TGF5b3V0KSB7XG4gICAgICAgICAgdGFyZ2V0TGF5b3V0ID0geyB4OiAxLCB5OiAxLCB3aWR0aDogMSwgaGVpZ2h0OiAxIH07XG4gICAgICAgICAgY29uc29sZS53YXJuKCdJbmNvcnJlY3QgcGxhY2VtZW50IGNhbGN1bGF0aW9uJywgcGxhY2VzLCBpZHgsIHdpZGdldCwgYWN0aW9uLmxheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgd2lkZ2V0LmxheW91dCA9IHsgLi4udGFyZ2V0TGF5b3V0IH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5jcmVhdGVUYWIsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBteUxheW91dCA9IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzW215UmFua10uZ3JpZD8ubGF5b3V0ID8/IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzKSk7XG4gICAgbmV3V2luZG93cy5wdXNoKHsgZ3JpZDogeyBsYXlvdXQ6IG15TGF5b3V0IH0sIHdpZGdldHM6IFtdIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnJlc3RvcmVJbml0aWFsTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucHJlc2VudGF0aW9uLmluaXRpYWwpKVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnByb3BhZ2F0ZUdyaWRMYXlvdXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbmV3V2luZG93cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MpKTtcbiAgICBuZXdXaW5kb3dzW2FjdGlvbi5yYW5rXSA9IGFjdGlvbi5tYW5pZmVzdDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnNldEZpbHRlcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICBmaWx0ZXJzOiBhY3Rpb24uZmlsdGVyc1xuICAgICAgfVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZUZpbHRlcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgaXNQcmVzZW50ID0gc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnM/LmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBhY3Rpb24uZmlsdGVyLmlkKTtcbiAgICBsZXQgZmlsdGVycyA9IFtdO1xuICAgIGlmIChpc1ByZXNlbnQpIHtcbiAgICAgIGZpbHRlcnMgPVxuICAgICAgICBzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycz8ubWFwKChmaWx0ZXIpID0+IChmaWx0ZXIuaWQgPT09IGFjdGlvbi5maWx0ZXIuaWQgPyBhY3Rpb24uZmlsdGVyIDogZmlsdGVyKSkgPz9cbiAgICAgICAgW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycykge1xuICAgICAgICBmaWx0ZXJzID0gWy4uLihzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyBhcyBGaWx0ZXJbXSksIGFjdGlvbi5maWx0ZXJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVycyA9IFthY3Rpb24uZmlsdGVyXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVyc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMucmVtb3ZlRmlsdGVyLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgZmlsdGVyczogc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnM/LmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgIT09IGFjdGlvbi5pZClcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVGaWx0ZXJWYWx1ZSwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyA/PyBbXSkpIGFzIEZpbHRlcltdO1xuXG4gICAgY29uc3QgZmlsdGVyVG9VcGRhdGUgPSBmaWx0ZXJzLmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBhY3Rpb24uaWQpO1xuICAgIGlmIChmaWx0ZXJUb1VwZGF0ZSkge1xuICAgICAgaWYgKCFhY3Rpb24udmFsdWUpIHtcbiAgICAgICAgZGVsZXRlIGZpbHRlclRvVXBkYXRlLnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVyVG9VcGRhdGUudmFsdWUgPSBhY3Rpb24udmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgZmlsdGVyc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuZ2V0V21zRmVhdHVyZXMsIERhc2hib2FyZEFjdGlvbnMucmVzZXRXbXNGZWF0dXJlcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgd21zRmVhdHVyZXM6IFtdXG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5hZGRXbXNGZWF0dXJlcywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBhbGxGZWF0dXJlcyA9IFsuLi5zdGF0ZS53bXNGZWF0dXJlcywgLi4uYWN0aW9uLmZlYXR1cmVzXTtcbiAgICBjb25zdCBkZUR1cGVkSWRzID0gWy4uLm5ldyBTZXQoYWxsRmVhdHVyZXMubWFwKChmZWF0KSA9PiBmZWF0LmlkKSldO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHdtc0ZlYXR1cmVzOiBkZUR1cGVkSWRzLm1hcCgoaWQpID0+IGFsbEZlYXR1cmVzLmZpbmQoKGZlYXQpID0+IGZlYXQuaWQgPT09IGlkKSlcbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5mZXRjaFN0YXRpY01hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIGxvYWRpbmc6IHRydWVcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5lbmRMb2FkaW5nLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlRGlzcGxheU9wdGlvbnMsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgZGlzcGxheTogYWN0aW9uLmN1c3RvbURpc3BsYXkgPyBhY3Rpb24uY3VzdG9tRGlzcGxheSA6IGdldERpc3BsYXlPcHRpb25zKGFjdGlvbi5tb2RlKVxuICAgIH07XG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZGFzaGJvYXJkUmVkdWNlcihzdGF0ZTogRGFzaGJvYXJkU3RhdGUsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiBpbnRlcm5hbFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG59XG4iXX0=
|