@dignite-ng/expand.ck-editor 0.0.7 → 0.0.9
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/config/ck-editor-config.module.d.ts +8 -0
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +3 -0
- package/config/index.d.ts +5 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/route.provider.d.ts +8 -0
- package/config/public-api.d.ts +3 -0
- package/esm2022/config/ck-editor-config.module.mjs +18 -0
- package/esm2022/config/dignite-ng-expand.ck-editor-config.mjs +5 -0
- package/esm2022/config/enums/index.mjs +2 -0
- package/esm2022/config/enums/route-names.mjs +2 -0
- package/esm2022/config/providers/index.mjs +2 -0
- package/esm2022/config/providers/route.provider.mjs +24 -0
- package/esm2022/config/public-api.mjs +4 -0
- package/esm2022/lib/ck-editor-routing.module.mjs +11 -8
- package/esm2022/lib/ck-editor.module.mjs +12 -10
- package/esm2022/lib/components/dome/ck-editor-dome.component.mjs +75 -0
- package/esm2022/lib/dynamic-form/ck-editor/ck-editor-config.component.mjs +14 -7
- package/esm2022/lib/dynamic-form/ck-editor/ck-editor-config.mjs +7 -7
- package/esm2022/lib/dynamic-form/ck-editor/ck-editor-control.component.mjs +113 -96
- package/esm2022/lib/dynamic-form/ck-editor/ckEditorUpload.mjs +12 -9
- package/esm2022/lib/object/ck-editor-object.mjs +909 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/dignite-ng-expand.ck-editor-config.mjs +47 -0
- package/fesm2022/dignite-ng-expand.ck-editor-config.mjs.map +1 -0
- package/fesm2022/dignite-ng-expand.ck-editor.mjs +1119 -152
- package/fesm2022/dignite-ng-expand.ck-editor.mjs.map +1 -1
- package/lib/ck-editor.module.d.ts +7 -6
- package/lib/components/dome/ck-editor-dome.component.d.ts +23 -0
- package/lib/dynamic-form/ck-editor/ck-editor-config.component.d.ts +1 -1
- package/lib/dynamic-form/ck-editor/ck-editor-control.component.d.ts +2 -19
- package/lib/object/ck-editor-object.d.ts +29 -0
- package/package.json +11 -5
- package/public-api.d.ts +1 -0
|
@@ -1,100 +1,99 @@
|
|
|
1
1
|
import { ConfigStateService, RestService } from '@abp/ng.core';
|
|
2
|
-
import { Component, Input, ViewChild, inject
|
|
2
|
+
import { Component, Input, ViewChild, inject } from '@angular/core';
|
|
3
3
|
import { FormBuilder, Validators } from '@angular/forms';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
4
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/zh-cn';
|
|
5
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/de-ch';
|
|
6
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/en-gb';
|
|
7
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/pt-br';
|
|
8
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/zh';
|
|
9
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/de';
|
|
10
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/ar';
|
|
11
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/cs';
|
|
12
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/hi';
|
|
13
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/fi';
|
|
14
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/hu';
|
|
15
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/fr';
|
|
16
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/it';
|
|
17
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/sk';
|
|
18
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/ja';
|
|
19
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/es';
|
|
20
|
+
// import '@ckeditor/ckeditor5-build-classic/build/translations/vi';
|
|
21
21
|
import { LanguagesMap } from '../../enums/languages-map';
|
|
22
22
|
import { isBase64UploadAdapter } from './ckEditorUpload';
|
|
23
|
+
import { ClassicEditor } from 'ckeditor5';
|
|
24
|
+
import { CkEditorTypesObject } from '../../object/ck-editor-object';
|
|
23
25
|
import * as i0 from "@angular/core";
|
|
24
26
|
import * as i1 from "@angular/forms";
|
|
25
27
|
import * as i2 from "@angular/common";
|
|
26
28
|
import * as i3 from "@ngx-validate/core";
|
|
27
29
|
import * as i4 from "@ckeditor/ckeditor5-angular";
|
|
28
30
|
import * as i5 from "@abp/ng.core";
|
|
29
|
-
class CkEditorControlComponent {
|
|
31
|
+
export class CkEditorControlComponent {
|
|
32
|
+
config = inject(ConfigStateService);
|
|
33
|
+
_restService = inject(RestService);
|
|
34
|
+
/**ck-Editor的值 */
|
|
35
|
+
ckEditorValue = '';
|
|
36
|
+
/**系统语言 */
|
|
37
|
+
currentCulture = this.config.getOne('localization')?.currentCulture?.name;
|
|
38
|
+
/** 语言目录,匹配系统语言,设置ckeditor的语言 */
|
|
39
|
+
languagesMap = LanguagesMap;
|
|
40
|
+
Editor = ClassicEditor;
|
|
30
41
|
constructor() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
label: '50%',
|
|
87
|
-
value: '50'
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: 'resizeImage:75',
|
|
91
|
-
label: '75%',
|
|
92
|
-
value: '75'
|
|
93
|
-
}
|
|
94
|
-
],
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
});
|
|
42
|
+
let configs = CkEditorTypesObject['default'];
|
|
43
|
+
configs.language = this.languagesMap[this.currentCulture],
|
|
44
|
+
this.ckOptions = configs;
|
|
45
|
+
// import('@ckeditor/ckeditor5-build-classic').then(res => {
|
|
46
|
+
// this.Editor = res.default
|
|
47
|
+
// this.ckOptions = {
|
|
48
|
+
// language: this.languagesMap[this.currentCulture],
|
|
49
|
+
// toolbar: {
|
|
50
|
+
// items: [
|
|
51
|
+
// 'heading', '|',
|
|
52
|
+
// 'bold', 'italic',
|
|
53
|
+
// 'link', '|',
|
|
54
|
+
// 'bulletedList', 'numberedList',
|
|
55
|
+
// 'insertTable', '|',
|
|
56
|
+
// 'uploadImage', '|',
|
|
57
|
+
// 'undo', 'redo'
|
|
58
|
+
// ],
|
|
59
|
+
// viewportTopOffset: 30,
|
|
60
|
+
// shouldNotGroupWhenFull: true
|
|
61
|
+
// },
|
|
62
|
+
// image: {
|
|
63
|
+
// toolbar: [
|
|
64
|
+
// 'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
|
65
|
+
// '|',
|
|
66
|
+
// 'resizeImage',
|
|
67
|
+
// '|',
|
|
68
|
+
// 'imageTextAlternative'
|
|
69
|
+
// ],
|
|
70
|
+
// styles: [
|
|
71
|
+
// 'alignLeft', 'alignCenter', 'alignRight'
|
|
72
|
+
// ],
|
|
73
|
+
// resizeOptions: [{
|
|
74
|
+
// name: 'resizeImage:original',
|
|
75
|
+
// label: 'Original',
|
|
76
|
+
// value: null
|
|
77
|
+
// },
|
|
78
|
+
// {
|
|
79
|
+
// name: 'resizeImage:25',
|
|
80
|
+
// label: '25%',
|
|
81
|
+
// value: '25'
|
|
82
|
+
// },
|
|
83
|
+
// {
|
|
84
|
+
// name: 'resizeImage:50',
|
|
85
|
+
// label: '50%',
|
|
86
|
+
// value: '50'
|
|
87
|
+
// },
|
|
88
|
+
// {
|
|
89
|
+
// name: 'resizeImage:75',
|
|
90
|
+
// label: '75%',
|
|
91
|
+
// value: '75'
|
|
92
|
+
// }
|
|
93
|
+
// ],
|
|
94
|
+
// },
|
|
95
|
+
// }
|
|
96
|
+
// })
|
|
98
97
|
}
|
|
99
98
|
onReady(editor) {
|
|
100
99
|
let _this = this;
|
|
@@ -102,26 +101,38 @@ class CkEditorControlComponent {
|
|
|
102
101
|
return new isBase64UploadAdapter(loader, _this.imagesContainerName, _this._restService);
|
|
103
102
|
};
|
|
104
103
|
}
|
|
104
|
+
/**ck-editor配置 */
|
|
105
|
+
ckOptions;
|
|
105
106
|
/**富文本内容改变 */
|
|
106
107
|
ckEditorChange(event) {
|
|
107
108
|
this.setckeditorInput(event);
|
|
108
109
|
}
|
|
110
|
+
fb = inject(FormBuilder);
|
|
111
|
+
/**表单实体 */
|
|
112
|
+
_entity;
|
|
109
113
|
set entity(v) {
|
|
110
114
|
this._entity = v;
|
|
111
115
|
this.dataLoaded();
|
|
112
116
|
}
|
|
117
|
+
/**字段配置列表 */
|
|
118
|
+
_fields = '';
|
|
113
119
|
set fields(v) {
|
|
114
120
|
this._fields = v;
|
|
115
121
|
this.dataLoaded();
|
|
116
122
|
}
|
|
123
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
124
|
+
_parentFiledName;
|
|
117
125
|
set parentFiledName(v) {
|
|
118
126
|
this._parentFiledName = v;
|
|
119
127
|
this.dataLoaded();
|
|
120
128
|
}
|
|
129
|
+
/**父级字段名称,用于为表单设置控件赋值 */
|
|
130
|
+
_selected;
|
|
121
131
|
set selected(v) {
|
|
122
132
|
this._selected = v;
|
|
123
133
|
this.dataLoaded();
|
|
124
134
|
}
|
|
135
|
+
submitclick;
|
|
125
136
|
get extraProperties() {
|
|
126
137
|
return this._entity.get('extraProperties');
|
|
127
138
|
}
|
|
@@ -134,36 +145,42 @@ class CkEditorControlComponent {
|
|
|
134
145
|
await this.AfterInit();
|
|
135
146
|
// let fillingIn=this._selected||this._fields.field.formConfiguration['Ckeditor.InitialContent']
|
|
136
147
|
// this.Editor.setData(fillingIn);
|
|
137
|
-
this.ckEditorValue =
|
|
148
|
+
this.ckEditorValue =
|
|
149
|
+
this._selected || this._fields.field.formConfiguration['Ckeditor.InitialContent'];
|
|
138
150
|
this.setckeditorInput(this.ckEditorValue);
|
|
139
151
|
this.submitclick.nativeElement.click();
|
|
140
152
|
}
|
|
141
153
|
}
|
|
154
|
+
invalidfeedback = false;
|
|
142
155
|
//设置值
|
|
143
156
|
setckeditorInput(val) {
|
|
144
157
|
this.invalidfeedback = true;
|
|
145
158
|
this.ckeditorInput.patchValue(val);
|
|
146
159
|
}
|
|
160
|
+
/**图片容器名称 */
|
|
161
|
+
imagesContainerName = '';
|
|
147
162
|
AfterInit() {
|
|
148
|
-
return new Promise(
|
|
163
|
+
return new Promise(resolve => {
|
|
149
164
|
let ValidatorsArray = [];
|
|
150
165
|
if (this._fields.required) {
|
|
151
166
|
ValidatorsArray.push(Validators.required);
|
|
152
167
|
}
|
|
153
|
-
let newControl = this.fb.control(this._selected
|
|
168
|
+
let newControl = this.fb.control(this._selected
|
|
169
|
+
? this._selected
|
|
170
|
+
: this._fields.field.formConfiguration['Ckeditor.InitialContent'], ValidatorsArray);
|
|
154
171
|
this.extraProperties.setControl(this._fields.field.name, newControl);
|
|
155
|
-
this.imagesContainerName =
|
|
172
|
+
this.imagesContainerName =
|
|
173
|
+
this._fields.field.formConfiguration['Ckeditor.ImagesContainerName'];
|
|
156
174
|
resolve(true);
|
|
157
175
|
});
|
|
158
176
|
}
|
|
159
|
-
static
|
|
160
|
-
static
|
|
177
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CkEditorControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: CkEditorControlComponent, selector: "ck-editor-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ckeditor [editor]=\"Editor\" *ngIf=\"Editor\" [config]=\"ckOptions\" (ready)=\"onReady($event)\" [formControlName]=\"_fields.field.name\">\n </ckeditor>\n <ng-container *ngIf=\"ckeditorInput?.errors?.required&&invalidfeedback\">\n <div class=\"text-danger \">\n {{'DigniteAbpForms::Validate:Required' | abpLocalization:' '}}\n </div>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i4.CKEditorComponent, selector: "ckeditor", inputs: ["editor", "config", "data", "tagName", "watchdog", "editorWatchdogConfig", "disableTwoWayDataBinding", "disabled"], outputs: ["ready", "change", "blur", "focus", "error"] }, { kind: "pipe", type: i5.LocalizationPipe, name: "abpLocalization" }] });
|
|
161
179
|
}
|
|
162
|
-
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CkEditorControlComponent, decorators: [{
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CkEditorControlComponent, decorators: [{
|
|
164
181
|
type: Component,
|
|
165
182
|
args: [{ selector: 'ck-editor-control', template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n <ckeditor [editor]=\"Editor\" *ngIf=\"Editor\" [config]=\"ckOptions\" (ready)=\"onReady($event)\" [formControlName]=\"_fields.field.name\">\n </ckeditor>\n <ng-container *ngIf=\"ckeditorInput?.errors?.required&&invalidfeedback\">\n <div class=\"text-danger \">\n {{'DigniteAbpForms::Validate:Required' | abpLocalization:' '}}\n </div>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>" }]
|
|
166
|
-
}], ctorParameters:
|
|
183
|
+
}], ctorParameters: () => [], propDecorators: { entity: [{
|
|
167
184
|
type: Input
|
|
168
185
|
}], fields: [{
|
|
169
186
|
type: Input
|
|
@@ -175,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
175
192
|
type: ViewChild,
|
|
176
193
|
args: ['submitclick', { static: true }]
|
|
177
194
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2stZWRpdG9yLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2stZWRpdG9yL3NyYy9saWIvZHluYW1pYy1mb3JtL2NrLWVkaXRvci9jay1lZGl0b3ItY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jay1lZGl0b3Ivc3JjL2xpYi9keW5hbWljLWZvcm0vY2stZWRpdG9yL2NrLWVkaXRvci1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBZSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sNERBQTRELENBQUM7QUFDcEUsT0FBTyw0REFBNEQsQ0FBQztBQUNwRSxPQUFPLDREQUE0RCxDQUFDO0FBQ3BFLE9BQU8sNERBQTRELENBQUM7QUFDcEUsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8seURBQXlELENBQUM7QUFDakUsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8seURBQXlELENBQUM7QUFDakUsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8seURBQXlELENBQUM7QUFDakUsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8seURBQXlELENBQUM7QUFDakUsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFF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QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBNEZsQixNQUFNO3NCQURoQixLQUFLO2dCQVNLLE1BQU07c0JBRGhCLEtBQUs7Z0JBU0ssZUFBZTtzQkFEekIsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQUtzQyxXQUFXO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgIElucHV0LCBWaWV3Q2hpbGQsIGluamVjdCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvemgtY25cIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZGUtY2hcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZW4tZ2JcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvcHQtYnJcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvemhcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZGVcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvYXJcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvY3NcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvaGlcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZmlcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvaHVcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZnJcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvaXRcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvc2tcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvamFcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZXNcIjtcbmltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvdmlcIjtcbmltcG9ydCB7IExhbmd1YWdlc01hcCB9IGZyb20gJy4uLy4uL2VudW1zL2xhbmd1YWdlcy1tYXAnO1xuaW1wb3J0IHsgaXNCYXNlNjRVcGxvYWRBZGFwdGVyIH0gZnJvbSAnLi9ja0VkaXRvclVwbG9hZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NrLWVkaXRvci1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NrLWVkaXRvci1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2stZWRpdG9yLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2tFZGl0b3JDb250cm9sQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1N0YXRlU2VydmljZSA9IGluamVjdChDb25maWdTdGF0ZVNlcnZpY2UpXG4gIHByaXZhdGUgX3Jlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSA9IGluamVjdChSZXN0U2VydmljZSlcbiAgLyoqY2stRWRpdG9y55qE5YC8ICovIFxuICBja0VkaXRvclZhbHVlOiBhbnkgPSAnPHA+YXViem5haHNqPC9wPidcbiAgLyoq57O757uf6K+t6KiAICovXG4gIGN1cnJlbnRDdWx0dXJlID0gdGhpcy5jb25maWcuZ2V0T25lKFwibG9jYWxpemF0aW9uXCIpPy5jdXJyZW50Q3VsdHVyZT8ubmFtZTtcblxuICAgIC8qKiDor63oqIDnm67lvZXvvIzljLnphY3ns7vnu5/or63oqIDvvIzorr7nva5ja2VkaXRvcueahOivreiogCAqL1xuICAgIGxhbmd1YWdlc01hcD1MYW5ndWFnZXNNYXBcblxuICBwdWJsaWMgRWRpdG9yOiBhbnk7XG4gIGNvbnN0cnVjdG9yKCkge1xuXG5cbiAgICBpbXBvcnQoJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYycpLnRoZW4ocmVzID0+IHtcbiAgICAvLyBpbXBvcnQoJ2NrZWRpdG9yNS9idWlsZC9ja2VkaXRvcicpLnRoZW4ocmVzID0+IHtcbiAgICAgIHRoaXMuRWRpdG9yID0gcmVzLmRlZmF1bHRcbiAgICAgIHRoaXMuY2tPcHRpb25zID0ge1xuICAgICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZXNNYXBbdGhpcy5jdXJyZW50Q3VsdHVyZV0sXG4gICAgICAgIHRvb2xiYXI6IHtcbiAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgJ2hlYWRpbmcnLCAnfCcsXG4gICAgICAgICAgICAnYm9sZCcsICdpdGFsaWMnLFxuICAgICAgICAgICAgJ2xpbmsnLCAnfCcsXG4gICAgICAgICAgICAnYnVsbGV0ZWRMaXN0JywgJ251bWJlcmVkTGlzdCcsXG4gICAgICAgICAgICAnaW5zZXJ0VGFibGUnLCAnfCcsXG4gICAgICAgICAgICAndXBsb2FkSW1hZ2UnLCAnfCcsXG4gICAgICAgICAgICAndW5kbycsICdyZWRvJ1xuICAgICAgICAgIF0sXG4gICAgICAgICAgdmlld3BvcnRUb3BPZmZzZXQ6IDMwLFxuICAgICAgICAgIHNob3VsZE5vdEdyb3VwV2hlbkZ1bGw6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgaW1hZ2U6IHtcbiAgICAgICAgICB0b29sYmFyOiBbXG4gICAgICAgICAgICAnaW1hZ2VTdHlsZTphbGlnbkxlZnQnLCAnaW1hZ2VTdHlsZTphbGlnbkNlbnRlcicsICdpbWFnZVN0eWxlOmFsaWduUmlnaHQnLFxuICAgICAgICAgICAgJ3wnLFxuICAgICAgICAgICAgJ3Jlc2l6ZUltYWdlJyxcbiAgICAgICAgICAgICd8JyxcbiAgICAgICAgICAgICdpbWFnZVRleHRBbHRlcm5hdGl2ZSdcbiAgICAgICAgICBdLFxuICAgICAgICAgIHN0eWxlczogW1xuICAgICAgICAgICAgJ2FsaWduTGVmdCcsICdhbGlnbkNlbnRlcicsICdhbGlnblJpZ2h0J1xuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzaXplT3B0aW9uczogW3tcbiAgICAgICAgICAgIG5hbWU6ICdyZXNpemVJbWFnZTpvcmlnaW5hbCcsXG4gICAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcbiAgICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncmVzaXplSW1hZ2U6MjUnLFxuICAgICAgICAgICAgbGFiZWw6ICcyNSUnLFxuICAgICAgICAgICAgdmFsdWU6ICcyNSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdyZXNpemVJbWFnZTo1MCcsXG4gICAgICAgICAgICBsYWJlbDogJzUwJScsXG4gICAgICAgICAgICB2YWx1ZTogJzUwJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3Jlc2l6ZUltYWdlOjc1JyxcbiAgICAgICAgICAgIGxhYmVsOiAnNzUlJyxcbiAgICAgICAgICAgIHZhbHVlOiAnNzUnXG4gICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICBwdWJsaWMgb25SZWFkeShlZGl0b3Ipe1xuICAgIGxldCBfdGhpcz10aGlzXG4gICAgZWRpdG9yLnBsdWdpbnMuZ2V0KCdGaWxlUmVwb3NpdG9yeScpLmNyZWF0ZVVwbG9hZEFkYXB0ZXIgPSBmdW5jdGlvbiAobG9hZGVyOiBhbnkpIHtcbiAgICAgIHJldHVybiBuZXcgaXNCYXNlNjRVcGxvYWRBZGFwdGVyKGxvYWRlciwgX3RoaXMuaW1hZ2VzQ29udGFpbmVyTmFtZSwgX3RoaXMuX3Jlc3RTZXJ2aWNlKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqY2stZWRpdG9y6YWN572uICovXG4gIGNrT3B0aW9uczogYW55IFxuICAvKirlr4zmlofmnKzlhoXlrrnmlLnlj5ggKi9cbiAgY2tFZGl0b3JDaGFuZ2UoZXZlbnQpIHtcbiAgICB0aGlzLnNldGNrZWRpdG9ySW5wdXQoZXZlbnQpXG4gIH1cblxuICBwcml2YXRlIGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxuXG4gIC8qKuihqOWNleWunuS9kyAqL1xuICBfZW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWRcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBlbnRpdHkodjogYW55KSB7XG4gICAgdGhpcy5fZW50aXR5ID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG5cbiAgLyoq5a2X5q616YWN572u5YiX6KGoICovXG4gIF9maWVsZHM6IGFueSA9ICcnXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkcyA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKClcbiAgfVxuXG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfcGFyZW50RmlsZWROYW1lOiBhbnlcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBwYXJlbnRGaWxlZE5hbWUodjogYW55KSB7XG4gICAgdGhpcy5fcGFyZW50RmlsZWROYW1lID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfc2VsZWN0ZWQ6IGFueVxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGFueSkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdjtcbiAgICB0aGlzLmRhdGFMb2FkZWQoKVxuICB9XG4gIEBWaWV3Q2hpbGQoJ3N1Ym1pdGNsaWNrJywgeyBzdGF0aWM6IHRydWUgfSkgc3VibWl0Y2xpY2s6IEVsZW1lbnRSZWY7XG5cbiAgZ2V0IGV4dHJhUHJvcGVydGllcygpIHtcbiAgICByZXR1cm4gdGhpcy5fZW50aXR5LmdldCgnZXh0cmFQcm9wZXJ0aWVzJykgYXMgRm9ybUdyb3VwXG4gIH1cbiAgZ2V0IGNrZWRpdG9ySW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLmdldCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSkgYXMgRm9ybUdyb3VwXG4gIH1cbiAgLyoq5pWw5o2u5Yqg6L295a6M5oiQICovXG4gIGFzeW5jIGRhdGFMb2FkZWQoKSB7XG4gICAgaWYgKHRoaXMuX2ZpZWxkcyAmJiB0aGlzLl9lbnRpdHkgKSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpXG4gICAgICAvLyBsZXQgZmlsbGluZ0luPXRoaXMuX3NlbGVjdGVkfHx0aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ0NrZWRpdG9yLkluaXRpYWxDb250ZW50J11cbiAgICAgIC8vIHRoaXMuRWRpdG9yLnNldERhdGEoZmlsbGluZ0luKTtcbiAgICAgIHRoaXMuY2tFZGl0b3JWYWx1ZT10aGlzLl9zZWxlY3RlZHx8dGhpcy5fZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydDa2VkaXRvci5Jbml0aWFsQ29udGVudCddXG4gICAgICB0aGlzLnNldGNrZWRpdG9ySW5wdXQodGhpcy5ja0VkaXRvclZhbHVlKVxuICAgICAgdGhpcy5zdWJtaXRjbGljay5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgaW52YWxpZGZlZWRiYWNrID0gZmFsc2VcbiAgLy/orr7nva7lgLxcbiAgc2V0Y2tlZGl0b3JJbnB1dCh2YWwpIHtcbiAgICB0aGlzLmludmFsaWRmZWVkYmFjayA9IHRydWVcbiAgICB0aGlzLmNrZWRpdG9ySW5wdXQucGF0Y2hWYWx1ZSh2YWwpXG4gIH1cblxuICAvKirlm77niYflrrnlmajlkI3np7AgKi9cbiAgaW1hZ2VzQ29udGFpbmVyTmFtZTogYW55ID0gJydcbiAgQWZ0ZXJJbml0KCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgbGV0IFZhbGlkYXRvcnNBcnJheSA9IFtdXG4gICAgICBpZiAodGhpcy5fZmllbGRzLnJlcXVpcmVkKSB7XG4gICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICB9XG4gICAgICBsZXQgbmV3Q29udHJvbCA9IHRoaXMuZmIuY29udHJvbCh0aGlzLl9zZWxlY3RlZCA/IHRoaXMuX3NlbGVjdGVkIDogdGhpcy5fZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydDa2VkaXRvci5Jbml0aWFsQ29udGVudCddLCBWYWxpZGF0b3JzQXJyYXkpXG4gICAgICB0aGlzLmV4dHJhUHJvcGVydGllcy5zZXRDb250cm9sKHRoaXMuX2ZpZWxkcy5maWVsZC5uYW1lLCBuZXdDb250cm9sKVxuICAgICAgdGhpcy5pbWFnZXNDb250YWluZXJOYW1lID0gdGhpcy5fZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydDa2VkaXRvci5JbWFnZXNDb250YWluZXJOYW1lJ11cbiAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICB9KVxuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIl9lbnRpdHlcIj5cbiAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJleHRyYVByb3BlcnRpZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cIl9maWVsZHMuZGlzcGxheU5hbWVcIj57eyBfZmllbGRzLmRpc3BsYXlOYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxja2VkaXRvciBbZWRpdG9yXT1cIkVkaXRvclwiICpuZ0lmPVwiRWRpdG9yXCIgW2NvbmZpZ109XCJja09wdGlvbnNcIiAocmVhZHkpPVwib25SZWFkeSgkZXZlbnQpXCIgW2Zvcm1Db250cm9sTmFtZV09XCJfZmllbGRzLmZpZWxkLm5hbWVcIj5cbiAgICAgICAgICAgIDwvY2tlZGl0b3I+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2tlZGl0b3JJbnB1dD8uZXJyb3JzPy5yZXF1aXJlZCYmaW52YWxpZGZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyIFwiPlxuICAgICAgICAgICAgICAgICAgICB7eydEaWduaXRlQWJwRm9ybXM6OlZhbGlkYXRlOlJlcXVpcmVkJyB8IGFicExvY2FsaXphdGlvbjonICd9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10ZXh0XCIgKm5nSWY9XCJfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9uXCI+e3tfZmllbGRzLmZpZWxkLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiICNzdWJtaXRjbGljaz48L2J1dHRvbj5cbjwvZm9ybT4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2stZWRpdG9yLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2stZWRpdG9yL3NyYy9saWIvZHluYW1pYy1mb3JtL2NrLWVkaXRvci9jay1lZGl0b3ItY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jay1lZGl0b3Ivc3JjL2xpYi9keW5hbWljLWZvcm0vY2stZWRpdG9yL2NrLWVkaXRvci1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsb0VBQW9FO0FBQ3BFLG9FQUFvRTtBQUNwRSxvRUFBb0U7QUFDcEUsb0VBQW9FO0FBQ3BFLG9FQUFvRTtBQUNwRSxvRUFBb0U7QUFDcEUsb0VBQW9FO0FBQ3BFLG9FQUFvRTtBQUNwRSxvRUFBb0U7QUFDcEUsb0VBQW9FO0FBQ3BFLG9FQUFvRTtBQUNwRSxvRUFBb0U7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7QUFPcEUsTUFBTSxPQUFP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QUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBpbXBvcnQgJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvemgtY24nO1xuLy8gaW1wb3J0ICdAY2tlZGl0b3IvY2tlZGl0b3I1LWJ1aWxkLWNsYXNzaWMvYnVpbGQvdHJhbnNsYXRpb25zL2RlLWNoJztcbi8vIGltcG9ydCAnQGNrZWRpdG9yL2NrZWRpdG9yNS1idWlsZC1jbGFzc2ljL2J1aWxkL3RyYW5zbGF0aW9ucy9lbi1nYic7XG4vLyBpbXBvcnQgJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvcHQtYnInO1xuLy8gaW1wb3J0ICdAY2tlZGl0b3IvY2tlZGl0b3I1LWJ1aWxkLWNsYXNzaWMvYnVpbGQvdHJhbnNsYXRpb25zL3poJztcbi8vIGltcG9ydCAnQGNrZWRpdG9yL2NrZWRpdG9yNS1idWlsZC1jbGFzc2ljL2J1aWxkL3RyYW5zbGF0aW9ucy9kZSc7XG4vLyBpbXBvcnQgJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvYXInO1xuLy8gaW1wb3J0ICdAY2tlZGl0b3IvY2tlZGl0b3I1LWJ1aWxkLWNsYXNzaWMvYnVpbGQvdHJhbnNsYXRpb25zL2NzJztcbi8vIGltcG9ydCAnQGNrZWRpdG9yL2NrZWRpdG9yNS1idWlsZC1jbGFzc2ljL2J1aWxkL3RyYW5zbGF0aW9ucy9oaSc7XG4vLyBpbXBvcnQgJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZmknO1xuLy8gaW1wb3J0ICdAY2tlZGl0b3IvY2tlZGl0b3I1LWJ1aWxkLWNsYXNzaWMvYnVpbGQvdHJhbnNsYXRpb25zL2h1Jztcbi8vIGltcG9ydCAnQGNrZWRpdG9yL2NrZWRpdG9yNS1idWlsZC1jbGFzc2ljL2J1aWxkL3RyYW5zbGF0aW9ucy9mcic7XG4vLyBpbXBvcnQgJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvaXQnO1xuLy8gaW1wb3J0ICdAY2tlZGl0b3IvY2tlZGl0b3I1LWJ1aWxkLWNsYXNzaWMvYnVpbGQvdHJhbnNsYXRpb25zL3NrJztcbi8vIGltcG9ydCAnQGNrZWRpdG9yL2NrZWRpdG9yNS1idWlsZC1jbGFzc2ljL2J1aWxkL3RyYW5zbGF0aW9ucy9qYSc7XG4vLyBpbXBvcnQgJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYy9idWlsZC90cmFuc2xhdGlvbnMvZXMnO1xuLy8gaW1wb3J0ICdAY2tlZGl0b3IvY2tlZGl0b3I1LWJ1aWxkLWNsYXNzaWMvYnVpbGQvdHJhbnNsYXRpb25zL3ZpJztcbmltcG9ydCB7IExhbmd1YWdlc01hcCB9IGZyb20gJy4uLy4uL2VudW1zL2xhbmd1YWdlcy1tYXAnO1xuaW1wb3J0IHsgaXNCYXNlNjRVcGxvYWRBZGFwdGVyIH0gZnJvbSAnLi9ja0VkaXRvclVwbG9hZCc7XG5pbXBvcnQgeyBDbGFzc2ljRWRpdG9yIH0gZnJvbSAnY2tlZGl0b3I1JztcbmltcG9ydCB7IENrRWRpdG9yVHlwZXNPYmplY3QgfSBmcm9tICcuLi8uLi9vYmplY3QvY2stZWRpdG9yLW9iamVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NrLWVkaXRvci1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NrLWVkaXRvci1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2stZWRpdG9yLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2tFZGl0b3JDb250cm9sQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1N0YXRlU2VydmljZSA9IGluamVjdChDb25maWdTdGF0ZVNlcnZpY2UpO1xuICBwcml2YXRlIF9yZXN0U2VydmljZTogUmVzdFNlcnZpY2UgPSBpbmplY3QoUmVzdFNlcnZpY2UpO1xuICAvKipjay1FZGl0b3LnmoTlgLwgKi9cbiAgY2tFZGl0b3JWYWx1ZTogYW55ID0gJyc7XG4gIC8qKuezu+e7n+ivreiogCAqL1xuICBjdXJyZW50Q3VsdHVyZSA9IHRoaXMuY29uZmlnLmdldE9uZSgnbG9jYWxpemF0aW9uJyk/LmN1cnJlbnRDdWx0dXJlPy5uYW1lO1xuICAvKiog6K+t6KiA55uu5b2V77yM5Yy56YWN57O757uf6K+t6KiA77yM6K6+572uY2tlZGl0b3LnmoTor63oqIAgKi9cbiAgbGFuZ3VhZ2VzTWFwID0gTGFuZ3VhZ2VzTWFwO1xuXG4gIHB1YmxpYyBFZGl0b3I6IGFueSA9IENsYXNzaWNFZGl0b3I7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGxldCBjb25maWdzPSBDa0VkaXRvclR5cGVzT2JqZWN0WydkZWZhdWx0J11cbiAgICBjb25maWdzLmxhbmd1YWdlPSB0aGlzLmxhbmd1YWdlc01hcFt0aGlzLmN1cnJlbnRDdWx0dXJlXSxcbiAgICB0aGlzLmNrT3B0aW9ucyA9Y29uZmlncztcbiAgICAvLyBpbXBvcnQoJ0Bja2VkaXRvci9ja2VkaXRvcjUtYnVpbGQtY2xhc3NpYycpLnRoZW4ocmVzID0+IHtcbiAgICAvLyAgIHRoaXMuRWRpdG9yID0gcmVzLmRlZmF1bHRcbiAgICAvLyAgIHRoaXMuY2tPcHRpb25zID0ge1xuICAgIC8vICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZXNNYXBbdGhpcy5jdXJyZW50Q3VsdHVyZV0sXG4gICAgLy8gICAgIHRvb2xiYXI6IHtcbiAgICAvLyAgICAgICBpdGVtczogW1xuICAgIC8vICAgICAgICAgJ2hlYWRpbmcnLCAnfCcsXG4gICAgLy8gICAgICAgICAnYm9sZCcsICdpdGFsaWMnLFxuICAgIC8vICAgICAgICAgJ2xpbmsnLCAnfCcsXG4gICAgLy8gICAgICAgICAnYnVsbGV0ZWRMaXN0JywgJ251bWJlcmVkTGlzdCcsXG4gICAgLy8gICAgICAgICAnaW5zZXJ0VGFibGUnLCAnfCcsXG4gICAgLy8gICAgICAgICAndXBsb2FkSW1hZ2UnLCAnfCcsXG4gICAgLy8gICAgICAgICAndW5kbycsICdyZWRvJ1xuICAgIC8vICAgICAgIF0sXG4gICAgLy8gICAgICAgdmlld3BvcnRUb3BPZmZzZXQ6IDMwLFxuICAgIC8vICAgICAgIHNob3VsZE5vdEdyb3VwV2hlbkZ1bGw6IHRydWVcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgaW1hZ2U6IHtcbiAgICAvLyAgICAgICB0b29sYmFyOiBbXG4gICAgLy8gICAgICAgICAnaW1hZ2VTdHlsZTphbGlnbkxlZnQnLCAnaW1hZ2VTdHlsZTphbGlnbkNlbnRlcicsICdpbWFnZVN0eWxlOmFsaWduUmlnaHQnLFxuICAgIC8vICAgICAgICAgJ3wnLFxuICAgIC8vICAgICAgICAgJ3Jlc2l6ZUltYWdlJyxcbiAgICAvLyAgICAgICAgICd8JyxcbiAgICAvLyAgICAgICAgICdpbWFnZVRleHRBbHRlcm5hdGl2ZSdcbiAgICAvLyAgICAgICBdLFxuICAgIC8vICAgICAgIHN0eWxlczogW1xuICAgIC8vICAgICAgICAgJ2FsaWduTGVmdCcsICdhbGlnbkNlbnRlcicsICdhbGlnblJpZ2h0J1xuICAgIC8vICAgICAgIF0sXG4gICAgLy8gICAgICAgcmVzaXplT3B0aW9uczogW3tcbiAgICAvLyAgICAgICAgIG5hbWU6ICdyZXNpemVJbWFnZTpvcmlnaW5hbCcsXG4gICAgLy8gICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcbiAgICAvLyAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgLy8gICAgICAgfSxcbiAgICAvLyAgICAgICB7XG4gICAgLy8gICAgICAgICBuYW1lOiAncmVzaXplSW1hZ2U6MjUnLFxuICAgIC8vICAgICAgICAgbGFiZWw6ICcyNSUnLFxuICAgIC8vICAgICAgICAgdmFsdWU6ICcyNSdcbiAgICAvLyAgICAgICB9LFxuICAgIC8vICAgICAgIHtcbiAgICAvLyAgICAgICAgIG5hbWU6ICdyZXNpemVJbWFnZTo1MCcsXG4gICAgLy8gICAgICAgICBsYWJlbDogJzUwJScsXG4gICAgLy8gICAgICAgICB2YWx1ZTogJzUwJ1xuICAgIC8vICAgICAgIH0sXG4gICAgLy8gICAgICAge1xuICAgIC8vICAgICAgICAgbmFtZTogJ3Jlc2l6ZUltYWdlOjc1JyxcbiAgICAvLyAgICAgICAgIGxhYmVsOiAnNzUlJyxcbiAgICAvLyAgICAgICAgIHZhbHVlOiAnNzUnXG4gICAgLy8gICAgICAgfVxuICAgIC8vICAgICAgIF0sXG4gICAgLy8gICAgIH0sXG4gICAgLy8gICB9XG4gICAgLy8gfSlcbiAgfVxuICBwdWJsaWMgb25SZWFkeShlZGl0b3IpIHtcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xuICAgIGVkaXRvci5wbHVnaW5zLmdldCgnRmlsZVJlcG9zaXRvcnknKS5jcmVhdGVVcGxvYWRBZGFwdGVyID0gZnVuY3Rpb24gKGxvYWRlcjogYW55KSB7XG4gICAgICByZXR1cm4gbmV3IGlzQmFzZTY0VXBsb2FkQWRhcHRlcihsb2FkZXIsIF90aGlzLmltYWdlc0NvbnRhaW5lck5hbWUsIF90aGlzLl9yZXN0U2VydmljZSk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKmNrLWVkaXRvcumFjee9riAqL1xuICBja09wdGlvbnM6IGFueTtcbiAgLyoq5a+M5paH5pys5YaF5a655pS55Y+YICovXG4gIGNrRWRpdG9yQ2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5zZXRja2VkaXRvcklucHV0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuXG4gIC8qKuihqOWNleWunuS9kyAqL1xuICBfZW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW50aXR5KHY6IGFueSkge1xuICAgIHRoaXMuX2VudGl0eSA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XG4gIH1cblxuICAvKirlrZfmrrXphY3nva7liJfooaggKi9cbiAgX2ZpZWxkczogYW55ID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmllbGRzKHY6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkcyA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XG4gIH1cblxuICAvKirniLbnuqflrZfmrrXlkI3np7DvvIznlKjkuo7kuLrooajljZXorr7nva7mjqfku7botYvlgLwgKi9cbiAgX3BhcmVudEZpbGVkTmFtZTogYW55O1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHBhcmVudEZpbGVkTmFtZSh2OiBhbnkpIHtcbiAgICB0aGlzLl9wYXJlbnRGaWxlZE5hbWUgPSB2O1xuICAgIHRoaXMuZGF0YUxvYWRlZCgpO1xuICB9XG4gIC8qKueItue6p+Wtl+auteWQjeensO+8jOeUqOS6juS4uuihqOWNleiuvue9ruaOp+S7tui1i+WAvCAqL1xuICBfc2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZCh2OiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gICAgdGhpcy5kYXRhTG9hZGVkKCk7XG4gIH1cbiAgQFZpZXdDaGlsZCgnc3VibWl0Y2xpY2snLCB7IHN0YXRpYzogdHJ1ZSB9KSBzdWJtaXRjbGljazogRWxlbWVudFJlZjtcblxuICBnZXQgZXh0cmFQcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdHkuZ2V0KCdleHRyYVByb3BlcnRpZXMnKSBhcyBGb3JtR3JvdXA7XG4gIH1cbiAgZ2V0IGNrZWRpdG9ySW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0cmFQcm9wZXJ0aWVzLmdldCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSkgYXMgRm9ybUdyb3VwO1xuICB9XG4gIC8qKuaVsOaNruWKoOi9veWujOaIkCAqL1xuICBhc3luYyBkYXRhTG9hZGVkKCkge1xuICAgIGlmICh0aGlzLl9maWVsZHMgJiYgdGhpcy5fZW50aXR5KSB7XG4gICAgICBhd2FpdCB0aGlzLkFmdGVySW5pdCgpO1xuICAgICAgLy8gbGV0IGZpbGxpbmdJbj10aGlzLl9zZWxlY3RlZHx8dGhpcy5fZmllbGRzLmZpZWxkLmZvcm1Db25maWd1cmF0aW9uWydDa2VkaXRvci5Jbml0aWFsQ29udGVudCddXG4gICAgICAvLyB0aGlzLkVkaXRvci5zZXREYXRhKGZpbGxpbmdJbik7XG4gICAgICB0aGlzLmNrRWRpdG9yVmFsdWUgPVxuICAgICAgICB0aGlzLl9zZWxlY3RlZCB8fCB0aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ0NrZWRpdG9yLkluaXRpYWxDb250ZW50J107XG4gICAgICB0aGlzLnNldGNrZWRpdG9ySW5wdXQodGhpcy5ja0VkaXRvclZhbHVlKTtcbiAgICAgIHRoaXMuc3VibWl0Y2xpY2submF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIGludmFsaWRmZWVkYmFjayA9IGZhbHNlO1xuICAvL+iuvue9ruWAvFxuICBzZXRja2VkaXRvcklucHV0KHZhbCkge1xuICAgIHRoaXMuaW52YWxpZGZlZWRiYWNrID0gdHJ1ZTtcbiAgICB0aGlzLmNrZWRpdG9ySW5wdXQucGF0Y2hWYWx1ZSh2YWwpO1xuICB9XG5cbiAgLyoq5Zu+54mH5a655Zmo5ZCN56ewICovXG4gIGltYWdlc0NvbnRhaW5lck5hbWU6IGFueSA9ICcnO1xuICBBZnRlckluaXQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgbGV0IFZhbGlkYXRvcnNBcnJheSA9IFtdO1xuICAgICAgaWYgKHRoaXMuX2ZpZWxkcy5yZXF1aXJlZCkge1xuICAgICAgICBWYWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgIH1cbiAgICAgIGxldCBuZXdDb250cm9sID0gdGhpcy5mYi5jb250cm9sKFxuICAgICAgICB0aGlzLl9zZWxlY3RlZFxuICAgICAgICAgID8gdGhpcy5fc2VsZWN0ZWRcbiAgICAgICAgICA6IHRoaXMuX2ZpZWxkcy5maWVsZC5mb3JtQ29uZmlndXJhdGlvblsnQ2tlZGl0b3IuSW5pdGlhbENvbnRlbnQnXSxcbiAgICAgICAgVmFsaWRhdG9yc0FycmF5XG4gICAgICApO1xuICAgICAgdGhpcy5leHRyYVByb3BlcnRpZXMuc2V0Q29udHJvbCh0aGlzLl9maWVsZHMuZmllbGQubmFtZSwgbmV3Q29udHJvbCk7XG4gICAgICB0aGlzLmltYWdlc0NvbnRhaW5lck5hbWUgPVxuICAgICAgICB0aGlzLl9maWVsZHMuZmllbGQuZm9ybUNvbmZpZ3VyYXRpb25bJ0NrZWRpdG9yLkltYWdlc0NvbnRhaW5lck5hbWUnXTtcbiAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiX2VudGl0eVwiPlxuICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImV4dHJhUHJvcGVydGllc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItMlwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiX2ZpZWxkcy5kaXNwbGF5TmFtZVwiPnt7IF9maWVsZHMuZGlzcGxheU5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgICAgPGNrZWRpdG9yIFtlZGl0b3JdPVwiRWRpdG9yXCIgKm5nSWY9XCJFZGl0b3JcIiBbY29uZmlnXT1cImNrT3B0aW9uc1wiIChyZWFkeSk9XCJvblJlYWR5KCRldmVudClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIl9maWVsZHMuZmllbGQubmFtZVwiPlxuICAgICAgICAgICAgPC9ja2VkaXRvcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJja2VkaXRvcklucHV0Py5lcnJvcnM/LnJlcXVpcmVkJiZpbnZhbGlkZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kYW5nZXIgXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7J0RpZ25pdGVBYnBGb3Jtczo6VmFsaWRhdGU6UmVxdWlyZWQnIHwgYWJwTG9jYWxpemF0aW9uOicgJ319XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXRleHRcIiAqbmdJZj1cIl9maWVsZHMuZmllbGQuZGVzY3JpcHRpb25cIj57e19maWVsZHMuZmllbGQuZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgI3N1Ym1pdGNsaWNrPjwvYnV0dG9uPlxuPC9mb3JtPiJdfQ==
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export class isBase64UploadAdapter {
|
|
2
|
+
reader = new FileReader();
|
|
3
|
+
restService;
|
|
4
|
+
loader;
|
|
5
|
+
ImagesContainerName;
|
|
6
|
+
Base64 = false;
|
|
2
7
|
constructor(loader, ImagesContainerName, restService) {
|
|
3
|
-
this.reader = new FileReader();
|
|
4
|
-
this.Base64 = false;
|
|
5
|
-
this.createFile = (input, config) => this.restService.request({
|
|
6
|
-
method: 'POST',
|
|
7
|
-
url: '/api/file-explorer/files',
|
|
8
|
-
params: { containerName: input.containerName, cellName: input.cellName, directoryId: input.directoryId, entityId: input.entityId },
|
|
9
|
-
body: input.file,
|
|
10
|
-
}, { apiName: 'FileExplorer', ...config });
|
|
11
8
|
this.loader = loader;
|
|
12
9
|
this.ImagesContainerName = ImagesContainerName;
|
|
13
10
|
this.restService = restService;
|
|
@@ -47,5 +44,11 @@ export class isBase64UploadAdapter {
|
|
|
47
44
|
}
|
|
48
45
|
});
|
|
49
46
|
}
|
|
47
|
+
createFile = (input, config) => this.restService.request({
|
|
48
|
+
method: 'POST',
|
|
49
|
+
url: '/api/file-explorer/files',
|
|
50
|
+
params: { containerName: input.containerName, cellName: input.cellName, directoryId: input.directoryId, entityId: input.entityId },
|
|
51
|
+
body: input.file,
|
|
52
|
+
}, { apiName: 'FileExplorer', ...config });
|
|
50
53
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tFZGl0b3JVcGxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jay1lZGl0b3Ivc3JjL2xpYi9keW5hbWljLWZvcm0vY2stZWRpdG9yL2NrRWRpdG9yVXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFDekIsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7SUFDakMsV0FBVyxDQUFZO0lBQ3ZCLE1BQU0sQ0FBTTtJQUNaLG1CQUFtQixDQUFNO0lBQ3pCLE1BQU0sR0FBWSxLQUFLLENBQUE7SUFDdkIsWUFDRSxNQUFXLEVBQ1gsbUJBQXdCLEVBQ3hCLFdBQXdCO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQTtRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFDLFdBQVcsQ0FBQTtJQUM5QixDQUFDO0lBQ00sTUFBTTtRQUNYLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUUzQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7b0JBQ25DLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDdEMsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNwQyxNQUFNLEVBQUUsQ0FBQztnQkFDWCxDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRTtvQkFDbkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7b0JBQ25DLElBQUksUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQzlCLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUM7d0JBQ2QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUI7d0JBQ3ZDLFdBQVcsRUFBRSxFQUFFO3dCQUNmLFFBQVEsRUFBRSxFQUFFO3FCQUNiLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFZLEVBQUMsRUFBRTt3QkFDM0IsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO29CQUNwQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEVBQUMsRUFBRTt3QkFDVCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxDQUFBO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUVILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxNQUE2QixFQUFFLEVBQUUsQ0FDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQVc7UUFDakMsTUFBTSxFQUFFLE1BQU07UUFDZCxHQUFHLEVBQUUsMEJBQTBCO1FBQy9CLE1BQU0sRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ2xJLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtLQUNqQixFQUNDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7Q0FFN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN0LCBSZXN0U2VydmljZSB9IGZyb20gXCJAYWJwL25nLmNvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBpc0Jhc2U2NFVwbG9hZEFkYXB0ZXIge1xyXG4gIHB1YmxpYyByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gIHJlc3RTZXJ2aWNlOlJlc3RTZXJ2aWNlXHJcbiAgbG9hZGVyOiBhbnk7XHJcbiAgSW1hZ2VzQ29udGFpbmVyTmFtZTogYW55O1xyXG4gIEJhc2U2NDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBsb2FkZXI6IGFueSxcclxuICAgIEltYWdlc0NvbnRhaW5lck5hbWU6IGFueSxcclxuICAgIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSBsb2FkZXI7XHJcbiAgICB0aGlzLkltYWdlc0NvbnRhaW5lck5hbWUgPSBJbWFnZXNDb250YWluZXJOYW1lXHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlPXJlc3RTZXJ2aWNlXHJcbiAgfVxyXG4gIHB1YmxpYyB1cGxvYWQoKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCByZWFkZXIgPSB0aGlzLnJlYWRlcjtcclxuXHJcbiAgICAgIGlmICh0aGlzLkJhc2U2NCkge1xyXG4gICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh7IGRlZmF1bHQ6IHJlYWRlci5yZXN1bHQgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGVyciA9PiB7XHJcbiAgICAgICAgICByZWplY3QoZXJyKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4ge1xyXG4gICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMubG9hZGVyLmZpbGUudGhlbigoZmlsZTogQmxvYikgPT4ge1xyXG4gICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIuZmlsZS50aGVuKChmaWxlOiBGaWxlKSA9PiB7XHJcbiAgICAgICAgICB2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGUubmFtZSk7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUZpbGUoe1xyXG4gICAgICAgICAgICBmaWxlOiBmb3JtRGF0YSxcclxuICAgICAgICAgICAgY29udGFpbmVyTmFtZTogdGhpcy5JbWFnZXNDb250YWluZXJOYW1lLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnlJZDogJycsXHJcbiAgICAgICAgICAgIGVudGl0eUlkOiAnJ1xyXG4gICAgICAgICAgfSkuc3Vic2NyaWJlKChyZXNwb25zZTphbnkpPT57XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyBkZWZhdWx0OiByZXNwb25zZS51cmwgfSlcclxuICAgICAgICAgIH0sKGVycm9yKT0+e1xyXG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRmlsZSA9IChpbnB1dDogYW55LCBjb25maWc/OiBQYXJ0aWFsPFJlc3QuQ29uZmlnPikgPT5cclxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIGFueT4oe1xyXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgdXJsOiAnL2FwaS9maWxlLWV4cGxvcmVyL2ZpbGVzJyxcclxuICAgICAgcGFyYW1zOiB7IGNvbnRhaW5lck5hbWU6IGlucHV0LmNvbnRhaW5lck5hbWUsIGNlbGxOYW1lOiBpbnB1dC5jZWxsTmFtZSwgZGlyZWN0b3J5SWQ6IGlucHV0LmRpcmVjdG9yeUlkLCBlbnRpdHlJZDogaW5wdXQuZW50aXR5SWQgfSxcclxuICAgICAgYm9keTogaW5wdXQuZmlsZSxcclxuICAgIH0sXHJcbiAgICAgIHsgYXBpTmFtZTogJ0ZpbGVFeHBsb3JlcicsIC4uLmNvbmZpZyB9KTtcclxuXHJcbn0iXX0=
|