@hxui/angular
Version:
* * *
340 lines • 20.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { InjectionToken } from '@angular/core';
import { Subject } from 'rxjs';
/** @enum {number} */
var ToastrPosition = {
CENTER_CENTER: 0,
TOP_CENTER: 1,
BOTTOM_CENTER: 2,
TOP_FULL_WIDTH: 3,
BOTTOM_FULL_WIDTH: 4,
TOP_LEFT: 5,
TOP_RIGHT: 6,
BOTTOM_LEFT: 7,
BOTTOM_RIGHT: 8,
};
export { ToastrPosition };
ToastrPosition[ToastrPosition.CENTER_CENTER] = 'CENTER_CENTER';
ToastrPosition[ToastrPosition.TOP_CENTER] = 'TOP_CENTER';
ToastrPosition[ToastrPosition.BOTTOM_CENTER] = 'BOTTOM_CENTER';
ToastrPosition[ToastrPosition.TOP_FULL_WIDTH] = 'TOP_FULL_WIDTH';
ToastrPosition[ToastrPosition.BOTTOM_FULL_WIDTH] = 'BOTTOM_FULL_WIDTH';
ToastrPosition[ToastrPosition.TOP_LEFT] = 'TOP_LEFT';
ToastrPosition[ToastrPosition.TOP_RIGHT] = 'TOP_RIGHT';
ToastrPosition[ToastrPosition.BOTTOM_LEFT] = 'BOTTOM_LEFT';
ToastrPosition[ToastrPosition.BOTTOM_RIGHT] = 'BOTTOM_RIGHT';
/**
* Configuration for an individual toast.
* @record
*/
export function IndividualConfig() { }
if (false) {
/**
* disable both timeOut and extendedTimeOut
* default: false
* @type {?}
*/
IndividualConfig.prototype.disableTimeOut;
/**
* toast time to live in milliseconds
* default: 5000
* @type {?}
*/
IndividualConfig.prototype.timeOut;
/**
* toast show close button
* default: false
* @type {?}
*/
IndividualConfig.prototype.closeButton;
/**
* time to close after a user hovers over toast
* default: 1000
* @type {?}
*/
IndividualConfig.prototype.extendedTimeOut;
/**
* show toast progress bar
* default: false
* @type {?}
*/
IndividualConfig.prototype.progressBar;
/**
* changes toast progress bar animation
* default: decreasing
* @type {?}
*/
IndividualConfig.prototype.progressAnimation;
/**
* render html in toast message (possibly unsafe)
* default: false
* @type {?}
*/
IndividualConfig.prototype.enableHtml;
/**
* css class on toast component
* default: toast
* @type {?}
*/
IndividualConfig.prototype.toastClass;
/**
* Position of toastr container
* default: ToastrPosition.TOP_RIGHT
* @type {?}
*/
IndividualConfig.prototype.position;
/**
* css class on toast title
* default: toast-title
* @type {?}
*/
IndividualConfig.prototype.titleClass;
/**
* css class on toast message
* default: toast-message
* @type {?}
*/
IndividualConfig.prototype.messageClass;
/**
* animation easing on toast
* default: ease-in
* @type {?}
*/
IndividualConfig.prototype.easing;
/**
* animation ease time on toast
* default: 300
* @type {?}
*/
IndividualConfig.prototype.easeTime;
/**
* clicking on toast dismisses it
* default: true
* @type {?}
*/
IndividualConfig.prototype.tapToDismiss;
/**
* Angular toast component to be shown
* default: Toast
* @type {?|undefined}
*/
IndividualConfig.prototype.toastComponent;
/**
* Helps show toast from a websocket or from event outside Angular
* default: false
* @type {?}
*/
IndividualConfig.prototype.onActivateTick;
}
/**
* @record
*/
export function ToastrIconClasses() { }
if (false) {
/** @type {?} */
ToastrIconClasses.prototype.none;
/** @type {?} */
ToastrIconClasses.prototype.error;
/** @type {?} */
ToastrIconClasses.prototype.info;
/** @type {?} */
ToastrIconClasses.prototype.success;
/** @type {?} */
ToastrIconClasses.prototype.warning;
}
/**
* Global Toast configuration
* Includes all IndividualConfig
* @record
*/
export function GlobalConfig() { }
if (false) {
/**
* max toasts opened. Toasts will be queued
* Zero is unlimited
* default: 0
* @type {?}
*/
GlobalConfig.prototype.maxOpened;
/**
* dismiss current toast when max is reached
* default: false
* @type {?}
*/
GlobalConfig.prototype.autoDismiss;
/** @type {?} */
GlobalConfig.prototype.iconClasses;
/**
* New toast placement
* default: true
* @type {?}
*/
GlobalConfig.prototype.newestOnTop;
/**
* block duplicate messages
* default: false
* @type {?}
*/
GlobalConfig.prototype.preventDuplicates;
/**
* Reset toast timeout when there's a duplicate (preventDuplicates needs to be set to true)
* default: false
* @type {?}
*/
GlobalConfig.prototype.resetTimeoutOnDuplicate;
}
/**
* Everything a toast needs to launch
*/
var /**
* Everything a toast needs to launch
*/
ToastPackage = /** @class */ (function () {
function ToastPackage(toastId, config, message, title, toastType, toastRef) {
var _this = this;
this.toastId = toastId;
this.config = config;
this.message = message;
this.title = title;
this.toastType = toastType;
this.toastRef = toastRef;
this._onTap = new Subject();
this._onAction = new Subject();
this.toastRef.afterClosed().subscribe(function () {
_this._onAction.complete();
_this._onTap.complete();
});
}
/** Fired on click */
/**
* Fired on click
* @return {?}
*/
ToastPackage.prototype.triggerTap = /**
* Fired on click
* @return {?}
*/
function () {
this._onTap.next();
if (this.config.tapToDismiss) {
this._onTap.complete();
}
};
/**
* @return {?}
*/
ToastPackage.prototype.onTap = /**
* @return {?}
*/
function () {
return this._onTap.asObservable();
};
/** available for use in custom toast */
/**
* available for use in custom toast
* @param {?=} action
* @return {?}
*/
ToastPackage.prototype.triggerAction = /**
* available for use in custom toast
* @param {?=} action
* @return {?}
*/
function (action) {
this._onAction.next(action);
};
/**
* @return {?}
*/
ToastPackage.prototype.onAction = /**
* @return {?}
*/
function () {
return this._onAction.asObservable();
};
return ToastPackage;
}());
/**
* Everything a toast needs to launch
*/
export { ToastPackage };
if (false) {
/** @type {?} */
ToastPackage.prototype._onTap;
/** @type {?} */
ToastPackage.prototype._onAction;
/** @type {?} */
ToastPackage.prototype.toastId;
/** @type {?} */
ToastPackage.prototype.config;
/** @type {?} */
ToastPackage.prototype.message;
/** @type {?} */
ToastPackage.prototype.title;
/** @type {?} */
ToastPackage.prototype.toastType;
/** @type {?} */
ToastPackage.prototype.toastRef;
}
/**
* @deprecated use GlobalConfig
* @record
*/
export function GlobalToastrConfig() { }
/**
* @deprecated use IndividualConfig
* @record
*/
export function IndividualToastrConfig() { }
/**
* @deprecated use IndividualConfig
* @record
*/
export function ToastrConfig() { }
/** @type {?} */
export var DefaultNoComponentGlobalConfig = {
maxOpened: 0,
autoDismiss: false,
newestOnTop: true,
preventDuplicates: false,
resetTimeoutOnDuplicate: false,
iconClasses: {
none: '',
error: 'is-error',
info: 'is-info',
success: 'is-success',
warning: 'is-warning',
},
// Individual
closeButton: false,
disableTimeOut: false,
timeOut: 5000,
extendedTimeOut: 1000,
enableHtml: false,
progressBar: false,
toastClass: 'hx-alert',
position: ToastrPosition.TOP_RIGHT,
titleClass: 'toast-title',
messageClass: 'toast-message',
easing: 'ease-in',
easeTime: 300,
tapToDismiss: true,
onActivateTick: false,
progressAnimation: 'decreasing',
};
/**
* @record
*/
export function ToastrToken() { }
if (false) {
/** @type {?} */
ToastrToken.prototype.default;
/** @type {?} */
ToastrToken.prototype.config;
}
/** @type {?} */
export var TOAST_CONFIG = new InjectionToken('ToastrConfig');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3RyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvdG9hc3RyL3RvYXN0ci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0lBUXpDLGdCQUFhO0lBQ2IsYUFBVTtJQUNWLGdCQUFhO0lBQ2IsaUJBQWM7SUFDZCxvQkFBaUI7SUFDakIsV0FBUTtJQUNSLFlBQVM7SUFDVCxjQUFXO0lBQ1gsZUFBWTs7Ozs7Ozs7Ozs7Ozs7OztBQU1kLHNDQW1GQzs7Ozs7OztJQTlFQywwQ0FBd0I7Ozs7OztJQUt4QixtQ0FBZ0I7Ozs7OztJQUtoQix1Q0FBcUI7Ozs7OztJQUtyQiwyQ0FBd0I7Ozs7OztJQUt4Qix1Q0FBcUI7Ozs7OztJQU1yQiw2Q0FBeUM7Ozs7OztJQU16QyxzQ0FBb0I7Ozs7OztJQUtwQixzQ0FBbUI7Ozs7OztJQUtuQixvQ0FBeUI7Ozs7OztJQUt6QixzQ0FBbUI7Ozs7OztJQUtuQix3Q0FBcUI7Ozs7OztJQUtyQixrQ0FBZTs7Ozs7O0lBS2Ysb0NBQTBCOzs7Ozs7SUFLMUIsd0NBQXNCOzs7Ozs7SUFLdEIsMENBQW9DOzs7Ozs7SUFLcEMsMENBQXdCOzs7OztBQUcxQix1Q0FNQzs7O0lBTEMsaUNBQWE7O0lBQ2Isa0NBQWM7O0lBQ2QsaUNBQWE7O0lBQ2Isb0NBQWdCOztJQUNoQixvQ0FBZ0I7Ozs7Ozs7QUFPbEIsa0NBNkJDOzs7Ozs7OztJQXZCQyxpQ0FBa0I7Ozs7OztJQUtsQixtQ0FBcUI7O0lBQ3JCLG1DQUF3Qzs7Ozs7O0lBS3hDLG1DQUFxQjs7Ozs7O0lBS3JCLHlDQUEyQjs7Ozs7O0lBTTNCLCtDQUFpQzs7Ozs7QUFNbkM7Ozs7SUFJRSxzQkFDUyxPQUFlLEVBQ2YsTUFBd0IsRUFDeEIsT0FBNkMsRUFDN0Ms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aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICcuL3BvcnRhbC9wb3J0YWwnO1xyXG5pbXBvcnQgeyBUb2FzdHJSZWYgfSBmcm9tICcuL3RvYXN0ci1pbmplY3Rvcic7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9ncmVzc0FuaW1hdGlvblR5cGUgPSAnaW5jcmVhc2luZycgfCAnZGVjcmVhc2luZyc7XHJcblxyXG5leHBvcnQgZW51bSBUb2FzdHJQb3NpdGlvbiB7XHJcbiAgQ0VOVEVSX0NFTlRFUixcclxuICBUT1BfQ0VOVEVSLFxyXG4gIEJPVFRPTV9DRU5URVIsXHJcbiAgVE9QX0ZVTExfV0lEVEgsXHJcbiAgQk9UVE9NX0ZVTExfV0lEVEgsXHJcbiAgVE9QX0xFRlQsXHJcbiAgVE9QX1JJR0hULFxyXG4gIEJPVFRPTV9MRUZULFxyXG4gIEJPVFRPTV9SSUdIVFxyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmb3IgYW4gaW5kaXZpZHVhbCB0b2FzdC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5kaXZpZHVhbENvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogZGlzYWJsZSBib3RoIHRpbWVPdXQgYW5kIGV4dGVuZGVkVGltZU91dFxyXG4gICAqIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICovXHJcbiAgZGlzYWJsZVRpbWVPdXQ6IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogdG9hc3QgdGltZSB0byBsaXZlIGluIG1pbGxpc2Vjb25kc1xyXG4gICAqIGRlZmF1bHQ6IDUwMDBcclxuICAgKi9cclxuICB0aW1lT3V0OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogdG9hc3Qgc2hvdyBjbG9zZSBidXR0b25cclxuICAgKiBkZWZhdWx0OiBmYWxzZVxyXG4gICAqL1xyXG4gIGNsb3NlQnV0dG9uOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIHRpbWUgdG8gY2xvc2UgYWZ0ZXIgYSB1c2VyIGhvdmVycyBvdmVyIHRvYXN0XHJcbiAgICogZGVmYXVsdDogMTAwMFxyXG4gICAqL1xyXG4gIGV4dGVuZGVkVGltZU91dDogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIHNob3cgdG9hc3QgcHJvZ3Jlc3MgYmFyXHJcbiAgICogZGVmYXVsdDogZmFsc2VcclxuICAgKi9cclxuICBwcm9ncmVzc0JhcjogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogY2hhbmdlcyB0b2FzdCBwcm9ncmVzcyBiYXIgYW5pbWF0aW9uXHJcbiAgICogZGVmYXVsdDogZGVjcmVhc2luZ1xyXG4gICAqL1xyXG4gIHByb2dyZXNzQW5pbWF0aW9uOiBQcm9ncmVzc0FuaW1hdGlvblR5cGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIHJlbmRlciBodG1sIGluIHRvYXN0IG1lc3NhZ2UgKHBvc3NpYmx5IHVuc2FmZSlcclxuICAgKiBkZWZhdWx0OiBmYWxzZVxyXG4gICAqL1xyXG4gIGVuYWJsZUh0bWw6IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogY3NzIGNsYXNzIG9uIHRvYXN0IGNvbXBvbmVudFxyXG4gICAqIGRlZmF1bHQ6IHRvYXN0XHJcbiAgICovXHJcbiAgdG9hc3RDbGFzczogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFBvc2l0aW9uIG9mIHRvYXN0ciBjb250YWluZXJcclxuICAgKiBkZWZhdWx0OiBUb2FzdHJQb3NpdGlvbi5UT1BfUklHSFRcclxuICAgKi9cclxuICBwb3NpdGlvbjogVG9hc3RyUG9zaXRpb247XHJcbiAgLyoqXHJcbiAgICogY3NzIGNsYXNzIG9uIHRvYXN0IHRpdGxlXHJcbiAgICogZGVmYXVsdDogdG9hc3QtdGl0bGVcclxuICAgKi9cclxuICB0aXRsZUNsYXNzOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogY3NzIGNsYXNzIG9uIHRvYXN0IG1lc3NhZ2VcclxuICAgKiBkZWZhdWx0OiB0b2FzdC1tZXNzYWdlXHJcbiAgICovXHJcbiAgbWVzc2FnZUNsYXNzOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogYW5pbWF0aW9uIGVhc2luZyBvbiB0b2FzdFxyXG4gICAqIGRlZmF1bHQ6IGVhc2UtaW5cclxuICAgKi9cclxuICBlYXNpbmc6IHN0cmluZztcclxuICAvKipcclxuICAgKiBhbmltYXRpb24gZWFzZSB0aW1lIG9uIHRvYXN0XHJcbiAgICogZGVmYXVsdDogMzAwXHJcbiAgICovXHJcbiAgZWFzZVRpbWU6IHN0cmluZyB8IG51bWJlcjtcclxuICAvKipcclxuICAgKiBjbGlja2luZyBvbiB0b2FzdCBkaXNtaXNzZXMgaXRcclxuICAgKiBkZWZhdWx0OiB0cnVlXHJcbiAgICovXHJcbiAgdGFwVG9EaXNtaXNzOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEFuZ3VsYXIgdG9hc3QgY29tcG9uZW50IHRvIGJlIHNob3duXHJcbiAgICogZGVmYXVsdDogVG9hc3RcclxuICAgKi9cclxuICB0b2FzdENvbXBvbmVudD86IENvbXBvbmVudFR5cGU8YW55PjtcclxuICAvKipcclxuICAgKiBIZWxwcyBzaG93IHRvYXN0IGZyb20gYSB3ZWJzb2NrZXQgb3IgZnJvbSBldmVudCBvdXRzaWRlIEFuZ3VsYXJcclxuICAgKiBkZWZhdWx0OiBmYWxzZVxyXG4gICAqL1xyXG4gIG9uQWN0aXZhdGVUaWNrOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0ckljb25DbGFzc2VzIHtcclxuICBub25lOiBzdHJpbmc7XHJcbiAgZXJyb3I6IHN0cmluZztcclxuICBpbmZvOiBzdHJpbmc7XHJcbiAgc3VjY2Vzczogc3RyaW5nO1xyXG4gIHdhcm5pbmc6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEdsb2JhbCBUb2FzdCBjb25maWd1cmF0aW9uXHJcbiAqIEluY2x1ZGVzIGFsbCBJbmRpdmlkdWFsQ29uZmlnXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbENvbmZpZyBleHRlbmRzIEluZGl2aWR1YWxDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIG1heCB0b2FzdHMgb3BlbmVkLiBUb2FzdHMgd2lsbCBiZSBxdWV1ZWRcclxuICAgKiBaZXJvIGlzIHVubGltaXRlZFxyXG4gICAqIGRlZmF1bHQ6IDBcclxuICAgKi9cclxuICBtYXhPcGVuZWQ6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBkaXNtaXNzIGN1cnJlbnQgdG9hc3Qgd2hlbiBtYXggaXMgcmVhY2hlZFxyXG4gICAqIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICovXHJcbiAgYXV0b0Rpc21pc3M6IGJvb2xlYW47XHJcbiAgaWNvbkNsYXNzZXM6IFBhcnRpYWw8VG9hc3RySWNvbkNsYXNzZXM+O1xyXG4gIC8qKlxyXG4gICAqIE5ldyB0b2FzdCBwbGFjZW1lbnRcclxuICAgKiBkZWZhdWx0OiB0cnVlXHJcbiAgICovXHJcbiAgbmV3ZXN0T25Ub3A6IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogYmxvY2sgZHVwbGljYXRlIG1lc3NhZ2VzXHJcbiAgICogZGVmYXVsdDogZmFsc2VcclxuICAgKi9cclxuICBwcmV2ZW50RHVwbGljYXRlczogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzZXQgdG9hc3QgdGltZW91dCB3aGVuIHRoZXJlJ3MgYSBkdXBsaWNhdGUgKHByZXZlbnREdXBsaWNhdGVzIG5lZWRzIHRvIGJlIHNldCB0byB0cnVlKVxyXG4gICAqIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICovXHJcbiAgcmVzZXRUaW1lb3V0T25EdXBsaWNhdGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFdmVyeXRoaW5nIGEgdG9hc3QgbmVlZHMgdG8gbGF1bmNoXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVG9hc3RQYWNrYWdlIHtcclxuICBwcml2YXRlIF9vblRhcCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwcml2YXRlIF9vbkFjdGlvbiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdG9hc3RJZDogbnVtYmVyLFxyXG4gICAgcHVibGljIGNvbmZpZzogSW5kaXZpZHVhbENvbmZpZyxcclxuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgfCBTYWZlSHRtbCB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIHB1YmxpYyB0b2FzdFR5cGU6IHN0cmluZyxcclxuICAgIHB1YmxpYyB0b2FzdFJlZjogVG9hc3RyUmVmPGFueT4sXHJcbiAgKSB7XHJcbiAgICB0aGlzLnRvYXN0UmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fb25BY3Rpb24uY29tcGxldGUoKTtcclxuICAgICAgdGhpcy5fb25UYXAuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIEZpcmVkIG9uIGNsaWNrICovXHJcbiAgdHJpZ2dlclRhcCgpIHtcclxuICAgIHRoaXMuX29uVGFwLm5leHQoKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZy50YXBUb0Rpc21pc3MpIHtcclxuICAgICAgdGhpcy5fb25UYXAuY29tcGxldGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGFwKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb25UYXAuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICAvKiogYXZhaWxhYmxlIGZvciB1c2UgaW4gY3VzdG9tIHRvYXN0ICovXHJcbiAgdHJpZ2dlckFjdGlvbihhY3Rpb24/OiBhbnkpIHtcclxuICAgIHRoaXMuX29uQWN0aW9uLm5leHQoYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIG9uQWN0aW9uKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb25BY3Rpb24uYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby1lbXB0eS1pbnRlcmZhY2UgKi9cclxuLyoqIEBkZXByZWNhdGVkIHVzZSBHbG9iYWxDb25maWcgKi9cclxuZXhwb3J0IGludGVyZmFjZSBHbG9iYWxUb2FzdHJDb25maWcgZXh0ZW5kcyBHbG9iYWxDb25maWcge31cclxuLyoqIEBkZXByZWNhdGVkIHVzZSBJbmRpdmlkdWFsQ29uZmlnICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5kaXZpZHVhbFRvYXN0ckNvbmZpZyBleHRlbmRzIEluZGl2aWR1YWxDb25maWcge31cclxuLyoqIEBkZXByZWNhdGVkIHVzZSBJbmRpdmlkdWFsQ29uZmlnICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3RyQ29uZmlnIGV4dGVuZHMgSW5kaXZpZHVhbENvbmZpZyB7fVxyXG5cclxuZXhwb3J0IGNvbnN0IERlZmF1bHROb0NvbXBvbmVudEdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnID0ge1xyXG4gIG1heE9wZW5lZDogMCxcclxuICBhdXRvRGlzbWlzczogZmFsc2UsXHJcbiAgbmV3ZXN0T25Ub3A6IHRydWUsXHJcbiAgcHJldmVudER1cGxpY2F0ZXM6IGZhbHNlLFxyXG4gIHJlc2V0VGltZW91dE9uRHVwbGljYXRlOiBmYWxzZSxcclxuICBpY29uQ2xhc3Nlczoge1xyXG4gICAgbm9uZTogJycsXHJcbiAgICBlcnJvcjogJ2lzLWVycm9yJyxcclxuICAgIGluZm86ICdpcy1pbmZvJyxcclxuICAgIHN1Y2Nlc3M6ICdpcy1zdWNjZXNzJyxcclxuICAgIHdhcm5pbmc6ICdpcy13YXJuaW5nJyxcclxuICB9LFxyXG5cclxuICAvLyBJbmRpdmlkdWFsXHJcbiAgY2xvc2VCdXR0b246IGZhbHNlLFxyXG4gIGRpc2FibGVUaW1lT3V0OiBmYWxzZSxcclxuICB0aW1lT3V0OiA1MDAwLFxyXG4gIGV4dGVuZGVkVGltZU91dDogMTAwMCxcclxuICBlbmFibGVIdG1sOiBmYWxzZSxcclxuICBwcm9ncmVzc0JhcjogZmFsc2UsXHJcbiAgdG9hc3RDbGFzczogJ2h4LWFsZXJ0JyxcclxuICBwb3NpdGlvbjogVG9hc3RyUG9zaXRpb24uVE9QX1JJR0hULFxyXG4gIHRpdGxlQ2xhc3M6ICd0b2FzdC10aXRsZScsXHJcbiAgbWVzc2FnZUNsYXNzOiAndG9hc3QtbWVzc2FnZScsXHJcbiAgZWFzaW5nOiAnZWFzZS1pbicsXHJcbiAgZWFzZVRpbWU6IDMwMCxcclxuICB0YXBUb0Rpc21pc3M6IHRydWUsXHJcbiAgb25BY3RpdmF0ZVRpY2s6IGZhbHNlLFxyXG4gIHByb2dyZXNzQW5pbWF0aW9uOiAnZGVjcmVhc2luZycsXHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0clRva2VuIHtcclxuICBkZWZhdWx0OiBHbG9iYWxDb25maWc7XHJcbiAgY29uZmlnOiBQYXJ0aWFsPEdsb2JhbENvbmZpZz47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBUT0FTVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48VG9hc3RyVG9rZW4+KCdUb2FzdHJDb25maWcnKTtcclxuIl19