ca-components 1.7.1 → 1.7.2

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.
@@ -270,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
270
270
  type: Output,
271
271
  args: ['dropDownKeyNavigation']
272
272
  }] } });
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJeEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHM0QsUUFBUTtBQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFDSCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixjQUFjLEVBQ2Qsa0NBQWtDLEVBQ2xDLDZCQUE2QixFQUM3QixhQUFhLEVBQ2IsY0FBYyxFQUNkLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNyQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQ0gsU0FBUyxFQUNU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WUFBWTtnQkFFRixXQUFXO3NCQUE1QixNQUFNO3VCQUFDLFFBQVE7Z0JBRVEsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUVMLGVBQWU7c0JBQS9CLE1BQU07dUJBQUMsT0FBTztnQkFJYSxxQkFBcUI7c0JBQWhELE1BQU07dUJBQUMsa0JBQWtCO2dCQUVPLDBCQUEwQjtzQkFBMUQsTUFBTTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5nQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBJbnB1dENoYW5nZVZhbHVlLCBJbnB1dFN2Z1JvdXRlcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQ29tbWFuZHNFdmVudCwgTGFiZWxDb2xvciB9IGZyb20gJy4vbW9kZWxzJztcblxuLy8gZW11bXNcbmltcG9ydCB7IElucHV0Q29tbWFuZHNUeXBlLCBJbnB1dFN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2VudW1zJztcblxuLy8gcGlwZXNcbmltcG9ydCB7XG4gICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgSW5wdXRDb250YWluZXJDbGFzc1BpcGUsXG4gICAgSW5wdXREcm9wZG93bkFycm93Q2xhc3NQaXBlLFxuICAgIElucHV0RXJyb3JQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1BpcGUsXG4gICAgSW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1BpcGUsXG4gICAgSW5wdXRUeXBlUGlwZSxcbiAgICBMYWJlbENsYXNzUGlwZSxcbiAgICBTaG93Q2xlYXJQaXBlLFxuICAgIFNob3dEcm9wZG93bkFycm93UGlwZSxcbiAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICBTaG93VmFsaWRDaGVja1BpcGUsXG59IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHtcbiAgICBDYVN2Z1BpcGUsXG4gICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBUaG91c2FuZFNlcGFyYXRvclBpcGUsXG59IGZyb20gJy4uLy4uL3BpcGVzJztcblxuLy8gbWFza1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IE5neE1hc2tTZXJ2aWNlIH0gZnJvbSAnbmd4LW1hc2snO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtcGFzc3dvcmQvY2EtaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRQbGFjZWhvbGRlckljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q2xlYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY2xlYXIvY2EtaW5wdXQtY2xlYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRDb21tYW5kc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1jb21tYW5kcy9jYS1pbnB1dC1jb21tYW5kcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2Etc3Bpbm5lci9jYS1zcGlubmVyLmNvbXBvbmVudCc7XG5cbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7IENhcHNMb2NrRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFJlc3RyaWN0SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHJpY2VGb3JtYXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29tbWFuZFZpc2libGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29tbWFuZC12aXNpYmxlLmRpcmVjdGl2ZSc7XG5cbi8vIGNsYXNzXG5pbXBvcnQgeyBFdmVudElucHV0TWFuYWdlciB9IGZyb20gJy4vYmFzZS1jbGFzc2VzL2NhLWlucHV0LWV2ZW50LW1hbmFnZXInO1xuXG4vLyBtaXhpbnNcbmltcG9ydCB7IElucHV0Q29tbWFuZE1peGluIH0gZnJvbSAnLi9taXhpbnMvaW5wdXQtY29tbWFuZC5taXhpbic7XG5pbXBvcnQgeyBJbnB1dEhlbHBlck1peGluIH0gZnJvbSAnLi9taXhpbnMvaW5wdXQtaGVscGVyLm1peGluJztcbmltcG9ydCB7IE9wdGlvbk1vZGVsIH0gZnJvbSAnLi4vY2EtaW5wdXQtZHJvcGRvd24vbW9kZWxzJztcblxuY2xhc3MgSW5wdXRCYXNlIHtcbiAgICBwdWJsaWMgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgICBwdWJsaWMgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG4gICAgcHVibGljIGlzVmlzaWJsZUNvbW1hbmRzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIG1hc2tBcHBsaWVyITogTmd4TWFza1NlcnZpY2U7XG4gICAgcHVibGljIHRob3VzYW5kU2VwYXJhdG9yUGlwZSE6IFRob3VzYW5kU2VwYXJhdG9yUGlwZTtcbiAgICBwdWJsaWMgaXNGb2N1c0lucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRWRpdElucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRHJvcGRvd25Ub2dnbGVyOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzVG91Y2hlZElucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNldENvbW1hbmRFdmVudCE6IEV2ZW50SW5wdXRNYW5hZ2VyPENvbW1hbmRzRXZlbnQ+O1xuXG4gICAgcHVibGljIGhhbmRsZVRvZ2dsZURyb3Bkb3duT3B0aW9ucyE6IEV2ZW50RW1pdHRlcjx2b2lkPjtcblxuICAgIHB1YmxpYyBvblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgICBwdWJsaWMgb25DaGFuZ2UoXzogYW55KTogdm9pZCB7fVxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2woXzogSW5wdXRDaGFuZ2VWYWx1ZSk6IHZvaWQge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYS1pbnB1dC10ZXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gTW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE5nYk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIE5neE1hc2tNb2R1bGUsXG5cbiAgICAgICAgLy8gUGlwZXNcbiAgICAgICAgSW5wdXRFcnJvclBpcGUsXG4gICAgICAgIElucHV0Q29udGFpbmVyQ2xhc3NQaXBlLFxuICAgICAgICBJbnB1dENsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1BpcGUsXG4gICAgICAgIFNob3dQbGFjZWhvbGRlclRleHRQaXBlLFxuICAgICAgICBMYWJlbENsYXNzUGlwZSxcbiAgICAgICAgQ2FTdmdQaXBlLFxuICAgICAgICBMb2FkU3RhdHVzQ29sb3JQaXBlLFxuICAgICAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgICAgICBNYXhWYWx1ZURpcmVjdGl2ZSxcbiAgICAgICAgSW5wdXRUeXBlUGlwZSxcbiAgICAgICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxuICAgICAgICBTaG93RHJvcGRvd25BcnJvd1BpcGUsXG4gICAgICAgIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcblxuICAgICAgICAvLyBEaXJlY3RpdmVzXG4gICAgICAgIFJlc3RyaWN0SW5wdXREaXJlY3RpdmUsXG4gICAgICAgIFByaWNlRm9ybWF0RGlyZWN0aXZlLFxuICAgICAgICBTaG93Q2xlYXJQaXBlLFxuICAgICAgICBDYXBzTG9ja0RpcmVjdGl2ZSxcbiAgICAgICAgQ29tbWFuZFZpc2libGVEaXJlY3RpdmUsXG5cbiAgICAgICAgLy8gQ29tcG9uZW50c1xuICAgICAgICBDYUlucHV0Q2xlYXJDb21wb25lbnQsXG4gICAgICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQsXG4gICAgICAgIENhSW5wdXRDb21tYW5kc0NvbXBvbmVudCxcbiAgICAgICAgQ2FTcGlubmVyQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRlc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRlc3RDb21wb25lbnRcbiAgICBleHRlbmRzIElucHV0Q29tbWFuZE1peGluKElucHV0SGVscGVyTWl4aW4oSW5wdXRCYXNlKSlcbiAgICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XG57XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgb3ZlcnJpZGUgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG5cbiAgICBwdWJsaWMgaW5wdXRTdmdSb3V0ZXMgPSBJbnB1dFN2Z1JvdXRlcztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcnJpZGUgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIHBhcmVudENvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGluY29ycmVjdFZhbHVlITogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXQgaW5wdXRDb25maWcoY29uZmlnOiBJQ2FJbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dENvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhY3RpdmVJdGVtITogT3B0aW9uTW9kZWwgfCBudWxsO1xuXG4gICAgQE91dHB1dCgnaGFuZGxlVG9nZ2xlRHJvcGRvd25PcHRpb25zJylcbiAgICBvdmVycmlkZSBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoJ2JsdXJJbnB1dCcpIGJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoJ2ZvY3VzSW5wdXQnKSBmb2N1c0lucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VJbnB1dDogRXZlbnRFbWl0dGVyPElucHV0Q2hhbmdlVmFsdWU+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICAgIEBPdXRwdXQoJ2NvbW1hbmRFdmVudCcpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPENvbW1hbmRzRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICAgIEBPdXRwdXQoJ2NsZWFyJykgY2xlYXJJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvLyBEcm9wZG93blxuICAgIEBPdXRwdXQoJ3Nob3dIaWRlRHJvcGRvd24nKSBzaG93SGlkZURyb3Bkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCdkcm9wRG93bktleU5hdmlnYXRpb24nKSBkcm9wRG93bktleU5hdmlnYXRpb25FdmVudDogRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4oKTtcblxuICAgIC8vIGV2ZW50c1xuICAgIHB1YmxpYyBvdmVycmlkZSBzZXRDb21tYW5kRXZlbnQgPSBuZXcgRXZlbnRJbnB1dE1hbmFnZXI8Q29tbWFuZHNFdmVudD4oXG4gICAgICAgIG51bGwsXG4gICAgICAgIHRoaXMuY29tbWFuZEV2ZW50XG4gICAgKTtcblxuICAgIHB1YmxpYyBpc0NhcHNMb2NrT24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbnB1dENvbW1hbmRzVHlwZSA9IElucHV0Q29tbWFuZHNUeXBlO1xuICAgIHB1YmxpYyBpbnB1dFN0cmluZ0VudW0gPSBJbnB1dFN0cmluZ0VudW07XG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICAgIC8vIFBhc3N3b3JkXG4gICAgcHVibGljIGlzVG9nZ2xlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dENvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHB1YmxpYyBjaGRldDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSB0aG91c2FuZFNlcGFyYXRvclBpcGU6IFRob3VzYW5kU2VwYXJhdG9yUGlwZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnB1dENvbmZpZy5hdXRvRm9jdXMpXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWxpZGF0b3JzKHRoaXMucGFyZW50Q29udHJvbC52YWxpZGF0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5jb250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBJbnB1dENoYW5nZVZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZSh0aGlzLl9pbnB1dENvbmZpZywgb2JqKTsgLy8g4pyFIEFwcGx5IG1hc2tcblxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7IC8vIE5vdGlmeSBBbmd1bGFyIGZvcm0gYWJvdXQgdGhlIGNoYW5nZVxuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5faW5wdXRDb25maWcudXBkYXRlQXNUb3VjaGVkT25FZGl0KSB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcblxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmlzRHJvcGRvd24gJiYgIXRoaXMuX2lucHV0Q29uZmlnLmlzQWRkcmVzcylcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmNoZGV0LmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIGlmICh2YWx1ZSkgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcklucHV0RXZlbnQuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHZhbHVlOiBJbnB1dENoYW5nZVZhbHVlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmlzRHJvcGRvd24gJiYgIXRoaXMuX2lucHV0Q29uZmlnLmlzQWRkcmVzcykge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgLy8gVHJpZ2dlciBhbGwgaW5wdXRzIGRpcmVjdGl2ZXMgdGhhdCBsaXN0ZW4gZm9yIGlucHV0IEV2ZW50XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0RXZlbnQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRCbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuYmx1cklucHV0LmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlclNob3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJIaWRkZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZVBhc3N3b3JkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmlzVG9nZ2xlUGFzc3dvcmQgPSAhdGhpcy5pc1RvZ2dsZVBhc3N3b3JkO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDYXBzTG9jayhzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0NhcHNMb2NrT24gPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNvbW1hbmRWaXNpYmxlKHN0YXR1czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZUNvbW1hbmRzID0gc3RhdHVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBpZGVudGlmeShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZHJvcERvd25LZXlOYXZpZ2F0aW9uRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBrZXlDb2RlOiBldmVudC5rZXlDb2RlLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5pbnB1dENvbmZpZyxcbiAgICAgICAgfSk7XG4gICAgfVxufSIsIjxkaXZcbiAgICBjbGFzcz1cImlucHV0LWN1c3RvbS1ncm91cCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICBjb250cm9sXG4gICAgICAgICAgICB8IGlucHV0Q29udGFpbmVyQ2xhc3NcbiAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICBcIlxuICAgIG5nYlRvb2x0aXBcbiAgICBbbWFpbkNhVG9vbHRpcF09XCJjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZVwiXG4gICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjREYzQzNDJ1wiXG4gICAgW2Rpc2FibGVUb29sdGlwXT1cIiFfaW5wdXRDb25maWcucmVxdWlyZWRMYWJlbCB8fCAhIWNvbnRyb2w/LnZhbGlkXCJcbiAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgdHJpZ2dlcnM9XCJob3ZlclwiXG4+XG4gICAgPCEtLSBJbnB1dCBMb2FkaW5nIHNwaW5uZXIgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWc/LmxvYWRpbmdTcGlubmVyPy5pc0xvYWRpbmcgJiYgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1sb2FkaW5nLXNwaW5uZXJcIj5cbiAgICAgICAgICAgIDxhcHAtY2Etc3Bpbm5lclxuICAgICAgICAgICAgICAgIFtzaXplXT1cIl9pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcj8uc2l6ZVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIl9pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcj8uY29sb3JcIlxuICAgICAgICAgICAgPjwvYXBwLWNhLXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgQ29tbWFuZHMgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcuY29tbWFuZHM/LmFjdGl2ZSAmJiBpc1Zpc2libGVDb21tYW5kcykge1xuICAgICAgICA8YXBwLWNhLWlucHV0LWNvbW1hbmRzXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1Zpc2libGVDb21tYW5kc109XCJpc1Zpc2libGVDb21tYW5kc1wiXG4gICAgICAgICAgICAob25Db21tYW5kc0NsaWNrKT1cIm9uQ29tbWFuZHMoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtY29tbWFuZHM+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgVmFsaWQgQ2hlY2sgLS0+XG4gICAgQGlmIChcbiAgICAgICAgY29udHJvbCB8IHNob3dWYWxpZENoZWNrOiBpc0ZvY3VzSW5wdXQgOiBfaW5wdXRDb25maWcgOiBjb250cm9sPy52YWx1ZVxuICAgICkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtcmVxdWlyZWQtY2hlY2sge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuY29uZmlybVN2Z1wiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIH1cbiAgICA8IS0tIElucHV0IFBhc3N3b3JkIENhcHMgTG9jayBBbmQgRXllIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnR5cGUgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1wYXNzd29yZFxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImlzVG91Y2hlZElucHV0XCJcbiAgICAgICAgICAgIFtpc0NhcHNMb2NrT25dPVwiaXNDYXBzTG9ja09uXCJcbiAgICAgICAgICAgIFtpc1RvZ2dsZVBhc3N3b3JkXT1cImlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgICAgICAgKG9uVG9nZ2xlUGFzc3dvcmRDbGljayk9XCJvblRvZ2dsZVBhc3N3b3JkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBhc3N3b3JkPlxuICAgIH1cbiAgICA8IS0tIElucHV0IENsZWFyIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnIHwgc2hvd0NsZWFyKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtY2xlYXJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpbmNvcnJlY3RWYWx1ZV09XCJpbmNvcnJlY3RWYWx1ZVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgICAgICAgIChjbGVhcklucHV0Q2xpY2spPVwiY2xlYXJJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1jbGVhcj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IERyb3Bkb3duIEFycm93IC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnIHwgc2hvd0Ryb3Bkb3duQXJyb3cpIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWRyb3Bkb3duLWFycm93IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXREcm9wZG93bkFycm93Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzcmNdPVwiaW5wdXRTdmdSb3V0ZXMuaW5wdXREcm9wZG93bkFycm93U3ZnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bk9wdGlvbnMoKVwiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgUGxhY2Vob2xkZXIgSWNvbiAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb24pIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiY29udHJvbD8udG91Y2hlZCFcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFtpc0VkaXRJbnB1dF09XCJpc0VkaXRJbnB1dFwiXG4gICAgICAgICAgICAob25QbGFjZWhvbGRlckljb25FdmVudEVtaXR0ZXIpPVwib25QbGFjZWhvbGRlckljb25FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblBvcG92ZXJTaG93bkVtaXR0ZXIpPVwib25Qb3BvdmVyU2hvd24oKVwiXG4gICAgICAgICAgICAob25Qb3BvdmVySGlkZGVuRW1pdHRlcik9XCJvblBvcG92ZXJIaWRkZW4oKVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIFRleHQgLS0+XG4gICAgQGlmIChcbiAgICAgICAgX2lucHV0Q29uZmlnXG4gICAgICAgICAgICB8IHNob3dQbGFjZWhvbGRlclRleHQ6IGNvbnRyb2wgOiBpc1Zpc2libGVDb21tYW5kcyA6IGNvbnRyb2w/LnZhbHVlXG4gICAgKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImNhLXBsYWNlaG9sZGVyLXRleHQge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUubGVmdF09XCJcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uUEVSU09OUyB8fFxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0U3RyaW5nRW51bS5WRUhJQ0xFU1xuICAgICAgICAgICAgICAgICAgICA/IDMwICsgKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDkgKyAncHgnXG4gICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgICAgICAgOiAoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDEpICogOCArICdweCdcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3R5bGUucmlnaHRdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgICAgICAgICAgID8gJzI4cHgnXG4gICAgICAgICAgICAgICAgICAgIDogJ2F1dG8nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IExhYmVsIENvdW50ZXIgLS0+XG4gICAgQGlmIChcbiAgICAgICAgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IgJiZcbiAgICAgICAgY29udHJvbD8udmFsdWUgJiZcbiAgICAgICAgIWlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQgJiZcbiAgICAgICAgX2lucHV0Q29uZmlnLnNob3dDb3VudFxuICAgICkge1xuICAgICAgICA8cFxuICAgICAgICAgICAgW3N0eWxlLnRvcF09XCInNHB4J1wiXG4gICAgICAgICAgICBbc3R5bGUubGVmdF09XCIoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDYuNSkgKiA4ICsgJ3B4J1wiXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWxhYmVsLWNvdW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvci5jb3VudCB9fVxuICAgICAgICA8L3A+XG4gICAgfVxuXG4gICAgPCEtLSBTcGVjaWFsIERyb3Bkb3duIFNlbGVjdGVkIFNWRyB3aXRoIG9yIFdpdGhvdXQgVGV4dCAtLT5cbiAgICBAaWYgKFxuICAgICAgICBfaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8uaWNvbnNQYXRoICYmXG4gICAgICAgIGFjdGl2ZUl0ZW0gJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZz8uaGlkZUFsbEl0ZW1zSW5JbnB1dERyb3Bkb3duICYmXG4gICAgICAgICEoIV9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LndpdGhUZXh0ICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgICAgIShcbiAgICAgICAgICAgIFsndHJ1Y2snLCAndHJhaWxlciddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnRlbXBsYXRlIVxuICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5yZW1vdmVcbiAgICAgICAgKSAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lm5hbWVJbml0aWFsc0luc3RlYWRVcmxcbiAgICApIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBbc3JjXT1cIl9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/Lmljb25zUGF0aCFcIlxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1zZWxlY3RlZC1pbWFnZSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNsYXNzXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3Vuc2V0LWNvbG9yJzpcbiAgICAgICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0ICYmIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNsYXNzLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgIGZpbGw6XG4gICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNvbG9yICYmICFpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJyNmZmZmZmYnLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IExhYmVsIC0tPlxuICAgIEBpZiAoIV9pbnB1dENvbmZpZy5tdWx0aVNlbGVjdERyb3Bkb3duQWN0aXZlKSB7XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgW2Zvcl09XCJfaW5wdXRDb25maWcubmFtZVwiXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LWxhYmVsIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5jdXN0b21DbGFzc1xuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfCBsYWJlbENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IF9pbnB1dENvbmZpZy5sYWJlbCB9fSA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzIVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdtdWx0aXBsZS1sYWJlbHMtcG9zaXRpb24tb24tZm9jdXMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuaXNSZXF1aXJlZCAmJiAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCBvZiBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbcmVzdHJpY3RJbnB1dF09XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIHByaWNlRm9ybWF0XG4gICAgICAgIFtwcmljZVNlcGFyYXRvcl09XCJcbiAgICAgICAgICAgIGlucHV0Q29uZmlnLnByaWNlU2VwYXJhdG9yIHx8IGlucHV0Q29uZmlnLnRob3VzYW5kU2VwYXJhdG9yXG4gICAgICAgIFwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJoYW5kbGVJbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkT25seV09XCJfaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbdHlwZV09XCJfaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRUcmFuc2Zvcm0gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVxuICAgICAgICBcIlxuICAgICAgICBbYXBwTWF4VmFsdWVdPVwiaW5wdXRDb25maWcubWF4XCJcbiAgICAgICAgYXBwQ2Fwc0xvY2tcbiAgICAgICAgKGNhcHNMb2NrU3RhdHVzKT1cImhhbmRsZUNhcHNMb2NrKCRldmVudClcIlxuICAgICAgICBjb21tYW5kVmlzaWJsZVxuICAgICAgICAoY29tbWFuZFZpc2libGUpPVwiaGFuZGxlQ29tbWFuZFZpc2libGUoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJbnN0ZWFkT2ZMYWJlbCAmJlxuICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA/IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyICYmIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgXCJcbiAgICAgICAgW21hc2tdPVwiX2lucHV0Q29uZmlnLm1hc2tcIlxuICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgICAgICB8IGlucHV0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICA6IGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICAgICAgICAgIDogaXNEcm9wZG93blRvZ2dsZXJcbiAgICAgICAgICAgICAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IHRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgLz5cblxuICAgIDwhLS0gUGxhY2Vob2xkZXIgSWNvbiBvbiBSaWdodCBTaWRlIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZSkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXItaWNvbi1yaWdodC1zaWRlIHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbkNvbG9yXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25SaWdodFNpZGUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICB8IGNhU3ZnOiAnY29tbW9uJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBFcnJvciBNZXNzYWdlIC0tPlxuICAgIEBpZiAoXG4gICAgICAgICEoIWNvbnRyb2w/LnZhbHVlICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgICAgKGlzVG91Y2hlZElucHV0IHx8IGNvbnRyb2w/LnRvdWNoZWQgfHwgY29udHJvbD8udmFsdWUpICYmXG4gICAgICAgIGNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0ludmFsaWRTZWFyY2hJbkRyb3Bkb3duICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZFxuICAgICkge1xuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgIShfaW5wdXRDb25maWcuaGlkZUVycm9yTWVzc2FnZSB8fCBfaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWVycm9yIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVycm9yIE1lc3NhZ2UgSW5zaWRlIElucHV0IC0tPlxuICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWluc2lkZS1pbnB1dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyICYmIGlucHV0LnZhbHVlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZml4ZWQtcGxhY2Vob2Rlci1sYWJlbFwiPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9kaXY+XG4iXX0=
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJeEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHM0QsUUFBUTtBQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsUUFBUTtBQUNSLE9BQU8sRUFDSCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixjQUFjLEVBQ2Qsa0NBQWtDLEVBQ2xDLDZCQUE2QixFQUM3QixhQUFhLEVBQ2IsY0FBYyxFQUNkLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNyQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQ0gsU0FBUyxFQUNU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WUFBWTtnQkFFRixXQUFXO3NCQUE1QixNQUFNO3VCQUFDLFFBQVE7Z0JBRVEsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUVMLGVBQWU7c0JBQS9CLE1BQU07dUJBQUMsT0FBTztnQkFJYSxxQkFBcUI7c0JBQWhELE1BQU07dUJBQUMsa0JBQWtCO2dCQUVPLDBCQUEwQjtzQkFBMUQsTUFBTTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5nQ29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBJbnB1dENoYW5nZVZhbHVlLCBJbnB1dFN2Z1JvdXRlcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQ29tbWFuZHNFdmVudCwgTGFiZWxDb2xvciB9IGZyb20gJy4vbW9kZWxzJztcblxuLy8gZW11bXNcbmltcG9ydCB7IElucHV0Q29tbWFuZHNUeXBlLCBJbnB1dFN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2VudW1zJztcblxuLy8gcGlwZXNcbmltcG9ydCB7XG4gICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgSW5wdXRDb250YWluZXJDbGFzc1BpcGUsXG4gICAgSW5wdXREcm9wZG93bkFycm93Q2xhc3NQaXBlLFxuICAgIElucHV0RXJyb3JQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1BpcGUsXG4gICAgSW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1BpcGUsXG4gICAgSW5wdXRUeXBlUGlwZSxcbiAgICBMYWJlbENsYXNzUGlwZSxcbiAgICBTaG93Q2xlYXJQaXBlLFxuICAgIFNob3dEcm9wZG93bkFycm93UGlwZSxcbiAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICBTaG93VmFsaWRDaGVja1BpcGUsXG59IGZyb20gJy4vcGlwZXMnO1xuaW1wb3J0IHtcbiAgICBDYVN2Z1BpcGUsXG4gICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICBUaG91c2FuZFNlcGFyYXRvclBpcGUsXG59IGZyb20gJy4uLy4uL3BpcGVzJztcblxuLy8gbWFza1xuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcbmltcG9ydCB7IE5neE1hc2tTZXJ2aWNlIH0gZnJvbSAnbmd4LW1hc2snO1xuXG4vLyBjb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtcGFzc3dvcmQvY2EtaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRQbGFjZWhvbGRlckljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi9jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q2xlYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY2xlYXIvY2EtaW5wdXQtY2xlYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXRDb21tYW5kc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1pbnB1dC1jb21tYW5kcy9jYS1pbnB1dC1jb21tYW5kcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2Etc3Bpbm5lci9jYS1zcGlubmVyLmNvbXBvbmVudCc7XG5cbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7IENhcHNMb2NrRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1heFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFJlc3RyaWN0SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHJpY2VGb3JtYXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ29tbWFuZFZpc2libGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29tbWFuZC12aXNpYmxlLmRpcmVjdGl2ZSc7XG5cbi8vIGNsYXNzXG5pbXBvcnQgeyBFdmVudElucHV0TWFuYWdlciB9IGZyb20gJy4vYmFzZS1jbGFzc2VzL2NhLWlucHV0LWV2ZW50LW1hbmFnZXInO1xuXG4vLyBtaXhpbnNcbmltcG9ydCB7IElucHV0Q29tbWFuZE1peGluIH0gZnJvbSAnLi9taXhpbnMvaW5wdXQtY29tbWFuZC5taXhpbic7XG5pbXBvcnQgeyBJbnB1dEhlbHBlck1peGluIH0gZnJvbSAnLi9taXhpbnMvaW5wdXQtaGVscGVyLm1peGluJztcbmltcG9ydCB7IE9wdGlvbk1vZGVsIH0gZnJvbSAnLi4vY2EtaW5wdXQtZHJvcGRvd24vbW9kZWxzJztcblxuY2xhc3MgSW5wdXRCYXNlIHtcbiAgICBwdWJsaWMgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgICBwdWJsaWMgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG4gICAgcHVibGljIGlzVmlzaWJsZUNvbW1hbmRzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIG1hc2tBcHBsaWVyITogTmd4TWFza1NlcnZpY2U7XG4gICAgcHVibGljIHRob3VzYW5kU2VwYXJhdG9yUGlwZSE6IFRob3VzYW5kU2VwYXJhdG9yUGlwZTtcbiAgICBwdWJsaWMgaXNGb2N1c0lucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRWRpdElucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRHJvcGRvd25Ub2dnbGVyOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzVG91Y2hlZElucHV0OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNldENvbW1hbmRFdmVudCE6IEV2ZW50SW5wdXRNYW5hZ2VyPENvbW1hbmRzRXZlbnQ+O1xuXG4gICAgcHVibGljIGhhbmRsZVRvZ2dsZURyb3Bkb3duT3B0aW9ucyE6IEV2ZW50RW1pdHRlcjx2b2lkPjtcblxuICAgIHB1YmxpYyBvblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgICBwdWJsaWMgb25DaGFuZ2UoXzogYW55KTogdm9pZCB7fVxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2woXzogSW5wdXRDaGFuZ2VWYWx1ZSk6IHZvaWQge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYS1pbnB1dC10ZXN0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gTW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE5nYk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIE5neE1hc2tNb2R1bGUsXG5cbiAgICAgICAgLy8gUGlwZXNcbiAgICAgICAgSW5wdXRFcnJvclBpcGUsXG4gICAgICAgIElucHV0Q29udGFpbmVyQ2xhc3NQaXBlLFxuICAgICAgICBJbnB1dENsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1BpcGUsXG4gICAgICAgIFNob3dQbGFjZWhvbGRlclRleHRQaXBlLFxuICAgICAgICBMYWJlbENsYXNzUGlwZSxcbiAgICAgICAgQ2FTdmdQaXBlLFxuICAgICAgICBMb2FkU3RhdHVzQ29sb3JQaXBlLFxuICAgICAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgICAgICBNYXhWYWx1ZURpcmVjdGl2ZSxcbiAgICAgICAgSW5wdXRUeXBlUGlwZSxcbiAgICAgICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxuICAgICAgICBTaG93RHJvcGRvd25BcnJvd1BpcGUsXG4gICAgICAgIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcblxuICAgICAgICAvLyBEaXJlY3RpdmVzXG4gICAgICAgIFJlc3RyaWN0SW5wdXREaXJlY3RpdmUsXG4gICAgICAgIFByaWNlRm9ybWF0RGlyZWN0aXZlLFxuICAgICAgICBTaG93Q2xlYXJQaXBlLFxuICAgICAgICBDYXBzTG9ja0RpcmVjdGl2ZSxcbiAgICAgICAgQ29tbWFuZFZpc2libGVEaXJlY3RpdmUsXG5cbiAgICAgICAgLy8gQ29tcG9uZW50c1xuICAgICAgICBDYUlucHV0Q2xlYXJDb21wb25lbnQsXG4gICAgICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0UGFzc3dvcmRDb21wb25lbnQsXG4gICAgICAgIENhSW5wdXRDb21tYW5kc0NvbXBvbmVudCxcbiAgICAgICAgQ2FTcGlubmVyQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXRlc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRlc3RDb21wb25lbnRcbiAgICBleHRlbmRzIElucHV0Q29tbWFuZE1peGluKElucHV0SGVscGVyTWl4aW4oSW5wdXRCYXNlKSlcbiAgICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XG57XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgb3ZlcnJpZGUgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG5cbiAgICBwdWJsaWMgaW5wdXRTdmdSb3V0ZXMgPSBJbnB1dFN2Z1JvdXRlcztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcnJpZGUgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIHBhcmVudENvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGluY29ycmVjdFZhbHVlITogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXQgaW5wdXRDb25maWcoY29uZmlnOiBJQ2FJbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dENvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhY3RpdmVJdGVtITogT3B0aW9uTW9kZWwgfCBudWxsO1xuXG4gICAgQE91dHB1dCgnaGFuZGxlVG9nZ2xlRHJvcGRvd25PcHRpb25zJylcbiAgICBvdmVycmlkZSBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoJ2JsdXJJbnB1dCcpIGJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoJ2ZvY3VzSW5wdXQnKSBmb2N1c0lucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VJbnB1dDogRXZlbnRFbWl0dGVyPElucHV0Q2hhbmdlVmFsdWU+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICAgIEBPdXRwdXQoJ2NvbW1hbmRFdmVudCcpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPENvbW1hbmRzRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICAgIEBPdXRwdXQoJ2NsZWFyJykgY2xlYXJJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvLyBEcm9wZG93blxuICAgIEBPdXRwdXQoJ3Nob3dIaWRlRHJvcGRvd24nKSBzaG93SGlkZURyb3Bkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCdkcm9wRG93bktleU5hdmlnYXRpb24nKSBkcm9wRG93bktleU5hdmlnYXRpb25FdmVudDogRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4oKTtcblxuICAgIC8vIGV2ZW50c1xuICAgIHB1YmxpYyBvdmVycmlkZSBzZXRDb21tYW5kRXZlbnQgPSBuZXcgRXZlbnRJbnB1dE1hbmFnZXI8Q29tbWFuZHNFdmVudD4oXG4gICAgICAgIG51bGwsXG4gICAgICAgIHRoaXMuY29tbWFuZEV2ZW50XG4gICAgKTtcblxuICAgIHB1YmxpYyBpc0NhcHNMb2NrT24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbnB1dENvbW1hbmRzVHlwZSA9IElucHV0Q29tbWFuZHNUeXBlO1xuICAgIHB1YmxpYyBpbnB1dFN0cmluZ0VudW0gPSBJbnB1dFN0cmluZ0VudW07XG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICAgIC8vIFBhc3N3b3JkXG4gICAgcHVibGljIGlzVG9nZ2xlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dENvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHB1YmxpYyBjaGRldDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSB0aG91c2FuZFNlcGFyYXRvclBpcGU6IFRob3VzYW5kU2VwYXJhdG9yUGlwZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnB1dENvbmZpZy5hdXRvRm9jdXMpXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWxpZGF0b3JzKHRoaXMucGFyZW50Q29udHJvbC52YWxpZGF0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5jb250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBJbnB1dENoYW5nZVZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZSh0aGlzLl9pbnB1dENvbmZpZywgb2JqKTsgLy8g4pyFIEFwcGx5IG1hc2tcblxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7IC8vIE5vdGlmeSBBbmd1bGFyIGZvcm0gYWJvdXQgdGhlIGNoYW5nZVxuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5faW5wdXRDb25maWcudXBkYXRlQXNUb3VjaGVkT25FZGl0KSB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcblxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmlzRHJvcGRvd24gJiYgIXRoaXMuX2lucHV0Q29uZmlnLmlzQWRkcmVzcylcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmNoZGV0LmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIGlmICh2YWx1ZSkgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcklucHV0RXZlbnQuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHZhbHVlOiBJbnB1dENoYW5nZVZhbHVlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmlzRHJvcGRvd24gJiYgIXRoaXMuX2lucHV0Q29uZmlnLmlzQWRkcmVzcykge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgLy8gVHJpZ2dlciBhbGwgaW5wdXRzIGRpcmVjdGl2ZXMgdGhhdCBsaXN0ZW4gZm9yIGlucHV0IEV2ZW50XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0RXZlbnQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRCbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuYmx1cklucHV0LmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlclNob3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJIaWRkZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZVBhc3N3b3JkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmlzVG9nZ2xlUGFzc3dvcmQgPSAhdGhpcy5pc1RvZ2dsZVBhc3N3b3JkO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDYXBzTG9jayhzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0NhcHNMb2NrT24gPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNvbW1hbmRWaXNpYmxlKHN0YXR1czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZUNvbW1hbmRzID0gc3RhdHVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBpZGVudGlmeShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZHJvcERvd25LZXlOYXZpZ2F0aW9uRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBrZXlDb2RlOiBldmVudC5rZXlDb2RlLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5pbnB1dENvbmZpZyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiaW5wdXQtY3VzdG9tLWdyb3VwIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgIHwgaW5wdXRDb250YWluZXJDbGFzc1xuICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgIFwiXG4gICAgbmdiVG9vbHRpcFxuICAgIFttYWluQ2FUb29sdGlwXT1cImNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiJyNERjNDM0MnXCJcbiAgICBbZGlzYWJsZVRvb2x0aXBdPVwiIV9pbnB1dENvbmZpZy5yZXF1aXJlZExhYmVsIHx8ICEhY29udHJvbD8udmFsaWRcIlxuICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICB0cmlnZ2Vycz1cImhvdmVyXCJcbj5cbiAgICA8IS0tIElucHV0IExvYWRpbmcgc3Bpbm5lciAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZz8ubG9hZGluZ1NwaW5uZXI/LmlzTG9hZGluZyAmJiAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWxvYWRpbmctc3Bpbm5lclwiPlxuICAgICAgICAgICAgPGFwcC1jYS1zcGlubmVyXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiX2lucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyPy5zaXplXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiX2lucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyPy5jb2xvclwiXG4gICAgICAgICAgICA+PC9hcHAtY2Etc3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBDb21tYW5kcyAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5jb21tYW5kcz8uYWN0aXZlICYmIGlzVmlzaWJsZUNvbW1hbmRzKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtY29tbWFuZHNcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVmlzaWJsZUNvbW1hbmRzXT1cImlzVmlzaWJsZUNvbW1hbmRzXCJcbiAgICAgICAgICAgIChvbkNvbW1hbmRzQ2xpY2spPVwib25Db21tYW5kcygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1jb21tYW5kcz5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBWYWxpZCBDaGVjayAtLT5cbiAgICBAaWYgKFxuICAgICAgICBjb250cm9sIHwgc2hvd1ZhbGlkQ2hlY2s6IGlzRm9jdXNJbnB1dCA6IF9pbnB1dENvbmZpZyA6IGNvbnRyb2w/LnZhbHVlXG4gICAgKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1yZXF1aXJlZC1jaGVjayB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5jb25maXJtU3ZnXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgUGFzc3dvcmQgQ2FwcyBMb2NrIEFuZCBFeWUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcudHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICA8YXBwLWNhLWlucHV0LXBhc3N3b3JkXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiaXNUb3VjaGVkSW5wdXRcIlxuICAgICAgICAgICAgW2lzQ2Fwc0xvY2tPbl09XCJpc0NhcHNMb2NrT25cIlxuICAgICAgICAgICAgW2lzVG9nZ2xlUGFzc3dvcmRdPVwiaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgICAgICAob25Ub2dnbGVQYXNzd29yZENsaWNrKT1cIm9uVG9nZ2xlUGFzc3dvcmQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtcGFzc3dvcmQ+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgQ2xlYXIgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcgfCBzaG93Q2xlYXIpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1jbGVhclxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2luY29ycmVjdFZhbHVlXT1cImluY29ycmVjdFZhbHVlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICAgICAgICAgICAgKGNsZWFySW5wdXRDbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LWNsZWFyPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgRHJvcGRvd24gQXJyb3cgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcgfCBzaG93RHJvcGRvd25BcnJvdykge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZHJvcGRvd24tYXJyb3cge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dERyb3Bkb3duQXJyb3dDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5pbnB1dERyb3Bkb3duQXJyb3dTdmdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duT3B0aW9ucygpXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBJY29uIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbikge1xuICAgICAgICA8YXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb25cbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJjb250cm9sPy50b3VjaGVkIVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgICAgICAgW2lzRWRpdElucHV0XT1cImlzRWRpdElucHV0XCJcbiAgICAgICAgICAgIChvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlcik9XCJvblBsYWNlaG9sZGVySWNvbkV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlclNob3duRW1pdHRlcik9XCJvblBvcG92ZXJTaG93bigpXCJcbiAgICAgICAgICAgIChvblBvcG92ZXJIaWRkZW5FbWl0dGVyKT1cIm9uUG9wb3ZlckhpZGRlbigpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgUGxhY2Vob2xkZXIgVGV4dCAtLT5cbiAgICBAaWYgKFxuICAgICAgICBfaW5wdXRDb25maWdcbiAgICAgICAgICAgIHwgc2hvd1BsYWNlaG9sZGVyVGV4dDogY29udHJvbCA6IGlzVmlzaWJsZUNvbW1hbmRzIDogY29udHJvbD8udmFsdWVcbiAgICApIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiY2EtcGxhY2Vob2xkZXItdGV4dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0U3RyaW5nRW51bS5QRVJTT05TIHx8XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlZFSElDTEVTXG4gICAgICAgICAgICAgICAgICAgID8gMzAgKyAoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDEpICogOSArICdweCdcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgICAgICAgICAgICAgPyAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICA6IChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA4ICsgJ3B4J1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzdHlsZS5yaWdodF09XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpICE9PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgPyAnMjhweCdcbiAgICAgICAgICAgICAgICAgICAgOiAnYXV0bydcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgTGFiZWwgQ291bnRlciAtLT5cbiAgICBAaWYgKFxuICAgICAgICBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciAmJlxuICAgICAgICBjb250cm9sPy52YWx1ZSAmJlxuICAgICAgICAhaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCAmJlxuICAgICAgICBfaW5wdXRDb25maWcuc2hvd0NvdW50XG4gICAgKSB7XG4gICAgICAgIDxwXG4gICAgICAgICAgICBbc3R5bGUudG9wXT1cIic0cHgnXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIihjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgNi41KSAqIDggKyAncHgnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwtY291bnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yLmNvdW50IH19XG4gICAgICAgIDwvcD5cbiAgICB9XG5cbiAgICA8IS0tIFNwZWNpYWwgRHJvcGRvd24gU2VsZWN0ZWQgU1ZHIHdpdGggb3IgV2l0aG91dCBUZXh0IC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZz8uZHJvcGRvd25JbWFnZUlucHV0Py5pY29uc1BhdGggJiZcbiAgICAgICAgYWN0aXZlSXRlbSAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnPy5oaWRlQWxsSXRlbXNJbklucHV0RHJvcGRvd24gJiZcbiAgICAgICAgISghX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8ud2l0aFRleHQgJiYgaXNGb2N1c0lucHV0KSAmJlxuICAgICAgICAhKFxuICAgICAgICAgICAgWyd0cnVjaycsICd0cmFpbGVyJ10uaW5jbHVkZXMoXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8udGVtcGxhdGUhXG4gICAgICAgICAgICApICYmXG4gICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnJlbW92ZVxuICAgICAgICApICYmXG4gICAgICAgICFfaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8ubmFtZUluaXRpYWxzSW5zdGVhZFVybFxuICAgICkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIFtzcmNdPVwiX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uaWNvbnNQYXRoIVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLXNlbGVjdGVkLWltYWdlIHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3NcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAndW5zZXQtY29sb3InOlxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiYgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3MsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtzdmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgZmlsbDpcbiAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3IgJiYgIWlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L3N2Zy1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgTGFiZWwgLS0+XG4gICAgQGlmICghX2lucHV0Q29uZmlnLm11bHRpU2VsZWN0RHJvcGRvd25BY3RpdmUpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBbZm9yXT1cIl9pbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19IHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB8IGxhYmVsQ2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy5pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgX2lucHV0Q29uZmlnLmxhYmVsIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3MhXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ211bHRpcGxlLWxhYmVscy1wb3NpdGlvbi1vbi1mb2N1cyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLm11bHRpcGxlSW5wdXRWYWx1ZXM/Lm9wdGlvbnM/Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5pc1JlcXVpcmVkICYmICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIG9mIF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgfVxuXG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIFtyZXN0cmljdElucHV0XT1cImlucHV0Q29uZmlnXCJcbiAgICAgICAgcHJpY2VGb3JtYXRcbiAgICAgICAgW3ByaWNlU2VwYXJhdG9yXT1cIlxuICAgICAgICAgICAgaW5wdXRDb25maWcucHJpY2VTZXBhcmF0b3IgfHwgaW5wdXRDb25maWcudGhvdXNhbmRTZXBhcmF0b3JcbiAgICAgICAgXCJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUlucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cImhhbmRsZUlucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9pbnB1dENvbmZpZy5yZWFkT25seVwiXG4gICAgICAgIFt0eXBlXT1cIl9pbnB1dENvbmZpZy50eXBlIHwgaW5wdXRUeXBlOiBpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sXG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcudGV4dFRyYW5zZm9ybSB9fVxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRBbGlnbiB9fVxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XG4gICAgICAgIFwiXG4gICAgICAgIFthcHBNYXhWYWx1ZV09XCJpbnB1dENvbmZpZy5tYXhcIlxuICAgICAgICBhcHBDYXBzTG9ja1xuICAgICAgICAoY2Fwc0xvY2tTdGF0dXMpPVwiaGFuZGxlQ2Fwc0xvY2soJGV2ZW50KVwiXG4gICAgICAgIGNvbW1hbmRWaXNpYmxlXG4gICAgICAgIChjb21tYW5kVmlzaWJsZSk9XCJoYW5kbGVDb21tYW5kVmlzaWJsZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckluc3RlYWRPZkxhYmVsICYmXG4gICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXIgJiZcbiAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAgIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXIgJiYgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgPyBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICA6ICcnKVxuICAgICAgICBcIlxuICAgICAgICBbbWFza109XCJfaW5wdXRDb25maWcubWFza1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgIHwgaW5wdXRDbGFzc1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgIDogaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8uaW52YWxpZFxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgICAgICAgICAgOiBpc0Ryb3Bkb3duVG9nZ2xlclxuICAgICAgICAgICAgICAgICAgICA6IGlzRWRpdElucHV0XG4gICAgICAgICAgICAgICAgICAgIDogdGVtcGxhdGVcbiAgICAgICAgXCJcbiAgICAvPlxuXG4gICAgPCEtLSBQbGFjZWhvbGRlciBJY29uIG9uIFJpZ2h0IFNpZGUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlci1pY29uLXJpZ2h0LXNpZGUge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uQ29sb3JcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0UGxhY2Vob2xkZXJJY29uUmlnaHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgIHwgY2FTdmc6ICdjb21tb24nXG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IEVycm9yIE1lc3NhZ2UgLS0+XG4gICAgQGlmIChcbiAgICAgICAgISghY29udHJvbD8udmFsdWUgJiYgaXNGb2N1c0lucHV0KSAmJlxuICAgICAgICAoaXNUb3VjaGVkSW5wdXQgfHwgY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy52YWx1ZSkgJiZcbiAgICAgICAgY29udHJvbD8uaW52YWxpZCAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzSW52YWxpZFNlYXJjaEluRHJvcGRvd24gJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkXG4gICAgKSB7XG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAhKF9pbnB1dENvbmZpZy5oaWRlRXJyb3JNZXNzYWdlIHx8IF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZXJyb3Ige3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuXG4gICAgICAgIDwhLS0gRXJyb3IgTWVzc2FnZSBJbnNpZGUgSW5wdXQgLS0+XG4gICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLmVycm9ySW5zaWRlSW5wdXQpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItaW5zaWRlLWlucHV0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5maXhlZFBsYWNob2xkZXIgJiYgaW5wdXQudmFsdWUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1maXhlZC1wbGFjZWhvZGVyLWxhYmVsXCI+XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -116,7 +116,7 @@ export class CaFilterTimeDropdownComponent extends NewFilterBaseComponent {
116
116
  this.timeOptionsArray = TimeFilterConstants.getTimeShortOptions();
117
117
  }
118
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaFilterTimeDropdownComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaFilterTimeDropdownComponent, isStandalone: true, selector: "app-ca-filter-time-dropdown", inputs: { subType: "subType" }, usesInheritance: true, ngImport: i0, template: "<app-ca-filter-dropdown\n [type]=\"eFilterDropdownEnum.TIME_FILTER\"\n [config]=\"config\"\n [bodyTemplate]=\"timeTemplate\"\n [isFormChanged]=\"isFormValid\"\n [customTitle]=\"isCustomTime && 'Custom Time Range'\"\n [customCancelButton]=\"isCustomTime && 'Back'\"\n [appliedFiltersCount]=\"isFormValid ? 1 : 0\"\n (handleFiltersClear)=\"clearValues(true)\"\n (setFilter)=\"passFilterValue()\"\n>\n <ng-template #timeTemplate>\n @if (isCustomTime) {\n <form [formGroup]=\"form\">\n <div class=\"d-flex gap-xs margin-t-24 margin-b-24\">\n <ca-input-datetime-picker formControlName=\"fromDate\">\n </ca-input-datetime-picker>\n\n <ca-input-datetime-picker\n formControlName=\"toDate\"\n [inputConfig]=\"filterDropdownFields.dateTo\"\n >\n </ca-input-datetime-picker>\n </div>\n </form>\n } @else {\n <div class=\"d-flex flex-column gap-xs mb-1 margin-t-4\">\n @for (time of timeOptionsArray; track $index) {\n <div class=\"d-flex flex-column gap-xs mb-1 margin-t-4\">\n @for (subtime of time.items; track subtime.label) {\n <div\n class=\"filter-dropdown-list-item padding-4 br-2 d-flex justify-content-between align-items-center c-pointer\"\n (click)=\"selectTime(subtime)\"\n >\n <div\n class=\"text-color-white text-size-14\"\n [class.ca-font-extra-bold]=\"\n selectedTime === subtime.id\n \"\n >\n {{ subtime.label }}\n </div>\n </div>\n }\n </div>\n <div class=\"background-black br-2 h-1\"></div>\n }\n\n <div\n class=\"filter-dropdown-list-item padding-4 br-2 d-flex justify-content-between align-items-center c-pointer\"\n (click)=\"selectCustomTime()\"\n >\n <div\n class=\"text-color-white text-size-14\"\n [class.ca-font-extra-bold]=\"isCustomTime\"\n >\n Custom\n </div>\n </div>\n </div>\n }\n </ng-template>\n</app-ca-filter-dropdown>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#fff}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#fff}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#fff}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.dropdown-menu-popover.bs-popover-end-top .dropdown-container{transform:translate(-4px,-3px)}.dropdown-menu-popover.bs-popover-bottom-end .dropdown-container{transform:translate(3px,-3px)}.dropdown-menu-popover.bs-popover-end-bottom .dropdown-container{transform:translate(-3px,3px)}.dropdown-menu-popover.bs-popover-top-end .dropdown-container{transform:translate(3px,3px)}.dropdown-details-title-card-popover .dropdown-container{transform:translateY(-4px)}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background-color:#42424233!important;color:#424242!important}.text-color-black::selection{background-color:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-muted::selection{background-color:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background-color:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background-color:#56b4ac33!important;color:#56b4ac!important}.text-color-green-2{color:#259f94!important}.text-color-green-2::-moz-selection{background-color:#259f9433!important;color:#259f94!important}.text-color-green-2::selection{background-color:#259f9433!important;color:#259f94!important}.text-color-green-4{color:#86c9c3!important}.text-color-green-4::-moz-selection{background-color:#86c9c333!important;color:#86c9c3!important}.text-color-green-4::selection{background-color:#86c9c333!important;color:#86c9c3!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background-color:#6692f133!important;color:#6692f1!important}.text-color-blue-13::selection{background-color:#6692f133!important;color:#6692f1!important}.text-color-blue-16{color:#e9effd!important}.text-color-blue-16::-moz-selection{background-color:#e9effd33!important;color:#e9effd!important}.text-color-blue-16::selection{background-color:#e9effd33!important;color:#e9effd!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background-color:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background-color:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-19{color:#92b1f5!important}.text-color-blue-19::-moz-selection{background-color:#92b1f533!important;color:#92b1f5!important}.text-color-blue-19::selection{background-color:#92b1f533!important;color:#92b1f5!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background-color:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background-color:#e6676733!important;color:#e66767!important}.text-color-red-11{color:#df3c3c!important}.text-color-red-11::-moz-selection{background-color:#df3c3c33!important;color:#df3c3c!important}.text-color-red-11::selection{background-color:#df3c3c33!important;color:#df3c3c!important}.text-color-red-13{color:#ed9292!important}.text-color-red-13::-moz-selection{background-color:#ed929233!important;color:#ed9292!important}.text-color-red-13::selection{background-color:#ed929233!important;color:#ed9292!important}.text-color-yellow{color:#fab15c!important}.text-color-yellow::-moz-selection{background-color:#fab15c33!important;color:#fab15c!important}.text-color-yellow::selection{background-color:#fab15c33!important;color:#fab15c!important}.text-color-purple{color:#b370f0!important}.text-color-purple::-moz-selection{background-color:#b370f033!important;color:#b370f0!important}.text-color-purple::selection{background-color:#b370f033!important;color:#b370f0!important}.text-color-special-filter-purple{color:#9e47ec!important}.text-color-special-filter-purple::-moz-selection{background-color:#9e47ec33!important;color:#9e47ec!important}.text-color-special-filter-purple::selection{background-color:#9e47ec33!important;color:#9e47ec!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background-color:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background-color:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background-color:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background-color:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{background-color:#ccc3!important;color:#ccc!important}.text-color-light-grey-6::selection{background-color:#ccc3!important;color:#ccc!important}.text-color-white{color:#fff!important}.text-color-white::-moz-selection{background-color:#fff3!important;color:#fff!important}.text-color-white::selection{background-color:#fff3!important;color:#fff!important}.text-color-white-2{color:#fff!important}.text-color-white-2::-moz-selection{background-color:#fff3!important;color:#fff!important}.text-color-white-2::selection{background-color:#fff3!important;color:#fff!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{background-color:#fff3!important;color:#ffffffb2!important}.text-color-white-4::selection{background-color:#fff3!important;color:#ffffffb2!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{background-color:#6c6c6c33!important;color:#6c6c6c!important}.text-color-bw6-2::selection{background-color:#6c6c6c33!important;color:#6c6c6c!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{background-color:#dadada33!important;color:#dadada!important}.text-color-bw-9::selection{background-color:#dadada33!important;color:#dadada!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-grey::selection{background-color:#91919133!important;color:#919191!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{background-color:#91919133!important;color:#919191!important}.text-color-orange-1{color:#ff7043!important}.text-color-orange-1::-moz-selection{background-color:#ff704333!important;color:#ff7043!important}.text-color-orange-1::selection{background-color:#ff704333!important;color:#ff7043!important}.text-color-brown-1{color:#865e3a!important}.text-color-brown-1::-moz-selection{background-color:#865e3a33!important;color:#865e3a!important}.text-color-brown-1::selection{background-color:#865e3a33!important;color:#865e3a!important}.text-color-light-blue-2{color:#1ab5e6!important}.text-color-light-blue-2::-moz-selection{background-color:#1ab5e633!important;color:#1ab5e6!important}.text-color-light-blue-2::selection{background-color:#1ab5e633!important;color:#1ab5e6!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-20{font-size:20px!important;line-height:24px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}.font-size-11{font-size:11px!important}.line-height-12{line-height:12px!important}.svg-fill-black svg path,.svg-fill-black svg circle{fill:#424242!important}.svg-fill-white svg path,.svg-fill-white svg circle{fill:#fff!important}.svg-fill-white-2 svg path,.svg-fill-white-2 svg circle{fill:#fff!important}.svg-fill-muted svg path,.svg-fill-muted svg circle{fill:#919191!important}.svg-fill-bw-9 svg path,.svg-fill-bw-9 svg circle{fill:#dadada!important}.svg-fill-light-grey-2 svg path,.svg-fill-light-grey-2 svg circle{fill:#aaa!important}.svg-fill-light-grey-6 svg path,.svg-fill-light-grey-6 svg circle{fill:#ccc!important}.svg-fill-blue-8 svg path,.svg-fill-blue-8 svg circle{fill:#6692f1!important}.svg-fill-blue-13 svg path,.svg-fill-blue-13 svg circle{fill:#6692f1!important}.svg-fill-blue-14 svg path,.svg-fill-blue-14 svg circle{fill:#3b73ed!important}.svg-fill-blue-17 svg path,.svg-fill-blue-17 svg circle{fill:#bed0f9!important}.svg-fill-blue-19 svg path,.svg-fill-blue-19 svg circle{fill:#92b1f5!important}.svg-fill-blue-26 svg path,.svg-fill-blue-26 svg circle{fill:#4dc5eb!important}.svg-fill-green svg path,.svg-fill-green svg circle{fill:#56b4ac!important}.svg-fill-green-2 svg path,.svg-fill-green-2 svg circle{fill:#259f94!important}.svg-fill-green-4 svg path,.svg-fill-green-4 svg circle{fill:#86c9c3!important}.svg-fill-green-6 svg path,.svg-fill-green-6 svg circle{fill:#77bf56!important}.svg-fill-yellow-1 svg path,.svg-fill-yellow-1 svg circle{fill:#fab15c!important}.svg-fill-yellow-4 svg path,.svg-fill-yellow-4 svg circle{fill:#fbc88b!important}.svg-fill-yellow-5 svg path,.svg-fill-yellow-5 svg circle{fill:#f89b2e!important}.svg-fill-yellow-8 svg path,.svg-fill-yellow-8 svg circle{fill:#daad4f!important}.svg-fill-white-4 svg path,.svg-fill-white-4 svg circle{fill:#ffffffb2!important}.svg-fill-grey svg path,.svg-fill-grey svg circle{fill:#919191!important}.svg-fill-red-10 svg path,.svg-fill-red-10 svg circle{fill:#e66767!important}.svg-fill-red-11 svg path,.svg-fill-red-11 svg circle{fill:#df3c3c!important}.svg-fill-red-14 svg path,.svg-fill-red-14 svg circle{fill:#c20c0c!important}.svg-fill-red-18 svg path,.svg-fill-red-18 svg circle{fill:#e668a0!important}.svg-fill-orange-4 svg path,.svg-fill-orange-4 svg circle{fill:#ff906d!important}.svg-fill-brown svg path,.svg-fill-brown svg circle{fill:#865e3a!important}.svg-fill-purple-4 svg path,.svg-fill-purple-4 svg circle{fill:#9e47ec!important}.svg-hover-white svg path{transition:fill .3s ease-in-out}.svg-hover-white:hover svg path{fill:#fff!important}.svg-hover-white-2 svg path{transition:fill .3s ease-in-out}.svg-hover-white-2:hover svg path{fill:#fff!important}.svg-hover-muted svg path{transition:fill .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-grey-4 svg path{transition:fill .3s ease-in-out}.svg-hover-grey-4:hover svg path{fill:#ccc!important}.svg-hover-black svg path{transition:fill .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-10 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-10:hover svg path{fill:#6f9ee033!important}.svg-hover-blue-15 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-blue-19 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-19:hover svg path{fill:#92b1f5!important}.svg-hover-bw6-2 svg path{transition:fill .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:fill .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:fill .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-6 svg{width:6px;height:6px}.svg-size-10 svg{width:10px;height:10px}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-17 svg{width:17px;height:17px}.svg-size-18 svg{width:18px;height:18px}.svg-size-22 svg{width:22px;height:22px}.svg-size-23 svg{width:23px;height:23px}.svg-size-26 svg{width:26px;height:26px}.svg-size-44-16 svg{width:44px;height:16px}.background-transparent{background-color:transparent}.background-black{background-color:#424242}.background-black-2{background-color:#2f2f2f}.background-black-3{background-color:#1d1d1d}.background-gray{background-color:#e5e5e5}.background-light-gray-6{background-color:#ccc}.background-light-gray-2{background-color:#aaa}.background-blue-13{background-color:#6692f1}.background-blue-14,.background-blue-18{background-color:#3b73ed}.background-green-0{background-color:#56b4ac}.background-green-2{background-color:#259f94}.background-green-3{background-color:#b6dfdb}.background-green-4,.background-green-6{background-color:#86c9c3}.background-dark-2{background-color:#91919133}.background-red-19{background-color:#df3d85}.background-purple-4{background-color:#9e47ec}.background-gold-bold{background-color:#cf961d}.background-gold-subtle{background-color:#e4c481}.background-orange-3{background-color:#ffb097}.background-orange-4{background-color:#ff906d}.background-orange-7{background-color:#ffcfc0}.background-yellow-8{background-color:#daad4f}.background-bw5{background-color:#919191}.background-bw6-2{background-color:#6c6c6c}.background-hover-black{transition:background-color .3s ease-in-out}.background-hover-black:hover{background-color:#424242!important}.background-hover-bw2{transition:background-color .3s ease-in-out}.background-hover-bw2:hover{background-color:#eee!important}.background-hover-bw6-2{transition:background-color .3s ease-in-out}.background-hover-bw6-2:hover{background-color:#6c6c6c!important}.background-hover-blue-13{transition:background-color .3s ease-in-out}.background-hover-blue-13:hover{background-color:#6692f1!important}.background-hover-blue-15{transition:background-color .3s ease-in-out}.background-hover-blue-15:hover{background-color:#0b49d1!important}.background-hover-gray{transition:background-color .3s ease-in-out}.background-hover-gray:hover{background-color:#e5e5e5!important}.br-1{border-radius:1px}.br-2{border-radius:2px}.br-3{border-radius:3px}.br-10{border-radius:10px}.br-circle{border-radius:50%}.padding-2{padding:2px}.padding-4{padding:4px}.padding-6{padding:6px}.padding-y-2{padding-top:2px;padding-bottom:2px}.padding-y-4{padding-top:4px;padding-bottom:4px}.padding-y-6{padding-top:6px;padding-bottom:6px}.padding-x-4{padding-left:4px;padding-right:4px}.padding-x-5{padding-left:5px;padding-right:5px}.padding-x-6{padding-left:6px;padding-right:6px}.margin-1{margin:1px}.margin-y-1{margin-top:1px;margin-bottom:1px}.margin-x-1{margin-left:1px;margin-right:1px}.margin-t-1{margin-top:1px}.margin-r-1{margin-right:1px}.margin-b-1{margin-bottom:1px}.margin-l-1{margin-left:1px}.margin-2{margin:2px}.margin-y-2{margin-top:2px;margin-bottom:2px}.margin-x-2{margin-left:2px;margin-right:2px}.margin-t-2{margin-top:2px}.margin-r-2{margin-right:2px}.margin-b-2{margin-bottom:2px}.margin-l-2{margin-left:2px}.margin-4{margin:4px}.margin-y-4{margin-top:4px;margin-bottom:4px}.margin-x-4{margin-left:4px;margin-right:4px}.margin-t-4{margin-top:4px}.margin-r-4{margin-right:4px}.margin-b-4{margin-bottom:4px}.margin-l-4{margin-left:4px}.margin-5{margin:5px}.margin-y-5{margin-top:5px;margin-bottom:5px}.margin-x-5{margin-left:5px;margin-right:5px}.margin-t-5{margin-top:5px}.margin-r-5{margin-right:5px}.margin-b-5{margin-bottom:5px}.margin-l-5{margin-left:5px}.margin-6{margin:6px}.margin-y-6{margin-top:6px;margin-bottom:6px}.margin-x-6{margin-left:6px;margin-right:6px}.margin-t-6{margin-top:6px}.margin-r-6{margin-right:6px}.margin-b-6{margin-bottom:6px}.margin-l-6{margin-left:6px}.margin-8{margin:8px}.margin-y-8{margin-top:8px;margin-bottom:8px}.margin-x-8{margin-left:8px;margin-right:8px}.margin-t-8{margin-top:8px}.margin-r-8{margin-right:8px}.margin-b-8{margin-bottom:8px}.margin-l-8{margin-left:8px}.margin-15{margin:15px}.margin-y-15{margin-top:15px;margin-bottom:15px}.margin-x-15{margin-left:15px;margin-right:15px}.margin-t-15{margin-top:15px}.margin-r-15{margin-right:15px}.margin-b-15{margin-bottom:15px}.margin-l-15{margin-left:15px}.margin-24{margin:24px}.margin-y-24{margin-top:24px;margin-bottom:24px}.margin-x-24{margin-left:24px;margin-right:24px}.margin-t-24{margin-top:24px}.margin-r-24{margin-right:24px}.margin-b-24{margin-bottom:24px}.margin-l-24{margin-left:24px}.gap-xs{gap:2px}.w-1{width:1px}.h-1{height:1px}.w-10{width:10px}.h-10{height:10px}.w-14{width:14px}.h-14{height:14px}.w-18{width:18px}.h-18{height:18px}.w-31{width:31px}.h-31{height:31px}.w-36{width:36px}.h-36{height:36px}.w-120{width:120px}.h-120{height:120px}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.filter-dropdown-popover{width:260px;position:relative;top:-4px;left:-4px}.filter-dropdown-popover-max-height{max-height:360px}.filter-dropdown-list{max-height:260px;overflow-y:auto}.filter-dropdown-list-icon{height:26px;transition:background-color .3s ease-in-out}.filter-dropdown-list-icon-value{height:14px;width:14px}.filter-dropdown-list-icon-remove{display:none}.filter-dropdown-list-icon:hover{background-color:#424242}.filter-dropdown-list-icon:hover .filter-dropdown-icon-count{display:none}.filter-dropdown-list-icon-selected:hover{background-color:#0b49d1}.filter-dropdown-list-item-icons{transition:opacity .3s ease-in-out;opacity:0}.filter-dropdown-list-item-status-circle{height:10px;width:10px}.filter-dropdown-list-item-remove{display:none}.filter-dropdown-list-item:hover{background-color:#424242}.filter-dropdown-list-item:hover .filter-dropdown-list-item-icons{opacity:1}.filter-dropdown-list-item:hover .filter-dropdown-list-item-icons svg path{fill:var(--svg-fill-color, #e66767)}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-remove{display:flex}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-remove svg path{fill:#e66767!important}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-count{display:none!important}.filter-dropdown-icon{height:26px;width:26px}.filter-dropdown-count{height:14px;width:14px}.filter-dropdown-count-remove,.filter-dropdown-count-hover:hover .filter-dropdown-count-value{display:none}.filter-dropdown-count-hover:hover .filter-dropdown-count-remove{display:flex}.filter-dropdown-button{height:26px}.filter-dropdown-footer-button{color:#dadada;transition:color .3s ease-in-out,background-color .3s ease-in-out;height:18px;width:50%}.filter-dropdown-footer-button-set{color:#fff;background-color:#3b73ed}.filter-dropdown-footer-button-set:hover{background-color:#e9effd;color:#0b49d1}.filter-dropdown-footer-button-clear{color:#dadada}.filter-dropdown-footer-button-clear:hover{background-color:#eee;color:#424242}.filter-dropdown-list-badge{min-width:18px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.c-pointer{cursor:pointer}.ca-scroll-bar{overflow-y:scroll}.ca-scroll-bar::-webkit-scrollbar{width:2px}.ca-scroll-bar::-webkit-scrollbar-thumb{background:#ccc;border-radius:1px}.ca-scroll-bar::-webkit-scrollbar-track{background:#2f2f2f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CaFilterDropdownComponent, selector: "app-ca-filter-dropdown", inputs: ["activeCount", "type", "config", "bodyTemplate", "isFormChanged", "appliedFiltersCount", "customTitle", "customCancelButton"], outputs: ["setFilter", "handleFiltersClear", "resetFilterState", "sorting"] }, { kind: "component", type: CaInputDatetimePickerComponent, selector: "ca-input-datetime-picker", inputs: ["inputConfig"], outputs: ["clear", "blurInput", "selectLastOneForSelectionEmitter", "selectLastOneAfterMouseUpEmitter", "onDatePasteEmitter", "onFocusEmitter", "changeSelectionEmmiter", "setSelectionEmmiter"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaFilterTimeDropdownComponent, isStandalone: true, selector: "app-ca-filter-time-dropdown", inputs: { subType: "subType" }, usesInheritance: true, ngImport: i0, template: "<app-ca-filter-dropdown\n [type]=\"eFilterDropdownEnum.TIME_FILTER\"\n [config]=\"config\"\n [bodyTemplate]=\"timeTemplate\"\n [isFormChanged]=\"isFormValid\"\n [customTitle]=\"isCustomTime && 'Custom Time Range'\"\n [customCancelButton]=\"isCustomTime && 'Back'\"\n [appliedFiltersCount]=\"isFormValid ? 1 : 0\"\n (handleFiltersClear)=\"clearValues(true)\"\n (setFilter)=\"passFilterValue()\"\n>\n <ng-template #timeTemplate>\n @if (isCustomTime) {\n <form [formGroup]=\"form\">\n <div class=\"d-flex gap-xs margin-t-24 margin-b-24\">\n <ca-input-datetime-picker formControlName=\"fromDate\">\n </ca-input-datetime-picker>\n\n <ca-input-datetime-picker\n formControlName=\"toDate\"\n [inputConfig]=\"filterDropdownFields.dateTo\"\n >\n </ca-input-datetime-picker>\n </div>\n </form>\n } @else {\n <div class=\"d-flex flex-column gap-xs mb-1 margin-t-4\">\n @for (time of timeOptionsArray; track $index) {\n <div class=\"d-flex flex-column gap-xs mb-1 margin-t-4\">\n @for (subtime of time.items; track subtime.label) {\n <div\n class=\"filter-dropdown-list-item padding-4 br-2 d-flex justify-content-between align-items-center c-pointer\"\n (click)=\"selectTime(subtime)\"\n >\n <div\n class=\"text-color-white text-size-14\"\n [class.ca-font-extra-bold]=\"\n selectedTime === subtime.id\n \"\n >\n {{ subtime.label }}\n </div>\n </div>\n }\n </div>\n <div class=\"background-black br-2 h-1\"></div>\n }\n\n <div\n class=\"filter-dropdown-list-item padding-4 br-2 d-flex justify-content-between align-items-center c-pointer\"\n (click)=\"selectCustomTime()\"\n >\n <div\n class=\"text-color-white text-size-14\"\n [class.ca-font-extra-bold]=\"isCustomTime\"\n >\n Custom\n </div>\n </div>\n </div>\n }\n </ng-template>\n</app-ca-filter-dropdown>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold{font-weight:700!important}.ca-font-extra-bold{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#fff}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#fff}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#fff}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.dropdown-menu-popover.bs-popover-end-top .dropdown-container{transform:translate(-4px,-3px)}.dropdown-menu-popover.bs-popover-bottom-end .dropdown-container{transform:translate(3px,-3px)}.dropdown-menu-popover.bs-popover-end-bottom .dropdown-container{transform:translate(-3px,3px)}.dropdown-menu-popover.bs-popover-top-end .dropdown-container{transform:translate(3px,3px)}.dropdown-details-title-card-popover .dropdown-container{transform:translateY(-4px)}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background-color:#42424233!important;color:#424242!important}.text-color-black::selection{background-color:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background-color:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-muted::selection{background-color:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background-color:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background-color:#56b4ac33!important;color:#56b4ac!important}.text-color-green-2{color:#259f94!important}.text-color-green-2::-moz-selection{background-color:#259f9433!important;color:#259f94!important}.text-color-green-2::selection{background-color:#259f9433!important;color:#259f94!important}.text-color-green-4{color:#86c9c3!important}.text-color-green-4::-moz-selection{background-color:#86c9c333!important;color:#86c9c3!important}.text-color-green-4::selection{background-color:#86c9c333!important;color:#86c9c3!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background-color:#6692f133!important;color:#6692f1!important}.text-color-blue-13::selection{background-color:#6692f133!important;color:#6692f1!important}.text-color-blue-16{color:#e9effd!important}.text-color-blue-16::-moz-selection{background-color:#e9effd33!important;color:#e9effd!important}.text-color-blue-16::selection{background-color:#e9effd33!important;color:#e9effd!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background-color:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background-color:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-19{color:#92b1f5!important}.text-color-blue-19::-moz-selection{background-color:#92b1f533!important;color:#92b1f5!important}.text-color-blue-19::selection{background-color:#92b1f533!important;color:#92b1f5!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background-color:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background-color:#e6676733!important;color:#e66767!important}.text-color-red-11{color:#df3c3c!important}.text-color-red-11::-moz-selection{background-color:#df3c3c33!important;color:#df3c3c!important}.text-color-red-11::selection{background-color:#df3c3c33!important;color:#df3c3c!important}.text-color-red-13{color:#ed9292!important}.text-color-red-13::-moz-selection{background-color:#ed929233!important;color:#ed9292!important}.text-color-red-13::selection{background-color:#ed929233!important;color:#ed9292!important}.text-color-yellow{color:#fab15c!important}.text-color-yellow::-moz-selection{background-color:#fab15c33!important;color:#fab15c!important}.text-color-yellow::selection{background-color:#fab15c33!important;color:#fab15c!important}.text-color-purple{color:#b370f0!important}.text-color-purple::-moz-selection{background-color:#b370f033!important;color:#b370f0!important}.text-color-purple::selection{background-color:#b370f033!important;color:#b370f0!important}.text-color-special-filter-purple{color:#9e47ec!important}.text-color-special-filter-purple::-moz-selection{background-color:#9e47ec33!important;color:#9e47ec!important}.text-color-special-filter-purple::selection{background-color:#9e47ec33!important;color:#9e47ec!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background-color:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background-color:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background-color:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background-color:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{background-color:#ccc3!important;color:#ccc!important}.text-color-light-grey-6::selection{background-color:#ccc3!important;color:#ccc!important}.text-color-white{color:#fff!important}.text-color-white::-moz-selection{background-color:#fff3!important;color:#fff!important}.text-color-white::selection{background-color:#fff3!important;color:#fff!important}.text-color-white-2{color:#fff!important}.text-color-white-2::-moz-selection{background-color:#fff3!important;color:#fff!important}.text-color-white-2::selection{background-color:#fff3!important;color:#fff!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{background-color:#fff3!important;color:#ffffffb2!important}.text-color-white-4::selection{background-color:#fff3!important;color:#ffffffb2!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{background-color:#6c6c6c33!important;color:#6c6c6c!important}.text-color-bw6-2::selection{background-color:#6c6c6c33!important;color:#6c6c6c!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{background-color:#dadada33!important;color:#dadada!important}.text-color-bw-9::selection{background-color:#dadada33!important;color:#dadada!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-grey::selection{background-color:#91919133!important;color:#919191!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{background-color:#91919133!important;color:#919191!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{background-color:#91919133!important;color:#919191!important}.text-color-orange-1{color:#ff7043!important}.text-color-orange-1::-moz-selection{background-color:#ff704333!important;color:#ff7043!important}.text-color-orange-1::selection{background-color:#ff704333!important;color:#ff7043!important}.text-color-brown-1{color:#865e3a!important}.text-color-brown-1::-moz-selection{background-color:#865e3a33!important;color:#865e3a!important}.text-color-brown-1::selection{background-color:#865e3a33!important;color:#865e3a!important}.text-color-light-blue-2{color:#1ab5e6!important}.text-color-light-blue-2::-moz-selection{background-color:#1ab5e633!important;color:#1ab5e6!important}.text-color-light-blue-2::selection{background-color:#1ab5e633!important;color:#1ab5e6!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-20{font-size:20px!important;line-height:24px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}.font-size-11{font-size:11px!important}.line-height-12{line-height:12px!important}.svg-fill-black svg path,.svg-fill-black svg circle{fill:#424242!important}.svg-fill-white svg path,.svg-fill-white svg circle{fill:#fff!important}.svg-fill-white-2 svg path,.svg-fill-white-2 svg circle{fill:#fff!important}.svg-fill-muted svg path,.svg-fill-muted svg circle{fill:#919191!important}.svg-fill-bw-9 svg path,.svg-fill-bw-9 svg circle{fill:#dadada!important}.svg-fill-light-grey-2 svg path,.svg-fill-light-grey-2 svg circle{fill:#aaa!important}.svg-fill-light-grey-6 svg path,.svg-fill-light-grey-6 svg circle{fill:#ccc!important}.svg-fill-blue-8 svg path,.svg-fill-blue-8 svg circle{fill:#6692f1!important}.svg-fill-blue-13 svg path,.svg-fill-blue-13 svg circle{fill:#6692f1!important}.svg-fill-blue-14 svg path,.svg-fill-blue-14 svg circle{fill:#3b73ed!important}.svg-fill-blue-17 svg path,.svg-fill-blue-17 svg circle{fill:#bed0f9!important}.svg-fill-blue-19 svg path,.svg-fill-blue-19 svg circle{fill:#92b1f5!important}.svg-fill-blue-26 svg path,.svg-fill-blue-26 svg circle{fill:#4dc5eb!important}.svg-fill-green svg path,.svg-fill-green svg circle{fill:#56b4ac!important}.svg-fill-green-2 svg path,.svg-fill-green-2 svg circle{fill:#259f94!important}.svg-fill-green-4 svg path,.svg-fill-green-4 svg circle{fill:#86c9c3!important}.svg-fill-green-6 svg path,.svg-fill-green-6 svg circle{fill:#77bf56!important}.svg-fill-yellow-1 svg path,.svg-fill-yellow-1 svg circle{fill:#fab15c!important}.svg-fill-yellow-4 svg path,.svg-fill-yellow-4 svg circle{fill:#fbc88b!important}.svg-fill-yellow-5 svg path,.svg-fill-yellow-5 svg circle{fill:#f89b2e!important}.svg-fill-yellow-8 svg path,.svg-fill-yellow-8 svg circle{fill:#daad4f!important}.svg-fill-white-4 svg path,.svg-fill-white-4 svg circle{fill:#ffffffb2!important}.svg-fill-grey svg path,.svg-fill-grey svg circle{fill:#919191!important}.svg-fill-red-10 svg path,.svg-fill-red-10 svg circle{fill:#e66767!important}.svg-fill-red-11 svg path,.svg-fill-red-11 svg circle{fill:#df3c3c!important}.svg-fill-red-14 svg path,.svg-fill-red-14 svg circle{fill:#c20c0c!important}.svg-fill-red-18 svg path,.svg-fill-red-18 svg circle{fill:#e668a0!important}.svg-fill-orange-4 svg path,.svg-fill-orange-4 svg circle{fill:#ff906d!important}.svg-fill-brown svg path,.svg-fill-brown svg circle{fill:#865e3a!important}.svg-fill-purple-4 svg path,.svg-fill-purple-4 svg circle{fill:#9e47ec!important}.svg-hover-white svg path{transition:fill .3s ease-in-out}.svg-hover-white:hover svg path{fill:#fff!important}.svg-hover-white-2 svg path{transition:fill .3s ease-in-out}.svg-hover-white-2:hover svg path{fill:#fff!important}.svg-hover-muted svg path{transition:fill .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-grey-4 svg path{transition:fill .3s ease-in-out}.svg-hover-grey-4:hover svg path{fill:#ccc!important}.svg-hover-black svg path{transition:fill .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-10 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-10:hover svg path{fill:#6f9ee033!important}.svg-hover-blue-15 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-blue-19 svg path{transition:fill .3s ease-in-out}.svg-hover-blue-19:hover svg path{fill:#92b1f5!important}.svg-hover-bw6-2 svg path{transition:fill .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:fill .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:fill .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-6 svg{width:6px;height:6px}.svg-size-10 svg{width:10px;height:10px}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-17 svg{width:17px;height:17px}.svg-size-18 svg{width:18px;height:18px}.svg-size-22 svg{width:22px;height:22px}.svg-size-23 svg{width:23px;height:23px}.svg-size-26 svg{width:26px;height:26px}.svg-size-44-16 svg{width:44px;height:16px}.background-transparent{background-color:transparent}.background-black{background-color:#424242}.background-black-2{background-color:#2f2f2f}.background-black-3{background-color:#1d1d1d}.background-gray{background-color:#e5e5e5}.background-light-gray-6{background-color:#ccc}.background-light-gray-2{background-color:#aaa}.background-blue-13{background-color:#6692f1}.background-blue-14,.background-blue-18{background-color:#3b73ed}.background-green-0{background-color:#56b4ac}.background-green-2{background-color:#259f94}.background-green-3{background-color:#b6dfdb}.background-green-4,.background-green-6{background-color:#86c9c3}.background-dark-2{background-color:#91919133}.background-red-19{background-color:#df3d85}.background-purple-4{background-color:#9e47ec}.background-gold-bold{background-color:#cf961d}.background-gold-subtle{background-color:#e4c481}.background-orange-3{background-color:#ffb097}.background-orange-4{background-color:#ff906d}.background-orange-7{background-color:#ffcfc0}.background-yellow-8{background-color:#daad4f}.background-bw5{background-color:#919191}.background-bw6-2{background-color:#6c6c6c}.background-hover-black{transition:background-color .3s ease-in-out}.background-hover-black:hover{background-color:#424242!important}.background-hover-bw2{transition:background-color .3s ease-in-out}.background-hover-bw2:hover{background-color:#eee!important}.background-hover-bw6-2{transition:background-color .3s ease-in-out}.background-hover-bw6-2:hover{background-color:#6c6c6c!important}.background-hover-blue-13{transition:background-color .3s ease-in-out}.background-hover-blue-13:hover{background-color:#6692f1!important}.background-hover-blue-15{transition:background-color .3s ease-in-out}.background-hover-blue-15:hover{background-color:#0b49d1!important}.background-hover-gray{transition:background-color .3s ease-in-out}.background-hover-gray:hover{background-color:#e5e5e5!important}.br-1{border-radius:1px}.br-2{border-radius:2px}.br-3{border-radius:3px}.br-10{border-radius:10px}.br-circle{border-radius:50%}.padding-2{padding:2px}.padding-4{padding:4px}.padding-6{padding:6px}.padding-y-2{padding-top:2px;padding-bottom:2px}.padding-y-4{padding-top:4px;padding-bottom:4px}.padding-y-6{padding-top:6px;padding-bottom:6px}.padding-x-4{padding-left:4px;padding-right:4px}.padding-x-5{padding-left:5px;padding-right:5px}.padding-x-6{padding-left:6px;padding-right:6px}.margin-1{margin:1px}.margin-y-1{margin-top:1px;margin-bottom:1px}.margin-x-1{margin-left:1px;margin-right:1px}.margin-t-1{margin-top:1px}.margin-r-1{margin-right:1px}.margin-b-1{margin-bottom:1px}.margin-l-1{margin-left:1px}.margin-2{margin:2px}.margin-y-2{margin-top:2px;margin-bottom:2px}.margin-x-2{margin-left:2px;margin-right:2px}.margin-t-2{margin-top:2px}.margin-r-2{margin-right:2px}.margin-b-2{margin-bottom:2px}.margin-l-2{margin-left:2px}.margin-4{margin:4px}.margin-y-4{margin-top:4px;margin-bottom:4px}.margin-x-4{margin-left:4px;margin-right:4px}.margin-t-4{margin-top:4px}.margin-r-4{margin-right:4px}.margin-b-4{margin-bottom:4px}.margin-l-4{margin-left:4px}.margin-5{margin:5px}.margin-y-5{margin-top:5px;margin-bottom:5px}.margin-x-5{margin-left:5px;margin-right:5px}.margin-t-5{margin-top:5px}.margin-r-5{margin-right:5px}.margin-b-5{margin-bottom:5px}.margin-l-5{margin-left:5px}.margin-6{margin:6px}.margin-y-6{margin-top:6px;margin-bottom:6px}.margin-x-6{margin-left:6px;margin-right:6px}.margin-t-6{margin-top:6px}.margin-r-6{margin-right:6px}.margin-b-6{margin-bottom:6px}.margin-l-6{margin-left:6px}.margin-8{margin:8px}.margin-y-8{margin-top:8px;margin-bottom:8px}.margin-x-8{margin-left:8px;margin-right:8px}.margin-t-8{margin-top:8px}.margin-r-8{margin-right:8px}.margin-b-8{margin-bottom:8px}.margin-l-8{margin-left:8px}.margin-15{margin:15px}.margin-y-15{margin-top:15px;margin-bottom:15px}.margin-x-15{margin-left:15px;margin-right:15px}.margin-t-15{margin-top:15px}.margin-r-15{margin-right:15px}.margin-b-15{margin-bottom:15px}.margin-l-15{margin-left:15px}.margin-24{margin:24px}.margin-y-24{margin-top:24px;margin-bottom:24px}.margin-x-24{margin-left:24px;margin-right:24px}.margin-t-24{margin-top:24px}.margin-r-24{margin-right:24px}.margin-b-24{margin-bottom:24px}.margin-l-24{margin-left:24px}.gap-xs{gap:2px}.w-1{width:1px}.h-1{height:1px}.w-10{width:10px}.h-10{height:10px}.w-14{width:14px}.h-14{height:14px}.w-18{width:18px}.h-18{height:18px}.w-31{width:31px}.h-31{height:31px}.w-36{width:36px}.h-36{height:36px}.w-120{width:120px}.h-120{height:120px}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.filter-dropdown-popover{width:260px;position:relative;top:-4px;left:-4px}.filter-dropdown-popover-max-height{max-height:360px}.filter-dropdown-list{max-height:260px;overflow-y:auto}.filter-dropdown-list-icon{height:26px;transition:background-color .3s ease-in-out}.filter-dropdown-list-icon-value{height:14px;width:14px}.filter-dropdown-list-icon-remove{display:none}.filter-dropdown-list-icon:hover{background-color:#424242}.filter-dropdown-list-icon:hover .filter-dropdown-icon-count{display:none}.filter-dropdown-list-icon-selected:hover{background-color:#0b49d1}.filter-dropdown-list-item-icons{transition:opacity .3s ease-in-out;opacity:0}.filter-dropdown-list-item-status-circle{height:10px;width:10px}.filter-dropdown-list-item-remove{display:none}.filter-dropdown-list-item:hover{background-color:#424242}.filter-dropdown-list-item:hover .filter-dropdown-list-item-icons{opacity:1}.filter-dropdown-list-item:hover .filter-dropdown-list-item-icons svg path{fill:var(--svg-fill-color, #e66767)}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-remove{display:flex}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-remove svg path{fill:#e66767!important}.filter-dropdown-list-item-hover:hover .filter-dropdown-list-item-count{display:none!important}.filter-dropdown-icon{height:26px;width:26px}.filter-dropdown-count{height:14px;width:14px}.filter-dropdown-count-remove,.filter-dropdown-count-hover:hover .filter-dropdown-count-value{display:none}.filter-dropdown-count-hover:hover .filter-dropdown-count-remove{display:flex}.filter-dropdown-button{height:26px}.filter-dropdown-footer-button{color:#dadada;transition:color .3s ease-in-out,background-color .3s ease-in-out;height:18px;width:50%}.filter-dropdown-footer-button-set{color:#fff;background-color:#3b73ed}.filter-dropdown-footer-button-set:hover{background-color:#e9effd;color:#0b49d1}.filter-dropdown-footer-button-clear{color:#dadada}.filter-dropdown-footer-button-clear:hover{background-color:#eee;color:#424242}.filter-dropdown-list-badge{min-width:18px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.c-pointer{cursor:pointer}.ca-scroll-bar{overflow-y:scroll}.ca-scroll-bar::-webkit-scrollbar{width:2px}.ca-scroll-bar::-webkit-scrollbar-thumb{background:#ccc;border-radius:1px}.ca-scroll-bar::-webkit-scrollbar-track{background:#2f2f2f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CaFilterDropdownComponent, selector: "app-ca-filter-dropdown", inputs: ["activeCount", "type", "config", "bodyTemplate", "isFormChanged", "appliedFiltersCount", "customTitle", "customCancelButton"], outputs: ["setFilter", "handleFiltersClear", "resetFilterState", "sorting"] }, { kind: "component", type: CaInputDatetimePickerComponent, selector: "ca-input-datetime-picker", inputs: ["inputConfig", "formFormat"], outputs: ["clear", "blurInput", "selectLastOneForSelectionEmitter", "selectLastOneAfterMouseUpEmitter", "onDatePasteEmitter", "onFocusEmitter", "changeSelectionEmmiter", "setSelectionEmmiter"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
120
120
  }
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaFilterTimeDropdownComponent, decorators: [{
122
122
  type: Component,
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
130
130
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { subType: [{
131
131
  type: Input
132
132
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZmlsdGVyLXRpbWUtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtbmV3LWZpbHRlci9jb21wb25lbnRzL2NhLWZpbHRlci10aW1lLWRyb3Bkb3duL2NhLWZpbHRlci10aW1lLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLW5ldy1maWx0ZXIvY29tcG9uZW50cy9jYS1maWx0ZXItdGltZS1kcm9wZG93bi9jYS1maWx0ZXItdGltZS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUVILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixRQUFRO0FBQ1IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS2hFLFVBQVU7QUFDVixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFD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eEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsSUFBSTtZQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsa0JBQWtCLENBQzFELElBQUksQ0FBQyxRQUFTLENBQUMsUUFBUSxFQUFFLEVBQ3pCLElBQUksQ0FBQyxVQUFXLENBQUMsUUFBUSxFQUFFLENBQzlCLENBQUM7YUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsTUFBTTtZQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzs7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDM0UsQ0FBQzsrR0F0SVEsNkJBQTZCO21HQUE3Qiw2QkFBNkIsOElDL0MxQyx3dEZBK0RBLHE3NkJEekJRLFlBQVksK0JBQ1oseUJBQXlCLHdSQUN6Qiw4QkFBOEIsK1JBQzlCLFdBQVcsMllBQ1gsbUJBQW1COzs0RkFLZCw2QkFBNkI7a0JBYnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5QixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDdEI7Z0ZBTUcsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUNvbnRyb2wsXG4gICAgRm9ybUdyb3VwLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBFbnVtc1xuaW1wb3J0IHsgZUZpbHRlckRyb3Bkb3duRW51bSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zJztcblxuLy8gSW50ZXJmYWNlc1xuaW1wb3J0IHsgSUZpbHRlckRyb3Bkb3duQ29uZmlndXJhdGlvbiwgSVRpbWVPcHRpb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcblxuLy8gSGVscGVyc1xuaW1wb3J0IHsgVGltZUZpbHRlckNvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NhLWZpbHRlcnMvdXRpbHMvaGVscGVycyc7XG5pbXBvcnQgeyBUaW1lRmlsdGVySGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvaGVscGVycyc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IENhRmlsdGVyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1maWx0ZXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXREYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0LWRhdGV0aW1lLXBpY2tlci9jYS1pbnB1dC1kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5ld0ZpbHRlckJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9uZXctZmlsdGVyLWJhc2UvbmV3LWZpbHRlci1iYXNlLmNvbXBvbmVudCc7XG5cbi8vIFR5cGVzXG5pbXBvcnQgeyBGaWx0ZXJUaW1lVHlwZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8vIEZpZWxkc1xuaW1wb3J0IHsgRmlsdGVyRHJvcGRvd25GaWVsZHMgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWdzJztcbmltcG9ydCB7IEZpbHRlckRyb3Bkb3duSWNvbnNDb25zdCB9IGZyb20gJy4uLy4uL2NvbnN0YW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtZmlsdGVyLXRpbWUtZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENhRmlsdGVyRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIENhSW5wdXREYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtZmlsdGVyLXRpbWUtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jYS1maWx0ZXItdGltZS1kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENhRmlsdGVyVGltZURyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgTmV3RmlsdGVyQmFzZUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBzZXQgc3ViVHlwZSh2YWx1ZTogRmlsdGVyVGltZVR5cGVzKSB7XG4gICAgICAgIHRoaXMuX3N1YlR5cGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGFzdFllYXIhOiBudW1iZXI7XG4gICAgcHVibGljIGxhc3QyWWVhcnMhOiBudW1iZXI7XG4gICAgcHVibGljIHRpbWVPcHRpb25zQXJyYXk6IElUaW1lT3B0aW9uc1tdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkVGltZTogbnVtYmVyID0gLTE7XG4gICAgcHVibGljIGlzQ3VzdG9tVGltZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBkYXRlRm9ybSE6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBmcm9tRGF0ZTogbmV3IEZvcm1Db250cm9sKHVuZGVmaW5lZCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgdG9EYXRlOiBuZXcgRm9ybUNvbnRyb2wodW5kZWZpbmVkLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0pO1xuXG4gICAgcHVibGljIGZpbHRlckRyb3Bkb3duRmllbGRzID0gRmlsdGVyRHJvcGRvd25GaWVsZHM7XG4gICAgcHVibGljIG92ZXJyaWRlIGNvbmZpZzogSUZpbHRlckRyb3Bkb3duQ29uZmlndXJhdGlvbiA9XG4gICAgICAgIEZpbHRlckRyb3Bkb3duSWNvbnNDb25zdC5UaW1lRmlsdGVyO1xuXG4gICAgcHJpdmF0ZSBfc3ViVHlwZTogRmlsdGVyVGltZVR5cGVzID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uUEFTVDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzRm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRpbWUgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0udmFsaWQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudGltZUZpbHRlckluaXQoKTtcbiAgICAgICAgdGhpcy50aW1lT3B0aW9uc0luaXQoKTtcbiAgICAgICAgdGhpcy5pbml0RGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VGltZSh0aW1lOiB7IGxhYmVsOiBzdHJpbmc7IGlkOiBudW1iZXIgfSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGltZSA9IHRpbWUuaWQ7XG4gICAgICAgIHRoaXMuaXNDdXN0b21UaW1lID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEN1c3RvbVRpbWUoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gLTE7XG4gICAgICAgIHRoaXMuaXNDdXN0b21UaW1lID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2xlYXJWYWx1ZXMoaXNFbWl0dGluZ1ZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQ3VzdG9tVGltZSkge1xuICAgICAgICAgICAgdGhpcy5pc0N1c3RvbVRpbWUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gLTE7XG4gICAgICAgIHRoaXMuaXNDdXN0b21UaW1lID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuXG4gICAgICAgIC8vIE5vIG5lZWQgdG8gZW1pdCB2YWx1ZXMgc2luY2UgdGhhdCBpcyBjaGFuZ2VkIGFuZCB2YWx1ZXMgYXJlIHJlc2V0IG9uIG1haW4gcHJvamVjdFxuICAgICAgICBpZiAoaXNFbWl0dGluZ1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRWYWx1ZXMoe1xuICAgICAgICAgICAgICAgIGZyb21EYXRlOiBudWxsLFxuICAgICAgICAgICAgICAgIHRvRGF0ZTogbnVsbCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHBhc3NGaWx0ZXJWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDdXN0b21UaW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJUeXBlOiBlRmlsdGVyRHJvcGRvd25FbnVtLlRJTUVfRklMVEVSLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmZvcm0udmFsdWUgYXMgYW55LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0aW1lTGFiZWwgPSB0aGlzLnRpbWVPcHRpb25zQXJyYXlcbiAgICAgICAgICAgICAgICAuZmxhdE1hcCgob3B0aW9uKSA9PiBvcHRpb24uaXRlbXMpXG4gICAgICAgICAgICAgICAgLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHRoaXMuc2VsZWN0ZWRUaW1lKTtcblxuICAgICAgICAgICAgY29uc3QgeyBmcm9tRGF0ZSwgdG9EYXRlIH0gPSB0aGlzLmNvbnZlcnRUaW1lVG9EYXRlKFxuICAgICAgICAgICAgICAgIHRpbWVMYWJlbD8udmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgIHRpbWVMYWJlbD8ueWVhciBhcyBudW1iZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm0ucGF0Y2hWYWx1ZSh7IGZyb21EYXRlLCB0b0RhdGUgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlcyh0aGlzLmRhdGVGb3JtLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFZhbHVlcyh2YWx1ZToge1xuICAgICAgICBmcm9tRGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgdG9EYXRlOiBzdHJpbmcgfCBudWxsO1xuICAgIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGaWx0ZXIuZW1pdCh7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiBlRmlsdGVyRHJvcGRvd25FbnVtLlRJTUVfRklMVEVSLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHZhbHVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXREYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgZnJvbURhdGU6IFtudWxsXSxcbiAgICAgICAgICAgIHRvRGF0ZTogW251bGxdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRUaW1lVG9EYXRlKFxuICAgICAgICBwZXJpb2Q6IHN0cmluZyxcbiAgICAgICAgeWVhcj86IG51bWJlclxuICAgICk6IHsgZnJvbURhdGU6IHN0cmluZzsgdG9EYXRlOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiBUaW1lRmlsdGVySGVscGVyLmNvbnZlcnRUaW1lVG9EYXRlKHBlcmlvZCwgeWVhcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0aW1lRmlsdGVySW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHBhc3RZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpIC0gMTtcbiAgICAgICAgY29uc3QgcGFzdDJZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpIC0gMjtcblxuICAgICAgICB0aGlzLmxhc3RZZWFyID0gcGFzdFllYXI7XG4gICAgICAgIHRoaXMubGFzdDJZZWFycyA9IHBhc3QyWWVhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRpbWVPcHRpb25zSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3N1YlR5cGUgPT09IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlBBU1QpXG4gICAgICAgICAgICB0aGlzLnRpbWVPcHRpb25zQXJyYXkgPSBUaW1lRmlsdGVyQ29uc3RhbnRzLmdldFRpbWVQYXN0T3B0aW9ucyhcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RZZWFyIS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdDJZZWFycyEudG9TdHJpbmcoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgZWxzZSBpZiAodGhpcy5fc3ViVHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRlVUVVJFKVxuICAgICAgICAgICAgdGhpcy50aW1lT3B0aW9uc0FycmF5ID0gVGltZUZpbHRlckNvbnN0YW50cy5nZXRUaW1lRnV0dXJlT3B0aW9ucygpO1xuICAgICAgICBlbHNlIHRoaXMudGltZU9wdGlvbnNBcnJheSA9IFRpbWVGaWx0ZXJDb25zdGFudHMuZ2V0VGltZVNob3J0T3B0aW9ucygpO1xuICAgIH1cbn1cbiIsIjxhcHAtY2EtZmlsdGVyLWRyb3Bkb3duXG4gICAgW3R5cGVdPVwiZUZpbHRlckRyb3Bkb3duRW51bS5USU1FX0ZJTFRFUlwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtib2R5VGVtcGxhdGVdPVwidGltZVRlbXBsYXRlXCJcbiAgICBbaXNGb3JtQ2hhbmdlZF09XCJpc0Zvcm1WYWxpZFwiXG4gICAgW2N1c3RvbVRpdGxlXT1cImlzQ3VzdG9tVGltZSAmJiAnQ3VzdG9tIFRpbWUgUmFuZ2UnXCJcbiAgICBbY3VzdG9tQ2FuY2VsQnV0dG9uXT1cImlzQ3VzdG9tVGltZSAmJiAnQmFjaydcIlxuICAgIFthcHBsaWVkRmlsdGVyc0NvdW50XT1cImlzRm9ybVZhbGlkID8gMSA6IDBcIlxuICAgIChoYW5kbGVGaWx0ZXJzQ2xlYXIpPVwiY2xlYXJWYWx1ZXModHJ1ZSlcIlxuICAgIChzZXRGaWx0ZXIpPVwicGFzc0ZpbHRlclZhbHVlKClcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGltZVRlbXBsYXRlPlxuICAgICAgICBAaWYgKGlzQ3VzdG9tVGltZSkge1xuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAteHMgbWFyZ2luLXQtMjQgbWFyZ2luLWItMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNhLWlucHV0LWRhdGV0aW1lLXBpY2tlciBmb3JtQ29udHJvbE5hbWU9XCJmcm9tRGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2NhLWlucHV0LWRhdGV0aW1lLXBpY2tlcj5cblxuICAgICAgICAgICAgICAgICAgICA8Y2EtaW5wdXQtZGF0ZXRpbWUtcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0b0RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cImZpbHRlckRyb3Bkb3duRmllbGRzLmRhdGVUb1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9jYS1pbnB1dC1kYXRldGltZS1waWNrZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAteHMgbWItMSBtYXJnaW4tdC00XCI+XG4gICAgICAgICAgICAgICAgQGZvciAodGltZSBvZiB0aW1lT3B0aW9uc0FycmF5OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAteHMgbWItMSBtYXJnaW4tdC00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWJ0aW1lIG9mIHRpbWUuaXRlbXM7IHRyYWNrIHN1YnRpbWUubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWRyb3Bkb3duLWxpc3QtaXRlbSBwYWRkaW5nLTQgYnItMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGMtcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUaW1lKHN1YnRpbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1jb2xvci13aGl0ZSB0ZXh0LXNpemUtMTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNhLWZvbnQtZXh0cmEtYm9sZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFRpbWUgPT09IHN1YnRpbWUuaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YnRpbWUubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZC1ibGFjayBici0yIGgtMVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXItZHJvcGRvd24tbGlzdC1pdGVtIHBhZGRpbmctNCBici0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgYy1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEN1c3RvbVRpbWUoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtY29sb3Itd2hpdGUgdGV4dC1zaXplLTE0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jYS1mb250LWV4dHJhLWJvbGRdPVwiaXNDdXN0b21UaW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9hcHAtY2EtZmlsdGVyLWRyb3Bkb3duPlxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZmlsdGVyLXRpbWUtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtbmV3LWZpbHRlci9jb21wb25lbnRzL2NhLWZpbHRlci10aW1lLWRyb3Bkb3duL2NhLWZpbHRlci10aW1lLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLW5ldy1maWx0ZXIvY29tcG9uZW50cy9jYS1maWx0ZXItdGltZS1kcm9wZG93bi9jYS1maWx0ZXItdGltZS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUVILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixRQUFRO0FBQ1IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS2hFLFVBQVU7QUFDVixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFD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eEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsSUFBSTtZQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsa0JBQWtCLENBQzFELElBQUksQ0FBQyxRQUFTLENBQUMsUUFBUSxFQUFFLEVBQ3pCLElBQUksQ0FBQyxVQUFXLENBQUMsUUFBUSxFQUFFLENBQzlCLENBQUM7YUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsTUFBTTtZQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzs7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDM0UsQ0FBQzsrR0F0SVEsNkJBQTZCO21HQUE3Qiw2QkFBNkIsOElDL0MxQyx3dEZBK0RBLHE3NkJEekJRLFlBQVksK0JBQ1oseUJBQXlCLHdSQUN6Qiw4QkFBOEIsNlNBQzlCLFdBQVcsMllBQ1gsbUJBQW1COzs0RkFLZCw2QkFBNkI7a0JBYnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIsOEJBQThCO3dCQUM5QixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDdEI7Z0ZBTUcsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUNvbnRyb2wsXG4gICAgRm9ybUdyb3VwLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBFbnVtc1xuaW1wb3J0IHsgZUZpbHRlckRyb3Bkb3duRW51bSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtIH0gZnJvbSAnLi4vLi4vLi4vY2EtbWFwL2VudW1zJztcblxuLy8gSW50ZXJmYWNlc1xuaW1wb3J0IHsgSUZpbHRlckRyb3Bkb3duQ29uZmlndXJhdGlvbiwgSVRpbWVPcHRpb25zIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlJztcblxuLy8gSGVscGVyc1xuaW1wb3J0IHsgVGltZUZpbHRlckNvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NhLWZpbHRlcnMvdXRpbHMvaGVscGVycyc7XG5pbXBvcnQgeyBUaW1lRmlsdGVySGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvaGVscGVycyc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IENhRmlsdGVyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1maWx0ZXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENhSW5wdXREYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWlucHV0LWRhdGV0aW1lLXBpY2tlci9jYS1pbnB1dC1kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5ld0ZpbHRlckJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9uZXctZmlsdGVyLWJhc2UvbmV3LWZpbHRlci1iYXNlLmNvbXBvbmVudCc7XG5cbi8vIFR5cGVzXG5pbXBvcnQgeyBGaWx0ZXJUaW1lVHlwZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbi8vIEZpZWxkc1xuaW1wb3J0IHsgRmlsdGVyRHJvcGRvd25GaWVsZHMgfSBmcm9tICcuLi8uLi91dGlscy9jb25maWdzJztcbmltcG9ydCB7IEZpbHRlckRyb3Bkb3duSWNvbnNDb25zdCB9IGZyb20gJy4uLy4uL2NvbnN0YW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtZmlsdGVyLXRpbWUtZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENhRmlsdGVyRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIENhSW5wdXREYXRldGltZVBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtZmlsdGVyLXRpbWUtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jYS1maWx0ZXItdGltZS1kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIENhRmlsdGVyVGltZURyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgTmV3RmlsdGVyQmFzZUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBzZXQgc3ViVHlwZSh2YWx1ZTogRmlsdGVyVGltZVR5cGVzKSB7XG4gICAgICAgIHRoaXMuX3N1YlR5cGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGFzdFllYXIhOiBudW1iZXI7XG4gICAgcHVibGljIGxhc3QyWWVhcnMhOiBudW1iZXI7XG4gICAgcHVibGljIHRpbWVPcHRpb25zQXJyYXk6IElUaW1lT3B0aW9uc1tdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkVGltZTogbnVtYmVyID0gLTE7XG4gICAgcHVibGljIGlzQ3VzdG9tVGltZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBkYXRlRm9ybSE6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBmcm9tRGF0ZTogbmV3IEZvcm1Db250cm9sKHVuZGVmaW5lZCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgdG9EYXRlOiBuZXcgRm9ybUNvbnRyb2wodW5kZWZpbmVkLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0pO1xuXG4gICAgcHVibGljIGZpbHRlckRyb3Bkb3duRmllbGRzID0gRmlsdGVyRHJvcGRvd25GaWVsZHM7XG4gICAgcHVibGljIG92ZXJyaWRlIGNvbmZpZzogSUZpbHRlckRyb3Bkb3duQ29uZmlndXJhdGlvbiA9XG4gICAgICAgIEZpbHRlckRyb3Bkb3duSWNvbnNDb25zdC5UaW1lRmlsdGVyO1xuXG4gICAgcHJpdmF0ZSBfc3ViVHlwZTogRmlsdGVyVGltZVR5cGVzID0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uUEFTVDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzRm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRpbWUgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0udmFsaWQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudGltZUZpbHRlckluaXQoKTtcbiAgICAgICAgdGhpcy50aW1lT3B0aW9uc0luaXQoKTtcbiAgICAgICAgdGhpcy5pbml0RGF0ZUZvcm0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0VGltZSh0aW1lOiB7IGxhYmVsOiBzdHJpbmc7IGlkOiBudW1iZXIgfSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGltZSA9IHRpbWUuaWQ7XG4gICAgICAgIHRoaXMuaXNDdXN0b21UaW1lID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEN1c3RvbVRpbWUoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gLTE7XG4gICAgICAgIHRoaXMuaXNDdXN0b21UaW1lID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2xlYXJWYWx1ZXMoaXNFbWl0dGluZ1ZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQ3VzdG9tVGltZSkge1xuICAgICAgICAgICAgdGhpcy5pc0N1c3RvbVRpbWUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gLTE7XG4gICAgICAgIHRoaXMuaXNDdXN0b21UaW1lID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuXG4gICAgICAgIC8vIE5vIG5lZWQgdG8gZW1pdCB2YWx1ZXMgc2luY2UgdGhhdCBpcyBjaGFuZ2VkIGFuZCB2YWx1ZXMgYXJlIHJlc2V0IG9uIG1haW4gcHJvamVjdFxuICAgICAgICBpZiAoaXNFbWl0dGluZ1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRWYWx1ZXMoe1xuICAgICAgICAgICAgICAgIGZyb21EYXRlOiBudWxsLFxuICAgICAgICAgICAgICAgIHRvRGF0ZTogbnVsbCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHBhc3NGaWx0ZXJWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDdXN0b21UaW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZpbHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJUeXBlOiBlRmlsdGVyRHJvcGRvd25FbnVtLlRJTUVfRklMVEVSLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmZvcm0udmFsdWUgYXMgYW55LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0aW1lTGFiZWwgPSB0aGlzLnRpbWVPcHRpb25zQXJyYXlcbiAgICAgICAgICAgICAgICAuZmxhdE1hcCgob3B0aW9uKSA9PiBvcHRpb24uaXRlbXMpXG4gICAgICAgICAgICAgICAgLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHRoaXMuc2VsZWN0ZWRUaW1lKTtcblxuICAgICAgICAgICAgY29uc3QgeyBmcm9tRGF0ZSwgdG9EYXRlIH0gPSB0aGlzLmNvbnZlcnRUaW1lVG9EYXRlKFxuICAgICAgICAgICAgICAgIHRpbWVMYWJlbD8udmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgIHRpbWVMYWJlbD8ueWVhciBhcyBudW1iZXJcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm0ucGF0Y2hWYWx1ZSh7IGZyb21EYXRlLCB0b0RhdGUgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZW1pdFZhbHVlcyh0aGlzLmRhdGVGb3JtLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZW1pdFZhbHVlcyh2YWx1ZToge1xuICAgICAgICBmcm9tRGF0ZTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgdG9EYXRlOiBzdHJpbmcgfCBudWxsO1xuICAgIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRGaWx0ZXIuZW1pdCh7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiBlRmlsdGVyRHJvcGRvd25FbnVtLlRJTUVfRklMVEVSLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHZhbHVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXREYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgZnJvbURhdGU6IFtudWxsXSxcbiAgICAgICAgICAgIHRvRGF0ZTogW251bGxdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRUaW1lVG9EYXRlKFxuICAgICAgICBwZXJpb2Q6IHN0cmluZyxcbiAgICAgICAgeWVhcj86IG51bWJlclxuICAgICk6IHsgZnJvbURhdGU6IHN0cmluZzsgdG9EYXRlOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiBUaW1lRmlsdGVySGVscGVyLmNvbnZlcnRUaW1lVG9EYXRlKHBlcmlvZCwgeWVhcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0aW1lRmlsdGVySW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHBhc3RZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpIC0gMTtcbiAgICAgICAgY29uc3QgcGFzdDJZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpIC0gMjtcblxuICAgICAgICB0aGlzLmxhc3RZZWFyID0gcGFzdFllYXI7XG4gICAgICAgIHRoaXMubGFzdDJZZWFycyA9IHBhc3QyWWVhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRpbWVPcHRpb25zSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3N1YlR5cGUgPT09IFRvb2xiYXJGaWx0ZXJTdHJpbmdFbnVtLlBBU1QpXG4gICAgICAgICAgICB0aGlzLnRpbWVPcHRpb25zQXJyYXkgPSBUaW1lRmlsdGVyQ29uc3RhbnRzLmdldFRpbWVQYXN0T3B0aW9ucyhcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RZZWFyIS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdDJZZWFycyEudG9TdHJpbmcoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgZWxzZSBpZiAodGhpcy5fc3ViVHlwZSA9PT0gVG9vbGJhckZpbHRlclN0cmluZ0VudW0uRlVUVVJFKVxuICAgICAgICAgICAgdGhpcy50aW1lT3B0aW9uc0FycmF5ID0gVGltZUZpbHRlckNvbnN0YW50cy5nZXRUaW1lRnV0dXJlT3B0aW9ucygpO1xuICAgICAgICBlbHNlIHRoaXMudGltZU9wdGlvbnNBcnJheSA9IFRpbWVGaWx0ZXJDb25zdGFudHMuZ2V0VGltZVNob3J0T3B0aW9ucygpO1xuICAgIH1cbn1cbiIsIjxhcHAtY2EtZmlsdGVyLWRyb3Bkb3duXG4gICAgW3R5cGVdPVwiZUZpbHRlckRyb3Bkb3duRW51bS5USU1FX0ZJTFRFUlwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtib2R5VGVtcGxhdGVdPVwidGltZVRlbXBsYXRlXCJcbiAgICBbaXNGb3JtQ2hhbmdlZF09XCJpc0Zvcm1WYWxpZFwiXG4gICAgW2N1c3RvbVRpdGxlXT1cImlzQ3VzdG9tVGltZSAmJiAnQ3VzdG9tIFRpbWUgUmFuZ2UnXCJcbiAgICBbY3VzdG9tQ2FuY2VsQnV0dG9uXT1cImlzQ3VzdG9tVGltZSAmJiAnQmFjaydcIlxuICAgIFthcHBsaWVkRmlsdGVyc0NvdW50XT1cImlzRm9ybVZhbGlkID8gMSA6IDBcIlxuICAgIChoYW5kbGVGaWx0ZXJzQ2xlYXIpPVwiY2xlYXJWYWx1ZXModHJ1ZSlcIlxuICAgIChzZXRGaWx0ZXIpPVwicGFzc0ZpbHRlclZhbHVlKClcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGltZVRlbXBsYXRlPlxuICAgICAgICBAaWYgKGlzQ3VzdG9tVGltZSkge1xuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAteHMgbWFyZ2luLXQtMjQgbWFyZ2luLWItMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNhLWlucHV0LWRhdGV0aW1lLXBpY2tlciBmb3JtQ29udHJvbE5hbWU9XCJmcm9tRGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2NhLWlucHV0LWRhdGV0aW1lLXBpY2tlcj5cblxuICAgICAgICAgICAgICAgICAgICA8Y2EtaW5wdXQtZGF0ZXRpbWUtcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0b0RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cImZpbHRlckRyb3Bkb3duRmllbGRzLmRhdGVUb1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9jYS1pbnB1dC1kYXRldGltZS1waWNrZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAteHMgbWItMSBtYXJnaW4tdC00XCI+XG4gICAgICAgICAgICAgICAgQGZvciAodGltZSBvZiB0aW1lT3B0aW9uc0FycmF5OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAteHMgbWItMSBtYXJnaW4tdC00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWJ0aW1lIG9mIHRpbWUuaXRlbXM7IHRyYWNrIHN1YnRpbWUubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWRyb3Bkb3duLWxpc3QtaXRlbSBwYWRkaW5nLTQgYnItMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGMtcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUaW1lKHN1YnRpbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1jb2xvci13aGl0ZSB0ZXh0LXNpemUtMTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNhLWZvbnQtZXh0cmEtYm9sZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFRpbWUgPT09IHN1YnRpbWUuaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YnRpbWUubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZC1ibGFjayBici0yIGgtMVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXItZHJvcGRvd24tbGlzdC1pdGVtIHBhZGRpbmctNCBici0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgYy1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEN1c3RvbVRpbWUoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtY29sb3Itd2hpdGUgdGV4dC1zaXplLTE0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jYS1mb250LWV4dHJhLWJvbGRdPVwiaXNDdXN0b21UaW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9hcHAtY2EtZmlsdGVyLWRyb3Bkb3duPlxuIl19