UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

298 lines (297 loc) 19.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, Input } from '@angular/core'; import { LoaderStatus } from '../../../component/LoaderStatus'; import { Option } from '../../../decorator/decorators'; import { AbstractHasOptions } from '../../../share/AbstractHasOptions'; var /** @type {?} */ TYPE_NAME = "material-icon-loader"; var /** @type {?} */ BALL_PULSE = "ball-pulse"; var /** @type {?} */ BALL_GRID_PULSE = "ball-grid-pulse"; var /** @type {?} */ BALL_PULSE_SYNC = "ball-pulse-sync"; var /** @type {?} */ BALL_CLIP_ROTATE_MULTIPLE = "ball-clip-rotate-multiple"; var /** @type {?} */ BALL_PULSE_RISE = "ball-pulse-rise"; var /** @type {?} */ BALL_CLIP_ROTATE_PULSE = "ball-clip-rotate-pulse"; var /** @type {?} */ BALL_CLIP_ROTATE = "ball-clip-rotate"; var /** @type {?} */ BALL_SCALE_RIPPLE_MULTIPLE = "ball-scale-ripple-multiple"; var /** @type {?} */ BALL_SCALE_MULTIPLE = "ball-scale-multiple"; var /** @type {?} */ LINE_SPIN_FADE_LOADER = "line-spin-fade-loader"; var /** @type {?} */ LINE_SCALE = "line-scale"; var /** @type {?} */ LINE_SCALE_PARTY = "line-scale-party"; var /** @type {?} */ LINE_SCALE_PULSE_OUT = "line-scale-pulse-out"; var /** @type {?} */ LINE_SCALE_PULSE_OUT_RAPID = "line-scale-pulse-out-rapid"; var /** @type {?} */ SQUARE_SPIN = "square-spin"; var MaterialIconLoader = /** @class */ (function (_super) { tslib_1.__extends(MaterialIconLoader, _super); function MaterialIconLoader() { var _this = _super.call(this) || this; _this.status = LoaderStatus.STOPPED; return _this; } /** * @return {?} */ MaterialIconLoader.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @return {?} */ MaterialIconLoader.prototype._getIconName = /** * @return {?} */ function () { if (this.iconName !== null && typeof this.iconName !== 'undefined') { return this.iconName; } return MaterialIconLoader.BALL_CLIP_ROTATE_PULSE; }; /** * @return {?} */ MaterialIconLoader.prototype.start = /** * @return {?} */ function () { if (this.isStopped()) { this.status = LoaderStatus.RUNNING; } return Promise.resolve(); }; /** * @return {?} */ MaterialIconLoader.prototype.pause = /** * @return {?} */ function () { if (this.isRunning()) { this.status = LoaderStatus.PAUSED; } }; /** * @return {?} */ MaterialIconLoader.prototype.resume = /** * @return {?} */ function () { if (this.isPaused()) { this.status = LoaderStatus.RUNNING; } }; /** * @return {?} */ MaterialIconLoader.prototype.stop = /** * @return {?} */ function () { if (this.isRunning() || this.isPaused()) { this.status = LoaderStatus.STOPPED; } }; /** * @return {?} */ MaterialIconLoader.prototype.getState = /** * @return {?} */ function () { return this.status; }; /** * @return {?} */ MaterialIconLoader.prototype.isRunning = /** * @return {?} */ function () { return this.status === LoaderStatus.RUNNING; }; /** * @return {?} */ MaterialIconLoader.prototype.isPaused = /** * @return {?} */ function () { return this.status === LoaderStatus.PAUSED; }; /** * @return {?} */ MaterialIconLoader.prototype.isStopped = /** * @return {?} */ function () { return this.status === LoaderStatus.STOPPED; }; /** * @return {?} */ MaterialIconLoader.prototype.getSize = /** * @return {?} */ function () { return this.size; }; /** * @param {?} size * @return {?} */ MaterialIconLoader.prototype.setSize = /** * @param {?} size * @return {?} */ function (size) { this.size = size; }; /** * @return {?} */ MaterialIconLoader.prototype.getLoaderClass = /** * @return {?} */ function () { return this.loaderClass; }; /** * @param {?} loaderClass * @return {?} */ MaterialIconLoader.prototype.setLoaderClass = /** * @param {?} loaderClass * @return {?} */ function (loaderClass) { this.loaderClass = loaderClass; }; /** * @return {?} */ MaterialIconLoader.prototype.isDisabled = /** * @return {?} */ function () { return this.disabled; }; /** * @param {?} disabled * @return {?} */ MaterialIconLoader.prototype.setDisabled = /** * @param {?} disabled * @return {?} */ function (disabled) { this.disabled = disabled; }; MaterialIconLoader.TYPE_NAME = TYPE_NAME; MaterialIconLoader.BALL_PULSE = BALL_PULSE; MaterialIconLoader.BALL_GRID_PULSE = BALL_GRID_PULSE; MaterialIconLoader.BALL_CLIP_ROTATE_MULTIPLE = BALL_CLIP_ROTATE_MULTIPLE; MaterialIconLoader.BALL_PULSE_RISE = BALL_PULSE_RISE; MaterialIconLoader.BALL_CLIP_ROTATE_PULSE = BALL_CLIP_ROTATE_PULSE; MaterialIconLoader.BALL_CLIP_ROTATE = BALL_CLIP_ROTATE; MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE = BALL_SCALE_RIPPLE_MULTIPLE; MaterialIconLoader.BALL_SCALE_MULTIPLE = BALL_SCALE_MULTIPLE; MaterialIconLoader.BALL_PULSE_SYNC = BALL_PULSE_SYNC; MaterialIconLoader.LINE_SPIN_FADE_LOADER = LINE_SPIN_FADE_LOADER; MaterialIconLoader.LINE_SCALE = LINE_SCALE; MaterialIconLoader.LINE_SCALE_PARTY = LINE_SCALE_PARTY; MaterialIconLoader.LINE_SCALE_PULSE_OUT = LINE_SCALE_PULSE_OUT; MaterialIconLoader.LINE_SCALE_PULSE_OUT_RAPID = LINE_SCALE_PULSE_OUT_RAPID; MaterialIconLoader.SQUARE_SPIN = SQUARE_SPIN; MaterialIconLoader.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: "<div class=\"material-icon-loader\" [style.width]=\"getSize()\" [style.height]=\"getSize()\" [class.disable]=\"isDisabled()\" [class.running]=\"isRunning()\" [class.pause]=\"isPaused()\" [class.stop]=\"isStopped()\">\n <loaders-css [loader]=\"_getIconName()\" [loaderClass]=\"getLoaderClass()\"></loaders-css>\n</div>\n" },] }, ]; /** @nocollapse */ MaterialIconLoader.ctorParameters = function () { return []; }; MaterialIconLoader.propDecorators = { "iconName": [{ type: Input },], "size": [{ type: Input },], "loaderClass": [{ type: Input },], "disabled": [{ type: Input },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialIconLoader.prototype, "iconName", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialIconLoader.prototype, "size", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], MaterialIconLoader.prototype, "loaderClass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], MaterialIconLoader.prototype, "disabled", void 0); return MaterialIconLoader; }(AbstractHasOptions)); export { MaterialIconLoader }; function MaterialIconLoader_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MaterialIconLoader.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MaterialIconLoader.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MaterialIconLoader.propDecorators; /** @type {?} */ MaterialIconLoader.TYPE_NAME; /** @type {?} */ MaterialIconLoader.BALL_PULSE; /** @type {?} */ MaterialIconLoader.BALL_GRID_PULSE; /** @type {?} */ MaterialIconLoader.BALL_CLIP_ROTATE_MULTIPLE; /** @type {?} */ MaterialIconLoader.BALL_PULSE_RISE; /** @type {?} */ MaterialIconLoader.BALL_CLIP_ROTATE_PULSE; /** @type {?} */ MaterialIconLoader.BALL_CLIP_ROTATE; /** @type {?} */ MaterialIconLoader.BALL_SCALE_RIPPLE_MULTIPLE; /** @type {?} */ MaterialIconLoader.BALL_SCALE_MULTIPLE; /** @type {?} */ MaterialIconLoader.BALL_PULSE_SYNC; /** @type {?} */ MaterialIconLoader.LINE_SPIN_FADE_LOADER; /** @type {?} */ MaterialIconLoader.LINE_SCALE; /** @type {?} */ MaterialIconLoader.LINE_SCALE_PARTY; /** @type {?} */ MaterialIconLoader.LINE_SCALE_PULSE_OUT; /** @type {?} */ MaterialIconLoader.LINE_SCALE_PULSE_OUT_RAPID; /** @type {?} */ MaterialIconLoader.SQUARE_SPIN; /** @type {?} */ MaterialIconLoader.prototype.iconName; /** @type {?} */ MaterialIconLoader.prototype.size; /** @type {?} */ MaterialIconLoader.prototype.loaderClass; /** @type {?} */ MaterialIconLoader.prototype.disabled; /** @type {?} */ MaterialIconLoader.prototype.status; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxJY29uTG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9NYXRlcmlhbEljb25Mb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUl2RSxxQkFBTSxTQUFTLEdBQVcsc0JBQXNCLENBQUM7QUFFakQscUJBQU0sVUFBVSxHQUFXLFlBQVksQ0FBQztBQUN4QyxxQkFBTSxlQUFlLEdBQVcsaUJBQWlCLENBQUM7QUFDbEQscUJBQU0sZUFBZSxHQUFXLGlCQUFpQixDQUFDO0FBQ2xELHFCQUFNLHlCQUF5QixHQUFXLDJCQUEyQixDQUFDO0FBQ3RFLHFCQUFNLGVBQWUsR0FBVyxpQkFBaUIsQ0FBQztBQUNsRCxxQkFBTSxzQkFBc0IsR0FBVyx3QkFBd0IsQ0FBQztBQUNoRSxxQkFBTSxnQkFBZ0IsR0FBVyxrQkFBa0IsQ0FBQztBQUNwRCxxQkFBTSwwQkFBMEIsR0FBVyw0QkFBNEIsQ0FBQztBQUN4RSxxQkFBTSxtQkFBbUIsR0FBVyxxQkFBcUIsQ0FBQztBQUMxRCxxQkFBTSxxQkFBcUIsR0FBVyx1QkFBdUIsQ0FBQztBQUM5RCxxQkFBTSxVQUFVLEdBQVcsWUFBWSxDQUFDO0FBQ3hDLHFCQUFNLGdCQUFnQixHQUFXLGtCQUFrQixDQUFDO0FBQ3BELHFCQUFNLG9CQUFvQixHQUFXLHNCQUFzQixDQUFDO0FBQzVELHFCQUFNLDBCQUEwQixHQUFXLDRCQUE0QixDQUFDO0FBQ3hF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QUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxrVUFHWDtpQkFDQTs7Ozs7NkJBcUJFLEtBQUs7eUJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7OztRQVJMLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OzZCQWhFWDtFQWtDd0Msa0JBQWtCO1NBQTdDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxvYWRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JTG9hZGVyJztcbmltcG9ydCB7IExvYWRlclN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9Mb2FkZXJTdGF0dXMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RIYXNPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmUvQWJzdHJhY3RIYXNPcHRpb25zJztcblxuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5jb25zdCBUWVBFX05BTUU6IHN0cmluZyA9IFwibWF0ZXJpYWwtaWNvbi1sb2FkZXJcIjtcblxuY29uc3QgQkFMTF9QVUxTRTogc3RyaW5nID0gXCJiYWxsLXB1bHNlXCI7XG5jb25zdCBCQUxMX0dSSURfUFVMU0U6IHN0cmluZyA9IFwiYmFsbC1ncmlkLXB1bHNlXCI7XG5jb25zdCBCQUxMX1BVTFNFX1NZTkM6IHN0cmluZyA9IFwiYmFsbC1wdWxzZS1zeW5jXCI7XG5jb25zdCBCQUxMX0NMSVBfUk9UQVRFX01VTFRJUExFOiBzdHJpbmcgPSBcImJhbGwtY2xpcC1yb3RhdGUtbXVsdGlwbGVcIjtcbmNvbnN0IEJBTExfUFVMU0VfUklTRTogc3RyaW5nID0gXCJiYWxsLXB1bHNlLXJpc2VcIjtcbmNvbnN0IEJBTExfQ0xJUF9ST1RBVEVfUFVMU0U6IHN0cmluZyA9IFwiYmFsbC1jbGlwLXJvdGF0ZS1wdWxzZVwiO1xuY29uc3QgQkFMTF9DTElQX1JPVEFURTogc3RyaW5nID0gXCJiYWxsLWNsaXAtcm90YXRlXCI7XG5jb25zdCBCQUxMX1NDQUxFX1JJUFBMRV9NVUxUSVBMRTogc3RyaW5nID0gXCJiYWxsLXNjYWxlLXJpcHBsZS1tdWx0aXBsZVwiO1xuY29uc3QgQkFMTF9TQ0FMRV9NVUxUSVBMRTogc3RyaW5nID0gXCJiYWxsLXNjYWxlLW11bHRpcGxlXCI7XG5jb25zdCBMSU5FX1NQSU5fRkFERV9MT0FERVI6IHN0cmluZyA9IFwibGluZS1zcGluLWZhZGUtbG9hZGVyXCI7XG5jb25zdCBMSU5FX1NDQUxFOiBzdHJpbmcgPSBcImxpbmUtc2NhbGVcIjtcbmNvbnN0IExJTkVfU0NBTEVfUEFSVFk6IHN0cmluZyA9IFwibGluZS1zY2FsZS1wYXJ0eVwiO1xuY29uc3QgTElORV9TQ0FMRV9QVUxTRV9PVVQ6IHN0cmluZyA9IFwibGluZS1zY2FsZS1wdWxzZS1vdXRcIjtcbmNvbnN0IExJTkVfU0NBTEVfUFVMU0VfT1VUX1JBUElEOiBzdHJpbmcgPSBcImxpbmUtc2NhbGUtcHVsc2Utb3V0LXJhcGlkXCI7XG5jb25zdCBTUVVBUkVfU1BJTjogc3RyaW5nID0gXCJzcXVhcmUtc3BpblwiO1xuIFxuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cIm1hdGVyaWFsLWljb24tbG9hZGVyXCIgW3N0eWxlLndpZHRoXT1cImdldFNpemUoKVwiIFtzdHlsZS5oZWlnaHRdPVwiZ2V0U2l6ZSgpXCIgW2NsYXNzLmRpc2FibGVdPVwiaXNEaXNhYmxlZCgpXCIgW2NsYXNzLnJ1bm5pbmddPVwiaXNSdW5uaW5nKClcIiBbY2xhc3MucGF1c2VdPVwiaXNQYXVzZWQoKVwiIFtjbGFzcy5zdG9wXT1cImlzU3RvcHBlZCgpXCI+XG4gIDxsb2FkZXJzLWNzcyBbbG9hZGVyXT1cIl9nZXRJY29uTmFtZSgpXCIgW2xvYWRlckNsYXNzXT1cImdldExvYWRlckNsYXNzKClcIj48L2xvYWRlcnMtY3NzPlxuPC9kaXY+XG5gXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsSWNvbkxvYWRlciBleHRlbmRzIEFic3RyYWN0SGFzT3B0aW9ucyBpbXBsZW1lbnRzIE9uSW5pdCwgSUxvYWRlciB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfUFVMU0U6IHN0cmluZyA9IEJBTExfUFVMU0U7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9HUklEX1BVTFNFOiBzdHJpbmcgPSBCQUxMX0dSSURfUFVMU0U7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9DTElQX1JPVEFURV9NVUxUSVBMRTogc3RyaW5nID0gQkFMTF9DTElQX1JPVEFURV9NVUxUSVBMRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX1BVTFNFX1JJU0U6IHN0cmluZyA9IEJBTExfUFVMU0VfUklTRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCQUxMX0NMSVBfUk9UQVRFX1BVTFNFOiBzdHJpbmcgPSBCQUxMX0NMSVBfUk9UQVRFX1BVTFNFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfQ0xJUF9ST1RBVEU6IHN0cmluZyA9IEJBTExfQ0xJUF9ST1RBVEU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9TQ0FMRV9SSVBQTEVfTVVMVElQTEU6IHN0cmluZyA9IEJBTExfU0NBTEVfUklQUExFX01VTFRJUExFO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJBTExfU0NBTEVfTVVMVElQTEU6IHN0cmluZyA9IEJBTExfU0NBTEVfTVVMVElQTEU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQkFMTF9QVUxTRV9TWU5DOiBzdHJpbmcgPSBCQUxMX1BVTFNFX1NZTkM7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElORV9TUElOX0ZBREVfTE9BREVSOiBzdHJpbmcgPSBMSU5FX1NQSU5fRkFERV9MT0FERVI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElORV9TQ0FMRTogc3RyaW5nID0gTElORV9TQ0FMRTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU5FX1NDQUxFX1BBUlRZOiBzdHJpbmcgPSBMSU5FX1NDQUxFX1BBUlRZO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJTkVfU0NBTEVfUFVMU0VfT1VUOiBzdHJpbmcgPSBMSU5FX1NDQUxFX1BVTFNFX09VVDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSU5FX1NDQUxFX1BVTFNFX09VVF9SQVBJRDogc3RyaW5nID0gTElORV9TQ0FMRV9QVUxTRV9PVVRfUkFQSUQ7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1FVQVJFX1NQSU46IHN0cmluZyA9IFNRVUFSRV9TUElOO1xuXG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcml2YXRlIGljb25OYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcml2YXRlIHNpemU6IHN0cmluZztcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByaXZhdGUgbG9hZGVyQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByaXZhdGUgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBzdGF0dXM6IExvYWRlclN0YXR1cztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuU1RPUFBFRDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBfZ2V0SWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pY29uTmFtZSAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5pY29uTmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmljb25OYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRlcmlhbEljb25Mb2FkZXIuQkFMTF9DTElQX1JPVEFURV9QVUxTRTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLmlzU3RvcHBlZCgpKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IExvYWRlclN0YXR1cy5SVU5OSU5HO1xuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXVzZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1J1bm5pbmcoKSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuUEFVU0VEO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXN1bWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNQYXVzZWQoKSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkZXJTdGF0dXMuUlVOTklORztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1J1bm5pbmcoKSB8fCB0aGlzLmlzUGF1c2VkKCkpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGVyU3RhdHVzLlNUT1BQRUQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFN0YXRlKCk6IExvYWRlclN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGlzUnVubmluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IExvYWRlclN0YXR1cy5SVU5OSU5HO1xuICB9XG5cbiAgcHVibGljIGlzUGF1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gTG9hZGVyU3RhdHVzLlBBVVNFRDtcbiAgfVxuXG4gIHB1YmxpYyBpc1N0b3BwZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBMb2FkZXJTdGF0dXMuU1RPUFBFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTaXplKHNpemU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2l6ZSA9IHNpemU7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9hZGVyQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJDbGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRMb2FkZXJDbGFzcyhsb2FkZXJDbGFzczogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkZXJDbGFzcyA9IGxvYWRlckNsYXNzO1xuICB9XG5cbiAgcHVibGljIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cbn1cbiJdfQ==