@sunbird-cb/tree-hierarchy 0.0.1-cbrelease-4.8.26 → 0.0.1-cbrelease-4.8.32
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/esm2022/lib/components/action-bar/action-bar.component.mjs +3 -2
- package/esm2022/lib/components/approval/approval.component.mjs +3 -2
- package/esm2022/lib/components/approve-view/approve-view.component.mjs +4 -3
- package/esm2022/lib/components/categories-preview/categories-preview.component.mjs +3 -2
- package/esm2022/lib/components/category-edit/category-edit-module/category-edit-module.component.mjs +56 -0
- package/esm2022/lib/components/conforamtion-popup/conforamtion-popup.component.mjs +3 -2
- package/esm2022/lib/components/connector/connector.component.mjs +3 -2
- package/esm2022/lib/components/create-categories/create-categories.component.mjs +3 -2
- package/esm2022/lib/components/create-term/create-term.component.mjs +3 -2
- package/esm2022/lib/components/create-term-from-framework/create-term-from-framework.component.mjs +6 -4
- package/esm2022/lib/components/org-hierarchy-add-modal/org-hierarchy-add-modal.component.mjs +122 -47
- package/esm2022/lib/components/pending-approval/pending-approval.component.mjs +3 -2
- package/esm2022/lib/components/term-card/term-card.component.mjs +39 -7
- package/esm2022/lib/components/tree-column-view/tree-column-view.component.mjs +41 -6
- package/esm2022/lib/components/tree-view/tree-view.component.mjs +396 -31
- package/esm2022/lib/containers/config-framework/config-framework.component.mjs +3 -2
- package/esm2022/lib/containers/dashboard/dashboard.component.mjs +3 -2
- package/esm2022/lib/models/framework.model.mjs +1 -1
- package/esm2022/lib/pipes/order-by.pipe.mjs +3 -2
- package/esm2022/lib/services/approval.service.mjs +3 -2
- package/esm2022/lib/services/connector.service.mjs +53 -6
- package/esm2022/lib/services/framework.service.mjs +159 -14
- package/esm2022/lib/services/local-connection.service.mjs +3 -2
- package/esm2022/lib/services/odcs.service.mjs +3 -2
- package/esm2022/lib/tree-hierarchy-routing.module.mjs +3 -2
- package/esm2022/lib/tree-hierarchy.component.mjs +3 -2
- package/esm2022/lib/tree-hierarchy.module.mjs +13 -5
- package/esm2022/lib/tree-hierarchy.service.mjs +24 -3
- package/esm2022/material.module.mjs +4 -3
- package/fesm2022/sunbird-cb-tree-hierarchy.mjs +888 -131
- package/fesm2022/sunbird-cb-tree-hierarchy.mjs.map +1 -1
- package/lib/components/category-edit/category-edit-module/category-edit-module.component.d.ts +18 -0
- package/lib/components/category-edit/category-edit-module/category-edit-module.component.d.ts.map +1 -0
- package/lib/components/org-hierarchy-add-modal/org-hierarchy-add-modal.component.d.ts +18 -3
- package/lib/components/org-hierarchy-add-modal/org-hierarchy-add-modal.component.d.ts.map +1 -1
- package/lib/components/term-card/term-card.component.d.ts +13 -2
- package/lib/components/term-card/term-card.component.d.ts.map +1 -1
- package/lib/components/tree-column-view/tree-column-view.component.d.ts +6 -1
- package/lib/components/tree-column-view/tree-column-view.component.d.ts.map +1 -1
- package/lib/components/tree-view/tree-view.component.d.ts +16 -4
- package/lib/components/tree-view/tree-view.component.d.ts.map +1 -1
- package/lib/models/framework.model.d.ts +1 -0
- package/lib/models/framework.model.d.ts.map +1 -1
- package/lib/services/connector.service.d.ts +1 -0
- package/lib/services/connector.service.d.ts.map +1 -1
- package/lib/services/framework.service.d.ts +10 -3
- package/lib/services/framework.service.d.ts.map +1 -1
- package/lib/tree-hierarchy.module.d.ts +6 -4
- package/lib/tree-hierarchy.module.d.ts.map +1 -1
- package/lib/tree-hierarchy.service.d.ts +5 -0
- package/lib/tree-hierarchy.service.d.ts.map +1 -1
- package/material.module.d.ts +2 -2
- package/package.json +2 -2
|
@@ -9,7 +9,7 @@ import * as i4 from "@angular/material/button";
|
|
|
9
9
|
import * as i5 from "@angular/material/icon";
|
|
10
10
|
import * as i6 from "@angular/material/input";
|
|
11
11
|
import * as i7 from "@angular/material/form-field";
|
|
12
|
-
|
|
12
|
+
class CreateCategoriesComponent {
|
|
13
13
|
constructor(fb) {
|
|
14
14
|
this.fb = fb;
|
|
15
15
|
this.updateCategory = new EventEmitter();
|
|
@@ -68,6 +68,7 @@ export class CreateCategoriesComponent {
|
|
|
68
68
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateCategoriesComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
69
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateCategoriesComponent, selector: "lib-create-categories", inputs: { taxonomyInfo: "taxonomyInfo" }, outputs: { updateCategory: "updateCategory", removeCategories: "removeCategories", changePosition: "changePosition" }, ngImport: i0, template: "\n<div class=\"form-wrap\">\n <h1>{{app_strings.createCategories}}</h1>\n <form [formGroup]=\"createCategoriesForm\" (ngSubmit)=\"saveForm()\" novalidate>\n <div class=\"form-field\">\n <div class=\"form-field__wrap\" formArrayName=\"categories\" cdkDropListGroup>\n <div cdkDropList [cdkDropListData]=\"categories().controls\" (cdkDropListDropped)=\"drop($event)\">\n <div class=\"form__category\" *ngFor=\"let cat of categories().controls; let i = index\" >\n <mat-form-field appearance=\"outline\" [formGroupName]=\"i\" cdkDrag>\n <mat-label>{{app_strings.category}} {{i}}</mat-label>\n <input matInput placeholder=\"{{app_strings.categoryName}}\" formControlName=\"name\" (blur)=\"emitCategory($event)\"> \n <div class=\"drag-Handle\" cdkDragHandle>\n <svg width=\"24px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n </div>\n </mat-form-field>\n <mat-icon (click)=\"removeCategory(i)\">{{app_strings.removeCircleOutline}}</mat-icon>\n \n </div>\n </div>\n </div>\n </div>\n <footer>\n <button type=\"button\" mat-raised-button (click)=\"addCategory()\" color=\"primary\">\n {{app_strings.add | titlecase}}\n </button>\n </footer>\n </form>\n</div>\n", styles: [".form-wrap{display:flex;flex-direction:column;justify-content:center;padding:15px}.form-wrap h1{font-size:24px;color:#666;font-weight:500}.form-field{display:flex;flex-direction:row;justify-content:start}.form-field__wrap{display:flex;flex-direction:column}.form-field__wrap .mat-form-field{width:350px}.form__btns{display:flex;flex-direction:column;justify-content:end;padding-bottom:15px;margin-left:15px}.form__category{display:flex;flex-direction:row;justify-content:center;align-items:center}.form__category .mat-form-field .mat-form-field-appearance-outline{margin-bottom:0}.form__category .mat-icon{margin-left:20px;height:20px;padding:5px 5px 25px;color:#b60909;cursor:pointer}.drag-Handle{position:absolute;top:8px;right:0;color:#9b9b9b;cursor:grabbing}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}footer{display:flex;flex-direction:row;justify-content:start}footer .mat-raised-button{padding:0 40px}@media only screen and (max-width: 1024px){.form-wrap h1{font-size:20px}.form-wrap-field__wrap .mat-form-field{width:250px}.form-wrap ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{top:10px;bottom:4px}.form-wrap ::ng-deep .mat-form-field-wrapper{padding-bottom:.3em}.form-wrap ::ng-deep .mat-input-element{font-size:10px}.form-wrap ::ng-deep .mat-raised-button{min-width:auto;padding:0 .5em;line-height:2em}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }] }); }
|
|
70
70
|
}
|
|
71
|
+
export { CreateCategoriesComponent };
|
|
71
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateCategoriesComponent, decorators: [{
|
|
72
73
|
type: Component,
|
|
73
74
|
args: [{ selector: 'lib-create-categories', template: "\n<div class=\"form-wrap\">\n <h1>{{app_strings.createCategories}}</h1>\n <form [formGroup]=\"createCategoriesForm\" (ngSubmit)=\"saveForm()\" novalidate>\n <div class=\"form-field\">\n <div class=\"form-field__wrap\" formArrayName=\"categories\" cdkDropListGroup>\n <div cdkDropList [cdkDropListData]=\"categories().controls\" (cdkDropListDropped)=\"drop($event)\">\n <div class=\"form__category\" *ngFor=\"let cat of categories().controls; let i = index\" >\n <mat-form-field appearance=\"outline\" [formGroupName]=\"i\" cdkDrag>\n <mat-label>{{app_strings.category}} {{i}}</mat-label>\n <input matInput placeholder=\"{{app_strings.categoryName}}\" formControlName=\"name\" (blur)=\"emitCategory($event)\"> \n <div class=\"drag-Handle\" cdkDragHandle>\n <svg width=\"24px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n </div>\n </mat-form-field>\n <mat-icon (click)=\"removeCategory(i)\">{{app_strings.removeCircleOutline}}</mat-icon>\n \n </div>\n </div>\n </div>\n </div>\n <footer>\n <button type=\"button\" mat-raised-button (click)=\"addCategory()\" color=\"primary\">\n {{app_strings.add | titlecase}}\n </button>\n </footer>\n </form>\n</div>\n", styles: [".form-wrap{display:flex;flex-direction:column;justify-content:center;padding:15px}.form-wrap h1{font-size:24px;color:#666;font-weight:500}.form-field{display:flex;flex-direction:row;justify-content:start}.form-field__wrap{display:flex;flex-direction:column}.form-field__wrap .mat-form-field{width:350px}.form__btns{display:flex;flex-direction:column;justify-content:end;padding-bottom:15px;margin-left:15px}.form__category{display:flex;flex-direction:row;justify-content:center;align-items:center}.form__category .mat-form-field .mat-form-field-appearance-outline{margin-bottom:0}.form__category .mat-icon{margin-left:20px;height:20px;padding:5px 5px 25px;color:#b60909;cursor:pointer}.drag-Handle{position:absolute;top:8px;right:0;color:#9b9b9b;cursor:grabbing}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}footer{display:flex;flex-direction:row;justify-content:start}footer .mat-raised-button{padding:0 40px}@media only screen and (max-width: 1024px){.form-wrap h1{font-size:20px}.form-wrap-field__wrap .mat-form-field{width:250px}.form-wrap ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{top:10px;bottom:4px}.form-wrap ::ng-deep .mat-form-field-wrapper{padding-bottom:.3em}.form-wrap ::ng-deep .mat-input-element{font-size:10px}.form-wrap ::ng-deep .mat-raised-button{min-width:auto;padding:0 .5em;line-height:2em}}\n"] }]
|
|
@@ -80,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
80
81
|
}], changePosition: [{
|
|
81
82
|
type: Output
|
|
82
83
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNhdGVnb3JpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RyZWUtaGllcmFyY2h5L3NyYy9saWIvY29tcG9uZW50cy9jcmVhdGUtY2F0ZWdvcmllcy9jcmVhdGUtY2F0ZWdvcmllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdHJlZS1oaWVyYXJjaHkvc3JjL2xpYi9jb21wb25lbnRzL2NyZWF0ZS1jYXRlZ29yaWVzL2NyZWF0ZS1jYXRlZ29yaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUcsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7Ozs7Ozs7O0FBRzdDLE1BS2EseUJBQXlCO0lBVXBDLFlBQW9CLEVBQXNCO1FBQXRCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBUmhDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNuQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ3JDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUk3QyxnQkFBVyxHQUFRLE1BQU0sQ0FBQztJQUVvQixDQUFDO0lBRS9DLFFBQVE7UUFDUCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdkMsVUFBVSxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUM3QixDQUFDLENBQUE7UUFDRixJQUFHLElBQUksQ0FBQyxZQUFZLEVBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7U0FDdEI7YUFBTTtZQUNQLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUNuQjtJQUNILENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBcUIsQ0FBQTtJQUN4RSxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkIsSUFBSSxFQUFDLEVBQUU7U0FDUixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxDQUFRO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsS0FBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUNWLElBQUksRUFBQyxHQUFHLENBQUMsSUFBSTthQUNkLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFTO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUNELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQy9DLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxLQUFLLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQTtTQUM3RTthQUFNO1lBQ0wsaUJBQWlCLENBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFDNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQ3BCLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUM7U0FDSDtJQUNILENBQUM7K0dBdEVVLHlCQUF5QjttR0FBekIseUJBQXlCLDhOQ1h0QyxpekRBK0JBOztTRHBCYSx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx1QkFBdUI7eUdBS3hCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCAsIEV2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBsYWJlbHMgfSBmcm9tICcuLi8uLi9sYWJlbHMvc3RyaW5ncydcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLWNhdGVnb3JpZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtY2F0ZWdvcmllcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUNhdGVnb3JpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0YXhvbm9teUluZm86YW55XG4gIEBPdXRwdXQoKSB1cGRhdGVDYXRlZ29yeSA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgcmVtb3ZlQ2F0ZWdvcmllcyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY2hhbmdlUG9zaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBjcmVhdGVDYXRlZ29yaWVzRm9ybSE6IFVudHlwZWRGb3JtR3JvdXBcblxuICBhcHBfc3RyaW5nczogYW55ID0gbGFiZWxzO1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgXG4gICB0aGlzLmNyZWF0ZUNhdGVnb3JpZXNGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBjYXRlZ29yaWVzOnRoaXMuZmIuYXJyYXkoW10pXG4gICAgfSlcbiAgICBpZih0aGlzLnRheG9ub215SW5mbyl7XG4gICAgICB0aGlzLmluaXRDYXRlZ29yeUZvcm0oKVxuICAgICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkQ2F0ZWdvcnkoKVxuICAgIH1cbiAgfVxuICBjYXRlZ29yaWVzKCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUNhdGVnb3JpZXNGb3JtLmdldCgnY2F0ZWdvcmllcycpIGFzIFVudHlwZWRGb3JtQXJyYXlcbiAgfVxuXG4gIG5ld0NhdGVnb3JpZXMoKTogVW50eXBlZEZvcm1Hcm91cCB7ICBcbiAgICByZXR1cm4gdGhpcy5mYi5ncm91cCh7ICBcbiAgICAgIG5hbWU6JycsICBcbiAgICB9KSAgXG4gIH0gIFxuXG4gIGFkZENhdGVnb3J5KCkgeyAgXG4gICAgdGhpcy5jYXRlZ29yaWVzKCkucHVzaCh0aGlzLm5ld0NhdGVnb3JpZXMoKSk7ICBcbiAgfSAgXG4gICAgIFxuICByZW1vdmVDYXRlZ29yeShpOm51bWJlcikgeyAgXG4gICAgdGhpcy5jYXRlZ29yaWVzKCkucmVtb3ZlQXQoaSk7ICBcbiAgICB0aGlzLnJlbW92ZUNhdGVnb3JpZXMuZW1pdChpKVxuICB9ICBcblxuICBpbml0Q2F0ZWdvcnlGb3JtKCl7XG4gICAgZm9yKHZhciBjYXQgb2YgdGhpcy50YXhvbm9teUluZm8pe1xuICAgICAgdGhpcy5jYXRlZ29yaWVzKCkucHVzaChcbiAgICAgIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgIG5hbWU6Y2F0Lm5hbWVcbiAgICAgICAgfSlcbiAgICAgICk7ICBcbiAgICB9XG4gIH1cblxuICBzYXZlRm9ybSgpIHtcbiAgICB0aGlzLnVwZGF0ZUNhdGVnb3J5LmVtaXQodGhpcy5jcmVhdGVDYXRlZ29yaWVzRm9ybS52YWx1ZS5jYXRlZ29yaWVzKVxuICB9XG5cbiAgZW1pdENhdGVnb3J5KGV2ZW50OmFueSl7XG4gICAgdGhpcy51cGRhdGVDYXRlZ29yeS5lbWl0KGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgfVxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgdGhpcy5jaGFuZ2VQb3NpdGlvbi5lbWl0KHtjdXI6ZXZlbnQuY3VycmVudEluZGV4LCBwcmV2OmV2ZW50LnByZXZpb3VzSW5kZXh9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgICAgZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEsXG4gICAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCJcbjxkaXYgY2xhc3M9XCJmb3JtLXdyYXBcIj5cbiAgICA8aDE+e3thcHBfc3RyaW5ncy5jcmVhdGVDYXRlZ29yaWVzfX08L2gxPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY3JlYXRlQ2F0ZWdvcmllc0Zvcm1cIiAobmdTdWJtaXQpPVwic2F2ZUZvcm0oKVwiIG5vdmFsaWRhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9fd3JhcFwiIGZvcm1BcnJheU5hbWU9XCJjYXRlZ29yaWVzXCIgY2RrRHJvcExpc3RHcm91cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNka0Ryb3BMaXN0IFtjZGtEcm9wTGlzdERhdGFdPVwiY2F0ZWdvcmllcygpLmNvbnRyb2xzXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybV9fY2F0ZWdvcnlcIiAqbmdGb3I9XCJsZXQgY2F0IG9mIGNhdGVnb3JpZXMoKS5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIFtmb3JtR3JvdXBOYW1lXT1cImlcIiBjZGtEcmFnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3thcHBfc3RyaW5ncy5jYXRlZ29yeX19IHt7aX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwie3thcHBfc3RyaW5ncy5jYXRlZ29yeU5hbWV9fVwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiAoYmx1cik9XCJlbWl0Q2F0ZWdvcnkoJGV2ZW50KVwiPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJhZy1IYW5kbGVcIiBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMCA5aDRWNmgzbC01LTUtNSA1aDN2M3ptLTEgMUg2VjdsLTUgNSA1IDV2LTNoM3YtNHptMTQgMmwtNS01djNoLTN2NGgzdjNsNS01em0tOSAzaC00djNIN2w1IDUgNS01aC0zdi0zelwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJyZW1vdmVDYXRlZ29yeShpKVwiPnt7YXBwX3N0cmluZ3MucmVtb3ZlQ2lyY2xlT3V0bGluZX19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3Rlcj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiYWRkQ2F0ZWdvcnkoKVwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIHt7YXBwX3N0cmluZ3MuYWRkIHwgdGl0bGVjYXNlfX1cbiAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|