com.phloxui
Version:
PhloxUI Ng2+ Framework
381 lines (380 loc) • 22.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter } from "@angular/core";
import { AbstracFileSelector } from "./AbstracFileSelector";
import { NeedFocusService } from "../../../service/NeedFocusService.service";
import { Option } from '../../../decorator/Option.decorator';
import { I18N } from '../../../decorator/I18N.decorator';
var /** @type {?} */ TYPE_NAME = "phx-file-selector";
var FileSelector = /** @class */ (function (_super) {
tslib_1.__extends(FileSelector, _super);
function FileSelector(elementRef, needFocusService) {
return _super.call(this, elementRef, needFocusService) || this;
}
/**
* @return {?}
*/
FileSelector.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
};
/**
* @return {?}
*/
FileSelector.prototype.getAllowMultipleSelect = /**
* @return {?}
*/
function () {
return this.allowMultipleSelect;
};
/**
* @param {?} file
* @return {?}
*/
FileSelector.prototype.handleFiles = /**
* @param {?} file
* @return {?}
*/
function (file) {
if (this.isAccept(file.files)) {
this.addFiles(file.files, event);
}
};
/**
* @return {?}
*/
FileSelector.prototype.openFileSelector = /**
* @return {?}
*/
function () {
document.getElementById('file').click();
};
/**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
FileSelector.prototype.onValidationEnd = /**
* @param {?} inputValue
* @param {?} results
* @return {?}
*/
function (inputValue, results) {
return;
};
/**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
FileSelector.prototype.onDataChange = /**
* @param {?} data
* @param {?} inputVal
* @return {?}
*/
function (data, inputVal) {
// throw new Error("Method not implemented.");
};
/**
* @param {?} $event
* @return {?}
*/
FileSelector.prototype.doFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
// throw new Error("Method not implemented.");
};
/**
* @param {?} $event
* @return {?}
*/
FileSelector.prototype.doLostFocus = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
// throw new Error("Method not implemented.");
};
/**
* @return {?}
*/
FileSelector.prototype.isSelfDataDirty = /**
* @return {?}
*/
function () {
return false;
// throw new Error("Method not implemented.");
};
/**
* @param {?} data
* @return {?}
*/
FileSelector.prototype.selfSaveData = /**
* @param {?} data
* @return {?}
*/
function (data) {
// throw new Error("Method not implemented.");
};
/**
* @return {?}
*/
FileSelector.prototype.selfResetData = /**
* @return {?}
*/
function () {
// throw new Error("Method not implemented.");
};
FileSelector.TYPE_NAME = TYPE_NAME;
FileSelector.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<input #file type=\"file\" [multiple]=\"getAllowMultipleSelect()\" (change)=\"handleFiles(file)\">\n"
},] },
];
/** @nocollapse */
FileSelector.ctorParameters = function () { return [
{ type: ElementRef, },
{ type: NeedFocusService, },
]; };
FileSelector.propDecorators = {
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"data": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"disabled": [{ type: Input },],
"field": [{ type: Input },],
"name": [{ type: Input },],
"typeOfData": [{ type: Input },],
"readOnly": [{ type: Input },],
"help": [{ type: Input },],
"maxFilesize": [{ type: Input },],
"allowMultipleSelect": [{ type: Input },],
"fileTypes": [{ type: Input },],
"loadEvent": [{ type: Output, args: ['phxLoad',] },],
"startValidateEvent": [{ type: Output, args: ['phxStartValidate',] },],
"endValidateEvent": [{ type: Output, args: ['phxEndValidate',] },],
"beforeFocusEvent": [{ type: Output, args: ['phxBeforeFocus',] },],
"focusEvent": [{ type: Output, args: ['phxFocus',] },],
"beforeLostFocusEvent": [{ type: Output, args: ['phxBeforeLostFocus',] },],
"lostFocusEvent": [{ type: Output, args: ['phxLostFocus',] },],
"beforeChangeEvent": [{ type: Output, args: ['phxBeforeChange',] },],
"changeEvent": [{ type: Output, args: ['phxChange',] },],
"beforeSelectEvent": [{ type: Output, args: ['phxBeforeSelect',] },],
"selectEvent": [{ type: Output, args: ['phxSelect',] },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], FileSelector.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], FileSelector.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], FileSelector.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], FileSelector.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], FileSelector.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], FileSelector.prototype, "field", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], FileSelector.prototype, "name", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], FileSelector.prototype, "typeOfData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "readOnly", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], FileSelector.prototype, "help", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Number)
], FileSelector.prototype, "maxFilesize", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], FileSelector.prototype, "allowMultipleSelect", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Array)
], FileSelector.prototype, "fileTypes", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('startValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "startValidateEvent", void 0);
tslib_1.__decorate([
Option('endValidate'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "endValidateEvent", void 0);
tslib_1.__decorate([
Option('beforeFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "beforeFocusEvent", void 0);
tslib_1.__decorate([
Option('focus'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "focusEvent", void 0);
tslib_1.__decorate([
Option('beforeLostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "beforeLostFocusEvent", void 0);
tslib_1.__decorate([
Option('lostFocus'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "lostFocusEvent", void 0);
tslib_1.__decorate([
Option('beforeChange'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "beforeChangeEvent", void 0);
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "changeEvent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "beforeSelectEvent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", EventEmitter)
], FileSelector.prototype, "selectEvent", void 0);
return FileSelector;
}(AbstracFileSelector));
export { FileSelector };
function FileSelector_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
FileSelector.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
FileSelector.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
FileSelector.propDecorators;
/** @type {?} */
FileSelector.TYPE_NAME;
/** @type {?} */
FileSelector.prototype.dataParent;
/** @type {?} */
FileSelector.prototype.ignoreParentData;
/** @type {?} */
FileSelector.prototype.data;
/** @type {?} */
FileSelector.prototype.ignoreParentDisabled;
/** @type {?} */
FileSelector.prototype.delegateHistory;
/** @type {?} */
FileSelector.prototype.onDisabled;
/** @type {?} */
FileSelector.prototype.onEnabled;
/** @type {?} */
FileSelector.prototype.loadingEnabled;
/** @type {?} */
FileSelector.prototype.i18nKey;
/** @type {?} */
FileSelector.prototype.bypass;
/** @type {?} */
FileSelector.prototype.options;
/** @type {?} */
FileSelector.prototype.disabled;
/** @type {?} */
FileSelector.prototype.field;
/** @type {?} */
FileSelector.prototype.name;
/** @type {?} */
FileSelector.prototype.typeOfData;
/** @type {?} */
FileSelector.prototype.readOnly;
/** @type {?} */
FileSelector.prototype.help;
/** @type {?} */
FileSelector.prototype.maxFilesize;
/** @type {?} */
FileSelector.prototype.allowMultipleSelect;
/** @type {?} */
FileSelector.prototype.fileTypes;
/** @type {?} */
FileSelector.prototype.loadEvent;
/** @type {?} */
FileSelector.prototype.startValidateEvent;
/** @type {?} */
FileSelector.prototype.endValidateEvent;
/** @type {?} */
FileSelector.prototype.beforeFocusEvent;
/** @type {?} */
FileSelector.prototype.focusEvent;
/** @type {?} */
FileSelector.prototype.beforeLostFocusEvent;
/** @type {?} */
FileSelector.prototype.lostFocusEvent;
/** @type {?} */
FileSelector.prototype.beforeChangeEvent;
/** @type {?} */
FileSelector.prototype.changeEvent;
/** @type {?} */
FileSelector.prototype.beforeSelectEvent;
/** @type {?} */
FileSelector.prototype.selectEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9kYXRhdmlldy9pbnB1dC9GaWxlU2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFN0UsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd6RCxxQkFBTSxTQUFTLEdBQVcsbUJBQW1CLENBQUM7O0lBUVosd0NBQW1CO0lBNkduRCxzQkFBWSxVQUFzQixFQUFFLGdCQUFrQztlQUNwRSxrQkFBTSxVQUFVLEVBQUUsZ0JBQWdCLENBQUM7S0FDcEM7Ozs7SUFFTSwrQkFBUTs7OztRQUNiLGlCQUFNLFFBQVEsV0FBRSxDQUFDOzs7OztJQUdaLDZDQUFzQjs7OztRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDOzs7Ozs7SUFHN0Isa0NBQVc7Ozs7Y0FBQyxJQUFTO1FBQ3hCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDcEM7Ozs7O0lBR0UsdUNBQWdCOzs7O1FBQ25CLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7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IE9uSW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY0ZpbGVTZWxlY3RvciB9IGZyb20gXCIuL0Fic3RyYWNGaWxlU2VsZWN0b3JcIjtcbmltcG9ydCB7IE5lZWRGb2N1c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9OZWVkRm9jdXNTZXJ2aWNlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tIFwiLi4vLi4vbW9kZWwvVmFsaWRhdGlvblJlc3VsdFwiO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL09wdGlvbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgSTE4TiB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvci9JMThOLmRlY29yYXRvcic7XG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzRGF0YSc7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtZmlsZS1zZWxlY3RvclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8aW5wdXQgI2ZpbGUgdHlwZT1cImZpbGVcIiBbbXVsdGlwbGVdPVwiZ2V0QWxsb3dNdWx0aXBsZVNlbGVjdCgpXCIgKGNoYW5nZSk9XCJoYW5kbGVGaWxlcyhmaWxlKVwiPlxyXG5gXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVTZWxlY3RvciBleHRlbmRzIEFic3RyYWNGaWxlU2VsZWN0b3IgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8vIFJlLWRlY2xhcmUgZmllbGQgdG8gZGVjbGFyZSBuZyBASW5wdXQuXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SGFzRGF0YVxuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGFQYXJlbnQ6IElIYXNEYXRhO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGlnbm9yZVBhcmVudERhdGE6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGF0YTogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGlnbm9yZVBhcmVudERpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRlbGVnYXRlSGlzdG9yeTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBvbkRpc2FibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBvbkVuYWJsZWQ6IEZ1bmN0aW9uO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGxvYWRpbmdFbmFibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGkxOG5LZXk6IHN0cmluZztcbiAgQElucHV0KCdpMThuQnlwYXNzJylcbiAgQE9wdGlvbignaTE4bkJ5cGFzcycpXG4gIHByb3RlY3RlZCBieXBhc3M6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHByb3RlY3RlZCBvcHRpb25zOiBhbnk7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0RGF0YVZpZXdcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBmaWVsZDogc3RyaW5nO1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdElucHV0RGF0YVZpZXdcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgdHlwZU9mRGF0YTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIHJlYWRPbmx5OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBASTE4TigpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaGVscDogYW55O1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjRmlsZVNlbGVjdG9yXG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgbWF4RmlsZXNpemU6IG51bWJlcjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBhbGxvd011bHRpcGxlU2VsZWN0OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGZpbGVUeXBlczogc3RyaW5nW107XG5cbiAgLy8gUmUtZGVjbGFyZSBmaWVsZCB0byBkZWNsYXJlIG5nIEBPdXRwdXQuXG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SGFzRGF0YVxuICBAT3V0cHV0KCdwaHhMb2FkJylcbiAgQE9wdGlvbignbG9hZCcpXG4gIHByb3RlY3RlZCBsb2FkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdERhdGFWaWV3XG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0SW5wdXREYXRhVmlld1xuICBAT3V0cHV0KCdwaHhTdGFydFZhbGlkYXRlJylcbiAgQE9wdGlvbignc3RhcnRWYWxpZGF0ZScpXG4gIHByb3RlY3RlZCBzdGFydFZhbGlkYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhFbmRWYWxpZGF0ZScpXG4gIEBPcHRpb24oJ2VuZFZhbGlkYXRlJylcbiAgcHJvdGVjdGVkIGVuZFZhbGlkYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhCZWZvcmVGb2N1cycpXG4gIEBPcHRpb24oJ2JlZm9yZUZvY3VzJylcbiAgcHJvdGVjdGVkIGJlZm9yZUZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhGb2N1cycpXG4gIEBPcHRpb24oJ2ZvY3VzJylcbiAgcHJvdGVjdGVkIGZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhCZWZvcmVMb3N0Rm9jdXMnKVxuICBAT3B0aW9uKCdiZWZvcmVMb3N0Rm9jdXMnKVxuICBwcm90ZWN0ZWQgYmVmb3JlTG9zdEZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhMb3N0Rm9jdXMnKVxuICBAT3B0aW9uKCdsb3N0Rm9jdXMnKVxuICBwcm90ZWN0ZWQgbG9zdEZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhCZWZvcmVDaGFuZ2UnKVxuICBAT3B0aW9uKCdiZWZvcmVDaGFuZ2UnKVxuICBwcm90ZWN0ZWQgYmVmb3JlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhDaGFuZ2UnKVxuICBAT3B0aW9uKCdjaGFuZ2UnKVxuICBwcm90ZWN0ZWQgY2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjRmlsZVNlbGVjdG9yXG4gIEBPdXRwdXQoJ3BoeEJlZm9yZVNlbGVjdCcpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgYmVmb3JlU2VsZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBAT3V0cHV0KCdwaHhTZWxlY3QnKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIHNlbGVjdEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfTkFNRTogc3RyaW5nID0gVFlQRV9OQU1FO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5lZWRGb2N1c1NlcnZpY2U6IE5lZWRGb2N1c1NlcnZpY2UpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBuZWVkRm9jdXNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbG93TXVsdGlwbGVTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5hbGxvd011bHRpcGxlU2VsZWN0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUZpbGVzKGZpbGU6IGFueSkge1xuICAgICAgaWYgKHRoaXMuaXNBY2NlcHQoZmlsZS5maWxlcykpIHtcbiAgICAgICAgICB0aGlzLmFkZEZpbGVzKGZpbGUuZmlsZXMsIGV2ZW50KTtcbiAgICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuRmlsZVNlbGVjdG9yKCkge1xuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGUnKS5jbGljaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uVmFsaWRhdGlvbkVuZChpbnB1dFZhbHVlOiBhbnksIHJlc3VsdHM6IFZhbGlkYXRpb25SZXN1bHRbXSk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkRhdGFDaGFuZ2UoZGF0YTogYW55LCBpbnB1dFZhbDogYW55KTogdm9pZCB7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Gb2N1cygkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZG9Mb3N0Rm9jdXMoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICB9XG5cbiAgcHVibGljIGlzU2VsZkRhdGFEaXJ0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gIH1cblxuICBwdWJsaWMgc2VsZlNhdmVEYXRhKGRhdGE6IGFueSk6IHZvaWQge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICB9XG5cbiAgcHVibGljIHNlbGZSZXNldERhdGEoKTogdm9pZCB7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gIH1cblxufVxuIl19