ca-components 0.0.37 → 0.0.39

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.
@@ -14,7 +14,7 @@ import { FilterConditionsSetPipe } from './pipes/filter-conditions-set.pipe';
14
14
  import { FilterConditionsClearPipe } from './pipes/filter-conditions-clear.pipe';
15
15
  import { FilterPopoverConditionsPipe } from './pipes/filter-popover-conditions.pipe';
16
16
  import { FilterConditionsUserBoxPipe } from './pipes/filter-conditions-user-box.pipe';
17
- import { CaSvgPipe } from '@shared/pipes/ca-svg.pipe';
17
+ import { CaSvgPipe } from '../../pipes/ca-svg.pipe';
18
18
  // enums
19
19
  import { ToolbarFilterStringEnum } from '../ca-map/enums/toolbar-filter-string.enum';
20
20
  import { FilterActionsStringEnum } from './enums/filter-actions-string.enum';
@@ -411,4 +411,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
411
411
  }], clearAll: [{
412
412
  type: Output
413
413
  }] } });
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY2EtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY2EtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVULGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLGFBQWE7QUFDYixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXRELFFBQVE7QUFDUixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU83RSxhQUFhO0FBQ2IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDOUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7O0FBa0MzRixNQUFNLE9BQU8saUJBQWlCO0lBb0U1QixZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEM5QixZQUFPLEdBQVcsdUJBQXVCLENBQUMsY0FBYyxDQUFDO1FBT3pELG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUNsQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFbEMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBSTFCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFFbkMsQ0FBQztRQUVNLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFFbEMsQ0FBQztRQUVJLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWhDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyx5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFFckMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUVPLENBQUM7SUFFcEMsb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDckQsSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ2pELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQyxJQUFJLENBQUMsWUFBWSxFQUFFLGdCQUFnQixLQUFLLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZ0IsR0FBRyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZ0IsR0FBRyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYTtZQUNwRSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7WUFDcEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0I7WUFDcEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFFNUIsSUFBSSxpQkFBaUIsQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsV0FBVztZQUNuRCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNqRCxxQkFBcUIsRUFDckIsSUFBSSxDQUNMLENBQUM7O1lBRUYsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDakQsZ0JBQWdCLEVBQ2hCLElBQUksQ0FDTCxDQUFDO1FBRUosUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssdUJBQXVCLENBQUMsWUFBWTtnQkFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYTtvQkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUN4QyxJQUFJLElBQUksQ0FBQyxjQUFjO29CQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzdELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFlBQVk7b0JBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDekQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsV0FBVztnQkFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWTtvQkFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxZQUFZO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhO29CQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGlCQUFpQjtnQkFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCO29CQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDbkUsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsbUJBQW1CO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxtQkFBbUI7b0JBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN2RSxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxTQUFTO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxVQUFVO29CQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVU7b0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckQsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUN4QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDO2lCQUN0RTtnQkFDRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO2lCQUNwRTtnQkFDRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxpQkFBaUI7Z0JBQzVDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25DLElBQUksQ0FBQyxvQkFBb0I7d0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDL0M7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsbUJBQW1CO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsb0JBQW9CO3dCQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUM7aUJBQ2pEO2dCQUNELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFNBQVM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xFO2dCQUNELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xFO2dCQUNELE1BQU07WUFFUjtnQkFDRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEdBQVk7UUFDNUIsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFZO1FBQ2hDLElBQUksWUFBK0QsQ0FBQztRQUVwRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyx1QkFBdUIsQ0FBQyxZQUFZO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhO29CQUNwQixZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3hDLElBQUksSUFBSSxDQUFDLGNBQWM7b0JBQ3JCLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZO29CQUNuQixZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFlBQVk7b0JBQ25CLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsWUFBWTtnQkFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYTtvQkFDcEIsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3JELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGlCQUFpQjtnQkFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCO29CQUN4QixZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN6RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxtQkFBbUI7Z0JBQzlDLElBQUksSUFBSSxDQUFDLG1CQUFtQjtvQkFDMUIsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDM0QsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsU0FBUztnQkFDcEMsSUFBSSxJQUFJLENBQUMsVUFBVTtvQkFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDckUsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsY0FBYztnQkFDekMsSUFBSSxJQUFJLENBQUMsVUFBVTtvQkFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDckUsTUFBTTtZQUVSO2dCQUNFLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQztnQkFDcEQsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3hELE1BQU0sSUFBSSxHQUFHO29CQUNYLE1BQU07b0JBQ04sSUFBSTtvQkFDSixVQUFVO2lCQUNYLENBQUM7Z0JBQ0YsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsTUFBTTtTQUNUO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sYUFBYSxDQUNsQixJQUF1RDtRQUV2RCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDakMsSUFBSSxZQUErRCxDQUFDO1FBRXBFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLHVCQUF1QixDQUFDLFlBQVk7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLGFBQWE7b0JBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsYUFBYTtnQkFDeEMsSUFBSSxJQUFJLENBQUMsY0FBYztvQkFDckIsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZO29CQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEUsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsV0FBVztnQkFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWTtvQkFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFlBQVk7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLGFBQWE7b0JBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsaUJBQWlCO2dCQUM1QyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7b0JBQ3hCLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxtQkFBbUI7Z0JBQzlDLElBQUksSUFBSSxDQUFDLG1CQUFtQjtvQkFDMUIsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFNBQVM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLFVBQVU7b0JBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwRSxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxjQUFjO2dCQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVO29CQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEUsTUFBTTtZQUVSO2dCQUNFLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQztnQkFDcEQsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3hELE1BQU0sSUFBSSxHQUFHO29CQUNYLE1BQU07b0JBQ04sSUFBSTtvQkFDSixVQUFVO2lCQUNYLENBQUM7Z0JBQ0YsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsTUFBTTtTQUNUO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsSUFBdUQ7UUFFdkQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxZQUE2QztRQUM3RCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0E3V1UsaUJBQWlCO21HQUFqQixpQkFBaUIsc3hCQUVqQiwyQkFBMkIsaUZBRzNCLHVCQUF1QixnRkFHdkIsc0JBQXNCLCtFQUd0QixxQkFBcUIsK0VBR3JCLHFCQUFxQixnRkFHckIsc0JBQXNCLG9GQUd0QiwwQkFBMEIsc0ZBRzFCLDRCQUE0Qiw2RUFHNUIsbUJBQW1CLGdEQ2pIaEMsNG5VQThSQTtnQkRqT0ksVUFBVTtnQkFDVixZQUFZLHlkQUNaLGdCQUFnQiw4QkFDaEIsb0JBQW9CLGdPQUNwQixTQUFTO2dCQUNULGFBQWE7Z0JBQ2Isc0JBQXNCLHdLQUN0Qix1QkFBdUIsOEpBQ3ZCLHFCQUFxQixtR0FDckIscUJBQXFCLDBMQUNyQixzQkFBc0Isb0dBQ3RCLDBCQUEwQiw4SUFDMUIsNEJBQTRCLGtKQUM1QixtQkFBbUIsa0pBQ25CLDJCQUEyQixtS0FDM0IsdUJBQXVCO2dCQUN2QixRQUFRO2dCQUNSLHVCQUF1Qix1REFDdkIseUJBQXlCLHlEQUN6QiwyQkFBMkIsMkRBQzNCLDJCQUEyQiwrREFDM0IsU0FBUyxnQ0FHQyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7OzRGQUV6RCxpQkFBaUI7a0JBaEM3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBR1A7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixTQUFTO3dCQUNULGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2QixRQUFRO3dCQUNSLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsU0FBUztxQkFDVixpQkFDYyxpQkFBaUIsQ0FBQyxRQUFRLGNBQzdCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnR0FHbkQsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUVSLFNBQVM7c0JBRGYsU0FBUzt1QkFBQywyQkFBMkI7Z0JBSS9CLGNBQWM7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUkzQixhQUFhO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQjtnQkFJMUIsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBSXpCLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMscUJBQXFCO2dCQUl6QixhQUFhO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQjtnQkFJMUIsaUJBQWlCO3NCQUR2QixTQUFTO3VCQUFDLDBCQUEwQjtnQkFJOUIsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLDRCQUE0QjtnQkFJaEMsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBR3JCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBSUcsUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuaW1wb3J0IHsgTmdiTW9kdWxlLCBOZ2JQb3BvdmVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG4vLyBhbmltYXRpb25zXG5pbXBvcnQgeyBzaG93QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9zaG93LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBjbG9zZUZvcm0gfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Nsb3NlLWZvcm0uYW5pbWF0aW9uJztcblxuLy8gdXRpbHNcbmltcG9ydCB7IENhRmlsdGVyc1N2Z1JvdXRlcyB9IGZyb20gJy4uL2NhLWZpbHRlcnMvdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuaW1wb3J0IHsgRmlsdGVySGVscGVyIH0gZnJvbSAnLi91dGlscy9oZWxwZXJzL2ZpbHRlci5oZWxwZXInO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRmlsdGVyQ29uZGl0aW9uc1NldFBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb25kaXRpb25zLXNldC5waXBlJztcbmltcG9ydCB7IEZpbHRlckNvbmRpdGlvbnNDbGVhclBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb25kaXRpb25zLWNsZWFyLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyUG9wb3ZlckNvbmRpdGlvbnNQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItcG9wb3Zlci1jb25kaXRpb25zLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyQ29uZGl0aW9uc1VzZXJCb3hQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItY29uZGl0aW9ucy11c2VyLWJveC5waXBlJztcbmltcG9ydCB7IENhU3ZnUGlwZSB9IGZyb20gJ0BzaGFyZWQvcGlwZXMvY2Etc3ZnLnBpcGUnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgVG9vbGJhckZpbHRlclN0cmluZ0VudW0gfSBmcm9tICcuLi9jYS1tYXAvZW51bXMvdG9vbGJhci1maWx0ZXItc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2ZpbHRlci1hY3Rpb25zLXN0cmluZy5lbnVtJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBBcnJheVN0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy9hcnJheS1zdGF0dXMubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlci1vdXRwdXQubW9kZWwnO1xuaW1wb3J0IHsgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0LXBhcmFtcy5tb2RlbCc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhTW9uZXlGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtbW9uZXktZmlsdGVyL2NhLW1vbmV5LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FTdGF0dXNGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Etc3RhdHVzLWZpbHRlci9jYS1zdGF0dXMtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVRpbWVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdGltZS1maWx0ZXIvY2EtdGltZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhVXNlckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS11c2VyLWZpbHRlci9jYS11c2VyLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FTdGF0ZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1zdGF0ZS1maWx0ZXIvY2Etc3RhdGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVRydWNrVHlwZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS10cnVjay10eXBlLWZpbHRlci9jYS10cnVjay10eXBlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FUcmFpbGVyVHlwZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS10cmFpbGVyLXR5cGUtZmlsdGVyL2NhLXRyYWlsZXItdHlwZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhUG1GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtcG0tZmlsdGVyL2NhLXBtLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBdXRvY2xvc2VQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXV0b2Nsb3NlLXBvcG92ZXIvY2EtYXV0b2Nsb3NlLXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLWZpbHRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIC8vIG1vZHVsZXNcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICBOZ2JNb2R1bGUsXG4gICAgLy8gY29tcG9uZW50c1xuICAgIENhTW9uZXlGaWx0ZXJDb21wb25lbnQsXG4gICAgQ2FTdGF0dXNGaWx0ZXJDb21wb25lbnQsXG4gICAgQ2FUaW1lRmlsdGVyQ29tcG9uZW50LFxuICAgIENhVXNlckZpbHRlckNvbXBvbmVudCxcbiAgICBDYVN0YXRlRmlsdGVyQ29tcG9uZW50LFxuICAgIENhVHJ1Y2tUeXBlRmlsdGVyQ29tcG9uZW50LFxuICAgIENhVHJhaWxlclR5cGVGaWx0ZXJDb21wb25lbnQsXG4gICAgQ2FQbUZpbHRlckNvbXBvbmVudCxcbiAgICBDYUF1dG9jbG9zZVBvcG92ZXJDb21wb25lbnQsXG4gICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgLy8gcGlwZXNcbiAgICBGaWx0ZXJDb25kaXRpb25zU2V0UGlwZSxcbiAgICBGaWx0ZXJDb25kaXRpb25zQ2xlYXJQaXBlLFxuICAgIEZpbHRlckNvbmRpdGlvbnNVc2VyQm94UGlwZSxcbiAgICBGaWx0ZXJQb3BvdmVyQ29uZGl0aW9uc1BpcGUsXG4gICAgQ2FTdmdQaXBlLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgYW5pbWF0aW9uczogW3Nob3dBbmltYXRpb24oJ3Nob3dBbmltYXRpb24nKSwgY2xvc2VGb3JtKCdjbG9zZUZvcm0nKV0sXG59KVxuZXhwb3J0IGNsYXNzIENhRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgndDInKSB0MiE6IE5nYlBvcG92ZXI7XG4gIEBWaWV3Q2hpbGQoQ2FBdXRvY2xvc2VQb3BvdmVyQ29tcG9uZW50KVxuICBwdWJsaWMgYXV0b0Nsb3NlITogQ2FBdXRvY2xvc2VQb3BvdmVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FTdGF0dXNGaWx0ZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYVN0YXR1c0ZpbHRlciE6IENhU3RhdHVzRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FNb25leUZpbHRlckNvbXBvbmVudClcbiAgcHVibGljIGNhTW9uZXlGaWx0ZXIhOiBDYU1vbmV5RmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FUaW1lRmlsdGVyQ29tcG9uZW50KVxuICBwdWJsaWMgY2FUaW1lRmlsdGVyITogQ2FUaW1lRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FVc2VyRmlsdGVyQ29tcG9uZW50KVxuICBwdWJsaWMgY2FVc2VyRmlsdGVyITogQ2FVc2VyRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FTdGF0ZUZpbHRlckNvbXBvbmVudClcbiAgcHVibGljIGNhU3RhdGVGaWx0ZXIhOiBDYVN0YXRlRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FUcnVja1R5cGVGaWx0ZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYVRydWNrVHlwZUZpbHRlciE6IENhVHJ1Y2tUeXBlRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FUcmFpbGVyVHlwZUZpbHRlckNvbXBvbmVudClcbiAgcHVibGljIGNhVHJhaWxlclR5cGVGaWx0ZXIhOiBDYVRyYWlsZXJUeXBlRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoQ2FQbUZpbHRlckNvbXBvbmVudClcbiAgcHVibGljIGNhUG1GaWx0ZXIhOiBDYVBtRmlsdGVyQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIHR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1YlR5cGU6IHN0cmluZyA9IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlBFTkRJTkdfU1RBVFVTO1xuICBASW5wdXQoKSB1bnNlbGVjdGVkVXNlciE6IEFycmF5U3RhdHVzW107XG4gIEBJbnB1dCgpIGxvYWRTdGF0dXNPcHRpb25zQXJyYXkhOiBBcnJheVN0YXR1c1tdO1xuICBASW5wdXQoKSB0cnVja1R5cGVBcnJheSE6IEFycmF5U3RhdHVzW107XG4gIEBJbnB1dCgpIHRyYWlsZXJUeXBlQXJyYXkhOiBBcnJheVN0YXR1c1tdO1xuICBASW5wdXQoKSBwbUZpbHRlckFycmF5ITogQXJyYXlTdGF0dXNbXTtcblxuICBASW5wdXQoKSBpc1JlcGFpckZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0RlZkZpbHRlckhvbGRlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGhhc05vTGVmdEljb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaGFzTGVmdFNpZGVJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhhc0xhcmdlTGVmdEljb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBpc01vbmV5RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaXNGdWVsVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0xvYWRUeXBlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZmlsdGVyVGl0bGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24hOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHNldEZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtc1xuICA+KCk7XG5cbiAgQE91dHB1dCgpIGNsZWFyQWxsID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zXG4gID4oKTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGlzU2VhcmNoRXhwYW5kZWQhOiBib29sZWFuO1xuICBwdWJsaWMgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNlbGVjdGVkVXNlcjogQXJyYXlTdGF0dXNbXSA9IFtdO1xuICBwdWJsaWMgaXNBc2NlbmRpbmdTb3J0T3JkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgYXV0b0Nsb3NlQ29tcG9uZW50ITogUXVlcnlMaXN0PENhQXV0b2Nsb3NlUG9wb3ZlckNvbXBvbmVudD47XG4gIHB1YmxpYyBpc0hvdmVyQ2xvc2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0ZpbHRlckhvdmVyZWRPdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyByYW5nZVZhbHVlOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgaXNBbmltYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBwdWJsaWMgZ2V0Q29tcG9uZW50SW5zdGFuY2UoKTogQ2FGaWx0ZXJDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGNoZWNrTW91c2VPdmVyQ29uZGl0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYU1vbmV5RmlsdGVyPy5maWx0ZXJBY3RpdmVBcnJheS5sZW5ndGggPiAwIHx8XG4gICAgICB0aGlzLmNhUG1GaWx0ZXI/LmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aCA+IDAgfHxcbiAgICAgIHRoaXMuY2FTdGF0dXNGaWx0ZXI/LmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aCA+IDAgfHxcbiAgICAgIHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlcj8uZmlsdGVyQWN0aXZlQXJyYXkubGVuZ3RoID4gMCB8fFxuICAgICAgdGhpcy5jYVRydWNrVHlwZUZpbHRlcj8uZmlsdGVyQWN0aXZlQXJyYXkubGVuZ3RoID4gMCB8fFxuICAgICAgdGhpcy5jYVVzZXJGaWx0ZXI/LmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aCA+IDAgfHxcbiAgICAgIHRoaXMuY2FUaW1lRmlsdGVyPy5maWx0ZXJBY3RpdmVUaW1lICE9PSAnJyB8fFxuICAgICAgdGhpcy5yYW5nZVZhbHVlID4gMCB8fFxuICAgICAgdGhpcy5jYU1vbmV5RmlsdGVyPy50b3RhbEZpbHRlcnNOdW0hID4gMCB8fFxuICAgICAgdGhpcy5jYVN0YXRlRmlsdGVyPy50b3RhbEZpbHRlcnNOdW0hID4gMCB8fFxuICAgICAgdGhpcy5jYU1vbmV5RmlsdGVyPy5tYXhWYWx1ZVNldCAhPT0gdGhpcy5jYU1vbmV5RmlsdGVyLm1heFZhbHVlUmFuZ2UgfHxcbiAgICAgIHRoaXMuY2FNb25leUZpbHRlcj8ubWluVmFsdWVTZXQgIT09IHRoaXMuY2FNb25leUZpbHRlci5taW5WYWx1ZVJhbmdlIHx8XG4gICAgICB0aGlzLmNhTW9uZXlGaWx0ZXI/LnNpbmdsZUZyb21BY3RpdmVcbiAgICAgID8gKHRoaXMuaXNGaWx0ZXJIb3ZlcmVkT3ZlciA9IHRydWUpXG4gICAgICA6ICh0aGlzLmlzRmlsdGVySG92ZXJlZE92ZXIgPSBmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJDbG9zZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNGaWx0ZXJBY3RpdmUpIHJldHVybiBmYWxzZTtcbiAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gZmFsc2U7XG5cbiAgICBsZXQgbWFpbkVsZW1lbnRIb2xkZXI7XG5cbiAgICBpZiAodGhpcy50eXBlID09PSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5USU1FX0ZJTFRFUilcbiAgICAgIG1haW5FbGVtZW50SG9sZGVyID0gdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudChcbiAgICAgICAgJy50aW1lLWZpbHRlci1ob2xkZXInLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIGVsc2VcbiAgICAgIG1haW5FbGVtZW50SG9sZGVyID0gdGhpcy5yZW5kZXJlci5zZWxlY3RSb290RWxlbWVudChcbiAgICAgICAgJy5maWx0ZXItaG9sZGVyJyxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcblxuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLk1PTkVZX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FNb25leUZpbHRlcikgdGhpcy5jYU1vbmV5RmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVFVTX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FTdGF0dXNGaWx0ZXIpIHRoaXMuY2FTdGF0dXNGaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5USU1FX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUaW1lRmlsdGVyKSB0aGlzLmNhVGltZUZpbHRlci5vbkZpbHRlckNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVVzZXJGaWx0ZXIpIHRoaXMuY2FVc2VyRmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVN0YXRlRmlsdGVyKSB0aGlzLmNhU3RhdGVGaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUlVDS19UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIpIHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUkFJTEVSX1RZUEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyKSB0aGlzLmNhVHJhaWxlclR5cGVGaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5QTV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhUG1GaWx0ZXIpIHRoaXMuY2FQbUZpbHRlci5vbkZpbHRlckNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNFUlZJQ0VfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVBtRmlsdGVyKSB0aGlzLmNhUG1GaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb25GaWx0ZXJTaG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcbiAgICB0aGlzLmlzQW5pbWF0ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIHNvcnRJdGVtcygpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5TVEFUVVNfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVN0YXR1c0ZpbHRlcikge1xuICAgICAgICAgIHRoaXMuY2FTdGF0dXNGaWx0ZXIuc29ydEl0ZW1zKCk7XG4gICAgICAgICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlciA9IHRoaXMuY2FTdGF0dXNGaWx0ZXIuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVVNFUl9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVXNlckZpbHRlcikge1xuICAgICAgICAgIHRoaXMuY2FVc2VyRmlsdGVyLnNvcnRJdGVtcygpO1xuICAgICAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPSB0aGlzLmNhVXNlckZpbHRlci5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUlVDS19UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyLnNvcnRJdGVtcygpO1xuICAgICAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPVxuICAgICAgICAgICAgdGhpcy5jYVRydWNrVHlwZUZpbHRlci5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUkFJTEVSX1RZUEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyKSB7XG4gICAgICAgICAgdGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyLnNvcnRJdGVtcygpO1xuICAgICAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPVxuICAgICAgICAgICAgdGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyLmlzQXNjZW5kaW5nU29ydE9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlBNX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FQbUZpbHRlcikge1xuICAgICAgICAgIHRoaXMuY2FQbUZpbHRlci5zb3J0SXRlbXMoKTtcbiAgICAgICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gdGhpcy5jYVBtRmlsdGVyLmlzQXNjZW5kaW5nU29ydE9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNFUlZJQ0VfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVBtRmlsdGVyKSB7XG4gICAgICAgICAgdGhpcy5jYVBtRmlsdGVyLnNvcnRJdGVtcygpO1xuICAgICAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPSB0aGlzLmNhUG1GaWx0ZXIuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd1NlYXJjaChtb2Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAobW9kKSB7XG4gICAgICB0aGlzLmlzU2VhcmNoRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1NlYXJjaEV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyVmFsdWUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgbGV0IGZpbHRlclJlc3VsdDogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZDtcblxuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLk1PTkVZX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FNb25leUZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhTW9uZXlGaWx0ZXIuc2V0RmlsdGVyVmFsdWUoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5TVEFUVVNfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVN0YXR1c0ZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhU3RhdHVzRmlsdGVyLnNldEZpbHRlclZhbHVlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlRJTUVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRpbWVGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVRpbWVGaWx0ZXIuc2V0RmlsdGVyVmFsdWUoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FVc2VyRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FVc2VyRmlsdGVyLnNldEZpbHRlclZhbHVlKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVN0YXRlRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FTdGF0ZUZpbHRlci5zZXRGaWx0ZXJWYWx1ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUlVDS19UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVRydWNrVHlwZUZpbHRlci5zZXRGaWx0ZXJWYWx1ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUkFJTEVSX1RZUEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlci5zZXRGaWx0ZXJWYWx1ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5QTV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhUG1GaWx0ZXIpIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FQbUZpbHRlci5zZXRGaWx0ZXJWYWx1ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5TRVJWSUNFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FQbUZpbHRlcikgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVBtRmlsdGVyLnNldEZpbHRlclZhbHVlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zdCBhY3Rpb24gPSBGaWx0ZXJBY3Rpb25zU3RyaW5nRW51bS5BQ1RJT05fQ0xFQVI7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBGaWx0ZXJBY3Rpb25zU3RyaW5nRW51bS5UWVBFX1VOS05PV047XG4gICAgICAgIGNvbnN0IGZpbHRlclR5cGUgPSBGaWx0ZXJBY3Rpb25zU3RyaW5nRW51bS5UWVBFX1VOS05PV047XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgZmlsdGVyVHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgZmlsdGVyUmVzdWx0ID0gZGF0YTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRGaWx0ZXJFbWl0KGZpbHRlclJlc3VsdCk7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyRW1pdChcbiAgICBkYXRhOiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNldEZpbHRlcikge1xuICAgICAgdGhpcy5zZXRGaWx0ZXIuZW1pdChkYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGxWYWx1ZXMoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGxldCBmaWx0ZXJSZXN1bHQ6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfCB1bmRlZmluZWQ7XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT05FWV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhTW9uZXlGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYU1vbmV5RmlsdGVyLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVFVTX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FTdGF0dXNGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVN0YXR1c0ZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlRJTUVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRpbWVGaWx0ZXIpIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FUaW1lRmlsdGVyLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVVNFUl9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVXNlckZpbHRlcikgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVVzZXJGaWx0ZXIuY2xlYXJBbGwoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5TVEFURV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhU3RhdGVGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVN0YXRlRmlsdGVyLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJVQ0tfVFlQRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIuY2xlYXJBbGwoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5UUkFJTEVSX1RZUEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlBNX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FQbUZpbHRlcikgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVBtRmlsdGVyLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU0VSVklDRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhUG1GaWx0ZXIpIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FQbUZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zdCBhY3Rpb24gPSBGaWx0ZXJBY3Rpb25zU3RyaW5nRW51bS5BQ1RJT05fQ0xFQVI7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBGaWx0ZXJBY3Rpb25zU3RyaW5nRW51bS5UWVBFX1VOS05PV047XG4gICAgICAgIGNvbnN0IGZpbHRlclR5cGUgPSBGaWx0ZXJBY3Rpb25zU3RyaW5nRW51bS5UWVBFX1VOS05PV047XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgZmlsdGVyVHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgZmlsdGVyUmVzdWx0ID0gZGF0YTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhckFsbFZhbHVlc0VtaXQoZmlsdGVyUmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbFZhbHVlc0VtaXQoXG4gICAgZGF0YTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuY2xlYXJBbGwuZW1pdChkYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWU6IGtleW9mIHR5cGVvZiBDYUZpbHRlcnNTdmdSb3V0ZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBGaWx0ZXJIZWxwZXIuZ2V0U3ZnUGF0aChwcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwidXNlci1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gIGFwcC1jYS1hdXRvY2xvc2UtcG9wb3ZlclxuICBbY3VzdG9tQ2xhc3NdPVwiJ2ZpbHRlcnBvcG92ZXJtYWluJ1wiXG4gIFtwbGFjZW1lbnRdPVwiJ2JvdHRvbS1sZWZ0J1wiXG4gIGF1dG9DbG9zZT1cIm91dHNpZGVcIlxuICAoY2xvc2VGaWx0ZXIpPVwib25GaWx0ZXJDbG9zZSgpXCJcbiAgKG9wZW5GaWx0ZXIpPVwib25GaWx0ZXJTaG93bigpXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdhY3RpdmUtb3B0aW9ucyc6IGlzRmlsdGVyQWN0aXZlLFxuICAgICdjbGVhci1jb2xvcnMnOiBpc0hvdmVyQ2xvc2VkLFxuICB9XCJcbiAgKG1vdXNlZW50ZXIpPVwiY2hlY2tNb3VzZU92ZXJDb25kaXRpb25zKClcIlxuICAobW91c2VsZWF2ZSk9XCJpc0ZpbHRlckhvdmVyZWRPdmVyID0gZmFsc2VcIlxuPlxuICA8ZGl2XG4gICAgbWFpbkNvbnRlbnRcbiAgICBuZ2JUb29sdGlwXG4gICAgbWFpblRvb2x0aXA9XCJ7e1xuICAgICAgJ21haW5Ub29sdGlwJ1xuICAgICAgICB8IGZpbHRlclBvcG92ZXJDb25kaXRpb25zUGlwZVxuICAgICAgICAgIDogZ2V0Q29tcG9uZW50SW5zdGFuY2UoKVxuICAgICAgICAgIDogY2FNb25leUZpbHRlclxuICAgICAgICAgIDogY2FTdGF0dXNGaWx0ZXJcbiAgICAgICAgICA6IGNhVXNlckZpbHRlclxuICAgICAgICAgIDogY2FTdGF0ZUZpbHRlclxuICAgICAgICAgIDogY2FUcnVja1R5cGVGaWx0ZXJcbiAgICAgICAgICA6IGNhVHJhaWxlclR5cGVGaWx0ZXJcbiAgICAgICAgICA6IGNhUG1GaWx0ZXJcbiAgICB9fVwiXG4gICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kPVwie3tcbiAgICAgIGlzRmlsdGVyQWN0aXZlID8gJyNCN0I3QjcnIDogIWlzSG92ZXJDbG9zZWQgPyAnIzJGMkYyRicgOiAnIzJGMkYyRidcbiAgICB9fVwiXG4gICAgdG9vbHRpcENvbG9yPVwie3sgaXNGaWx0ZXJBY3RpdmUgPyAnIzJGMkYyRicgOiAnI0ZGRkZGRicgfX1cIlxuICAgIHRvb2x0aXBUZXh0QWxpZ249XCJjZW50ZXJcIlxuICAgIGNsYXNzPVwibWFpbi1pY29uLWhvbGRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICA+XG4gICAgPGRpdj5cbiAgICAgIDxzdmctaWNvbiBbc3JjXT1cImljb24gfCBjYVN2ZzogJ2NvbW1vbidcIj48L3N2Zy1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IHBvcG92ZXJDb250ZW50IGNsYXNzPVwibWFpbi1wb3BvdmVyLWJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNEZWZGaWx0ZXJIb2xkZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgW0BzaG93QW5pbWF0aW9uXT1cIiEhaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICBjbGFzcz1cImZpbHRlci1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1zdGFydFwiXG4gICAgICAgIFtjbGFzcy5zdGF0ZS1maWx0ZXJdPVwidHlwZSA9PT0gJ3N0YXRlRmlsdGVyJ1wiXG4gICAgICAgIFtjbGFzcy5kZXBhcnRtZW50LWZpbHRlcl09XCJoYXNOb0xlZnRJY29uXCJcbiAgICAgICAgW2NsYXNzLnN0YXR1cy1maWx0ZXJdPVwidHlwZSA9PT0gJ3N0YXR1c0ZpbHRlcidcIlxuICAgICAgICBbY2xhc3MucG0tZmlsdGVyXT1cImhhc0xlZnRTaWRlSWNvblwiXG4gICAgICAgIFtjbGFzcy50cnVjay1pY29uLWhvbGRlcl09XCJoYXNMYXJnZUxlZnRJY29uXCJcbiAgICAgICAgW2NsYXNzLm1vbmV5LWZpbHRlcl09XCJ0eXBlID09PSAnbW9uZXlGaWx0ZXInXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWhlYWRlciBmaWx0ZXItdGV4dC1wYXJ0IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVIZWFkZXJdPVwiIWlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgICAgIFtjbGFzcy5pbmFjdGl2ZUhlYWRlcl09XCJpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidXNlci10aXRsZS10ZXh0IGNvdW50ZXItcGFkZC10aXRsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZ3LWJvbGRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGZpbHRlclRpdGxlIHwgdXBwZXJjYXNlIH19XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICB0eXBlID09PSAndXNlckZpbHRlcicgJiYgY2FVc2VyRmlsdGVyPy5zZWxlY3RlZFVzZXI/Lmxlbmd0aFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyLWZpbHRlci1ib3ggZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZ3LWJvbGQgbXMtMVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjYVVzZXJGaWx0ZXI/LnNlbGVjdGVkVXNlcj8ubGVuZ3RoIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICB0eXBlICE9PSAnc3RhdGVGaWx0ZXInICYmXG4gICAgICAgICAgICAgIHR5cGUgIT09ICdzdGF0dXNGaWx0ZXInICYmXG4gICAgICAgICAgICAgIHR5cGUgIT09ICd1c2VyRmlsdGVyJyAmJlxuICAgICAgICAgICAgICB0eXBlICE9PSAnbW9uZXlGaWx0ZXInICYmXG4gICAgICAgICAgICAgIHR5cGUgIT09ICd0aW1lRmlsdGVyJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidXNlci1maWx0ZXItYm94IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmdy1ib2xkIG1zLTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICAgIHwgZmlsdGVyQ29uZGl0aW9uc1VzZXJCb3hcbiAgICAgICAgICAgICAgICAgICAgOiBjYVRydWNrVHlwZUZpbHRlclxuICAgICAgICAgICAgICAgICAgICA6IGNhVHJhaWxlclR5cGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgOiBjYVBtRmlsdGVyXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICB0eXBlID09PSAnc2VydmljZUZpbHRlcicgfHxcbiAgICAgICAgICAgICAgICB0eXBlID09PSAncG1GaWx0ZXInIHx8XG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3RydWNrRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgIHR5cGUgPT09ICd0cnVja1R5cGVGaWx0ZXInIHx8XG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3RyYWlsZXJUeXBlRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgIHR5cGUgPT09ICd0cmFpbGVyRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgIHR5cGUgPT09ICdzdGF0dXNGaWx0ZXInIHx8XG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3VzZXJGaWx0ZXInO1xuICAgICAgICAgICAgICBlbHNlIHRydWNrRmlsdGVyXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNvcnRJdGVtcygpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyLXRpdGxlLXRleHQgc29ydC10ZXh0IHRhLWZvbnQtbWVkaXVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZnctYm9sZCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB0eXBlID09PSAnc3RhdHVzRmlsdGVyJyB8fCB0eXBlID09PSAndXNlckZpbHRlcidcbiAgICAgICAgICAgICAgICAgID8gJ0NvdW50J1xuICAgICAgICAgICAgICAgICAgOiAnTmFtZSdcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzb3J0LWFycm93IG1zLTFcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5yb3RhdGVdPVwiIWlzQXNjZW5kaW5nU29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImdldFN2Z1BhdGgoJ3NvcnRBcnJvd1N2Z1JvdXRlJylcIlxuICAgICAgICAgICAgICAgIFtzdmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAnMTgnLFxuICAgICAgICAgICAgICAgICAgJ2hlaWdodC5weCc6ICcxOCcsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0cnVja0ZpbHRlcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAodHlwZSA9PT0gJ3RydWNrRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3RydWNrVHlwZUZpbHRlcicgfHxcbiAgICAgICAgICAgICAgICAgIHR5cGUgPT09ICd0cmFpbGVyRmlsdGVyJykgJiZcbiAgICAgICAgICAgICAgICAgIGlzUmVwYWlyRmlsdGVyO1xuICAgICAgICAgICAgICAgIGVsc2Ugc3RhdGVGaWx0ZXJcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzb3J0SXRlbXMoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1c2VyLXRpdGxlLXRleHQgc29ydC10ZXh0IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZnctYm9sZCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIENvdW50XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uIFtzcmNdPVwiZ2V0U3ZnUGF0aCgnc29ydEFycm93U3ZnUm91dGUnKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3N0YXRlRmlsdGVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdzdGF0ZUZpbHRlcic7IGVsc2Ugc2VhcmNoU3RhdGVcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlci1maWx0ZXItYm94IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmdy1ib2xkIG1zLTFcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgIChjYVN0YXRlRmlsdGVyPy5jYW5hZGFTZWxlY3RlZFN0YXRlcykhLmxlbmd0aCArXG4gICAgICAgICAgICAgICAgICAgIChjYVN0YXRlRmlsdGVyPy51c2FTZWxlY3RlZFN0YXRlcykhLmxlbmd0aFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3NlYXJjaFN0YXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWFyY2hTdGF0ZVwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvbi1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1NlYXJjaCgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ3NlYXJjaEljb25Sb3V0ZScpXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1ib2R5LWhvbGRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cbiAgICAgICAgICAgIDxhcHAtY2EtbW9uZXktZmlsdGVyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbW9uZXlGaWx0ZXInXCJcbiAgICAgICAgICAgICAgKHNldEZpbHRlcik9XCJzZXRGaWx0ZXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW21vbmV5RmlsdGVyXT1cImlzTW9uZXlGaWx0ZXJcIlxuICAgICAgICAgICAgICBbZnVlbFR5cGVdPVwiaXNGdWVsVHlwZVwiXG4gICAgICAgICAgICAgIFtsb2FkVHlwZV09XCJpc0xvYWRUeXBlXCJcbiAgICAgICAgICAgICAgW3N1YlR5cGVdPVwic3ViVHlwZVwiXG4gICAgICAgICAgICAgIFtpc0ZpbHRlckFjdGl2ZV09XCJpc0ZpbHRlckFjdGl2ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS1zdGF0dXMtZmlsdGVyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RhdHVzRmlsdGVyJ1wiXG4gICAgICAgICAgICAgIChzZXRGaWx0ZXIpPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgICBbaXNGaWx0ZXJBY3RpdmVdPVwiaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgICBbbG9hZFN0YXR1c09wdGlvbnNBcnJheV09XCJsb2FkU3RhdHVzT3B0aW9uc0FycmF5XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YXBwLWNhLXRpbWUtZmlsdGVyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIndGltZUZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YXBwLWNhLXVzZXItZmlsdGVyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIndXNlckZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgW3Vuc2VsZWN0ZWRVc2VyXT1cInVuc2VsZWN0ZWRVc2VyXCJcbiAgICAgICAgICAgICAgW2lzU2VhcmNoRXhwYW5kZWRdPVwiaXNTZWFyY2hFeHBhbmRlZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS1zdGF0ZS1maWx0ZXJcbiAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzdGF0ZUZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YXBwLWNhLXRydWNrLXR5cGUtZmlsdGVyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIndHJ1Y2tUeXBlRmlsdGVyJ1wiXG4gICAgICAgICAgICAgIChzZXRGaWx0ZXIpPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgICBbaXNGaWx0ZXJBY3RpdmVdPVwiaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgICBbdHJ1Y2tUeXBlQXJyYXldPVwidHJ1Y2tUeXBlQXJyYXlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxhcHAtY2EtdHJhaWxlci10eXBlLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RyYWlsZXJUeXBlRmlsdGVyJ1wiXG4gICAgICAgICAgICAgIChzZXRGaWx0ZXIpPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgICBbaXNGaWx0ZXJBY3RpdmVdPVwiaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgICBbdHJhaWxlclR5cGVBcnJheV09XCJ0cmFpbGVyVHlwZUFycmF5XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YXBwLWNhLXBtLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3BtRmlsdGVyJ1wiXG4gICAgICAgICAgICAgIChzZXRGaWx0ZXIpPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgICBbaXNGaWx0ZXJBY3RpdmVdPVwiaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgICBbcG1GaWx0ZXJBcnJheV09XCJwbUZpbHRlckFycmF5XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YXBwLWNhLXBtLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NlcnZpY2VGaWx0ZXInXCJcbiAgICAgICAgICAgICAgKHNldEZpbHRlcik9XCJzZXRGaWx0ZXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgIFtpc0ZpbHRlckFjdGl2ZV09XCJpc0ZpbHRlckFjdGl2ZVwiXG4gICAgICAgICAgICAgIFtwbUZpbHRlckFycmF5XT1cInBtRmlsdGVyQXJyYXlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImJ1dHRvbnMtaG9sZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsVmFsdWVzKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tY2xlYXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZ3LWJvbGRcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIHwgZmlsdGVyQ29uZGl0aW9uc0NsZWFyXG4gICAgICAgICAgICAgICAgICA6IGNhTW9uZXlGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FTdGF0dXNGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FUaW1lRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhVXNlckZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVN0YXRlRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhVHJ1Y2tUeXBlRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhVHJhaWxlclR5cGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FQbUZpbHRlclxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBDbGVhciBBbGxcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAoY2xpY2spPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1zZXQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZ3LWJvbGRcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIHwgZmlsdGVyQ29uZGl0aW9uc1NldFxuICAgICAgICAgICAgICAgICAgOiBjYU1vbmV5RmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhU3RhdHVzRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhVGltZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVVzZXJGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FTdGF0ZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVRydWNrVHlwZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVRyYWlsZXJUeXBlRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhUG1GaWx0ZXJcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgU2V0XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
414
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY2EtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWZpbHRlcnMvY2EtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVULGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLGFBQWE7QUFDYixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXBELFFBQVE7QUFDUixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU83RSxhQUFhO0FBQ2IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDOUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7O0FBa0MzRixNQUFNLE9BQU8saUJBQWlCO0lBb0U1QixZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEM5QixZQUFPLEdBQVcsdUJBQXVCLENBQUMsY0FBYyxDQUFDO1FBT3pELG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUNsQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFbEMsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBSTFCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFFbkMsQ0FBQztRQUVNLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFFbEMsQ0FBQztRQUVJLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWhDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyx5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFFckMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUVPLENBQUM7SUFFcEMsb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDckQsSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ2pELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQyxJQUFJLENBQUMsWUFBWSxFQUFFLGdCQUFnQixLQUFLLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZ0IsR0FBRyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsZUFBZ0IsR0FBRyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYTtZQUNwRSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7WUFDcEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0I7WUFDcEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFFNUIsSUFBSSxpQkFBaUIsQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsV0FBVztZQUNuRCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNqRCxxQkFBcUIsRUFDckIsSUFBSSxDQUNMLENBQUM7O1lBRUYsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDakQsZ0JBQWdCLEVBQ2hCLElBQUksQ0FDTCxDQUFDO1FBRUosUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssdUJBQXVCLENBQUMsWUFBWTtnQkFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYTtvQkFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUN4QyxJQUFJLElBQUksQ0FBQyxjQUFjO29CQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzdELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFlBQVk7b0JBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDekQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsV0FBVztnQkFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWTtvQkFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxZQUFZO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhO29CQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGlCQUFpQjtnQkFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCO29CQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDbkUsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsbUJBQW1CO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxtQkFBbUI7b0JBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN2RSxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxTQUFTO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxVQUFVO29CQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVU7b0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckQsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUN4QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDO2lCQUN0RTtnQkFDRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO2lCQUNwRTtnQkFDRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxpQkFBaUI7Z0JBQzVDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO29CQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25DLElBQUksQ0FBQyxvQkFBb0I7d0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDL0M7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsbUJBQW1CO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsb0JBQW9CO3dCQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUM7aUJBQ2pEO2dCQUNELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFNBQVM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xFO2dCQUNELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGNBQWM7Z0JBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xFO2dCQUNELE1BQU07WUFFUjtnQkFDRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEdBQVk7UUFDNUIsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFZO1FBQ2hDLElBQUksWUFBK0QsQ0FBQztRQUVwRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyx1QkFBdUIsQ0FBQyxZQUFZO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhO29CQUNwQixZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3hDLElBQUksSUFBSSxDQUFDLGNBQWM7b0JBQ3JCLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZO29CQUNuQixZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFlBQVk7b0JBQ25CLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsWUFBWTtnQkFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYTtvQkFDcEIsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3JELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLGlCQUFpQjtnQkFDNUMsSUFBSSxJQUFJLENBQUMsaUJBQWlCO29CQUN4QixZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN6RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxtQkFBbUI7Z0JBQzlDLElBQUksSUFBSSxDQUFDLG1CQUFtQjtvQkFDMUIsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDM0QsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsU0FBUztnQkFDcEMsSUFBSSxJQUFJLENBQUMsVUFBVTtvQkFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDckUsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsY0FBYztnQkFDekMsSUFBSSxJQUFJLENBQUMsVUFBVTtvQkFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDckUsTUFBTTtZQUVSO2dCQUNFLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQztnQkFDcEQsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3hELE1BQU0sSUFBSSxHQUFHO29CQUNYLE1BQU07b0JBQ04sSUFBSTtvQkFDSixVQUFVO2lCQUNYLENBQUM7Z0JBQ0YsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsTUFBTTtTQUNUO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sYUFBYSxDQUNsQixJQUF1RDtRQUV2RCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDakMsSUFBSSxZQUErRCxDQUFDO1FBRXBFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLHVCQUF1QixDQUFDLFlBQVk7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLGFBQWE7b0JBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsYUFBYTtnQkFDeEMsSUFBSSxJQUFJLENBQUMsY0FBYztvQkFDckIsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxXQUFXO2dCQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZO29CQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEUsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsV0FBVztnQkFDdEMsSUFBSSxJQUFJLENBQUMsWUFBWTtvQkFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFlBQVk7Z0JBQ3ZDLElBQUksSUFBSSxDQUFDLGFBQWE7b0JBQ3BCLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEQsTUFBTTtZQUVSLEtBQUssdUJBQXVCLENBQUMsaUJBQWlCO2dCQUM1QyxJQUFJLElBQUksQ0FBQyxpQkFBaUI7b0JBQ3hCLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4RCxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxtQkFBbUI7Z0JBQzlDLElBQUksSUFBSSxDQUFDLG1CQUFtQjtvQkFDMUIsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFELE1BQU07WUFFUixLQUFLLHVCQUF1QixDQUFDLFNBQVM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLFVBQVU7b0JBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwRSxNQUFNO1lBRVIsS0FBSyx1QkFBdUIsQ0FBQyxjQUFjO2dCQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVO29CQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEUsTUFBTTtZQUVSO2dCQUNFLE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLFlBQVksQ0FBQztnQkFDcEQsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3hELE1BQU0sSUFBSSxHQUFHO29CQUNYLE1BQU07b0JBQ04sSUFBSTtvQkFDSixVQUFVO2lCQUNYLENBQUM7Z0JBQ0YsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsTUFBTTtTQUNUO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0IsQ0FDdkIsSUFBdUQ7UUFFdkQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxZQUE2QztRQUM3RCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0E3V1UsaUJBQWlCO21HQUFqQixpQkFBaUIsc3hCQUVqQiwyQkFBMkIsaUZBRzNCLHVCQUF1QixnRkFHdkIsc0JBQXNCLCtFQUd0QixxQkFBcUIsK0VBR3JCLHFCQUFxQixnRkFHckIsc0JBQXNCLG9GQUd0QiwwQkFBMEIsc0ZBRzFCLDRCQUE0Qiw2RUFHNUIsbUJBQW1CLGdEQ2pIaEMsNG5VQThSQTtnQkRqT0ksVUFBVTtnQkFDVixZQUFZLHlkQUNaLGdCQUFnQiw4QkFDaEIsb0JBQW9CLGdPQUNwQixTQUFTO2dCQUNULGFBQWE7Z0JBQ2Isc0JBQXNCLHdLQUN0Qix1QkFBdUIsOEpBQ3ZCLHFCQUFxQixtR0FDckIscUJBQXFCLDBMQUNyQixzQkFBc0Isb0dBQ3RCLDBCQUEwQiw4SUFDMUIsNEJBQTRCLGtKQUM1QixtQkFBbUIsa0pBQ25CLDJCQUEyQixtS0FDM0IsdUJBQXVCO2dCQUN2QixRQUFRO2dCQUNSLHVCQUF1Qix1REFDdkIseUJBQXlCLHlEQUN6QiwyQkFBMkIsMkRBQzNCLDJCQUEyQiwrREFDM0IsU0FBUyxnQ0FHQyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7OzRGQUV6RCxpQkFBaUI7a0JBaEM3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBR1A7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixTQUFTO3dCQUNULGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3dCQUM1QixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsdUJBQXVCO3dCQUN2QixRQUFRO3dCQUNSLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsU0FBUztxQkFDVixpQkFDYyxpQkFBaUIsQ0FBQyxRQUFRLGNBQzdCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnR0FHbkQsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUVSLFNBQVM7c0JBRGYsU0FBUzt1QkFBQywyQkFBMkI7Z0JBSS9CLGNBQWM7c0JBRHBCLFNBQVM7dUJBQUMsdUJBQXVCO2dCQUkzQixhQUFhO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQjtnQkFJMUIsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBSXpCLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMscUJBQXFCO2dCQUl6QixhQUFhO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQjtnQkFJMUIsaUJBQWlCO3NCQUR2QixTQUFTO3VCQUFDLDBCQUEwQjtnQkFJOUIsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLDRCQUE0QjtnQkFJaEMsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBR3JCLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBSUcsUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuaW1wb3J0IHsgTmdiTW9kdWxlLCBOZ2JQb3BvdmVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG4vLyBhbmltYXRpb25zXG5pbXBvcnQgeyBzaG93QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9zaG93LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBjbG9zZUZvcm0gfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Nsb3NlLWZvcm0uYW5pbWF0aW9uJztcblxuLy8gdXRpbHNcbmltcG9ydCB7IENhRmlsdGVyc1N2Z1JvdXRlcyB9IGZyb20gJy4uL2NhLWZpbHRlcnMvdXRpbHMvc3ZnLXJvdXRlcy9jYS1maWx0ZXJzLXN2Zy1yb3V0ZXMnO1xuaW1wb3J0IHsgRmlsdGVySGVscGVyIH0gZnJvbSAnLi91dGlscy9oZWxwZXJzL2ZpbHRlci5oZWxwZXInO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRmlsdGVyQ29uZGl0aW9uc1NldFBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb25kaXRpb25zLXNldC5waXBlJztcbmltcG9ydCB7IEZpbHRlckNvbmRpdGlvbnNDbGVhclBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb25kaXRpb25zLWNsZWFyLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyUG9wb3ZlckNvbmRpdGlvbnNQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItcG9wb3Zlci1jb25kaXRpb25zLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyQ29uZGl0aW9uc1VzZXJCb3hQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItY29uZGl0aW9ucy11c2VyLWJveC5waXBlJztcbmltcG9ydCB7IENhU3ZnUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2NhLXN2Zy5waXBlJztcblxuLy8gZW51bXNcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vY2EtbWFwL2VudW1zL3Rvb2xiYXItZmlsdGVyLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IEZpbHRlckFjdGlvbnNTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9maWx0ZXItYWN0aW9ucy1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQXJyYXlTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXJyYXktc3RhdHVzLm1vZGVsJztcbmltcG9ydCB7IGZpbHRlck91dHB1dCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItb3V0cHV0Lm1vZGVsJztcbmltcG9ydCB7IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLW91dHB1dC1wYXJhbXMubW9kZWwnO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYU1vbmV5RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLW1vbmV5LWZpbHRlci9jYS1tb25leS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhU3RhdHVzRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXN0YXR1cy1maWx0ZXIvY2Etc3RhdHVzLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FUaW1lRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXRpbWUtZmlsdGVyL2NhLXRpbWUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVVzZXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdXNlci1maWx0ZXIvY2EtdXNlci1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhU3RhdGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2Etc3RhdGUtZmlsdGVyL2NhLXN0YXRlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FUcnVja1R5cGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdHJ1Y2stdHlwZS1maWx0ZXIvY2EtdHJ1Y2stdHlwZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhVHJhaWxlclR5cGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtdHJhaWxlci10eXBlLWZpbHRlci9jYS10cmFpbGVyLXR5cGUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVBtRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXBtLWZpbHRlci9jYS1wbS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXV0b2Nsb3NlUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWF1dG9jbG9zZS1wb3BvdmVyL2NhLWF1dG9jbG9zZS1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICAvLyBtb2R1bGVzXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgTmdiTW9kdWxlLFxuICAgIC8vIGNvbXBvbmVudHNcbiAgICBDYU1vbmV5RmlsdGVyQ29tcG9uZW50LFxuICAgIENhU3RhdHVzRmlsdGVyQ29tcG9uZW50LFxuICAgIENhVGltZUZpbHRlckNvbXBvbmVudCxcbiAgICBDYVVzZXJGaWx0ZXJDb21wb25lbnQsXG4gICAgQ2FTdGF0ZUZpbHRlckNvbXBvbmVudCxcbiAgICBDYVRydWNrVHlwZUZpbHRlckNvbXBvbmVudCxcbiAgICBDYVRyYWlsZXJUeXBlRmlsdGVyQ29tcG9uZW50LFxuICAgIENhUG1GaWx0ZXJDb21wb25lbnQsXG4gICAgQ2FBdXRvY2xvc2VQb3BvdmVyQ29tcG9uZW50LFxuICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuICAgIC8vIHBpcGVzXG4gICAgRmlsdGVyQ29uZGl0aW9uc1NldFBpcGUsXG4gICAgRmlsdGVyQ29uZGl0aW9uc0NsZWFyUGlwZSxcbiAgICBGaWx0ZXJDb25kaXRpb25zVXNlckJveFBpcGUsXG4gICAgRmlsdGVyUG9wb3ZlckNvbmRpdGlvbnNQaXBlLFxuICAgIENhU3ZnUGlwZSxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gIGFuaW1hdGlvbnM6IFtzaG93QW5pbWF0aW9uKCdzaG93QW5pbWF0aW9uJyksIGNsb3NlRm9ybSgnY2xvc2VGb3JtJyldLFxufSlcbmV4cG9ydCBjbGFzcyBDYUZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ3QyJykgdDIhOiBOZ2JQb3BvdmVyO1xuICBAVmlld0NoaWxkKENhQXV0b2Nsb3NlUG9wb3ZlckNvbXBvbmVudClcbiAgcHVibGljIGF1dG9DbG9zZSE6IENhQXV0b2Nsb3NlUG9wb3ZlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhU3RhdHVzRmlsdGVyQ29tcG9uZW50KVxuICBwdWJsaWMgY2FTdGF0dXNGaWx0ZXIhOiBDYVN0YXR1c0ZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhTW9uZXlGaWx0ZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYU1vbmV5RmlsdGVyITogQ2FNb25leUZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhVGltZUZpbHRlckNvbXBvbmVudClcbiAgcHVibGljIGNhVGltZUZpbHRlciE6IENhVGltZUZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhVXNlckZpbHRlckNvbXBvbmVudClcbiAgcHVibGljIGNhVXNlckZpbHRlciE6IENhVXNlckZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhU3RhdGVGaWx0ZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYVN0YXRlRmlsdGVyITogQ2FTdGF0ZUZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhVHJ1Y2tUeXBlRmlsdGVyQ29tcG9uZW50KVxuICBwdWJsaWMgY2FUcnVja1R5cGVGaWx0ZXIhOiBDYVRydWNrVHlwZUZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhVHJhaWxlclR5cGVGaWx0ZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYVRyYWlsZXJUeXBlRmlsdGVyITogQ2FUcmFpbGVyVHlwZUZpbHRlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENhUG1GaWx0ZXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYVBtRmlsdGVyITogQ2FQbUZpbHRlckNvbXBvbmVudDtcblxuICBASW5wdXQoKSB0eXBlITogc3RyaW5nO1xuICBASW5wdXQoKSBzdWJUeXBlOiBzdHJpbmcgPSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5QRU5ESU5HX1NUQVRVUztcbiAgQElucHV0KCkgdW5zZWxlY3RlZFVzZXIhOiBBcnJheVN0YXR1c1tdO1xuICBASW5wdXQoKSBsb2FkU3RhdHVzT3B0aW9uc0FycmF5ITogQXJyYXlTdGF0dXNbXTtcbiAgQElucHV0KCkgdHJ1Y2tUeXBlQXJyYXkhOiBBcnJheVN0YXR1c1tdO1xuICBASW5wdXQoKSB0cmFpbGVyVHlwZUFycmF5ITogQXJyYXlTdGF0dXNbXTtcbiAgQElucHV0KCkgcG1GaWx0ZXJBcnJheSE6IEFycmF5U3RhdHVzW107XG5cbiAgQElucHV0KCkgaXNSZXBhaXJGaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNEZWZGaWx0ZXJIb2xkZXI6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBoYXNOb0xlZnRJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhhc0xlZnRTaWRlSWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoYXNMYXJnZUxlZnRJY29uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaXNNb25leUZpbHRlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlzRnVlbFR5cGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNMb2FkVHlwZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGZpbHRlclRpdGxlITogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBzZXRGaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXNcbiAgPigpO1xuXG4gIEBPdXRwdXQoKSBjbGVhckFsbCA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtc1xuICA+KCk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHB1YmxpYyBpc1NlYXJjaEV4cGFuZGVkITogYm9vbGVhbjtcbiAgcHVibGljIGlzRmlsdGVyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWxlY3RlZFVzZXI6IEFycmF5U3RhdHVzW10gPSBbXTtcbiAgcHVibGljIGlzQXNjZW5kaW5nU29ydE9yZGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGF1dG9DbG9zZUNvbXBvbmVudCE6IFF1ZXJ5TGlzdDxDYUF1dG9jbG9zZVBvcG92ZXJDb21wb25lbnQ+O1xuICBwdWJsaWMgaXNIb3ZlckNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgaXNGaWx0ZXJIb3ZlcmVkT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcmFuZ2VWYWx1ZTogbnVtYmVyID0gMDtcbiAgcHVibGljIGlzQW5pbWF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgcHVibGljIGdldENvbXBvbmVudEluc3RhbmNlKCk6IENhRmlsdGVyQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjaGVja01vdXNlT3ZlckNvbmRpdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FNb25leUZpbHRlcj8uZmlsdGVyQWN0aXZlQXJyYXkubGVuZ3RoID4gMCB8fFxuICAgICAgdGhpcy5jYVBtRmlsdGVyPy5maWx0ZXJBY3RpdmVBcnJheS5sZW5ndGggPiAwIHx8XG4gICAgICB0aGlzLmNhU3RhdHVzRmlsdGVyPy5maWx0ZXJBY3RpdmVBcnJheS5sZW5ndGggPiAwIHx8XG4gICAgICB0aGlzLmNhVHJhaWxlclR5cGVGaWx0ZXI/LmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aCA+IDAgfHxcbiAgICAgIHRoaXMuY2FUcnVja1R5cGVGaWx0ZXI/LmZpbHRlckFjdGl2ZUFycmF5Lmxlbmd0aCA+IDAgfHxcbiAgICAgIHRoaXMuY2FVc2VyRmlsdGVyPy5maWx0ZXJBY3RpdmVBcnJheS5sZW5ndGggPiAwIHx8XG4gICAgICB0aGlzLmNhVGltZUZpbHRlcj8uZmlsdGVyQWN0aXZlVGltZSAhPT0gJycgfHxcbiAgICAgIHRoaXMucmFuZ2VWYWx1ZSA+IDAgfHxcbiAgICAgIHRoaXMuY2FNb25leUZpbHRlcj8udG90YWxGaWx0ZXJzTnVtISA+IDAgfHxcbiAgICAgIHRoaXMuY2FTdGF0ZUZpbHRlcj8udG90YWxGaWx0ZXJzTnVtISA+IDAgfHxcbiAgICAgIHRoaXMuY2FNb25leUZpbHRlcj8ubWF4VmFsdWVTZXQgIT09IHRoaXMuY2FNb25leUZpbHRlci5tYXhWYWx1ZVJhbmdlIHx8XG4gICAgICB0aGlzLmNhTW9uZXlGaWx0ZXI/Lm1pblZhbHVlU2V0ICE9PSB0aGlzLmNhTW9uZXlGaWx0ZXIubWluVmFsdWVSYW5nZSB8fFxuICAgICAgdGhpcy5jYU1vbmV5RmlsdGVyPy5zaW5nbGVGcm9tQWN0aXZlXG4gICAgICA/ICh0aGlzLmlzRmlsdGVySG92ZXJlZE92ZXIgPSB0cnVlKVxuICAgICAgOiAodGhpcy5pc0ZpbHRlckhvdmVyZWRPdmVyID0gZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIG9uRmlsdGVyQ2xvc2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmlzRmlsdGVyQWN0aXZlKSByZXR1cm4gZmFsc2U7XG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgbGV0IG1haW5FbGVtZW50SG9sZGVyO1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVElNRV9GSUxURVIpXG4gICAgICBtYWluRWxlbWVudEhvbGRlciA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoXG4gICAgICAgICcudGltZS1maWx0ZXItaG9sZGVyJyxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICBlbHNlXG4gICAgICBtYWluRWxlbWVudEhvbGRlciA9IHRoaXMucmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoXG4gICAgICAgICcuZmlsdGVyLWhvbGRlcicsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT05FWV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhTW9uZXlGaWx0ZXIpIHRoaXMuY2FNb25leUZpbHRlci5vbkZpbHRlckNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNUQVRVU19GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhU3RhdHVzRmlsdGVyKSB0aGlzLmNhU3RhdHVzRmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVElNRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVGltZUZpbHRlcikgdGhpcy5jYVRpbWVGaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5VU0VSX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FVc2VyRmlsdGVyKSB0aGlzLmNhVXNlckZpbHRlci5vbkZpbHRlckNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNUQVRFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FTdGF0ZUZpbHRlcikgdGhpcy5jYVN0YXRlRmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJVQ0tfVFlQRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyKSB0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJBSUxFUl9UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlcikgdGhpcy5jYVRyYWlsZXJUeXBlRmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uUE1fRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVBtRmlsdGVyKSB0aGlzLmNhUG1GaWx0ZXIub25GaWx0ZXJDbG9zZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5TRVJWSUNFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FQbUZpbHRlcikgdGhpcy5jYVBtRmlsdGVyLm9uRmlsdGVyQ2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIG9uRmlsdGVyU2hvd24oKTogdm9pZCB7XG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5pc0FuaW1hdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0SXRlbXMoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVFVTX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FTdGF0dXNGaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLmNhU3RhdHVzRmlsdGVyLnNvcnRJdGVtcygpO1xuICAgICAgICAgIHRoaXMuaXNBc2NlbmRpbmdTb3J0T3JkZXIgPSB0aGlzLmNhU3RhdHVzRmlsdGVyLmlzQXNjZW5kaW5nU29ydE9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVVzZXJGaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLmNhVXNlckZpbHRlci5zb3J0SXRlbXMoKTtcbiAgICAgICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gdGhpcy5jYVVzZXJGaWx0ZXIuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJVQ0tfVFlQRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyKSB7XG4gICAgICAgICAgdGhpcy5jYVRydWNrVHlwZUZpbHRlci5zb3J0SXRlbXMoKTtcbiAgICAgICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID1cbiAgICAgICAgICAgIHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIuaXNBc2NlbmRpbmdTb3J0T3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJBSUxFUl9UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlcikge1xuICAgICAgICAgIHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlci5zb3J0SXRlbXMoKTtcbiAgICAgICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID1cbiAgICAgICAgICAgIHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlci5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5QTV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhUG1GaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLmNhUG1GaWx0ZXIuc29ydEl0ZW1zKCk7XG4gICAgICAgICAgdGhpcy5pc0FzY2VuZGluZ1NvcnRPcmRlciA9IHRoaXMuY2FQbUZpbHRlci5pc0FzY2VuZGluZ1NvcnRPcmRlcjtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5TRVJWSUNFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FQbUZpbHRlcikge1xuICAgICAgICAgIHRoaXMuY2FQbUZpbHRlci5zb3J0SXRlbXMoKTtcbiAgICAgICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gdGhpcy5jYVBtRmlsdGVyLmlzQXNjZW5kaW5nU29ydE9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmlzQXNjZW5kaW5nU29ydE9yZGVyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dTZWFyY2gobW9kPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG1vZCkge1xuICAgICAgdGhpcy5pc1NlYXJjaEV4cGFuZGVkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNTZWFyY2hFeHBhbmRlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEZpbHRlclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGxldCBmaWx0ZXJSZXN1bHQ6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfCB1bmRlZmluZWQ7XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5NT05FWV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhTW9uZXlGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYU1vbmV5RmlsdGVyLnNldEZpbHRlclZhbHVlKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVFVTX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FTdGF0dXNGaWx0ZXIpXG4gICAgICAgICAgZmlsdGVyUmVzdWx0ID0gdGhpcy5jYVN0YXR1c0ZpbHRlci5zZXRGaWx0ZXJWYWx1ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5USU1FX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUaW1lRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FUaW1lRmlsdGVyLnNldEZpbHRlclZhbHVlKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVVNFUl9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVXNlckZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhVXNlckZpbHRlci5zZXRGaWx0ZXJWYWx1ZShldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNUQVRFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FTdGF0ZUZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhU3RhdGVGaWx0ZXIuc2V0RmlsdGVyVmFsdWUoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJVQ0tfVFlQRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FUcnVja1R5cGVGaWx0ZXIuc2V0RmlsdGVyVmFsdWUoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJBSUxFUl9UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhVHJhaWxlclR5cGVGaWx0ZXIuc2V0RmlsdGVyVmFsdWUoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uUE1fRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVBtRmlsdGVyKSBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhUG1GaWx0ZXIuc2V0RmlsdGVyVmFsdWUoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU0VSVklDRV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhUG1GaWx0ZXIpIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FQbUZpbHRlci5zZXRGaWx0ZXJWYWx1ZSgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc3QgYWN0aW9uID0gRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0uQUNUSU9OX0NMRUFSO1xuICAgICAgICBjb25zdCB0eXBlID0gRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0uVFlQRV9VTktOT1dOO1xuICAgICAgICBjb25zdCBmaWx0ZXJUeXBlID0gRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0uVFlQRV9VTktOT1dOO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGZpbHRlclR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGZpbHRlclJlc3VsdCA9IGRhdGE7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuc2V0RmlsdGVyRW1pdChmaWx0ZXJSZXN1bHQpO1xuICB9XG5cbiAgcHVibGljIHNldEZpbHRlckVtaXQoXG4gICAgZGF0YTogZmlsdGVyT3V0cHV0IHwgZmlsdGVyT3V0cHV0V2l0aFBhcmFtcyB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuc2V0RmlsdGVyLmVtaXQoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsVmFsdWVzKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICBsZXQgZmlsdGVyUmVzdWx0OiBmaWx0ZXJPdXRwdXQgfCBmaWx0ZXJPdXRwdXRXaXRoUGFyYW1zIHwgdW5kZWZpbmVkO1xuXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uTU9ORVlfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYU1vbmV5RmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FNb25leUZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNUQVRVU19GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhU3RhdHVzRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FTdGF0dXNGaWx0ZXIuY2xlYXJBbGwoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5USU1FX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUaW1lRmlsdGVyKSBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhVGltZUZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlVTRVJfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVVzZXJGaWx0ZXIpIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FVc2VyRmlsdGVyLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uU1RBVEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVN0YXRlRmlsdGVyKVxuICAgICAgICAgIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FTdGF0ZUZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlRSVUNLX1RZUEVfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVRydWNrVHlwZUZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhVHJ1Y2tUeXBlRmlsdGVyLmNsZWFyQWxsKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVG9vbGJhckZpbHRlclN0cmluZ0VudW0uVFJBSUxFUl9UWVBFX0ZJTFRFUjpcbiAgICAgICAgaWYgKHRoaXMuY2FUcmFpbGVyVHlwZUZpbHRlcilcbiAgICAgICAgICBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhVHJhaWxlclR5cGVGaWx0ZXIuY2xlYXJBbGwoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUb29sYmFyRmlsdGVyU3RyaW5nRW51bS5QTV9GSUxURVI6XG4gICAgICAgIGlmICh0aGlzLmNhUG1GaWx0ZXIpIGZpbHRlclJlc3VsdCA9IHRoaXMuY2FQbUZpbHRlci5jbGVhckFsbChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlNFUlZJQ0VfRklMVEVSOlxuICAgICAgICBpZiAodGhpcy5jYVBtRmlsdGVyKSBmaWx0ZXJSZXN1bHQgPSB0aGlzLmNhUG1GaWx0ZXIuY2xlYXJBbGwoZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc3QgYWN0aW9uID0gRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0uQUNUSU9OX0NMRUFSO1xuICAgICAgICBjb25zdCB0eXBlID0gRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0uVFlQRV9VTktOT1dOO1xuICAgICAgICBjb25zdCBmaWx0ZXJUeXBlID0gRmlsdGVyQWN0aW9uc1N0cmluZ0VudW0uVFlQRV9VTktOT1dOO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGZpbHRlclR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGZpbHRlclJlc3VsdCA9IGRhdGE7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuY2xlYXJBbGxWYWx1ZXNFbWl0KGZpbHRlclJlc3VsdCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGxWYWx1ZXNFbWl0KFxuICAgIGRhdGE6IGZpbHRlck91dHB1dCB8IGZpbHRlck91dHB1dFdpdGhQYXJhbXMgfCB1bmRlZmluZWRcbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2V0RmlsdGVyKSB7XG4gICAgICB0aGlzLmNsZWFyQWxsLmVtaXQoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFN2Z1BhdGgocHJvcGVydHlOYW1lOiBrZXlvZiB0eXBlb2YgQ2FGaWx0ZXJzU3ZnUm91dGVzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRmlsdGVySGVscGVyLmdldFN2Z1BhdGgocHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInVzZXItaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICBhcHAtY2EtYXV0b2Nsb3NlLXBvcG92ZXJcbiAgW2N1c3RvbUNsYXNzXT1cIidmaWx0ZXJwb3BvdmVybWFpbidcIlxuICBbcGxhY2VtZW50XT1cIidib3R0b20tbGVmdCdcIlxuICBhdXRvQ2xvc2U9XCJvdXRzaWRlXCJcbiAgKGNsb3NlRmlsdGVyKT1cIm9uRmlsdGVyQ2xvc2UoKVwiXG4gIChvcGVuRmlsdGVyKT1cIm9uRmlsdGVyU2hvd24oKVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnYWN0aXZlLW9wdGlvbnMnOiBpc0ZpbHRlckFjdGl2ZSxcbiAgICAnY2xlYXItY29sb3JzJzogaXNIb3ZlckNsb3NlZCxcbiAgfVwiXG4gIChtb3VzZWVudGVyKT1cImNoZWNrTW91c2VPdmVyQ29uZGl0aW9ucygpXCJcbiAgKG1vdXNlbGVhdmUpPVwiaXNGaWx0ZXJIb3ZlcmVkT3ZlciA9IGZhbHNlXCJcbj5cbiAgPGRpdlxuICAgIG1haW5Db250ZW50XG4gICAgbmdiVG9vbHRpcFxuICAgIG1haW5Ub29sdGlwPVwie3tcbiAgICAgICdtYWluVG9vbHRpcCdcbiAgICAgICAgfCBmaWx0ZXJQb3BvdmVyQ29uZGl0aW9uc1BpcGVcbiAgICAgICAgICA6IGdldENvbXBvbmVudEluc3RhbmNlKClcbiAgICAgICAgICA6IGNhTW9uZXlGaWx0ZXJcbiAgICAgICAgICA6IGNhU3RhdHVzRmlsdGVyXG4gICAgICAgICAgOiBjYVVzZXJGaWx0ZXJcbiAgICAgICAgICA6IGNhU3RhdGVGaWx0ZXJcbiAgICAgICAgICA6IGNhVHJ1Y2tUeXBlRmlsdGVyXG4gICAgICAgICAgOiBjYVRyYWlsZXJUeXBlRmlsdGVyXG4gICAgICAgICAgOiBjYVBtRmlsdGVyXG4gICAgfX1cIlxuICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICB0b29sdGlwQmFja2dyb3VuZD1cInt7XG4gICAgICBpc0ZpbHRlckFjdGl2ZSA/ICcjQjdCN0I3JyA6ICFpc0hvdmVyQ2xvc2VkID8gJyMyRjJGMkYnIDogJyMyRjJGMkYnXG4gICAgfX1cIlxuICAgIHRvb2x0aXBDb2xvcj1cInt7IGlzRmlsdGVyQWN0aXZlID8gJyMyRjJGMkYnIDogJyNGRkZGRkYnIH19XCJcbiAgICB0b29sdGlwVGV4dEFsaWduPVwiY2VudGVyXCJcbiAgICBjbGFzcz1cIm1haW4taWNvbi1ob2xkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgPlxuICAgIDxkaXY+XG4gICAgICA8c3ZnLWljb24gW3NyY109XCJpY29uIHwgY2FTdmc6ICdjb21tb24nXCI+PC9zdmctaWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBwb3BvdmVyQ29udGVudCBjbGFzcz1cIm1haW4tcG9wb3Zlci1ib2R5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRGVmRmlsdGVySG9sZGVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtAc2hvd0FuaW1hdGlvbl09XCIhIWlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgY2xhc3M9XCJmaWx0ZXItaG9sZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnRcIlxuICAgICAgICBbY2xhc3Muc3RhdGUtZmlsdGVyXT1cInR5cGUgPT09ICdzdGF0ZUZpbHRlcidcIlxuICAgICAgICBbY2xhc3MuZGVwYXJ0bWVudC1maWx0ZXJdPVwiaGFzTm9MZWZ0SWNvblwiXG4gICAgICAgIFtjbGFzcy5zdGF0dXMtZmlsdGVyXT1cInR5cGUgPT09ICdzdGF0dXNGaWx0ZXInXCJcbiAgICAgICAgW2NsYXNzLnBtLWZpbHRlcl09XCJoYXNMZWZ0U2lkZUljb25cIlxuICAgICAgICBbY2xhc3MudHJ1Y2staWNvbi1ob2xkZXJdPVwiaGFzTGFyZ2VMZWZ0SWNvblwiXG4gICAgICAgIFtjbGFzcy5tb25leS1maWx0ZXJdPVwidHlwZSA9PT0gJ21vbmV5RmlsdGVyJ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZpbHRlci1oZWFkZXIgZmlsdGVyLXRleHQtcGFydCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlSGVhZGVyXT1cIiFpc1NlYXJjaEV4cGFuZGVkXCJcbiAgICAgICAgICBbY2xhc3MuaW5hY3RpdmVIZWFkZXJdPVwiaXNTZWFyY2hFeHBhbmRlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInVzZXItdGl0bGUtdGV4dCBjb3VudGVyLXBhZGQtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmdy1ib2xkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBmaWx0ZXJUaXRsZSB8IHVwcGVyY2FzZSB9fVxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3VzZXJGaWx0ZXInICYmIGNhVXNlckZpbHRlcj8uc2VsZWN0ZWRVc2VyPy5sZW5ndGhcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlci1maWx0ZXItYm94IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmdy1ib2xkIG1zLTFcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgY2FVc2VyRmlsdGVyPy5zZWxlY3RlZFVzZXI/Lmxlbmd0aCB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgdHlwZSAhPT0gJ3N0YXRlRmlsdGVyJyAmJlxuICAgICAgICAgICAgICB0eXBlICE9PSAnc3RhdHVzRmlsdGVyJyAmJlxuICAgICAgICAgICAgICB0eXBlICE9PSAndXNlckZpbHRlcicgJiZcbiAgICAgICAgICAgICAgdHlwZSAhPT0gJ21vbmV5RmlsdGVyJyAmJlxuICAgICAgICAgICAgICB0eXBlICE9PSAndGltZUZpbHRlcidcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInVzZXItZmlsdGVyLWJveCBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZnctYm9sZCBtcy0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgICB8IGZpbHRlckNvbmRpdGlvbnNVc2VyQm94XG4gICAgICAgICAgICAgICAgICAgIDogY2FUcnVja1R5cGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgOiBjYVRyYWlsZXJUeXBlRmlsdGVyXG4gICAgICAgICAgICAgICAgICAgIDogY2FQbUZpbHRlclxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgdHlwZSA9PT0gJ3NlcnZpY2VGaWx0ZXInIHx8XG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3BtRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgIHR5cGUgPT09ICd0cnVja0ZpbHRlcicgfHxcbiAgICAgICAgICAgICAgICB0eXBlID09PSAndHJ1Y2tUeXBlRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgIHR5cGUgPT09ICd0cmFpbGVyVHlwZUZpbHRlcicgfHxcbiAgICAgICAgICAgICAgICB0eXBlID09PSAndHJhaWxlckZpbHRlcicgfHxcbiAgICAgICAgICAgICAgICB0eXBlID09PSAnc3RhdHVzRmlsdGVyJyB8fFxuICAgICAgICAgICAgICAgIHR5cGUgPT09ICd1c2VyRmlsdGVyJztcbiAgICAgICAgICAgICAgZWxzZSB0cnVja0ZpbHRlclxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIChjbGljayk9XCJzb3J0SXRlbXMoKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidXNlci10aXRsZS10ZXh0IHNvcnQtdGV4dCB0YS1mb250LW1lZGl1bSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZ3LWJvbGQganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gJ3N0YXR1c0ZpbHRlcicgfHwgdHlwZSA9PT0gJ3VzZXJGaWx0ZXInXG4gICAgICAgICAgICAgICAgICA/ICdDb3VudCdcbiAgICAgICAgICAgICAgICAgIDogJ05hbWUnXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwic29ydC1hcnJvdyBtcy0xXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mucm90YXRlXT1cIiFpc0FzY2VuZGluZ1NvcnRPcmRlclwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJnZXRTdmdQYXRoKCdzb3J0QXJyb3dTdmdSb3V0ZScpXCJcbiAgICAgICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgJ3dpZHRoLnB4JzogJzE4JyxcbiAgICAgICAgICAgICAgICAgICdoZWlnaHQucHgnOiAnMTgnLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdHJ1Y2tGaWx0ZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKHR5cGUgPT09ICd0cnVja0ZpbHRlcicgfHxcbiAgICAgICAgICAgICAgICAgIHR5cGUgPT09ICd0cnVja1R5cGVGaWx0ZXInIHx8XG4gICAgICAgICAgICAgICAgICB0eXBlID09PSAndHJhaWxlckZpbHRlcicpICYmXG4gICAgICAgICAgICAgICAgICBpc1JlcGFpckZpbHRlcjtcbiAgICAgICAgICAgICAgICBlbHNlIHN0YXRlRmlsdGVyXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic29ydEl0ZW1zKClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlci10aXRsZS10ZXh0IHNvcnQtdGV4dCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZ3LWJvbGQganVzdGlmeS1jb250ZW50LWVuZFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBDb3VudFxuICAgICAgICAgICAgICAgIDxzdmctaWNvbiBbc3JjXT1cImdldFN2Z1BhdGgoJ3NvcnRBcnJvd1N2Z1JvdXRlJylcIj48L3N2Zy1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGF0ZUZpbHRlcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnc3RhdGVGaWx0ZXInOyBlbHNlIHNlYXJjaFN0YXRlXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXItZmlsdGVyLWJveCBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZnctYm9sZCBtcy0xXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAoY2FTdGF0ZUZpbHRlcj8uY2FuYWRhU2VsZWN0ZWRTdGF0ZXMpIS5sZW5ndGggK1xuICAgICAgICAgICAgICAgICAgICAoY2FTdGF0ZUZpbHRlcj8udXNhU2VsZWN0ZWRTdGF0ZXMpIS5sZW5ndGhcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZWFyY2hTdGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VhcmNoU3RhdGVcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWljb24taG9sZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dTZWFyY2goKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnLWljb24gW3NyY109XCJnZXRTdmdQYXRoKCdzZWFyY2hJY29uUm91dGUnKVwiPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItYm9keS1ob2xkZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgICAgICA8YXBwLWNhLW1vbmV5LWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ21vbmV5RmlsdGVyJ1wiXG4gICAgICAgICAgICAgIChzZXRGaWx0ZXIpPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFttb25leUZpbHRlcl09XCJpc01vbmV5RmlsdGVyXCJcbiAgICAgICAgICAgICAgW2Z1ZWxUeXBlXT1cImlzRnVlbFR5cGVcIlxuICAgICAgICAgICAgICBbbG9hZFR5cGVdPVwiaXNMb2FkVHlwZVwiXG4gICAgICAgICAgICAgIFtzdWJUeXBlXT1cInN1YlR5cGVcIlxuICAgICAgICAgICAgICBbaXNGaWx0ZXJBY3RpdmVdPVwiaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxhcHAtY2Etc3RhdHVzLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3N0YXR1c0ZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgW2xvYWRTdGF0dXNPcHRpb25zQXJyYXldPVwibG9hZFN0YXR1c09wdGlvbnNBcnJheVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS10aW1lLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RpbWVGaWx0ZXInXCJcbiAgICAgICAgICAgICAgKHNldEZpbHRlcik9XCJzZXRGaWx0ZXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgIFtpc0ZpbHRlckFjdGl2ZV09XCJpc0ZpbHRlckFjdGl2ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS11c2VyLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXJGaWx0ZXInXCJcbiAgICAgICAgICAgICAgKHNldEZpbHRlcik9XCJzZXRGaWx0ZXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgIFtpc0ZpbHRlckFjdGl2ZV09XCJpc0ZpbHRlckFjdGl2ZVwiXG4gICAgICAgICAgICAgIFt1bnNlbGVjdGVkVXNlcl09XCJ1bnNlbGVjdGVkVXNlclwiXG4gICAgICAgICAgICAgIFtpc1NlYXJjaEV4cGFuZGVkXT1cImlzU2VhcmNoRXhwYW5kZWRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxhcHAtY2Etc3RhdGUtZmlsdGVyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RhdGVGaWx0ZXInXCJcbiAgICAgICAgICAgICAgKHNldEZpbHRlcik9XCJzZXRGaWx0ZXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgIFtpc0ZpbHRlckFjdGl2ZV09XCJpc0ZpbHRlckFjdGl2ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS10cnVjay10eXBlLWZpbHRlclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RydWNrVHlwZUZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgW3RydWNrVHlwZUFycmF5XT1cInRydWNrVHlwZUFycmF5XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8YXBwLWNhLXRyYWlsZXItdHlwZS1maWx0ZXJcbiAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIid0cmFpbGVyVHlwZUZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgW3RyYWlsZXJUeXBlQXJyYXldPVwidHJhaWxlclR5cGVBcnJheVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS1wbS1maWx0ZXJcbiAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidwbUZpbHRlcidcIlxuICAgICAgICAgICAgICAoc2V0RmlsdGVyKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgW2lzRmlsdGVyQWN0aXZlXT1cImlzRmlsdGVyQWN0aXZlXCJcbiAgICAgICAgICAgICAgW3BtRmlsdGVyQXJyYXldPVwicG1GaWx0ZXJBcnJheVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGFwcC1jYS1wbS1maWx0ZXJcbiAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzZXJ2aWNlRmlsdGVyJ1wiXG4gICAgICAgICAgICAgIChzZXRGaWx0ZXIpPVwic2V0RmlsdGVyVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgICBbaXNGaWx0ZXJBY3RpdmVdPVwiaXNGaWx0ZXJBY3RpdmVcIlxuICAgICAgICAgICAgICBbcG1GaWx0ZXJBcnJheV09XCJwbUZpbHRlckFycmF5XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJidXR0b25zLWhvbGRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhckFsbFZhbHVlcygkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9uLWNsZWFyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmdy1ib2xkXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICB8IGZpbHRlckNvbmRpdGlvbnNDbGVhclxuICAgICAgICAgICAgICAgICAgOiBjYU1vbmV5RmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhU3RhdHVzRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhVGltZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVVzZXJGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FTdGF0ZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVRydWNrVHlwZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVRyYWlsZXJUeXBlRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhUG1GaWx0ZXJcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQ2xlYXIgQWxsXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKGNsaWNrKT1cInNldEZpbHRlclZhbHVlKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tc2V0IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmdy1ib2xkXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICB8IGZpbHRlckNvbmRpdGlvbnNTZXRcbiAgICAgICAgICAgICAgICAgIDogY2FNb25leUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVN0YXR1c0ZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVRpbWVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FVc2VyRmlsdGVyXG4gICAgICAgICAgICAgICAgICA6IGNhU3RhdGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FUcnVja1R5cGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAgIDogY2FUcmFpbGVyVHlwZUZpbHRlclxuICAgICAgICAgICAgICAgICAgOiBjYVBtRmlsdGVyXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIFNldFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19