@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
176 lines • 15.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
// tslint:disable: no-inputs-metadata-property
import { CDK_ROW_TEMPLATE, CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef } from '@angular/cdk/table';
import { ChangeDetectionStrategy, Component, Directive, ViewEncapsulation, HostBinding } from '@angular/core';
/**
* Header row definition for the suka-table.
* Captures the header row's template and other header properties such as the columns to display.
*/
var SukaHeaderRowDef = /** @class */ (function (_super) {
tslib_1.__extends(SukaHeaderRowDef, _super);
function SukaHeaderRowDef() {
return _super !== null && _super.apply(this, arguments) || this;
}
SukaHeaderRowDef.decorators = [
{ type: Directive, args: [{
selector: '[sukaHeaderRowDef]',
providers: [{ provide: CdkHeaderRowDef, useExisting: SukaHeaderRowDef }],
inputs: ['columns: sukaHeaderRowDef', 'sticky: sukaHeaderRowDefSticky'],
},] }
];
return SukaHeaderRowDef;
}(CdkHeaderRowDef));
export { SukaHeaderRowDef };
/**
* Footer row definition for the suka-table.
* Captures the footer row's template and other footer properties such as the columns to display.
*/
var SukaFooterRowDef = /** @class */ (function (_super) {
tslib_1.__extends(SukaFooterRowDef, _super);
function SukaFooterRowDef() {
return _super !== null && _super.apply(this, arguments) || this;
}
SukaFooterRowDef.decorators = [
{ type: Directive, args: [{
selector: '[sukaFooterRowDef]',
providers: [{ provide: CdkFooterRowDef, useExisting: SukaFooterRowDef }],
inputs: ['columns: sukaFooterRowDef', 'sticky: sukaFooterRowDefSticky'],
},] }
];
return SukaFooterRowDef;
}(CdkFooterRowDef));
export { SukaFooterRowDef };
/**
* Data row definition for the suka-table.
* Captures the data row's template and other properties such as the columns to display and
* a when predicate that describes when this row should be used.
* @template T
*/
var SukaRowDef = /** @class */ (function (_super) {
tslib_1.__extends(SukaRowDef, _super);
function SukaRowDef() {
return _super !== null && _super.apply(this, arguments) || this;
}
SukaRowDef.decorators = [
{ type: Directive, args: [{
selector: '[sukaRowDef]',
providers: [{ provide: CdkRowDef, useExisting: SukaRowDef }],
inputs: ['columns: sukaRowDefColumns', 'when: sukaRowDefWhen'],
},] }
];
return SukaRowDef;
}(CdkRowDef));
export { SukaRowDef };
/**
* Footer template container that contains the cell outlet. Adds the right class and role.
*/
var SukaHeaderRow = /** @class */ (function (_super) {
tslib_1.__extends(SukaHeaderRow, _super);
function SukaHeaderRow() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.baseClass = true;
_this.role = 'row';
return _this;
}
SukaHeaderRow.decorators = [
{ type: Component, args: [{
selector: 'suka-header-row, tr[suka-header-row]',
template: CDK_ROW_TEMPLATE,
// See note on CdkTable for explanation on why this uses the default change detection strategy.
// tslint:disable-next-line:validate-decorators
changeDetection: ChangeDetectionStrategy.Default,
encapsulation: ViewEncapsulation.None,
exportAs: 'sukaHeaderRow',
providers: [{ provide: CdkHeaderRow, useExisting: SukaHeaderRow }]
}] }
];
SukaHeaderRow.propDecorators = {
baseClass: [{ type: HostBinding, args: ['class.suka-header-row',] }],
role: [{ type: HostBinding, args: ['attr.role',] }]
};
return SukaHeaderRow;
}(CdkHeaderRow));
export { SukaHeaderRow };
if (false) {
/** @type {?} */
SukaHeaderRow.prototype.baseClass;
/** @type {?} */
SukaHeaderRow.prototype.role;
}
/**
* Footer template container that contains the cell outlet. Adds the right class and role.
*/
var SukaFooterRow = /** @class */ (function (_super) {
tslib_1.__extends(SukaFooterRow, _super);
function SukaFooterRow() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.baseClass = true;
_this.role = 'row';
return _this;
}
SukaFooterRow.decorators = [
{ type: Component, args: [{
selector: 'suka-footer-row, tr[suka-footer-row]',
template: CDK_ROW_TEMPLATE,
// See note on CdkTable for explanation on why this uses the default change detection strategy.
// tslint:disable-next-line:validate-decorators
changeDetection: ChangeDetectionStrategy.Default,
encapsulation: ViewEncapsulation.None,
exportAs: 'sukaFooterRow',
providers: [{ provide: CdkFooterRow, useExisting: SukaFooterRow }]
}] }
];
SukaFooterRow.propDecorators = {
baseClass: [{ type: HostBinding, args: ['class.suka-footer-row',] }],
role: [{ type: HostBinding, args: ['attr.role',] }]
};
return SukaFooterRow;
}(CdkFooterRow));
export { SukaFooterRow };
if (false) {
/** @type {?} */
SukaFooterRow.prototype.baseClass;
/** @type {?} */
SukaFooterRow.prototype.role;
}
/**
* Data row template container that contains the cell outlet. Adds the right class and role.
*/
var SukaRow = /** @class */ (function (_super) {
tslib_1.__extends(SukaRow, _super);
function SukaRow() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.baseClass = true;
_this.role = 'row';
return _this;
}
SukaRow.decorators = [
{ type: Component, args: [{
selector: 'suka-row, tr[suka-row]',
template: CDK_ROW_TEMPLATE,
// See note on CdkTable for explanation on why this uses the default change detection strategy.
// tslint:disable-next-line:validate-decorators
changeDetection: ChangeDetectionStrategy.Default,
encapsulation: ViewEncapsulation.None,
exportAs: 'sukaRow',
providers: [{ provide: CdkRow, useExisting: SukaRow }]
}] }
];
SukaRow.propDecorators = {
baseClass: [{ type: HostBinding, args: ['class.suka-row',] }],
role: [{ type: HostBinding, args: ['attr.role',] }]
};
return SukaRow;
}(CdkRow));
export { SukaRow };
if (false) {
/** @type {?} */
SukaRow.prototype.baseClass;
/** @type {?} */
SukaRow.prototype.role;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGt1c2hraS9uZy1zdWthLyIsInNvdXJjZXMiOlsibGliL3RhYmxlL3Jvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU05RztJQUtzQyw0Q0FBZTtJQUxyRDs7SUFNQSxDQUFDOztnQkFOQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO29CQUN4RSxNQUFNLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxnQ0FBZ0MsQ0FBQztpQkFDeEU7O0lBRUQsdUJBQUM7Q0FBQSxBQU5ELENBS3NDLGVBQWUsR0FDcEQ7U0FEWSxnQkFBZ0I7Ozs7O0FBTzdCO0lBS3NDLDRDQUFlO0lBTHJEOztJQU1BLENBQUM7O2dCQU5BLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUM7b0JBQ3hFLE1BQU0sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGdDQUFnQyxDQUFDO2lCQUN4RTs7SUFFRCx1QkFBQztDQUFBLEFBTkQsQ0FLc0MsZUFBZSxHQUNwRDtTQURZLGdCQUFnQjs7Ozs7OztBQVE3QjtJQUttQyxzQ0FBWTtJQUwvQzs7SUFNQSxDQUFDOztnQkFOQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUM7b0JBQzVELE1BQU0sRUFBRSxDQUFDLDRCQUE0QixFQUFFLHNCQUFzQixDQUFDO2lCQUMvRDs7SUFFRCxpQkFBQztDQUFBLEFBTkQsQ0FLbUMsU0FBUyxHQUMzQztTQURZLFVBQVU7Ozs7QUFJdkI7SUFVbUMseUNBQVk7SUFWL0M7UUFBQSxxRUFhQztRQUZ1QyxlQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzdCLFVBQUksR0FBRyxLQUFLLENBQUM7O0lBQ3pDLENBQUM7O2dCQWJBLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUUsZ0JBQWdCOzs7b0JBRzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO29CQUNoRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUM7aUJBQ25FOzs7NEJBRUUsV0FBVyxTQUFDLHVCQUF1Qjt1QkFDbkMsV0FBVyxTQUFDLFdBQVc7O0lBQzFCLG9CQUFDO0NBQUEsQUFiRCxDQVVtQyxZQUFZLEdBRzlDO1NBSFksYUFBYTs7O0lBQ3hCLGtDQUF1RDs7SUFDdkQsNkJBQXVDOzs7OztBQUl6QztJQVVtQyx5Q0FBWTtJQVYvQztRQUFBLHFFQWFDO1FBRnVDLGVBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsVUFBSSxHQUFHLEtBQUssQ0FBQzs7SUFDekMsQ0FBQzs7Z0JBYkEsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFFBQVEsRUFBRSxnQkFBZ0I7OztvQkFHMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE9BQU87b0JBQ2hELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUsZUFBZTtvQkFDekIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQztpQkFDbkU7Ozs0QkFFRSxXQUFXLFNBQUMsdUJBQXVCO3VCQUNuQyxXQUFXLFNBQUMsV0FBVzs7SUFDMUIsb0JBQUM7Q0FBQSxBQWJELENBVW1DLFlBQVksR0FHOUM7U0FIWSxhQUFhOzs7SUFDeEIsa0NBQXVEOztJQUN2RCw2QkFBdUM7Ozs7O0FBSXpDO0lBVTZCLG1DQUFNO0lBVm5DO1FBQUEscUVBYUM7UUFGZ0MsZUFBUyxHQUFHLElBQUksQ0FBQztRQUN0QixVQUFJLEdBQUcsS0FBSyxDQUFDOztJQUN6QyxDQUFDOztnQkFiQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLGdCQUFnQjs7O29CQUcxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztvQkFDaEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDO2lCQUN2RDs7OzRCQUVFLFdBQVcsU0FBQyxnQkFBZ0I7dUJBQzVCLFdBQVcsU0FBQyxXQUFXOztJQUMxQixjQUFDO0NBQUEsQUFiRCxDQVU2QixNQUFNLEdBR2xDO1NBSFksT0FBTzs7O0lBQ2xCLDRCQUFnRDs7SUFDaEQsdUJBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG5vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuXG5pbXBvcnQge1xuICBDREtfUk9XX1RFTVBMQVRFLFxuICBDZGtGb290ZXJSb3csXG4gIENka0Zvb3RlclJvd0RlZixcbiAgQ2RrSGVhZGVyUm93LFxuICBDZGtIZWFkZXJSb3dEZWYsXG4gIENka1JvdyxcbiAgQ2RrUm93RGVmXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIFZpZXdFbmNhcHN1bGF0aW9uLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEhlYWRlciByb3cgZGVmaW5pdGlvbiBmb3IgdGhlIHN1a2EtdGFibGUuXG4gKiBDYXB0dXJlcyB0aGUgaGVhZGVyIHJvdydzIHRlbXBsYXRlIGFuZCBvdGhlciBoZWFkZXIgcHJvcGVydGllcyBzdWNoIGFzIHRoZSBjb2x1bW5zIHRvIGRpc3BsYXkuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzdWthSGVhZGVyUm93RGVmXScsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ2RrSGVhZGVyUm93RGVmLCB1c2VFeGlzdGluZzogU3VrYUhlYWRlclJvd0RlZiB9XSxcbiAgaW5wdXRzOiBbJ2NvbHVtbnM6IHN1a2FIZWFkZXJSb3dEZWYnLCAnc3RpY2t5OiBzdWthSGVhZGVyUm93RGVmU3RpY2t5J10sXG59KVxuZXhwb3J0IGNsYXNzIFN1a2FIZWFkZXJSb3dEZWYgZXh0ZW5kcyBDZGtIZWFkZXJSb3dEZWYge1xufVxuXG4vKipcbiAqIEZvb3RlciByb3cgZGVmaW5pdGlvbiBmb3IgdGhlIHN1a2EtdGFibGUuXG4gKiBDYXB0dXJlcyB0aGUgZm9vdGVyIHJvdydzIHRlbXBsYXRlIGFuZCBvdGhlciBmb290ZXIgcHJvcGVydGllcyBzdWNoIGFzIHRoZSBjb2x1bW5zIHRvIGRpc3BsYXkuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzdWthRm9vdGVyUm93RGVmXScsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ2RrRm9vdGVyUm93RGVmLCB1c2VFeGlzdGluZzogU3VrYUZvb3RlclJvd0RlZiB9XSxcbiAgaW5wdXRzOiBbJ2NvbHVtbnM6IHN1a2FGb290ZXJSb3dEZWYnLCAnc3RpY2t5OiBzdWthRm9vdGVyUm93RGVmU3RpY2t5J10sXG59KVxuZXhwb3J0IGNsYXNzIFN1a2FGb290ZXJSb3dEZWYgZXh0ZW5kcyBDZGtGb290ZXJSb3dEZWYge1xufVxuXG4vKipcbiAqIERhdGEgcm93IGRlZmluaXRpb24gZm9yIHRoZSBzdWthLXRhYmxlLlxuICogQ2FwdHVyZXMgdGhlIGRhdGEgcm93J3MgdGVtcGxhdGUgYW5kIG90aGVyIHByb3BlcnRpZXMgc3VjaCBhcyB0aGUgY29sdW1ucyB0byBkaXNwbGF5IGFuZFxuICogYSB3aGVuIHByZWRpY2F0ZSB0aGF0IGRlc2NyaWJlcyB3aGVuIHRoaXMgcm93IHNob3VsZCBiZSB1c2VkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3VrYVJvd0RlZl0nLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENka1Jvd0RlZiwgdXNlRXhpc3Rpbmc6IFN1a2FSb3dEZWYgfV0sXG4gIGlucHV0czogWydjb2x1bW5zOiBzdWthUm93RGVmQ29sdW1ucycsICd3aGVuOiBzdWthUm93RGVmV2hlbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdWthUm93RGVmPFQ+IGV4dGVuZHMgQ2RrUm93RGVmPFQ+IHtcbn1cblxuLyoqIEZvb3RlciB0ZW1wbGF0ZSBjb250YWluZXIgdGhhdCBjb250YWlucyB0aGUgY2VsbCBvdXRsZXQuIEFkZHMgdGhlIHJpZ2h0IGNsYXNzIGFuZCByb2xlLiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VrYS1oZWFkZXItcm93LCB0cltzdWthLWhlYWRlci1yb3ddJyxcbiAgdGVtcGxhdGU6IENES19ST1dfVEVNUExBVEUsXG4gIC8vIFNlZSBub3RlIG9uIENka1RhYmxlIGZvciBleHBsYW5hdGlvbiBvbiB3aHkgdGhpcyB1c2VzIHRoZSBkZWZhdWx0IGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YWxpZGF0ZS1kZWNvcmF0b3JzXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgZXhwb3J0QXM6ICdzdWthSGVhZGVyUm93JyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDZGtIZWFkZXJSb3csIHVzZUV4aXN0aW5nOiBTdWthSGVhZGVyUm93IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBTdWthSGVhZGVyUm93IGV4dGVuZHMgQ2RrSGVhZGVyUm93IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zdWthLWhlYWRlci1yb3cnKSBiYXNlQ2xhc3MgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAncm93Jztcbn1cblxuLyoqIEZvb3RlciB0ZW1wbGF0ZSBjb250YWluZXIgdGhhdCBjb250YWlucyB0aGUgY2VsbCBvdXRsZXQuIEFkZHMgdGhlIHJpZ2h0IGNsYXNzIGFuZCByb2xlLiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VrYS1mb290ZXItcm93LCB0cltzdWthLWZvb3Rlci1yb3ddJyxcbiAgdGVtcGxhdGU6IENES19ST1dfVEVNUExBVEUsXG4gIC8vIFNlZSBub3RlIG9uIENka1RhYmxlIGZvciBleHBsYW5hdGlvbiBvbiB3aHkgdGhpcyB1c2VzIHRoZSBkZWZhdWx0IGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YWxpZGF0ZS1kZWNvcmF0b3JzXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgZXhwb3J0QXM6ICdzdWthRm9vdGVyUm93JyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDZGtGb290ZXJSb3csIHVzZUV4aXN0aW5nOiBTdWthRm9vdGVyUm93IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBTdWthRm9vdGVyUm93IGV4dGVuZHMgQ2RrRm9vdGVyUm93IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zdWthLWZvb3Rlci1yb3cnKSBiYXNlQ2xhc3MgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAncm93Jztcbn1cblxuLyoqIERhdGEgcm93IHRlbXBsYXRlIGNvbnRhaW5lciB0aGF0IGNvbnRhaW5zIHRoZSBjZWxsIG91dGxldC4gQWRkcyB0aGUgcmlnaHQgY2xhc3MgYW5kIHJvbGUuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdWthLXJvdywgdHJbc3VrYS1yb3ddJyxcbiAgdGVtcGxhdGU6IENES19ST1dfVEVNUExBVEUsXG4gIC8vIFNlZSBub3RlIG9uIENka1RhYmxlIGZvciBleHBsYW5hdGlvbiBvbiB3aHkgdGhpcyB1c2VzIHRoZSBkZWZhdWx0IGNoYW5nZSBkZXRlY3Rpb24gc3RyYXRlZ3kuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YWxpZGF0ZS1kZWNvcmF0b3JzXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgZXhwb3J0QXM6ICdzdWthUm93JyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDZGtSb3csIHVzZUV4aXN0aW5nOiBTdWthUm93IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBTdWthUm93IGV4dGVuZHMgQ2RrUm93IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zdWthLXJvdycpIGJhc2VDbGFzcyA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdyb3cnO1xufVxuIl19