nuxeo-development-framework 4.4.4 → 4.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +79 -166
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +28 -16
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +50 -135
- package/esm2015/lib/core/core.module.js +4 -18
- package/esm2015/lib/core/models/api-response.model.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +79 -166
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +6 -1
- package/lib/core/models/api-response.model.d.ts +1 -0
- package/package.json +1 -1
|
@@ -20,6 +20,9 @@ export class AddToCollectionComponent extends BaseComponent {
|
|
|
20
20
|
this.fileManagerService = fileManagerService;
|
|
21
21
|
this.customToastrService = customToastrService;
|
|
22
22
|
this.nuxeoDialogService = nuxeoDialogService;
|
|
23
|
+
this.createOperation = 'Collection.Create';
|
|
24
|
+
this.addOperation = 'Document.AddToCollection';
|
|
25
|
+
this.getCollectionPP = 'PP_DMS_User_Collections';
|
|
23
26
|
this.visibleChange = new EventEmitter();
|
|
24
27
|
this.rtlEnabled = false;
|
|
25
28
|
this.isSelected = true;
|
|
@@ -29,9 +32,7 @@ export class AddToCollectionComponent extends BaseComponent {
|
|
|
29
32
|
this.onFormCollectionSubmit = (e) => {
|
|
30
33
|
e.preventDefault();
|
|
31
34
|
this.loading = true;
|
|
32
|
-
return this.fileManagerService
|
|
33
|
-
.addToCollection(this.selectedItems, this.collectionid)
|
|
34
|
-
.pipe(tap((res) => {
|
|
35
|
+
return this.fileManagerService.addToCollection(this.selectedItems, this.collectionid, this.addOperation).pipe(tap((res) => {
|
|
35
36
|
this.loading = false;
|
|
36
37
|
this.form.instance.resetValues();
|
|
37
38
|
this.selectedTags = null;
|
|
@@ -58,6 +59,7 @@ export class AddToCollectionComponent extends BaseComponent {
|
|
|
58
59
|
}
|
|
59
60
|
ngOnInit() { }
|
|
60
61
|
openDialog() {
|
|
62
|
+
this.loadItems();
|
|
61
63
|
const options = {
|
|
62
64
|
component: NdfNuxeoDialog,
|
|
63
65
|
//TODO [Asem] how to put the wrapper ID
|
|
@@ -77,9 +79,7 @@ export class AddToCollectionComponent extends BaseComponent {
|
|
|
77
79
|
}
|
|
78
80
|
emitSelection(event) {
|
|
79
81
|
if (this.isSelected) {
|
|
80
|
-
this.fileManagerService
|
|
81
|
-
.createNewCollection(event.displayLabel)
|
|
82
|
-
.subscribe((res) => {
|
|
82
|
+
this.fileManagerService.createNewCollection(event.displayLabel, this.createOperation).subscribe((res) => {
|
|
83
83
|
this.collectionid = res.uid;
|
|
84
84
|
});
|
|
85
85
|
}
|
|
@@ -90,19 +90,21 @@ export class AddToCollectionComponent extends BaseComponent {
|
|
|
90
90
|
let searchterm = '';
|
|
91
91
|
this.isSelected = false;
|
|
92
92
|
let mycategories = [];
|
|
93
|
-
this.items$ = concat(this.fileManagerService.getCollectionFromPP(searchterm).pipe(switchMap((res) => {
|
|
93
|
+
this.items$ = concat(this.fileManagerService.getCollectionFromPP(searchterm, this.getCollectionPP).pipe(switchMap((res) => {
|
|
94
94
|
res.entries.map((entry) => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
if (!this.enableMemberInCollections || !this.memberInCollections.includes(entry.id)) {
|
|
96
|
+
mycategories.push({
|
|
97
|
+
displayLabel: entry.title,
|
|
98
|
+
id: entry.uid,
|
|
99
|
+
path: entry.path,
|
|
100
|
+
icon: entry.properties['common:icon']
|
|
101
|
+
});
|
|
102
|
+
}
|
|
101
103
|
});
|
|
102
104
|
return of(mycategories);
|
|
103
105
|
})), // default items
|
|
104
106
|
this.tagsInput$.pipe(debounceTime(200), distinctUntilChanged(), tap(() => (this.tagsLoading = true)), switchMap((searchterm) => {
|
|
105
|
-
return this.fileManagerService.getCollectionFromPP(searchterm).pipe(catchError(() => of([])), // empty list on error
|
|
107
|
+
return this.fileManagerService.getCollectionFromPP(searchterm, this.getCollectionPP).pipe(catchError(() => of([])), // empty list on error
|
|
106
108
|
switchMap((searchCat) => {
|
|
107
109
|
let myInerCateg = [];
|
|
108
110
|
this.tagsLoading = false;
|
|
@@ -121,7 +123,7 @@ export class AddToCollectionComponent extends BaseComponent {
|
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
125
|
AddToCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
-
AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<form>\r\n\t\t<dx-form
|
|
126
|
+
AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { createOperation: "createOperation", addOperation: "addOperation", getCollectionPP: "getCollectionPP", memberInCollections: "memberInCollections", enableMemberInCollections: "enableMemberInCollections", visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<form>\r\n\t\t<dx-form class=\"collection-form-wrapper\" #createForm [formData]=\"formData\" [disabled]=\"loading\">\r\n\t\t\t<dxi-item editorType=\"dxTextBox\">\r\n\t\t\t\t<ng-select\r\n\t\t\t\t\t[items]=\"items$ | async\"\r\n\t\t\t\t\tbindLabel=\"displayLabel\"\r\n\t\t\t\t\t[addTag]=\"true\"\r\n\t\t\t\t\taddTagText=\"Add collection\"\r\n\t\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t\t[hideSelected]=\"true\"\r\n\t\t\t\t\t[minTermLength]=\"0\"\r\n\t\t\t\t\t[loading]=\"tagsLoading\"\r\n\t\t\t\t\ttypeToSearchText=\"search\"\r\n\t\t\t\t\t[typeahead]=\"tagsInput$\"\r\n\t\t\t\t\t[(ngModel)]=\"selectedTags\"\r\n\t\t\t\t\trequired\r\n\t\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t\tname=\"selectedItem\"\r\n\t\t\t\t\t(change)=\"emitSelection($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t</ng-select>\r\n\t\t\t</dxi-item>\r\n\t\t</dx-form>\r\n\t</form>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<span class=\"submission-button px-5\" (click)=\"dialog.executeAction(onFormCollectionSubmit, [$event])\">\r\n\t\t{{ 'FILE_MANAGER.ADD' | translate }}\r\n\t</span>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i6.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i8.AsyncPipe, "translate": i9.TranslatePipe } });
|
|
125
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, decorators: [{
|
|
126
128
|
type: Component,
|
|
127
129
|
args: [{
|
|
@@ -138,6 +140,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
138
140
|
}], actionsTemplate: [{
|
|
139
141
|
type: ViewChild,
|
|
140
142
|
args: ['actionsTemplate']
|
|
143
|
+
}], createOperation: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], addOperation: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], getCollectionPP: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], memberInCollections: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], enableMemberInCollections: [{
|
|
152
|
+
type: Input
|
|
141
153
|
}], visible: [{
|
|
142
154
|
type: Input
|
|
143
155
|
}], visibleChange: [{
|
|
@@ -147,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
147
159
|
}], selectedItems: [{
|
|
148
160
|
type: Input
|
|
149
161
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL2FkZC10by1jb2xsZWN0aW9uL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9hZGQtdG8tY29sbGVjdGlvbi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFDTixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsR0FBRyxFQUVILE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7Ozs7Ozs7QUFTbEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFnQzFELFlBQ1Msa0JBQXNDLEVBQ3BDLG1CQUF3QyxFQUMzQyxrQkFBc0MsRUFFN0MsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFD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ZixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDRSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFFeEIsT0FBTztzQkFEVixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdEluamVjdG9yLFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IER4Rm9ybUNvbXBvbmVudCB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuXHRkZWJvdW5jZVRpbWUsXHJcblx0ZGlzdGluY3RVbnRpbENoYW5nZWQsXHJcblx0c3dpdGNoTWFwLFxyXG5cdGNhdGNoRXJyb3IsXHJcblx0dGFwLFxyXG5cdG1hcFxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE5kZk51eGVvRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9iYXNlL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1hZGQtdG8tY29sbGVjdGlvbicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRUb0NvbGxlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRAVmlld0NoaWxkKER4Rm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm06IER4Rm9ybUNvbXBvbmVudDtcclxuXHRAVmlld0NoaWxkKCdjb250ZW50VGVtcGxhdGUnKSBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdGlvbnNUZW1wbGF0ZScpIGFjdGlvbnNUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblx0QElucHV0KClcclxuXHRzZXQgdmlzaWJsZSh2YWx1ZTogYW55KSB7XHJcblx0XHRpZiAodGhpcy5fdmlzaWJsZSA9PT0gdmFsdWUpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHZhbHVlKSB7XHJcblx0XHRcdHRoaXMub3BlbkRpYWxvZygpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG5cdFx0dGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fdmlzaWJsZSk7XHJcblx0fVxyXG5cdGdldCB2aXNpYmxlKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcblx0fVxyXG5cdEBPdXRwdXQoKVxyXG5cdHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRASW5wdXQoKVxyXG5cdHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuXHRASW5wdXQoKVxyXG5cdHNlbGVjdGVkSXRlbXM6IGFueTtcclxuXHJcblx0aXNTZWxlY3RlZDogYm9vbGVhbiA9IHRydWU7XHJcblx0Y29sbGVjdGlvbmlkOiBhbnk7XHJcblx0c2VsZWN0ZWRUYWdzOiBhbnk7XHJcblx0aXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPjtcclxuXHR0YWdzSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cdHRhZ3NMb2FkaW5nID0gZmFsc2U7XHJcblx0X3Zpc2libGUgPSBmYWxzZTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcblx0XHRwcm90ZWN0ZWQgY3VzdG9tVG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuXHRcdHB1YmxpYyBudXhlb0RpYWxvZ1NlcnZpY2U6IE51eGVvRGlhbG9nU2VydmljZSxcclxuXHJcblx0XHRpbmplY3RvcjogSW5qZWN0b3JcclxuXHQpIHtcclxuXHRcdHN1cGVyKGluamVjdG9yKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcblx0b3BlbkRpYWxvZygpOiB2b2lkIHtcclxuXHRcdGNvbnN0IG9wdGlvbnM6IERpYWxvZ09wdGlvbnMgPSB7XHJcblx0XHRcdGNvbXBvbmVudDogTmRmTnV4ZW9EaWFsb2csXHJcblx0XHRcdC8vVE9ETyBbQXNlbV0gaG93IHRvIHB1dCB0aGUgd3JhcHBlciBJRFxyXG5cdFx0XHRwYW5lbENsYXNzOiAncG9wVXBQYXJlbnQnLFxyXG5cdFx0XHRjb25maWc6IHtcclxuXHRcdFx0XHR0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ZJTEVfTUFOQUdFUi5BRERfVE9fQ09MTEVDVElPTicpLFxyXG5cdFx0XHRcdGNvbnRlbnRUZW1wbGF0ZTogdGhpcy5jb250ZW50VGVtcGxhdGUsXHJcblx0XHRcdFx0YWN0aW9uc1RlbXBsYXRlOiB0aGlzLmFjdGlvbnNUZW1wbGF0ZVxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0dGhpcy5udXhlb0RpYWxvZ1NlcnZpY2VcclxuXHRcdFx0Lm9wZW4ob3B0aW9ucylcclxuXHRcdFx0LmFmdGVyQ2xvc2VkKClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0ZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG5cdFx0aWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG5cdFx0XHR0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG5cdFx0XHRcdC5jcmVhdGVOZXdDb2xsZWN0aW9uKGV2ZW50LmRpc3BsYXlMYWJlbClcclxuXHRcdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuY29sbGVjdGlvbmlkID0gcmVzLnVpZDtcclxuXHRcdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB0aGlzLmNvbGxlY3Rpb25pZCA9IGV2ZW50LmlkO1xyXG5cdH1cclxuXHJcblx0bG9hZEl0ZW1zKCkge1xyXG5cdFx0bGV0IHNlYXJjaHRlcm0gPSAnJztcclxuXHRcdHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cdFx0bGV0IG15Y2F0ZWdvcmllcyA9IFtdO1xyXG5cdFx0dGhpcy5pdGVtcyQgPSBjb25jYXQoXHJcblx0XHRcdHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSkucGlwZShcclxuXHRcdFx0XHRzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRyZXMuZW50cmllcy5tYXAoKGVudHJ5KSA9PiB7XHJcblx0XHRcdFx0XHRcdG15Y2F0ZWdvcmllcy5wdXNoKHtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5TGFiZWw6IGVudHJ5LnRpdGxlLFxyXG5cdFx0XHRcdFx0XHRcdGlkOiBlbnRyeS51aWQsXHJcblx0XHRcdFx0XHRcdFx0cGF0aDogZW50cnkucGF0aCxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiBlbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRyZXR1cm4gb2YobXljYXRlZ29yaWVzKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpLCAvLyBkZWZhdWx0IGl0ZW1zXHJcblx0XHRcdHRoaXMudGFnc0lucHV0JC5waXBlKFxyXG5cdFx0XHRcdGRlYm91bmNlVGltZSgyMDApLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdFx0dGFwKCgpID0+ICh0aGlzLnRhZ3NMb2FkaW5nID0gdHJ1ZSkpLFxyXG5cdFx0XHRcdHN3aXRjaE1hcCgoc2VhcmNodGVybSkgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSkucGlwZShcclxuXHRcdFx0XHRcdFx0Y2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLCAvLyBlbXB0eSBsaXN0IG9uIGVycm9yXHJcblx0XHRcdFx0XHRcdHN3aXRjaE1hcCgoc2VhcmNoQ2F0KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IG15SW5lckNhdGVnID0gW107XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50YWdzTG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaXNTZWxlY3RlZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0c2VhcmNoQ2F0LmVudHJpZXMubWFwKChlbnRyeSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bXlJbmVyQ2F0ZWcucHVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXlMYWJlbDogZW50cnkudGl0bGUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiBlbnRyeS51aWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhdGg6IGVudHJ5LnBhdGgsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IGVudHJ5LnByb3BlcnRpZXNbJ2NvbW1vbjppY29uJ11cclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBvZihteUluZXJDYXRlZyk7XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRvbkZvcm1Db2xsZWN0aW9uU3VibWl0OiBEaWFsb2dBY3Rpb25UeXBlID0gKGUpID0+IHtcclxuXHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHRyZXR1cm4gdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuXHRcdFx0LmFkZFRvQ29sbGVjdGlvbih0aGlzLnNlbGVjdGVkSXRlbXMsIHRoaXMuY29sbGVjdGlvbmlkKVxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHR0YXAoXHJcblx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0uaW5zdGFuY2UucmVzZXRWYWx1ZXMoKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RlZFRhZ3MgPSBudWxsO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0J3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLlNVQ0NFU1MnLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkRPQ1VNRU5UX0FEREVEX1RPX0NPTExFQ1RJT04nXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRE9DVU1FTlRfQURERURfVE9fQ09MTEVDVElPTl9FUlJPUidcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpXHJcblx0XHRcdCk7XHJcblx0fTtcclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cclxuXHQ8Zm9ybT5cclxuXHRcdDxkeC1mb3JtXHJcblx0XHRcdGNsYXNzPVwiY29sbGVjdGlvbi1mb3JtLXdyYXBwZXJcIlxyXG5cdFx0XHQjY3JlYXRlRm9ybVxyXG5cdFx0XHRbZm9ybURhdGFdPVwiZm9ybURhdGFcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwibG9hZGluZ1wiXHJcblx0XHQ+XHJcblx0XHRcdDxkeGktaXRlbSBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcblx0XHRcdFx0PG5nLXNlbGVjdFxyXG5cdFx0XHRcdFx0W2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcclxuXHRcdFx0XHRcdGJpbmRMYWJlbD1cImRpc3BsYXlMYWJlbFwiXHJcblx0XHRcdFx0XHRbYWRkVGFnXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0YWRkVGFnVGV4dD1cIkFkZCBjb2xsZWN0aW9uXCJcclxuXHRcdFx0XHRcdFttdWx0aXBsZV09XCJmYWxzZVwiXHJcblx0XHRcdFx0XHRbaGlkZVNlbGVjdGVkXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0W21pblRlcm1MZW5ndGhdPVwiMFwiXHJcblx0XHRcdFx0XHRbbG9hZGluZ109XCJ0YWdzTG9hZGluZ1wiXHJcblx0XHRcdFx0XHR0eXBlVG9TZWFyY2hUZXh0PVwic2VhcmNoXCJcclxuXHRcdFx0XHRcdFt0eXBlYWhlYWRdPVwidGFnc0lucHV0JFwiXHJcblx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlbGVjdGVkVGFnc1wiXHJcblx0XHRcdFx0XHRyZXF1aXJlZFxyXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJ7eyAnVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTScgfCB0cmFuc2xhdGUgfX1cIlxyXG5cdFx0XHRcdFx0bmFtZT1cInNlbGVjdGVkSXRlbVwiXHJcblx0XHRcdFx0XHQoY2hhbmdlKT1cImVtaXRTZWxlY3Rpb24oJGV2ZW50KVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdDwvbmctc2VsZWN0PlxyXG5cdFx0XHQ8L2R4aS1pdGVtPlxyXG5cdFx0PC9keC1mb3JtPlxyXG5cdDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYWN0aW9uc1RlbXBsYXRlIGxldC1kaWFsb2c9XCJkaWFsb2dcIj5cclxuXHQ8c3BhblxyXG5cdFx0Y2xhc3M9XCJkeC1idXR0b24tdGV4dFwiXHJcblx0XHQoY2xpY2spPVwiZGlhbG9nLmV4ZWN1dGVBY3Rpb24ob25Gb3JtQ29sbGVjdGlvblN1Ym1pdCwgWyRldmVudF0pXCJcclxuXHQ+XHJcblx0XHR7eyAnRklMRV9NQU5BR0VSLkFERCcgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL2FkZC10by1jb2xsZWN0aW9uL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9hZGQtdG8tY29sbGVjdGlvbi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUlyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7Ozs7Ozs7OztBQVNsRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQXVDMUQsWUFDUyxrQkFBc0MsRUFDcEMsbUJBQXdDLEVBQzNDLGtCQUFzQyxFQUU3QyxRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7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Q0FDRixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0YsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs7c0hBNUhXLHdCQUF3QjswR0FBeEIsd0JBQXdCLG9iQUN6QixlQUFlLGlSQzdCM0IsMHBDQWdDQTs0RkRKYSx3QkFBd0I7a0JBTHBDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7aUJBQ2pEO21NQUUrQyxJQUFJO3NCQUFsRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2YsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0UsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRW5CLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdEluamVjdG9yLFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IER4Rm9ybUNvbXBvbmVudCB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCBjYXRjaEVycm9yLCB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE5kZk51eGVvRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL251eGVvLmRpYWxvZyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9iYXNlL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnV4ZW9EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL3NlcnZpY2VzL251eGVvLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9tb2RlbHMvZGlhbG9nLW9wdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1hZGQtdG8tY29sbGVjdGlvbicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRUb0NvbGxlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRAVmlld0NoaWxkKER4Rm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm06IER4Rm9ybUNvbXBvbmVudDtcclxuXHRAVmlld0NoaWxkKCdjb250ZW50VGVtcGxhdGUnKSBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdGlvbnNUZW1wbGF0ZScpIGFjdGlvbnNUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG5cdEBJbnB1dCgpIGNyZWF0ZU9wZXJhdGlvbjogc3RyaW5nID0gJ0NvbGxlY3Rpb24uQ3JlYXRlJztcclxuXHRASW5wdXQoKSBhZGRPcGVyYXRpb246IHN0cmluZyA9ICdEb2N1bWVudC5BZGRUb0NvbGxlY3Rpb24nO1xyXG5cdEBJbnB1dCgpIGdldENvbGxlY3Rpb25QUDogc3RyaW5nID0gJ1BQX0RNU19Vc2VyX0NvbGxlY3Rpb25zJztcclxuXHRASW5wdXQoKSBtZW1iZXJJbkNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcclxuXHRASW5wdXQoKSBlbmFibGVNZW1iZXJJbkNvbGxlY3Rpb25zOiBib29sZWFuO1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodmFsdWUpIHtcclxuXHRcdFx0dGhpcy5vcGVuRGlhbG9nKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcblx0XHR0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuXHR9XHJcblx0Z2V0IHZpc2libGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuXHR9XHJcblx0QE91dHB1dCgpXHJcblx0dmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBJbnB1dCgpXHJcblx0cnRsRW5hYmxlZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpXHJcblx0c2VsZWN0ZWRJdGVtczogYW55O1xyXG5cclxuXHRpc1NlbGVjdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHRjb2xsZWN0aW9uaWQ6IGFueTtcclxuXHRzZWxlY3RlZFRhZ3M6IGFueTtcclxuXHRpdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG5cdHRhZ3NJbnB1dCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblx0dGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuXHRfdmlzaWJsZSA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHVibGljIG51eGVvRGlhbG9nU2VydmljZTogTnV4ZW9EaWFsb2dTZXJ2aWNlLFxyXG5cclxuXHRcdGluamVjdG9yOiBJbmplY3RvclxyXG5cdCkge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuXHRvcGVuRGlhbG9nKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5sb2FkSXRlbXMoKTtcclxuXHRcdGNvbnN0IG9wdGlvbnM6IERpYWxvZ09wdGlvbnMgPSB7XHJcblx0XHRcdGNvbXBvbmVudDogTmRmTnV4ZW9EaWFsb2csXHJcblx0XHRcdC8vVE9ETyBbQXNlbV0gaG93IHRvIHB1dCB0aGUgd3JhcHBlciBJRFxyXG5cdFx0XHRwYW5lbENsYXNzOiAncG9wVXBQYXJlbnQnLFxyXG5cdFx0XHRjb25maWc6IHtcclxuXHRcdFx0XHR0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ZJTEVfTUFOQUdFUi5BRERfVE9fQ09MTEVDVElPTicpLFxyXG5cdFx0XHRcdGNvbnRlbnRUZW1wbGF0ZTogdGhpcy5jb250ZW50VGVtcGxhdGUsXHJcblx0XHRcdFx0YWN0aW9uc1RlbXBsYXRlOiB0aGlzLmFjdGlvbnNUZW1wbGF0ZVxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0dGhpcy5udXhlb0RpYWxvZ1NlcnZpY2VcclxuXHRcdFx0Lm9wZW4ob3B0aW9ucylcclxuXHRcdFx0LmFmdGVyQ2xvc2VkKClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0ZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG5cdFx0aWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG5cdFx0XHR0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5jcmVhdGVOZXdDb2xsZWN0aW9uKGV2ZW50LmRpc3BsYXlMYWJlbCwgdGhpcy5jcmVhdGVPcGVyYXRpb24pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5jb2xsZWN0aW9uaWQgPSByZXMudWlkO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB0aGlzLmNvbGxlY3Rpb25pZCA9IGV2ZW50LmlkO1xyXG5cdH1cclxuXHJcblx0bG9hZEl0ZW1zKCkge1xyXG5cdFx0bGV0IHNlYXJjaHRlcm0gPSAnJztcclxuXHRcdHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cdFx0bGV0IG15Y2F0ZWdvcmllcyA9IFtdO1xyXG5cdFx0dGhpcy5pdGVtcyQgPSBjb25jYXQoXHJcblx0XHRcdHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSwgdGhpcy5nZXRDb2xsZWN0aW9uUFApLnBpcGUoXHJcblx0XHRcdFx0c3dpdGNoTWFwKChyZXM6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0cmVzLmVudHJpZXMubWFwKChlbnRyeSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoIXRoaXMuZW5hYmxlTWVtYmVySW5Db2xsZWN0aW9ucyB8fCAhdGhpcy5tZW1iZXJJbkNvbGxlY3Rpb25zLmluY2x1ZGVzKGVudHJ5LmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdG15Y2F0ZWdvcmllcy5wdXNoKHtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXlMYWJlbDogZW50cnkudGl0bGUsXHJcblx0XHRcdFx0XHRcdFx0XHRpZDogZW50cnkudWlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0cGF0aDogZW50cnkucGF0aCxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IGVudHJ5LnByb3BlcnRpZXNbJ2NvbW1vbjppY29uJ11cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRyZXR1cm4gb2YobXljYXRlZ29yaWVzKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpLCAvLyBkZWZhdWx0IGl0ZW1zXHJcblx0XHRcdHRoaXMudGFnc0lucHV0JC5waXBlKFxyXG5cdFx0XHRcdGRlYm91bmNlVGltZSgyMDApLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdFx0dGFwKCgpID0+ICh0aGlzLnRhZ3NMb2FkaW5nID0gdHJ1ZSkpLFxyXG5cdFx0XHRcdHN3aXRjaE1hcCgoc2VhcmNodGVybSkgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSwgdGhpcy5nZXRDb2xsZWN0aW9uUFApLnBpcGUoXHJcblx0XHRcdFx0XHRcdGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSwgLy8gZW1wdHkgbGlzdCBvbiBlcnJvclxyXG5cdFx0XHRcdFx0XHRzd2l0Y2hNYXAoKHNlYXJjaENhdCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBteUluZXJDYXRlZyA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdHNlYXJjaENhdC5lbnRyaWVzLm1hcCgoZW50cnkpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdG15SW5lckNhdGVnLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5TGFiZWw6IGVudHJ5LnRpdGxlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogZW50cnkudWlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYXRoOiBlbnRyeS5wYXRoLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBlbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gb2YobXlJbmVyQ2F0ZWcpO1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0b25Gb3JtQ29sbGVjdGlvblN1Ym1pdDogRGlhbG9nQWN0aW9uVHlwZSA9IChlKSA9PiB7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0cmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmFkZFRvQ29sbGVjdGlvbih0aGlzLnNlbGVjdGVkSXRlbXMsIHRoaXMuY29sbGVjdGlvbmlkLCB0aGlzLmFkZE9wZXJhdGlvbikucGlwZShcclxuXHRcdFx0dGFwKFxyXG5cdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmluc3RhbmNlLnJlc2V0VmFsdWVzKCk7XHJcblx0XHRcdFx0XHR0aGlzLnNlbGVjdGVkVGFncyA9IG51bGw7XHJcblx0XHRcdFx0XHR0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsICdUT0FTVEVSLkRPQ1VNRU5UX0FEREVEX1RPX0NPTExFQ1RJT04nKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coJ2Vycm9yJywgJ1RPQVNURVIuRVJST1InLCAnVE9BU1RFUi5ET0NVTUVOVF9BRERFRF9UT19DT0xMRUNUSU9OX0VSUk9SJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpXHJcblx0XHQpO1xyXG5cdH07XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XHJcblx0PGZvcm0+XHJcblx0XHQ8ZHgtZm9ybSBjbGFzcz1cImNvbGxlY3Rpb24tZm9ybS13cmFwcGVyXCIgI2NyZWF0ZUZvcm0gW2Zvcm1EYXRhXT1cImZvcm1EYXRhXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGR4aS1pdGVtIGVkaXRvclR5cGU9XCJkeFRleHRCb3hcIj5cclxuXHRcdFx0XHQ8bmctc2VsZWN0XHJcblx0XHRcdFx0XHRbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIlxyXG5cdFx0XHRcdFx0YmluZExhYmVsPVwiZGlzcGxheUxhYmVsXCJcclxuXHRcdFx0XHRcdFthZGRUYWddPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRhZGRUYWdUZXh0PVwiQWRkIGNvbGxlY3Rpb25cIlxyXG5cdFx0XHRcdFx0W211bHRpcGxlXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdFtoaWRlU2VsZWN0ZWRdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRbbWluVGVybUxlbmd0aF09XCIwXCJcclxuXHRcdFx0XHRcdFtsb2FkaW5nXT1cInRhZ3NMb2FkaW5nXCJcclxuXHRcdFx0XHRcdHR5cGVUb1NlYXJjaFRleHQ9XCJzZWFyY2hcIlxyXG5cdFx0XHRcdFx0W3R5cGVhaGVhZF09XCJ0YWdzSW5wdXQkXCJcclxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwic2VsZWN0ZWRUYWdzXCJcclxuXHRcdFx0XHRcdHJlcXVpcmVkXHJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cInt7ICdWT0NBQlVMQVJZLlNFTEVDVF9JVEVNJyB8IHRyYW5zbGF0ZSB9fVwiXHJcblx0XHRcdFx0XHRuYW1lPVwic2VsZWN0ZWRJdGVtXCJcclxuXHRcdFx0XHRcdChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0PC9uZy1zZWxlY3Q+XHJcblx0XHRcdDwvZHhpLWl0ZW0+XHJcblx0XHQ8L2R4LWZvcm0+XHJcblx0PC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNhY3Rpb25zVGVtcGxhdGUgbGV0LWRpYWxvZz1cImRpYWxvZ1wiPlxyXG5cdDxzcGFuIGNsYXNzPVwic3VibWlzc2lvbi1idXR0b24gcHgtNVwiIChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihvbkZvcm1Db2xsZWN0aW9uU3VibWl0LCBbJGV2ZW50XSlcIj5cclxuXHRcdHt7ICdGSUxFX01BTkFHRVIuQUREJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|