devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
143 lines • 18.3 kB
JavaScript
/*!
* devextreme-angular
* Version: 25.1.3
* Build date: Wed Jun 25 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file in the root of the project for details.
*
* https://github.com/DevExpress/devextreme-angular
*/
/* tslint:disable:max-line-length */
import { Component, NgModule, Host, SkipSelf, Input } from '@angular/core';
import { DxIntegrationModule, NestedOptionHost, } from 'devextreme-angular/core';
import { NestedOption } from 'devextreme-angular/core';
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/core";
export class DxoSchedulerAppointmentDraggingComponent extends NestedOption {
get autoScroll() {
return this._getOption('autoScroll');
}
set autoScroll(value) {
this._setOption('autoScroll', value);
}
get data() {
return this._getOption('data');
}
set data(value) {
this._setOption('data', value);
}
get group() {
return this._getOption('group');
}
set group(value) {
this._setOption('group', value);
}
get onAdd() {
return this._getOption('onAdd');
}
set onAdd(value) {
this._setOption('onAdd', value);
}
get onDragEnd() {
return this._getOption('onDragEnd');
}
set onDragEnd(value) {
this._setOption('onDragEnd', value);
}
get onDragMove() {
return this._getOption('onDragMove');
}
set onDragMove(value) {
this._setOption('onDragMove', value);
}
get onDragStart() {
return this._getOption('onDragStart');
}
set onDragStart(value) {
this._setOption('onDragStart', value);
}
get onRemove() {
return this._getOption('onRemove');
}
set onRemove(value) {
this._setOption('onRemove', value);
}
get scrollSensitivity() {
return this._getOption('scrollSensitivity');
}
set scrollSensitivity(value) {
this._setOption('scrollSensitivity', value);
}
get scrollSpeed() {
return this._getOption('scrollSpeed');
}
set scrollSpeed(value) {
this._setOption('scrollSpeed', value);
}
get _optionPath() {
return 'appointmentDragging';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoSchedulerAppointmentDraggingComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DxoSchedulerAppointmentDraggingComponent, isStandalone: true, selector: "dxo-scheduler-appointment-dragging", inputs: { autoScroll: "autoScroll", data: "data", group: "group", onAdd: "onAdd", onDragEnd: "onDragEnd", onDragMove: "onDragMove", onDragStart: "onDragStart", onRemove: "onRemove", scrollSensitivity: "scrollSensitivity", scrollSpeed: "scrollSpeed" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoSchedulerAppointmentDraggingComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-scheduler-appointment-dragging', standalone: true, template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { autoScroll: [{
type: Input
}], data: [{
type: Input
}], group: [{
type: Input
}], onAdd: [{
type: Input
}], onDragEnd: [{
type: Input
}], onDragMove: [{
type: Input
}], onDragStart: [{
type: Input
}], onRemove: [{
type: Input
}], scrollSensitivity: [{
type: Input
}], scrollSpeed: [{
type: Input
}] } });
export class DxoSchedulerAppointmentDraggingModule {
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoSchedulerAppointmentDraggingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxoSchedulerAppointmentDraggingModule, imports: [DxoSchedulerAppointmentDraggingComponent], exports: [DxoSchedulerAppointmentDraggingComponent] });
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoSchedulerAppointmentDraggingModule, imports: [DxoSchedulerAppointmentDraggingComponent] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxoSchedulerAppointmentDraggingModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoSchedulerAppointmentDraggingComponent
],
exports: [
DxoSchedulerAppointmentDraggingComponent
],
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwb2ludG1lbnQtZHJhZ2dpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9kaXN0L3VpL3NjaGVkdWxlci9uZXN0ZWQvYXBwb2ludG1lbnQtZHJhZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxvQ0FBb0M7QUFHcEMsT0FBTyxFQUNILFNBQVMsRUFHVCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFFBQVEsRUFDUixLQUFLLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFVdkIsT0FBTyxFQUNILG1CQUFtQixFQUNuQixnQkFBZ0IsR0FDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVd2RCxNQUFNLE9BQU8sd0NBQXlDLFNBQVEsWUFBWTtJQUN0RSxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBc0I7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBeUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBMk07UUFDak4sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBNk87UUFDdlAsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBNE47UUFDdk8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBK0g7UUFDM0ksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBOEw7UUFDdk0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ0ksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLGlCQUFpQixDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFHRCxJQUFjLFdBQVc7UUFDckIsT0FBTyxxQkFBcUIsQ0FBQztJQUNqQyxDQUFDO0lBR0QsWUFBZ0MsZ0JBQWtDLEVBQ2xELFVBQTRCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBQ1IsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUdELFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOzJIQXJHUSx3Q0FBd0M7K0dBQXhDLHdDQUF3Qyw2VUFGdEMsQ0FBQyxnQkFBZ0IsQ0FBQyxpREFIbkIsRUFBRSx5RUFFRCxtQkFBbUI7OzRGQUdyQix3Q0FBd0M7a0JBUnBELFNBQVM7K0JBQ0ksb0NBQW9DLGNBQ2xDLElBQUksWUFDTixFQUFFLFdBRUgsQ0FBRSxtQkFBbUIsQ0FBRSxhQUNyQixDQUFDLGdCQUFnQixDQUFDOzswQkF5RmhCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNwQixJQUFJO3lDQXRGVCxVQUFVO3NCQURiLEtBQUs7Z0JBU0YsSUFBSTtzQkFEUCxLQUFLO2dCQVNGLEtBQUs7c0JBRFIsS0FBSztnQkFTRixLQUFLO3NCQURSLEtBQUs7Z0JBU0YsU0FBUztzQkFEWixLQUFLO2dCQVNGLFVBQVU7c0JBRGIsS0FBSztnQkFTRixXQUFXO3NCQURkLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFTRixXQUFXO3NCQURkLEtBQUs7O0FBeUNWLE1BQU0sT0FBTyxxQ0FBcUM7MkhBQXJDLHFDQUFxQzs0SEFBckMscUNBQXFDLFlBbEhyQyx3Q0FBd0MsYUFBeEMsd0NBQXdDOzRIQWtIeEMscUNBQXFDLFlBTjlDLHdDQUF3Qzs7NEZBTS9CLHFDQUFxQztrQkFSakQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asd0NBQXdDO3FCQUN6QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0NBQXdDO3FCQUN6QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKiBWZXJzaW9uOiAyNS4xLjNcbiAqIEJ1aWxkIGRhdGU6IFdlZCBKdW4gMjUgMjAyNVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMjUgRGV2ZWxvcGVyIEV4cHJlc3MgSW5jLiBBTEwgUklHSFRTIFJFU0VSVkVEXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBtYXkgYmUgbW9kaWZpZWQgYW5kIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtc1xuICogb2YgdGhlIE1JVCBsaWNlbnNlLiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdCBmb3IgZGV0YWlscy5cbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy9kZXZleHRyZW1lLWFuZ3VsYXJcbiAqL1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cclxuXHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBIb3N0LFxyXG4gICAgU2tpcFNlbGYsXHJcbiAgICBJbnB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcblxyXG5cclxuaW1wb3J0IGR4U2NoZWR1bGVyIGZyb20gJ2RldmV4dHJlbWUvdWkvc2NoZWR1bGVyJztcclxuaW1wb3J0IGR4U29ydGFibGUgZnJvbSAnZGV2ZXh0cmVtZS91aS9zb3J0YWJsZSc7XHJcbmltcG9ydCBkeERyYWdnYWJsZSBmcm9tICdkZXZleHRyZW1lL3VpL2RyYWdnYWJsZSc7XHJcbmltcG9ydCB7IGV2ZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS9ldmVudHMvZXZlbnRzLnR5cGVzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgTmVzdGVkT3B0aW9uSG9zdCxcclxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5lc3RlZE9wdGlvbiB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHhvLXNjaGVkdWxlci1hcHBvaW50bWVudC1kcmFnZ2luZycsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3R5bGVzOiBbJyddLFxyXG4gICAgaW1wb3J0czogWyBEeEludGVncmF0aW9uTW9kdWxlIF0sXHJcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRPcHRpb25Ib3N0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhvU2NoZWR1bGVyQXBwb2ludG1lbnREcmFnZ2luZ0NvbXBvbmVudCBleHRlbmRzIE5lc3RlZE9wdGlvbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0ICB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGF1dG9TY3JvbGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignYXV0b1Njcm9sbCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGF1dG9TY3JvbGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2F1dG9TY3JvbGwnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhKCk6IGFueSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGF0YScpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGEodmFsdWU6IGFueSB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZGF0YScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGdyb3VwKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZ3JvdXAnKTtcclxuICAgIH1cclxuICAgIHNldCBncm91cCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdncm91cCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG9uQWRkKCk6ICgoZTogeyBjb21wb25lbnQ6IGR4U2NoZWR1bGVyLCBldmVudDogZXZlbnQsIGZyb21Db21wb25lbnQ6IGR4U29ydGFibGUgfCBkeERyYWdnYWJsZSwgZnJvbURhdGE6IGFueSwgaXRlbURhdGE6IGFueSwgaXRlbUVsZW1lbnQ6IGFueSwgdG9Db21wb25lbnQ6IGR4U29ydGFibGUgfCBkeERyYWdnYWJsZSwgdG9EYXRhOiBhbnkgfSkgPT4gdm9pZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ29uQWRkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgb25BZGQodmFsdWU6ICgoZTogeyBjb21wb25lbnQ6IGR4U2NoZWR1bGVyLCBldmVudDogZXZlbnQsIGZyb21Db21wb25lbnQ6IGR4U29ydGFibGUgfCBkeERyYWdnYWJsZSwgZnJvbURhdGE6IGFueSwgaXRlbURhdGE6IGFueSwgaXRlbUVsZW1lbnQ6IGFueSwgdG9Db21wb25lbnQ6IGR4U29ydGFibGUgfCBkeERyYWdnYWJsZSwgdG9EYXRhOiBhbnkgfSkgPT4gdm9pZCkpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ29uQWRkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgb25EcmFnRW5kKCk6ICgoZTogeyBjYW5jZWw6IGJvb2xlYW4sIGNvbXBvbmVudDogZHhTY2hlZHVsZXIsIGV2ZW50OiBldmVudCwgZnJvbUNvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCBmcm9tRGF0YTogYW55LCBpdGVtRGF0YTogYW55LCBpdGVtRWxlbWVudDogYW55LCB0b0NvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCB0b0RhdGE6IGFueSwgdG9JdGVtRGF0YTogYW55IH0pID0+IHZvaWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdvbkRyYWdFbmQnKTtcclxuICAgIH1cclxuICAgIHNldCBvbkRyYWdFbmQodmFsdWU6ICgoZTogeyBjYW5jZWw6IGJvb2xlYW4sIGNvbXBvbmVudDogZHhTY2hlZHVsZXIsIGV2ZW50OiBldmVudCwgZnJvbUNvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCBmcm9tRGF0YTogYW55LCBpdGVtRGF0YTogYW55LCBpdGVtRWxlbWVudDogYW55LCB0b0NvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCB0b0RhdGE6IGFueSwgdG9JdGVtRGF0YTogYW55IH0pID0+IHZvaWQpKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdvbkRyYWdFbmQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBvbkRyYWdNb3ZlKCk6ICgoZTogeyBjYW5jZWw6IGJvb2xlYW4sIGNvbXBvbmVudDogZHhTY2hlZHVsZXIsIGV2ZW50OiBldmVudCwgZnJvbUNvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCBmcm9tRGF0YTogYW55LCBpdGVtRGF0YTogYW55LCBpdGVtRWxlbWVudDogYW55LCB0b0NvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCB0b0RhdGE6IGFueSB9KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignb25EcmFnTW92ZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IG9uRHJhZ01vdmUodmFsdWU6ICgoZTogeyBjYW5jZWw6IGJvb2xlYW4sIGNvbXBvbmVudDogZHhTY2hlZHVsZXIsIGV2ZW50OiBldmVudCwgZnJvbUNvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCBmcm9tRGF0YTogYW55LCBpdGVtRGF0YTogYW55LCBpdGVtRWxlbWVudDogYW55LCB0b0NvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCB0b0RhdGE6IGFueSB9KSA9PiB2b2lkKSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignb25EcmFnTW92ZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG9uRHJhZ1N0YXJ0KCk6ICgoZTogeyBjYW5jZWw6IGJvb2xlYW4sIGNvbXBvbmVudDogZHhTY2hlZHVsZXIsIGV2ZW50OiBldmVudCwgZnJvbURhdGE6IGFueSwgaXRlbURhdGE6IGFueSwgaXRlbUVsZW1lbnQ6IGFueSB9KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignb25EcmFnU3RhcnQnKTtcclxuICAgIH1cclxuICAgIHNldCBvbkRyYWdTdGFydCh2YWx1ZTogKChlOiB7IGNhbmNlbDogYm9vbGVhbiwgY29tcG9uZW50OiBkeFNjaGVkdWxlciwgZXZlbnQ6IGV2ZW50LCBmcm9tRGF0YTogYW55LCBpdGVtRGF0YTogYW55LCBpdGVtRWxlbWVudDogYW55IH0pID0+IHZvaWQpKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdvbkRyYWdTdGFydCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG9uUmVtb3ZlKCk6ICgoZTogeyBjb21wb25lbnQ6IGR4U2NoZWR1bGVyLCBldmVudDogZXZlbnQsIGZyb21Db21wb25lbnQ6IGR4U29ydGFibGUgfCBkeERyYWdnYWJsZSwgZnJvbURhdGE6IGFueSwgaXRlbURhdGE6IGFueSwgaXRlbUVsZW1lbnQ6IGFueSwgdG9Db21wb25lbnQ6IGR4U29ydGFibGUgfCBkeERyYWdnYWJsZSB9KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignb25SZW1vdmUnKTtcclxuICAgIH1cclxuICAgIHNldCBvblJlbW92ZSh2YWx1ZTogKChlOiB7IGNvbXBvbmVudDogZHhTY2hlZHVsZXIsIGV2ZW50OiBldmVudCwgZnJvbUNvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlLCBmcm9tRGF0YTogYW55LCBpdGVtRGF0YTogYW55LCBpdGVtRWxlbWVudDogYW55LCB0b0NvbXBvbmVudDogZHhTb3J0YWJsZSB8IGR4RHJhZ2dhYmxlIH0pID0+IHZvaWQpKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdvblJlbW92ZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNjcm9sbFNlbnNpdGl2aXR5KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignc2Nyb2xsU2Vuc2l0aXZpdHknKTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxTZW5zaXRpdml0eSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdzY3JvbGxTZW5zaXRpdml0eScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNjcm9sbFNwZWVkKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignc2Nyb2xsU3BlZWQnKTtcclxuICAgIH1cclxuICAgIHNldCBzY3JvbGxTcGVlZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdzY3JvbGxTcGVlZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBfb3B0aW9uUGF0aCgpIHtcclxuICAgICAgICByZXR1cm4gJ2FwcG9pbnRtZW50RHJhZ2dpbmcnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihAU2tpcFNlbGYoKSBASG9zdCgpIHBhcmVudE9wdGlvbkhvc3Q6IE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICAgICAgICAgIEBIb3N0KCkgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgcGFyZW50T3B0aW9uSG9zdC5zZXROZXN0ZWRPcHRpb24odGhpcyk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMsIHRoaXMuX2Z1bGxPcHRpb25QYXRoLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9hZGRSZWNyZWF0ZWRDb21wb25lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9hZGRSZW1vdmVkT3B0aW9uKHRoaXMuX2dldE9wdGlvblBhdGgoKSk7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEeG9TY2hlZHVsZXJBcHBvaW50bWVudERyYWdnaW5nQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEeG9TY2hlZHVsZXJBcHBvaW50bWVudERyYWdnaW5nQ29tcG9uZW50XHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER4b1NjaGVkdWxlckFwcG9pbnRtZW50RHJhZ2dpbmdNb2R1bGUgeyB9XHJcbiJdfQ==