ng-apexcharts-gogo
Version:
An angular implementation of ApexCharts
336 lines • 21.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
import { asapScheduler } from 'rxjs';
var ChartComponent = /** @class */ (function () {
function ChartComponent() {
this.dataLabels = { enabled: false };
this.stroke = { curve: 'straight' };
this.grid = {
row: {
colors: ['#f3f3f3', 'transparent'],
opacity: 0.5
}
};
this.autoUpdateSeries = true;
}
/**
* @return {?}
*/
ChartComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
asapScheduler.schedule((/**
* @return {?}
*/
function () {
_this.createElement();
console.log('asu');
}));
};
/**
* @param {?} changes
* @return {?}
*/
ChartComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
var _this = this;
asapScheduler.schedule((/**
* @return {?}
*/
function () {
if (_this.autoUpdateSeries && Object.keys(changes).filter((/**
* @param {?} c
* @return {?}
*/
function (c) { return c !== 'series'; })).length === 0) {
_this.updateSeries(_this.series, true);
return;
}
_this.createElement();
}));
};
/**
* @private
* @return {?}
*/
ChartComponent.prototype.createElement = /**
* @private
* @return {?}
*/
function () {
/** @type {?} */
var options = {};
if (this.annotations) {
options.annotations = this.annotations;
}
if (this.chart) {
options.chart = this.chart;
}
if (this.colors) {
options.colors = this.colors;
}
if (this.dataLabels) {
options.dataLabels = this.dataLabels;
}
if (this.series) {
options.series = this.series;
}
if (this.stroke) {
options.stroke = this.stroke;
}
if (this.labels) {
options.labels = this.labels;
}
if (this.legend) {
options.legend = this.legend;
}
if (this.fill) {
options.fill = this.fill;
}
if (this.tooltip) {
options.tooltip = this.tooltip;
}
if (this.plotOptions) {
options.plotOptions = this.plotOptions;
}
if (this.responsive) {
options.responsive = this.responsive;
}
if (this.xaxis) {
options.xaxis = this.xaxis;
}
if (this.yaxis) {
options.yaxis = this.yaxis;
}
if (this.grid) {
options.grid = this.grid;
}
if (this.states) {
options.states = this.states;
}
if (this.title) {
options.title = this.title;
}
if (this.subtitle) {
options.subtitle = this.subtitle;
}
if (this.theme) {
options.theme = this.theme;
}
if (this.chartObj) {
this.chartObj.destroy();
}
this.chartObj = new ApexCharts(this.chartElement.nativeElement, options);
this.render();
};
/**
* @return {?}
*/
ChartComponent.prototype.render = /**
* @return {?}
*/
function () {
return this.chartObj.render();
};
/**
* @param {?} options
* @param {?} redrawPaths
* @param {?} animate
* @return {?}
*/
ChartComponent.prototype.updateOptions = /**
* @param {?} options
* @param {?} redrawPaths
* @param {?} animate
* @return {?}
*/
function (options, redrawPaths, animate) {
return this.chartObj.updateOptions(options, redrawPaths, animate);
};
/**
* @param {?} newSeries
* @param {?} animate
* @return {?}
*/
ChartComponent.prototype.updateSeries = /**
* @param {?} newSeries
* @param {?} animate
* @return {?}
*/
function (newSeries, animate) {
this.chartObj.updateSeries(newSeries, animate);
};
/**
* @param {?} seriesName
* @return {?}
*/
ChartComponent.prototype.toggleSeries = /**
* @param {?} seriesName
* @return {?}
*/
function (seriesName) {
this.chartObj.toggleSeries(seriesName);
};
/**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
ChartComponent.prototype.addXaxisAnnotation = /**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
function (options, pushToMemory, context) {
this.chartObj.addXaxisAnnotation(options, pushToMemory, context);
};
/**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
ChartComponent.prototype.addYaxisAnnotation = /**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
function (options, pushToMemory, context) {
this.chartObj.addYaxisAnnotation(options, pushToMemory, context);
};
/**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
ChartComponent.prototype.addPointAnnotation = /**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
function (options, pushToMemory, context) {
this.chartObj.addPointAnnotation(options, pushToMemory, context);
};
/**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
ChartComponent.prototype.addText = /**
* @param {?} options
* @param {?=} pushToMemory
* @param {?=} context
* @return {?}
*/
function (options, pushToMemory, context) {
this.chartObj.addText(options, pushToMemory, context);
};
/**
* @return {?}
*/
ChartComponent.prototype.dataURI = /**
* @return {?}
*/
function () {
return this.chartObj.dataURI();
};
ChartComponent.decorators = [
{ type: Component, args: [{
selector: 'apx-chart',
template: "<div #chart></div>\n",
styles: [""]
}] }
];
ChartComponent.propDecorators = {
chart: [{ type: Input }],
annotations: [{ type: Input }],
colors: [{ type: Input }],
dataLabels: [{ type: Input }],
series: [{ type: Input }],
stroke: [{ type: Input }],
labels: [{ type: Input }],
legend: [{ type: Input }],
fill: [{ type: Input }],
tooltip: [{ type: Input }],
plotOptions: [{ type: Input }],
responsive: [{ type: Input }],
xaxis: [{ type: Input }],
yaxis: [{ type: Input }],
grid: [{ type: Input }],
states: [{ type: Input }],
title: [{ type: Input }],
subtitle: [{ type: Input }],
theme: [{ type: Input }],
autoUpdateSeries: [{ type: Input }],
chartElement: [{ type: ViewChild, args: ['chart',] }]
};
return ChartComponent;
}());
export { ChartComponent };
if (false) {
/** @type {?} */
ChartComponent.prototype.chart;
/** @type {?} */
ChartComponent.prototype.annotations;
/** @type {?} */
ChartComponent.prototype.colors;
/** @type {?} */
ChartComponent.prototype.dataLabels;
/** @type {?} */
ChartComponent.prototype.series;
/** @type {?} */
ChartComponent.prototype.stroke;
/** @type {?} */
ChartComponent.prototype.labels;
/** @type {?} */
ChartComponent.prototype.legend;
/** @type {?} */
ChartComponent.prototype.fill;
/** @type {?} */
ChartComponent.prototype.tooltip;
/** @type {?} */
ChartComponent.prototype.plotOptions;
/** @type {?} */
ChartComponent.prototype.responsive;
/** @type {?} */
ChartComponent.prototype.xaxis;
/** @type {?} */
ChartComponent.prototype.yaxis;
/** @type {?} */
ChartComponent.prototype.grid;
/** @type {?} */
ChartComponent.prototype.states;
/** @type {?} */
ChartComponent.prototype.title;
/** @type {?} */
ChartComponent.prototype.subtitle;
/** @type {?} */
ChartComponent.prototype.theme;
/** @type {?} */
ChartComponent.prototype.autoUpdateSeries;
/**
* @type {?}
* @private
*/
ChartComponent.prototype.chartElement;
/**
* @type {?}
* @private
*/
ChartComponent.prototype.chartObj;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctYXBleGNoYXJ0cy8iLCJzb3VyY2VzIjpbImxpYi9jaGFydC9jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBb0MsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBa0J4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXJDO0lBQUE7UUFTVyxlQUFVLEdBQW1CLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDO1FBRTlDLFdBQU0sR0FBZSxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsQ0FBQztRQVV6QyxTQUFJLEdBQWE7WUFDeEIsR0FBRyxFQUFFO2dCQUNILE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUM7Z0JBQ2xDLE9BQU8sRUFBRSxHQUFHO2FBQ2I7U0FDRixDQUFDO1FBT08scUJBQWdCLEdBQUcsSUFBSSxDQUFDO0lBNkZuQyxDQUFDOzs7O0lBeEZDLGlDQUFROzs7SUFBUjtRQUFBLGlCQUtDO1FBSkMsYUFBYSxDQUFDLFFBQVE7OztRQUFDO1lBQ3JCLEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCxvQ0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFBbEMsaUJBU0M7UUFSQyxhQUFhLENBQUMsUUFBUTs7O1FBQUM7WUFDckIsSUFBSSxLQUFJLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssUUFBUSxFQUFkLENBQWMsRUFBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzFGLEtBQUksQ0FBQyxZQUFZLENBQUMsS0FBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDckMsT0FBTzthQUNSO1lBRUQsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTyxzQ0FBYTs7OztJQUFyQjs7WUFDUSxPQUFPLEdBQVEsRUFBRTtRQUV2QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFBRSxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FBRTtRQUNqRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FBRTtRQUM5RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBRTtRQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FBRTtRQUNyRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFBRSxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FBRTtRQUNqRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FBRTtRQUM5RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBRTtRQUM1QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FBRTtRQUN4RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FBRTtRQUUvQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztT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QUM1QiwrQkFBa0M7O0lBQ2xDLGtDQUFxQzs7SUFDckMsK0JBQTBCOztJQUUxQiwwQ0FBaUM7Ozs7O0lBRWpDLHNDQUFxRDs7Ozs7SUFDckQsa0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwZXhBbm5vdGF0aW9ucyxcbiAgQXBleEF4aXNDaGFydFNlcmllcyxcbiAgQXBleENoYXJ0LFxuICBBcGV4RGF0YUxhYmVscyxcbiAgQXBleEZpbGwsXG4gIEFwZXhHcmlkLFxuICBBcGV4TGVnZW5kLFxuICBBcGV4Tm9uQXhpc0NoYXJ0U2VyaWVzLFxuICBBcGV4UGxvdE9wdGlvbnMsXG4gIEFwZXhSZXNwb25zaXZlLFxuICBBcGV4U3RhdGVzLFxuICBBcGV4U3Ryb2tlLCBBcGV4VGhlbWUsIEFwZXhUaXRsZVN1YnRpdGxlLFxuICBBcGV4VG9vbHRpcCxcbiAgQXBleFhBeGlzLFxuICBBcGV4WUF4aXNcbn0gZnJvbSAnLi4vbW9kZWwvYXBleC10eXBlcyc7XG5pbXBvcnQgeyBhc2FwU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG5cbmRlY2xhcmUgdmFyIEFwZXhDaGFydHM6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXB4LWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjaGFydDogQXBleENoYXJ0O1xuICBASW5wdXQoKSBhbm5vdGF0aW9uczogQXBleEFubm90YXRpb25zO1xuICBASW5wdXQoKSBjb2xvcnM6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBkYXRhTGFiZWxzOiBBcGV4RGF0YUxhYmVscyA9IHtlbmFibGVkOiBmYWxzZX07XG4gIEBJbnB1dCgpIHNlcmllczogQXBleEF4aXNDaGFydFNlcmllcyB8IEFwZXhOb25BeGlzQ2hhcnRTZXJpZXM7XG4gIEBJbnB1dCgpIHN0cm9rZTogQXBleFN0cm9rZSA9IHtjdXJ2ZTogJ3N0cmFpZ2h0J307XG4gIEBJbnB1dCgpIGxhYmVsczogc3RyaW5nW107XG4gIEBJbnB1dCgpIGxlZ2VuZDogQXBleExlZ2VuZDtcbiAgQElucHV0KCkgZmlsbDogQXBleEZpbGw7XG4gIEBJbnB1dCgpIHRvb2x0aXA6IEFwZXhUb29sdGlwO1xuICBASW5wdXQoKSBwbG90T3B0aW9uczogQXBleFBsb3RPcHRpb25zO1xuICBASW5wdXQoKSByZXNwb25zaXZlOiBBcGV4UmVzcG9uc2l2ZVtdO1xuICBASW5wdXQoKSB4YXhpczogQXBleFhBeGlzO1xuICBASW5wdXQoKSB5YXhpczogQXBleFlBeGlzIHwgQXBleFlBeGlzW107XG5cbiAgQElucHV0KCkgZ3JpZDogQXBleEdyaWQgPSB7XG4gICAgcm93OiB7XG4gICAgICBjb2xvcnM6IFsnI2YzZjNmMycsICd0cmFuc3BhcmVudCddLFxuICAgICAgb3BhY2l0eTogMC41XG4gICAgfVxuICB9O1xuXG4gIEBJbnB1dCgpIHN0YXRlczogQXBleFN0YXRlcztcbiAgQElucHV0KCkgdGl0bGU6IEFwZXhUaXRsZVN1YnRpdGxlO1xuICBASW5wdXQoKSBzdWJ0aXRsZTogQXBleFRpdGxlU3VidGl0bGU7XG4gIEBJbnB1dCgpIHRoZW1lOiBBcGV4VGhlbWU7XG5cbiAgQElucHV0KCkgYXV0b1VwZGF0ZVNlcmllcyA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgnY2hhcnQnKSBwcml2YXRlIGNoYXJ0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBjaGFydE9iajogYW55O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGFzYXBTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4ge1xuICAgICAgdGhpcy5jcmVhdGVFbGVtZW50KCk7XG4gICAgICBjb25zb2xlLmxvZygnYXN1Jyk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvVXBkYXRlU2VyaWVzICYmIE9iamVjdC5rZXlzKGNoYW5nZXMpLmZpbHRlcihjID0+IGMgIT09ICdzZXJpZXMnKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZXJpZXModGhpcy5zZXJpZXMsIHRydWUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3JlYXRlRWxlbWVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFbGVtZW50KCkge1xuICAgIGNvbnN0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gICAgaWYgKHRoaXMuYW5ub3RhdGlvbnMpIHsgb3B0aW9ucy5hbm5vdGF0aW9ucyA9IHRoaXMuYW5ub3RhdGlvbnM7IH1cbiAgICBpZiAodGhpcy5jaGFydCkgeyBvcHRpb25zLmNoYXJ0ID0gdGhpcy5jaGFydDsgfVxuICAgIGlmICh0aGlzLmNvbG9ycykgeyBvcHRpb25zLmNvbG9ycyA9IHRoaXMuY29sb3JzOyB9XG4gICAgaWYgKHRoaXMuZGF0YUxhYmVscykgeyBvcHRpb25zLmRhdGFMYWJlbHMgPSB0aGlzLmRhdGFMYWJlbHM7IH1cbiAgICBpZiAodGhpcy5zZXJpZXMpIHsgb3B0aW9ucy5zZXJpZXMgPSB0aGlzLnNlcmllczsgfVxuICAgIGlmICh0aGlzLnN0cm9rZSkgeyBvcHRpb25zLnN0cm9rZSA9IHRoaXMuc3Ryb2tlOyB9XG4gICAgaWYgKHRoaXMubGFiZWxzKSB7IG9wdGlvbnMubGFiZWxzID0gdGhpcy5sYWJlbHM7IH1cbiAgICBpZiAodGhpcy5sZWdlbmQpIHsgb3B0aW9ucy5sZWdlbmQgPSB0aGlzLmxlZ2VuZDsgfVxuICAgIGlmICh0aGlzLmZpbGwpIHsgb3B0aW9ucy5maWxsID0gdGhpcy5maWxsOyB9XG4gICAgaWYgKHRoaXMudG9vbHRpcCkgeyBvcHRpb25zLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXA7IH1cbiAgICBpZiAodGhpcy5wbG90T3B0aW9ucykgeyBvcHRpb25zLnBsb3RPcHRpb25zID0gdGhpcy5wbG90T3B0aW9uczsgfVxuICAgIGlmICh0aGlzLnJlc3BvbnNpdmUpIHsgb3B0aW9ucy5yZXNwb25zaXZlID0gdGhpcy5yZXNwb25zaXZlOyB9XG4gICAgaWYgKHRoaXMueGF4aXMpIHsgb3B0aW9ucy54YXhpcyA9IHRoaXMueGF4aXM7IH1cbiAgICBpZiAodGhpcy55YXhpcykgeyBvcHRpb25zLnlheGlzID0gdGhpcy55YXhpczsgfVxuICAgIGlmICh0aGlzLmdyaWQpIHsgb3B0aW9ucy5ncmlkID0gdGhpcy5ncmlkOyB9XG4gICAgaWYgKHRoaXMuc3RhdGVzKSB7IG9wdGlvbnMuc3RhdGVzID0gdGhpcy5zdGF0ZXM7IH1cbiAgICBpZiAodGhpcy50aXRsZSkgeyBvcHRpb25zLnRpdGxlID0gdGhpcy50aXRsZTsgfVxuICAgIGlmICh0aGlzLnN1YnRpdGxlKSB7IG9wdGlvbnMuc3VidGl0bGUgPSB0aGlzLnN1YnRpdGxlOyB9XG4gICAgaWYgKHRoaXMudGhlbWUpIHsgb3B0aW9ucy50aGVtZSA9IHRoaXMudGhlbWU7IH1cblxuICAgIGlmICh0aGlzLmNoYXJ0T2JqKSB7XG4gICAgICB0aGlzLmNoYXJ0T2JqLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYXJ0T2JqID0gbmV3IEFwZXhDaGFydHMoXG4gICAgICB0aGlzLmNoYXJ0RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgb3B0aW9uc1xuICAgICk7XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgcHVibGljIHJlbmRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFydE9iai5yZW5kZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IGFueSwgcmVkcmF3UGF0aHM6IGJvb2xlYW4sIGFuaW1hdGU6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFydE9iai51cGRhdGVPcHRpb25zKG9wdGlvbnMsIHJlZHJhd1BhdGhzLCBhbmltYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTZXJpZXMobmV3U2VyaWVzOiBBcGV4QXhpc0NoYXJ0U2VyaWVzIHwgQXBleE5vbkF4aXNDaGFydFNlcmllcywgYW5pbWF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2hhcnRPYmoudXBkYXRlU2VyaWVzKG5ld1NlcmllcywgYW5pbWF0ZSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VyaWVzKHNlcmllc05hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY2hhcnRPYmoudG9nZ2xlU2VyaWVzKHNlcmllc05hbWUpO1xuICB9XG5cbiAgcHVibGljIGFkZFhheGlzQW5ub3RhdGlvbihvcHRpb25zOiBhbnksIHB1c2hUb01lbW9yeT86IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpIHtcbiAgICB0aGlzLmNoYXJ0T2JqLmFkZFhheGlzQW5ub3RhdGlvbihvcHRpb25zLCBwdXNoVG9NZW1vcnksIGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGFkZFlheGlzQW5ub3RhdGlvbihvcHRpb25zOiBhbnksIHB1c2hUb01lbW9yeT86IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpIHtcbiAgICB0aGlzLmNoYXJ0T2JqLmFkZFlheGlzQW5ub3RhdGlvbihvcHRpb25zLCBwdXNoVG9NZW1vcnksIGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGFkZFBvaW50QW5ub3RhdGlvbihvcHRpb25zOiBhbnksIHB1c2hUb01lbW9yeT86IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpIHtcbiAgICB0aGlzLmNoYXJ0T2JqLmFkZFBvaW50QW5ub3RhdGlvbihvcHRpb25zLCBwdXNoVG9NZW1vcnksIGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGFkZFRleHQob3B0aW9uczogYW55LCBwdXNoVG9NZW1vcnk/OiBib29sZWFuLCBjb250ZXh0PzogYW55KSB7XG4gICAgdGhpcy5jaGFydE9iai5hZGRUZXh0KG9wdGlvbnMsIHB1c2hUb01lbW9yeSwgY29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZGF0YVVSSSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydE9iai5kYXRhVVJJKCk7XG4gIH1cbn1cbiJdfQ==