UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

284 lines 22.9 kB
import { __decorate, __extends, __metadata, __param, __read, __spread, __values } from "tslib"; import { Pipe, Inject, LOCALE_ID } from '@angular/core'; import { GridBaseAPIService } from '../api.service'; import { DataUtil } from '../../data-operations/data-util'; import { cloneArray } from '../../core/utils'; import { DatePipe, DecimalPipe } from '@angular/common'; /** * @hidden * @internal */ var IgxGridCellStyleClassesPipe = /** @class */ (function () { function IgxGridCellStyleClassesPipe() { } IgxGridCellStyleClassesPipe.prototype.transform = function (cssClasses, value, data, field, index) { var e_1, _a; if (!cssClasses) { return ''; } var result = []; try { for (var _b = __values(Object.keys(cssClasses)), _c = _b.next(); !_c.done; _c = _b.next()) { var cssClass = _c.value; var callbackOrValue = cssClasses[cssClass]; var apply = typeof callbackOrValue === 'function' ? callbackOrValue(data, field, value, index) : callbackOrValue; if (apply) { result.push(cssClass); } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } return result.join(' '); }; IgxGridCellStyleClassesPipe = __decorate([ Pipe({ name: 'igxCellStyleClasses' }) ], IgxGridCellStyleClassesPipe); return IgxGridCellStyleClassesPipe; }()); export { IgxGridCellStyleClassesPipe }; /** * @hidden * @internal */ var IgxGridCellStylesPipe = /** @class */ (function () { function IgxGridCellStylesPipe() { } IgxGridCellStylesPipe.prototype.transform = function (styles, value, data, field, index) { var e_2, _a; var css = {}; if (!styles) { return css; } try { for (var _b = __values(Object.keys(styles)), _c = _b.next(); !_c.done; _c = _b.next()) { var prop = _c.value; var res = styles[prop]; css[prop] = typeof res === 'function' ? res(data, field, value, index) : res; } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_2) throw e_2.error; } } return css; }; IgxGridCellStylesPipe = __decorate([ Pipe({ name: 'igxCellStyles' }) ], IgxGridCellStylesPipe); return IgxGridCellStylesPipe; }()); export { IgxGridCellStylesPipe }; /** * @hidden * @internal */ var IgxGridNotGroupedPipe = /** @class */ (function () { function IgxGridNotGroupedPipe() { } IgxGridNotGroupedPipe.prototype.transform = function (value) { return value.filter(function (item) { return !item.columnGroup; }); }; IgxGridNotGroupedPipe = __decorate([ Pipe({ name: 'igxNotGrouped' }) ], IgxGridNotGroupedPipe); return IgxGridNotGroupedPipe; }()); export { IgxGridNotGroupedPipe }; /** * @hidden * @internal */ var IgxGridTopLevelColumns = /** @class */ (function () { function IgxGridTopLevelColumns() { } IgxGridTopLevelColumns.prototype.transform = function (value) { return value.filter(function (item) { return item.level === 0; }); }; IgxGridTopLevelColumns = __decorate([ Pipe({ name: 'igxTopLevel' }) ], IgxGridTopLevelColumns); return IgxGridTopLevelColumns; }()); export { IgxGridTopLevelColumns }; /** * @hidden * @internal */ var IgxGridFilterConditionPipe = /** @class */ (function () { function IgxGridFilterConditionPipe() { } IgxGridFilterConditionPipe.prototype.transform = function (value) { return value.split(/(?=[A-Z])/).join(' '); }; IgxGridFilterConditionPipe = __decorate([ Pipe({ name: 'filterCondition', pure: true }) ], IgxGridFilterConditionPipe); return IgxGridFilterConditionPipe; }()); export { IgxGridFilterConditionPipe }; /** * @hidden * @internal */ var IgxGridTransactionPipe = /** @class */ (function () { function IgxGridTransactionPipe(gridAPI) { this.gridAPI = gridAPI; } IgxGridTransactionPipe.prototype.transform = function (collection, id, pipeTrigger) { var grid = this.gridAPI.grid; if (grid.transactions.enabled) { var result = DataUtil.mergeTransactions(cloneArray(collection), grid.transactions.getAggregatedChanges(true), grid.primaryKey); return result; } return collection; }; IgxGridTransactionPipe.ctorParameters = function () { return [ { type: GridBaseAPIService } ]; }; IgxGridTransactionPipe = __decorate([ Pipe({ name: 'gridTransaction', pure: true }), __metadata("design:paramtypes", [GridBaseAPIService]) ], IgxGridTransactionPipe); return IgxGridTransactionPipe; }()); export { IgxGridTransactionPipe }; /** * @hidden * @internal */ var IgxGridPaginatorOptionsPipe = /** @class */ (function () { function IgxGridPaginatorOptionsPipe() { } IgxGridPaginatorOptionsPipe.prototype.transform = function (values) { return Array.from(new Set(__spread(values))).sort(function (a, b) { return a - b; }); }; IgxGridPaginatorOptionsPipe = __decorate([ Pipe({ name: 'paginatorOptions', pure: true, }) ], IgxGridPaginatorOptionsPipe); return IgxGridPaginatorOptionsPipe; }()); export { IgxGridPaginatorOptionsPipe }; /** * @hidden * @internal */ var IgxHasVisibleColumnsPipe = /** @class */ (function () { function IgxHasVisibleColumnsPipe() { } IgxHasVisibleColumnsPipe.prototype.transform = function (values, hasVisibleColumns) { if (!(values && values.length)) { return values; } return hasVisibleColumns ? values : []; }; IgxHasVisibleColumnsPipe = __decorate([ Pipe({ name: 'visibleColumns', pure: true }) ], IgxHasVisibleColumnsPipe); return IgxHasVisibleColumnsPipe; }()); export { IgxHasVisibleColumnsPipe }; /** * @hidden * @internal */ var IgxDatePipeComponent = /** @class */ (function (_super) { __extends(IgxDatePipeComponent, _super); function IgxDatePipeComponent(locale) { var _this = // D.P. constructor duplication due to es6 compilation, might be obsolete in the future _super.call(this, locale) || this; _this.DEFAULT_DATE_FORMAT = 'mediumDate'; return _this; } IgxDatePipeComponent.prototype.transform = function (value, locale) { if (value && value instanceof Date) { if (locale) { return _super.prototype.transform.call(this, value, this.DEFAULT_DATE_FORMAT, undefined, locale); } else { return _super.prototype.transform.call(this, value); } } else { return value; } }; IgxDatePipeComponent.ctorParameters = function () { return [ { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] } ]; }; IgxDatePipeComponent = __decorate([ Pipe({ name: 'igxdate' }), __param(0, Inject(LOCALE_ID)), __metadata("design:paramtypes", [String]) ], IgxDatePipeComponent); return IgxDatePipeComponent; }(DatePipe)); export { IgxDatePipeComponent }; /** * @hidden * @internal */ var IgxDecimalPipeComponent = /** @class */ (function (_super) { __extends(IgxDecimalPipeComponent, _super); function IgxDecimalPipeComponent(locale) { // D.P. constructor duplication due to es6 compilation, might be obsolete in the future return _super.call(this, locale) || this; } IgxDecimalPipeComponent.prototype.transform = function (value, locale) { if (value && typeof value === 'number') { if (locale) { return _super.prototype.transform.call(this, value, undefined, locale); } else { return _super.prototype.transform.call(this, value); } } else { return value; } }; IgxDecimalPipeComponent.ctorParameters = function () { return [ { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] } ]; }; IgxDecimalPipeComponent = __decorate([ Pipe({ name: 'igxdecimal' }), __param(0, Inject(LOCALE_ID)), __metadata("design:paramtypes", [String]) ], IgxDecimalPipeComponent); return IgxDecimalPipeComponent; }(DecimalPipe)); export { IgxDecimalPipeComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzL2NvbW1vbi9waXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQ7OztHQUdHO0FBSUg7SUFBQTtJQW1CQSxDQUFDO0lBakJHLCtDQUFTLEdBQVQsVUFBVSxVQUFtQyxFQUFFLEtBQVUsRUFBRSxJQUFTLEVBQUUsS0FBYSxFQUFFLEtBQWE7O1FBQzlGLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsSUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDOztZQUVsQixLQUF1QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO2dCQUEzQyxJQUFNLFFBQVEsV0FBQTtnQkFDZixJQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzdDLElBQU0sS0FBSyxHQUFHLE9BQU8sZUFBZSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7Z0JBQ25ILElBQUksS0FBSyxFQUFFO29CQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7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QUlIO0lBQTZDLDJDQUFXO0lBQ3BELGlDQUErQixNQUFjO1FBQ3pDLHVGQUF1RjtlQUN2RixrQkFBTSxNQUFNLENBQUM7SUFDakIsQ0FBQztJQUNELDJDQUFTLEdBQVQsVUFBVSxLQUFVLEVBQUUsTUFBYztRQUNoQyxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsT0FBTyxpQkFBTSxTQUFTLFlBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNwRDtpQkFBTTtnQkFDSCxPQUFPLGlCQUFNLFNBQVMsWUFBQyxLQUFLLENBQUMsQ0FBQzthQUNqQztTQUNKO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7OzZDQWRZLE1BQU0sU0FBQyxTQUFTOztJQURwQix1QkFBdUI7UUFIbkMsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLFlBQVk7U0FDckIsQ0FBQztRQUVlLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBOztPQURyQix1QkFBdUIsQ0FnQm5DO0lBQUQsOEJBQUM7Q0FBQSxBQWhCRCxDQUE2QyxXQUFXLEdBZ0J2RDtTQWhCWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBJbmplY3QsIExPQ0FMRV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZEJhc2VBUElTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWd4R3JpZEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9ncmlkLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGFVdGlsIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtdXRpbCc7XG5pbXBvcnQgeyBjbG9uZUFycmF5IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gJy4vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdpZ3hDZWxsU3R5bGVDbGFzc2VzJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkQ2VsbFN0eWxlQ2xhc3Nlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShjc3NDbGFzc2VzOiB7IFtwcm9wOiBzdHJpbmddOiBhbnkgfSwgdmFsdWU6IGFueSwgZGF0YTogYW55LCBmaWVsZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFjc3NDbGFzc2VzKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNzc0NsYXNzIG9mIE9iamVjdC5rZXlzKGNzc0NsYXNzZXMpKSB7XG4gICAgICAgICAgICBjb25zdCBjYWxsYmFja09yVmFsdWUgPSBjc3NDbGFzc2VzW2Nzc0NsYXNzXTtcbiAgICAgICAgICAgIGNvbnN0IGFwcGx5ID0gdHlwZW9mIGNhbGxiYWNrT3JWYWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IGNhbGxiYWNrT3JWYWx1ZShkYXRhLCBmaWVsZCwgdmFsdWUsIGluZGV4KSA6IGNhbGxiYWNrT3JWYWx1ZTtcbiAgICAgICAgICAgIGlmIChhcHBseSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNzc0NsYXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbignICcpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdpZ3hDZWxsU3R5bGVzJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkQ2VsbFN0eWxlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShzdHlsZXM6IHsgW3Byb3A6IHN0cmluZ106IGFueSB9LCB2YWx1ZTogYW55LCBkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB7IFtwcm9wOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgICAgIGNvbnN0IGNzcyA9IHt9O1xuICAgICAgICBpZiAoIXN0eWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIGNzcztcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBPYmplY3Qua2V5cyhzdHlsZXMpKSB7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBzdHlsZXNbcHJvcF07XG4gICAgICAgICAgICBjc3NbcHJvcF0gPSB0eXBlb2YgcmVzID09PSAnZnVuY3Rpb24nID8gcmVzKGRhdGEsIGZpZWxkLCB2YWx1ZSwgaW5kZXgpIDogcmVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNzcztcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICogQGludGVybmFsXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnaWd4Tm90R3JvdXBlZCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZE5vdEdyb3VwZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueVtdKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdmFsdWUuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uY29sdW1uR3JvdXApO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdpZ3hUb3BMZXZlbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFRvcExldmVsQ29sdW1ucyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcihpdGVtID0+IGl0ZW0ubGV2ZWwgPT09IDApO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdmaWx0ZXJDb25kaXRpb24nLFxuICAgIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZEZpbHRlckNvbmRpdGlvblBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5zcGxpdCgvKD89W0EtWl0pLykuam9pbignICcpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdncmlkVHJhbnNhY3Rpb24nLFxuICAgIHB1cmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZFRyYW5zYWN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBncmlkQVBJOiBHcmlkQmFzZUFQSVNlcnZpY2U8SWd4R3JpZEJhc2VEaXJlY3RpdmUgJiBHcmlkVHlwZT4pIHsgfVxuXG4gICAgdHJhbnNmb3JtKGNvbGxlY3Rpb246IGFueVtdLCBpZDogc3RyaW5nLCBwaXBlVHJpZ2dlcjogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGdyaWQ6IElneEdyaWRCYXNlRGlyZWN0aXZlID0gdGhpcy5ncmlkQVBJLmdyaWQ7XG5cbiAgICAgICAgaWYgKCBncmlkLnRyYW5zYWN0aW9ucy5lbmFibGVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBEYXRhVXRpbC5tZXJnZVRyYW5zYWN0aW9ucyhcbiAgICAgICAgICAgICAgICBjbG9uZUFycmF5KGNvbGxlY3Rpb24pLFxuICAgICAgICAgICAgICAgIGdyaWQudHJhbnNhY3Rpb25zLmdldEFnZ3JlZ2F0ZWRDaGFuZ2VzKHRydWUpLFxuICAgICAgICAgICAgICAgIGdyaWQucHJpbWFyeUtleSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdwYWdpbmF0b3JPcHRpb25zJyxcbiAgICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJZ3hHcmlkUGFnaW5hdG9yT3B0aW9uc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlczogQXJyYXk8bnVtYmVyPikge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KFsuLi52YWx1ZXNdKSkuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICd2aXNpYmxlQ29sdW1ucycsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hIYXNWaXNpYmxlQ29sdW1uc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWVzOiBhbnlbXSwgaGFzVmlzaWJsZUNvbHVtbnMpIHtcbiAgICAgICAgaWYgKCEodmFsdWVzICYmIHZhbHVlcy5sZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoYXNWaXNpYmxlQ29sdW1ucyA/IHZhbHVlcyA6IFtdO1xuICAgIH1cblxufVxuXG5cbi8qKlxuICogQGhpZGRlblxuICogQGludGVybmFsXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnaWd4ZGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4RGF0ZVBpcGVDb21wb25lbnQgZXh0ZW5kcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RBVEVfRk9STUFUID0gJ21lZGl1bURhdGUnO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIEQuUC4gY29uc3RydWN0b3IgZHVwbGljYXRpb24gZHVlIHRvIGVzNiBjb21waWxhdGlvbiwgbWlnaHQgYmUgb2Jzb2xldGUgaW4gdGhlIGZ1dHVyZVxuICAgICAgICBzdXBlcihsb2NhbGUpO1xuICAgIH1cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgbG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICBpZiAobG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh2YWx1ZSwgdGhpcy5ERUZBVUxUX0RBVEVfRk9STUFULCB1bmRlZmluZWQsIGxvY2FsZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2lneGRlY2ltYWwnXG59KVxuZXhwb3J0IGNsYXNzIElneERlY2ltYWxQaXBlQ29tcG9uZW50IGV4dGVuZHMgRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgbG9jYWxlOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gRC5QLiBjb25zdHJ1Y3RvciBkdXBsaWNhdGlvbiBkdWUgdG8gZXM2IGNvbXBpbGF0aW9uLCBtaWdodCBiZSBvYnNvbGV0ZSBpbiB0aGUgZnV0dXJlXG4gICAgICAgIHN1cGVyKGxvY2FsZSk7XG4gICAgfVxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBsb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBpZiAobG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh2YWx1ZSwgdW5kZWZpbmVkLCBsb2NhbGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==