UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

82 lines 15.4 kB
import { InjectionToken } from '@angular/core'; import { AlarmStatus, Severity } from '@c8y/client'; import { gettext } from '@c8y/ngx-components'; import { INTERVALS, INTERVAL_TITLES } from '@c8y/ngx-components/interval-picker'; export const ALARMS_MODULE_CONFIG = new InjectionToken('AlarmsModuleConfig'); export const ALARM_STATUS_ICON = { ALERT_IDLE: 'c8y-alert-idle', BELL_SLASH: 'bell-slash', BELL: 'bell' }; /** * A lookup table to map alarm statuses to corresponding icons. */ export const AlarmIconMap = { [AlarmStatus.CLEARED]: ALARM_STATUS_ICON.ALERT_IDLE, [AlarmStatus.ACKNOWLEDGED]: ALARM_STATUS_ICON.BELL_SLASH, [AlarmStatus.ACTIVE]: ALARM_STATUS_ICON.BELL }; export const ALARM_SEVERITY_ICON = { CIRCLE: 'circle', HIGH_PRIORITY: 'high-priority', WARNING: 'warning', EXCLAMATION_CIRCLE: 'exclamation-circle' }; export const HELP_ICON = 'help'; /** * A lookup table to map alarm severity types to corresponding icons. */ export const ALARM_SEVERITY_ICON_MAP = { [Severity.CRITICAL]: ALARM_SEVERITY_ICON.EXCLAMATION_CIRCLE, [Severity.MAJOR]: ALARM_SEVERITY_ICON.WARNING, [Severity.MINOR]: ALARM_SEVERITY_ICON.HIGH_PRIORITY, [Severity.WARNING]: ALARM_SEVERITY_ICON.CIRCLE }; /** * Extended interval titles with an additional title for the case when no date is selected. */ export const INTERVAL_TITLES_EXTENDED = { ...INTERVAL_TITLES, none: gettext('No date filter') }; export const INTERVALS_EXTENDED = [ { id: 'none', title: gettext('No date filter') }, ...INTERVALS ]; export const DEFAULT_ALARM_COUNTS = { CRITICAL: 0, MAJOR: 0, MINOR: 0, WARNING: 0 }; export const DEFAULT_SEVERITY_VALUES = { [Severity.CRITICAL]: true, [Severity.MAJOR]: true, [Severity.MINOR]: true, [Severity.WARNING]: true }; export const DEFAULT_STATUS_VALUES = { [AlarmStatus.ACTIVE]: true, [AlarmStatus.ACKNOWLEDGED]: true, [AlarmStatus.CLEARED]: true }; export const ALARMS_PATH = 'alarms'; /** * Default properties of a alarm. Used to extract the custom properties from a Alarm object. */ export const ALARM_DEFAULT_PROPERTIES = [ 'severity', 'source', 'type', 'time', 'text', 'id', 'status', 'count', 'name', 'history', 'self', 'creationTime', 'firstOccurrenceTime', 'lastUpdated' ]; export const THROTTLE_REALTIME_REFRESH = 1_000; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYWxhcm1zL2FsYXJtcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFDTCxXQUFXLEVBS1gsUUFBUSxFQUdULE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFFTCxPQUFPLEVBSVIsTUFBTSxxQkFBcUIsQ0FBQztBQUk3QixPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFFaEIsTUFBTSxxQ0FBcUMsQ0FBQztBQXdCN0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUk3RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQUlYOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUE2QztJQUNwRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxVQUFVO0lBQ25ELENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLFVBQVU7SUFDeEQsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtDQUNwQyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsTUFBTSxFQUFFLFFBQVE7SUFDaEIsYUFBYSxFQUFFLGVBQWU7SUFDOUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsa0JBQWtCLEVBQUUsb0JBQW9CO0NBQ2hDLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBR2hDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQTRDO0lBQzlFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLGtCQUFrQjtJQUMzRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO0lBQzdDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLG1CQUFtQixDQUFDLGFBQWE7SUFDbkQsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsTUFBTTtDQUN0QyxDQUFDO0FBUVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBOEM7SUFDakYsR0FBRyxlQUFlO0lBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Q0FDaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUEwQjtJQUN2RDtRQUNFLEVBQUUsRUFBRSxNQUFNO1FBQ1YsS0FBSyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztLQUNqQztJQUNELEdBQUcsU0FBUztDQUNiLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBZSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUVoRyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSTtJQUN6QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO0lBQ3RCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUk7SUFDdEIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSTtDQUN6QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXdCO0lBQ3hELENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUk7SUFDMUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSTtJQUNoQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBTXBDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsVUFBVTtJQUNWLFFBQVE7SUFDUixNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixJQUFJO0lBQ0osUUFBUTtJQUNSLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULE1BQU07SUFDTixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLGFBQWE7Q0FDaUMsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWxhcm1TdGF0dXMsXG4gIEFsYXJtU3RhdHVzU2V0dGluZ3MsXG4gIEFsYXJtU3RhdHVzVHlwZSxcbiAgSUFsYXJtLFxuICBJTWFuYWdlZE9iamVjdCxcbiAgU2V2ZXJpdHksXG4gIFNldmVyaXR5RmlsdGVyLFxuICBTZXZlcml0eVR5cGVcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgRGF0ZVRpbWVDb250ZXh0LFxuICBnZXR0ZXh0LFxuICBOYXZpZ2F0b3JOb2RlLFxuICBOYXZpZ2F0b3JOb2RlRGF0YSxcbiAgUm91dGVcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBRdWVyeVBhcmFtc0hhbmRsaW5nIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHsgU3VwcG9ydGVkSWNvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2ljb24tc2VsZWN0b3IvaWNvbnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSU5URVJWQUxTLFxuICBJTlRFUlZBTF9USVRMRVMsXG4gIEFsYXJtRmlsdGVySW50ZXJ2YWxcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsYXJtc01vZHVsZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYXBwbGljYXRpb24gaXMgYSBjb21iaW5hdGlvbiBvZiBBbmd1bGFyIGFuZCBBbmd1bGFySlMuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgaHlicmlkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHJvb3Qgbm9kZSBvZiB0aGUgbmF2aWdhdG9yLCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgYE5hdmlnYXRvck5vZGVgIG9yIGBOYXZpZ2F0b3JOb2RlRGF0YWAuXG4gICAqIFRoaXMgc2VydmVzIGFzIHRoZSBlbnRyeSBwb2ludCBmb3IgbmF2aWdhdGlvbiBzdHJ1Y3R1cmUgZm9yIEFsYXJtcyB2aWV3cy5cbiAgICogQG9wdGlvbmFsXG4gICAqL1xuICByb290TmF2aWdhdG9yTm9kZT86IE5hdmlnYXRvck5vZGUgfCBOYXZpZ2F0b3JOb2RlRGF0YTtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgYFJvdXRlYCBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgbmF2aWdhdGlvbiByb3V0ZXMgYXZhaWxhYmxlLlxuICAgKiBFYWNoIHJvdXRlIGRlZmluZXMgYSBuYXZpZ2F0aW9uIHBhdGggYW5kIGl0cyBhc3NvY2lhdGVkIGNvbXBvbmVudHMgcmVsYXRlZCB0byBBbGFybXMuXG4gICAqIEBvcHRpb25hbFxuICAgKi9cbiAgcm91dGU/OiBSb3V0ZVtdO1xufVxuXG5leHBvcnQgY29uc3QgQUxBUk1TX01PRFVMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0FsYXJtc01vZHVsZUNvbmZpZycpO1xuXG5leHBvcnQgdHlwZSBBbGFybUNvdW50ID0geyBba2V5IGluIFNldmVyaXR5VHlwZV06IG51bWJlciB9O1xuXG5leHBvcnQgY29uc3QgQUxBUk1fU1RBVFVTX0lDT04gPSB7XG4gIEFMRVJUX0lETEU6ICdjOHktYWxlcnQtaWRsZScsXG4gIEJFTExfU0xBU0g6ICdiZWxsLXNsYXNoJyxcbiAgQkVMTDogJ2JlbGwnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBbGFybVN0YXR1c0ljb24gPSAodHlwZW9mIEFMQVJNX1NUQVRVU19JQ09OKVtrZXlvZiB0eXBlb2YgQUxBUk1fU1RBVFVTX0lDT05dO1xuXG4vKipcbiAqIEEgbG9va3VwIHRhYmxlIHRvIG1hcCBhbGFybSBzdGF0dXNlcyB0byBjb3JyZXNwb25kaW5nIGljb25zLlxuICovXG5leHBvcnQgY29uc3QgQWxhcm1JY29uTWFwOiBSZWNvcmQ8QWxhcm1TdGF0dXNUeXBlLCBBbGFybVN0YXR1c0ljb24+ID0ge1xuICBbQWxhcm1TdGF0dXMuQ0xFQVJFRF06IEFMQVJNX1NUQVRVU19JQ09OLkFMRVJUX0lETEUsXG4gIFtBbGFybVN0YXR1cy5BQ0tOT1dMRURHRURdOiBBTEFSTV9TVEFUVVNfSUNPTi5CRUxMX1NMQVNILFxuICBbQWxhcm1TdGF0dXMuQUNUSVZFXTogQUxBUk1fU1RBVFVTX0lDT04uQkVMTFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IEFMQVJNX1NFVkVSSVRZX0lDT04gPSB7XG4gIENJUkNMRTogJ2NpcmNsZScsXG4gIEhJR0hfUFJJT1JJVFk6ICdoaWdoLXByaW9yaXR5JyxcbiAgV0FSTklORzogJ3dhcm5pbmcnLFxuICBFWENMQU1BVElPTl9DSVJDTEU6ICdleGNsYW1hdGlvbi1jaXJjbGUnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgSEVMUF9JQ09OID0gJ2hlbHAnO1xuXG5leHBvcnQgdHlwZSBBbGFybVNldmVyaXR5SWNvbiA9ICh0eXBlb2YgQUxBUk1fU0VWRVJJVFlfSUNPTilba2V5b2YgdHlwZW9mIEFMQVJNX1NFVkVSSVRZX0lDT05dO1xuLyoqXG4gKiBBIGxvb2t1cCB0YWJsZSB0byBtYXAgYWxhcm0gc2V2ZXJpdHkgdHlwZXMgdG8gY29ycmVzcG9uZGluZyBpY29ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFMQVJNX1NFVkVSSVRZX0lDT05fTUFQOiBSZWNvcmQ8U2V2ZXJpdHlUeXBlLCBBbGFybVNldmVyaXR5SWNvbj4gPSB7XG4gIFtTZXZlcml0eS5DUklUSUNBTF06IEFMQVJNX1NFVkVSSVRZX0lDT04uRVhDTEFNQVRJT05fQ0lSQ0xFLFxuICBbU2V2ZXJpdHkuTUFKT1JdOiBBTEFSTV9TRVZFUklUWV9JQ09OLldBUk5JTkcsXG4gIFtTZXZlcml0eS5NSU5PUl06IEFMQVJNX1NFVkVSSVRZX0lDT04uSElHSF9QUklPUklUWSxcbiAgW1NldmVyaXR5LldBUk5JTkddOiBBTEFSTV9TRVZFUklUWV9JQ09OLkNJUkNMRVxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQWxhcm1MaXN0Rm9ybUZpbHRlcnMgPSB7XG4gIHNob3dDbGVhcmVkOiBib29sZWFuO1xuICBzZXZlcml0eU9wdGlvbnM6IFNldmVyaXR5RmlsdGVyO1xuICBzZWxlY3RlZERhdGVzPzogRGF0ZVRpbWVDb250ZXh0O1xufTtcblxuLyoqXG4gKiBFeHRlbmRlZCBpbnRlcnZhbCB0aXRsZXMgd2l0aCBhbiBhZGRpdGlvbmFsIHRpdGxlIGZvciB0aGUgY2FzZSB3aGVuIG5vIGRhdGUgaXMgc2VsZWN0ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTlRFUlZBTF9USVRMRVNfRVhURU5ERUQ6IFJlY29yZDxBbGFybUZpbHRlckludGVydmFsWydpZCddLCBzdHJpbmc+ID0ge1xuICAuLi5JTlRFUlZBTF9USVRMRVMsXG4gIG5vbmU6IGdldHRleHQoJ05vIGRhdGUgZmlsdGVyJylcbn07XG5cbmV4cG9ydCBjb25zdCBJTlRFUlZBTFNfRVhURU5ERUQ6IEFsYXJtRmlsdGVySW50ZXJ2YWxbXSA9IFtcbiAge1xuICAgIGlkOiAnbm9uZScsXG4gICAgdGl0bGU6IGdldHRleHQoJ05vIGRhdGUgZmlsdGVyJylcbiAgfSxcbiAgLi4uSU5URVJWQUxTXG5dO1xuXG5leHBvcnQgdHlwZSBXaWRnZXRUaW1lQ29udGV4dFN0YXRlRXh0ZW5kZWQgPSB7XG4gIGRhdGU6IERhdGVUaW1lQ29udGV4dDtcbiAgaW50ZXJ2YWw6IEFsYXJtRmlsdGVySW50ZXJ2YWxbJ2lkJ107XG59O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RlZEFsYXJtID0gSUFsYXJtIHwgbnVsbDtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQUxBUk1fQ09VTlRTOiBBbGFybUNvdW50ID0geyBDUklUSUNBTDogMCwgTUFKT1I6IDAsIE1JTk9SOiAwLCBXQVJOSU5HOiAwIH07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NFVkVSSVRZX1ZBTFVFUzogU2V2ZXJpdHlGaWx0ZXIgPSB7XG4gIFtTZXZlcml0eS5DUklUSUNBTF06IHRydWUsXG4gIFtTZXZlcml0eS5NQUpPUl06IHRydWUsXG4gIFtTZXZlcml0eS5NSU5PUl06IHRydWUsXG4gIFtTZXZlcml0eS5XQVJOSU5HXTogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RBVFVTX1ZBTFVFUzogQWxhcm1TdGF0dXNTZXR0aW5ncyA9IHtcbiAgW0FsYXJtU3RhdHVzLkFDVElWRV06IHRydWUsXG4gIFtBbGFybVN0YXR1cy5BQ0tOT1dMRURHRURdOiB0cnVlLFxuICBbQWxhcm1TdGF0dXMuQ0xFQVJFRF06IHRydWVcbn07XG5cbmV4cG9ydCBjb25zdCBBTEFSTVNfUEFUSCA9ICdhbGFybXMnO1xuXG5leHBvcnQgdHlwZSBDdXN0b21GcmFnbWVudCA9IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn07XG5cbi8qKlxuICogRGVmYXVsdCBwcm9wZXJ0aWVzIG9mIGEgYWxhcm0uIFVzZWQgdG8gZXh0cmFjdCB0aGUgY3VzdG9tIHByb3BlcnRpZXMgZnJvbSBhIEFsYXJtIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFMQVJNX0RFRkFVTFRfUFJPUEVSVElFUyA9IFtcbiAgJ3NldmVyaXR5JyxcbiAgJ3NvdXJjZScsXG4gICd0eXBlJyxcbiAgJ3RpbWUnLFxuICAndGV4dCcsXG4gICdpZCcsXG4gICdzdGF0dXMnLFxuICAnY291bnQnLFxuICAnbmFtZScsXG4gICdoaXN0b3J5JyxcbiAgJ3NlbGYnLFxuICAnY3JlYXRpb25UaW1lJyxcbiAgJ2ZpcnN0T2NjdXJyZW5jZVRpbWUnLFxuICAnbGFzdFVwZGF0ZWQnXG5dIGFzIGNvbnN0IHNhdGlzZmllcyBSZWFkb25seUFycmF5PGtleW9mIElBbGFybT47XG5cbmV4cG9ydCBjb25zdCBUSFJPVFRMRV9SRUFMVElNRV9SRUZSRVNIID0gMV8wMDA7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbmF2aWdhdGlvbiBvcHRpb25zIGZvciBhbiBhbGFybSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIEFsYXJtTmF2aWdhdGlvbk9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGlmIHRoZSBhbGFybSBzaG91bGQgbmF2aWdhdGUgdG8gYSBkZXRhaWwgdmlldyB3aGVuIGNsaWNrZWQuXG4gICAqL1xuICBhbGxvd05hdmlnYXRpb25Ub0FsYXJtc1ZpZXc6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIHRyeSB0byBkZXRlcm1pbmUgdGhlIGNvbnRleHQgdG8gbmF2aWdhdGVcbiAgICogdG8gdGhlIGNvcnJlY3QgYWxhcm0gZGV0YWlsIHZpZXcgb3Igbm90LiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGNvbXBvbmVudCB3aWxsXG4gICAqIG5vdCB0cnkgdG8gZGV0ZXJtaW5lIHRoZSBjb250ZXh0IGFuZCB3aWxsIGFsd2F5cyBuYXZpZ2F0ZSB0byB0aGUgYWxsIGFsYXJtcyB2aWV3LlxuICAgKi9cbiAgYWx3YXlzTmF2aWdhdGVUb0FsbEFsYXJtczogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERlZmluZXMgaWYgdGhlIGNsZWFyZWQgcXVlcnkgcGFyYW1ldGVyIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbmF2aWdhdGlvbiBpZlxuICAgKiB0aGUgYWxhcm0gaXMgY2xlYXJlZC5cbiAgICovXG4gIGluY2x1ZGVDbGVhcmVkUXVlcnlQYXJhbXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGhvdyBxdWVyeSBwYXJhbWV0ZXJzIHNob3VsZCBiZSBoYW5kbGVkIGR1cmluZyBuYXZpZ2F0aW9uLlxuICAgKiBUaGlzIHByb3BlcnR5IGNhbiBiZSBzZXQgdG8gb25lIG9mIHRocmVlIHZhbHVlczpcbiAgICpcbiAgICogLSBgXCJtZXJnZVwiYCA6IE1lcmdlIG5ldyBwYXJhbWV0ZXJzIHdpdGggY3VycmVudCBwYXJhbWV0ZXJzLlxuICAgKiAtIGBcInByZXNlcnZlXCJgIDogUHJlc2VydmUgY3VycmVudCBwYXJhbWV0ZXJzLlxuICAgKiAtIGBcIlwiYCA6IFJlcGxhY2UgY3VycmVudCBwYXJhbWV0ZXJzIHdpdGggbmV3IHBhcmFtZXRlcnMuIFRoaXMgaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IuXG4gICAqL1xuICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBRdWVyeVBhcmFtc0hhbmRsaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBbGFybURldGFpbHNCdXR0b24ge1xuICBhZGRpdGlvbmFsQnV0dG9uQ2xhc3Nlcz86IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbjogU3VwcG9ydGVkSWNvbnM7XG4gIGFkZGl0aW9uYWxJY29uQ2xhc3Nlcz86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFjdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICogQHBhcmFtIGFsYXJtIFRoZSBhbGFybSB0byBhcHBseSB0aGlzIGFjdGlvbiB0b1xuICAgKiBAcmV0dXJucyBBIGJvb2xlYW4gb3IgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIG9yIHRvIHRoZSB1cGRhdGVkIGFsYXJtLiBJZiB0aGUgcmVzdWx0IGlzIHRydWUsIGEgcmVsb2FkIHdpbGwgYmUgdHJpZ2dlcmVkLiBJZiB0aGUgcmVzdWx0IGlzIGFuIGFsYXJtLCB0aGUgYWxhcm0gd2lsbCBiZSB1cGRhdGVkIHdpdGggdGhlIG5ldyB2YWx1ZXMuXG4gICAqL1xuICBhY3Rpb246IChhbGFybTogSUFsYXJtKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuIHwgSUFsYXJtPjtcbiAgcHJpb3JpdHk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxhcm1MaXN0SW5kaWNhdG9yQmFzZSB7XG4gIHByaW9yaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsYXJtTGlzdEluZGljYXRvckljb24gZXh0ZW5kcyBBbGFybUxpc3RJbmRpY2F0b3JCYXNlIHtcbiAgaWNvbjogU3VwcG9ydGVkSWNvbnM7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGNsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBbGFybUxpc3RJbmRpY2F0b3IgPSBBbGFybUxpc3RJbmRpY2F0b3JJY29uO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG4gIG5hbWVzcGFjZSBDdW11bG9jaXR5U2VydmljZVJlZ2lzdHJ5IHtcbiAgICBpbnRlcmZhY2UgU3BlY2lmaWNFeHRlbnNpb25LZXlzIHtcbiAgICAgIGFsYXJtRGV0YWlsc0J1dHRvbjogQWxhcm1EZXRhaWxzQnV0dG9uUHJvdmlkZXI7XG4gICAgICBhbGFybUxpc3RJbmRpY2F0b3I6IEFsYXJtTGlzdEluZGljYXRvclByb3ZpZGVyO1xuICAgIH1cblxuICAgIGludGVyZmFjZSBBbGFybURldGFpbHNCdXR0b25Qcm92aWRlciB7XG4gICAgICAvKipcbiAgICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgYnV0dG9uIHNob3VsZCBiZSBzaG93biBmb3IgYSBnaXZlbiBhbGFybS5cbiAgICAgICAqIEBwYXJhbSBhbGFybSBUaGUgYWxhcm0gZm9yIHdoaWNoIHRvIGRldGVybWluZSBidXR0b24gdmlzaWJpbGl0eS5cbiAgICAgICAqIEBwYXJhbSBzb3VyY2UgVGhlIG1hbmFnZWQgb2JqZWN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgYWxhcm0uXG4gICAgICAgKiBAcmV0dXJucyBUaGUgYnV0dG9uIGRldGFpbHMgb3IgZmFsc2UuXG4gICAgICAgKi9cbiAgICAgIGdldEFsYXJtRGV0YWlsc0J1dHRvbiQoXG4gICAgICAgIGFsYXJtOiBJQWxhcm0sXG4gICAgICAgIHNvdXJjZTogSU1hbmFnZWRPYmplY3RcbiAgICAgICk6IE9ic2VydmFibGU8QWxhcm1EZXRhaWxzQnV0dG9uIHwgZmFsc2U+O1xuICAgIH1cblxuICAgIGludGVyZmFjZSBBbGFybUxpc3RJbmRpY2F0b3JQcm92aWRlciB7XG4gICAgICAvKipcbiAgICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGUgaW5kaWNhdG9yIHNob3VsZCBiZSBzaG93biBmb3IgYSBnaXZlbiBhbGFybS5cbiAgICAgICAqIEBwYXJhbSBhbGFybSBUaGUgYWxhcm0gZm9yIHdoaWNoIHRvIGRldGVybWluZSBpbmRpY2F0b3IgdmlzaWJpbGl0eS5cbiAgICAgICAqIEByZXR1cm5zIFRoZSBpbmRpY2F0b3IgZGV0YWlscyBvciBmYWxzZS5cbiAgICAgICAqL1xuICAgICAgZ2V0QWxhcm1MaXN0SW5kaWNhdG9yJChhbGFybTogSUFsYXJtKTogT2JzZXJ2YWJsZTxBbGFybUxpc3RJbmRpY2F0b3IgfCBmYWxzZT47XG4gICAgfVxuICB9XG59XG4iXX0=