@smartbit4all/ng-client 4.2.45 → 4.2.47
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/smart-grid/smart-grid-toolbar-util.mjs +2 -2
- package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uploadWidgetType.mjs +1 -2
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/photo-capture-widget/photo-capture-widget.component.mjs +14 -21
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +20 -18
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/voice-record-widget/voice-record-widget.component.mjs +42 -72
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +44 -97
- package/fesm2022/smartbit4all-ng-client.mjs +140 -228
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/view-context/api/model/uiActionUploadDescriptor.d.ts +1 -1
- package/lib/view-context/api/model/uploadWidgetType.d.ts +0 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/photo-capture-widget/photo-capture-widget.component.d.ts +3 -3
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.d.ts +2 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/voice-record-widget/voice-record-widget.component.d.ts +7 -9
- package/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.d.ts +23 -30
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.2.47.tgz +0 -0
- package/smartbit4all-ng-client-4.2.45.tgz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export class SmartGridToolbarActionsUtil {
|
|
2
2
|
static showMenu(row, orderedColumns) {
|
|
3
|
-
if (!row.columnActions) {
|
|
3
|
+
if (!row.columnActions && row.actions && row.actions.length > 0) {
|
|
4
4
|
return true;
|
|
5
5
|
}
|
|
6
6
|
let filteredActionColumns = Object.keys(row.columnActions || {})
|
|
@@ -59,4 +59,4 @@ export class SmartGridToolbarActionsUtil {
|
|
|
59
59
|
return cellToActionMap[key];
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7YUFDN0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLENBQUM7UUFFaEMsT0FBTyxDQUNMLEdBQUcsQ0FBQyxPQUFPO1lBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxXQUFX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cG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcbmltcG9ydCB7IEdyaWRSb3cgfSBmcm9tICcuL2FwaS9ncmlkLWFwaSc7XHJcblxyXG5leHBvcnQgY2xhc3MgU21hcnRHcmlkVG9vbGJhckFjdGlvbnNVdGlsIHtcclxuICBzdGF0aWMgc2hvd01lbnUocm93OiBHcmlkUm93LCBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10pOiBib29sZWFuIHtcclxuICAgIGlmICghcm93LmNvbHVtbkFjdGlvbnMgJiYgcm93LmFjdGlvbnMgJiYgcm93LmFjdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGxldCBmaWx0ZXJlZEFjdGlvbkNvbHVtbnMgPSBPYmplY3Qua2V5cyhyb3cuY29sdW1uQWN0aW9ucyB8fCB7fSlcclxuICAgICAgLmZpbHRlcigoa2V5KSA9PiBvcmRlcmVkQ29sdW1ucy5pbmNsdWRlcyhrZXkpKVxyXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xyXG4gICAgICAgIGFjY1trZXldID0gcm93LmNvbHVtbkFjdGlvbnMhW2tleV07XHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgYW55Pik7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgcm93LmFjdGlvbnMgJiZcclxuICAgICAgcm93LmFjdGlvbnMubGVuZ3RoID4gMCAmJlxyXG4gICAgICBPYmplY3QudmFsdWVzKGZpbHRlcmVkQWN0aW9uQ29sdW1ucykuZmxhdCgpLmxlbmd0aCAhPSByb3cuYWN0aW9ucy5sZW5ndGhcclxuICAgICk7XHJcbiAgfVxyXG4gIHN0YXRpYyBzaG93VG9vbGJhcihyb3c6IEdyaWRSb3csIGNvbHVtbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhcm93LmFjdGlvbnMgJiYgcm93LmFjdGlvbnMubGVuZ3RoID4gMCAmJiAhIXJvdy5jb2x1bW5BY3Rpb25zPy5bY29sdW1uTmFtZV07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2FsY3VsYXRlQ2VsbFRvQWN0aW9uTWFwKFxyXG4gICAgcm93czogR3JpZFJvd1tdLFxyXG4gICAgc2VydmljZVRvVXNlOiBhbnksXHJcbiAgICBncmlkSWQ6IHN0cmluZ1xyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueVtdPiB7XHJcbiAgICBsZXQgY2VsbFRvQWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcclxuXHJcbiAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICBpZiAocm93Py5jb2x1bW5BY3Rpb25zICYmIHJvdz8uYWN0aW9ucykge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zKS5mb3JFYWNoKChjb2x1bW5OYW1lKSA9PiB7XHJcbiAgICAgICAgICBsZXQga2V5ID0gcm93LmlkICsgY29sdW1uTmFtZTtcclxuICAgICAgICAgIGNvbnN0IGFjdGlvbkNvZGVzOiBzdHJpbmdbXSA9IHJvdy5jb2x1bW5BY3Rpb25zIVtjb2x1bW5OYW1lXTtcclxuICAgICAgICAgIGNvbnN0IGFjdGlvbnM6IFVpQWN0aW9uW10gPSByb3cuYWN0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgIChhY3Rpb246IFVpQWN0aW9uKSA9PiBhY3Rpb24uY29kZSAmJiBhY3Rpb25Db2Rlcy5pbmNsdWRlcyhhY3Rpb24uY29kZSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25Nb2RlbHM6IGFueVtdID0gYWN0aW9ucy5tYXAoKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAvL0FkZCByb3cgdG8gdWlBY3Rpb25cclxuICAgICAgICAgICAgbGV0IF91aUFjdGlvbiA9IHsgLi4udWlBY3Rpb24gfTtcclxuXHJcbiAgICAgICAgICAgIF91aUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgLi4udWlBY3Rpb24ucGFyYW1zLFxyXG4gICAgICAgICAgICAgIG1vZGVsOiByb3csXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAvLyBBZGQgZ3JpZElkIGFuZCB3aWRnZXRJZCB0byB1aUFjdGlvbk1vZFxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIHNlcnZpY2VUb1VzZTogc2VydmljZVRvVXNlLFxyXG4gICAgICAgICAgICAgIHVpQWN0aW9uOiBfdWlBY3Rpb24sXHJcbiAgICAgICAgICAgICAgbm9kZUlkOiByb3cuaWQsXHJcbiAgICAgICAgICAgICAgd2lkZ2V0SWQ6IGdyaWRJZCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY2VsbFRvQWN0aW9uTWFwW2tleV0gPSBhY3Rpb25Nb2RlbHM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNlbGxUb0FjdGlvbk1hcDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjYWxjdWxhdGVNZW51QWN0aW9ucyhyb3c6IEdyaWRSb3csIG9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSk6IFVpQWN0aW9uW10ge1xyXG4gICAgbGV0IGNvbHVtbkNvZGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IG9yZGVyZWRDb2x1bW5zLmluY2x1ZGVzKGtleSkpXHJcbiAgICAgIC5tYXAoKGtleSkgPT4gcm93LmNvbHVtbkFjdGlvbnMhW2tleV0pXHJcbiAgICAgIC5mbGF0KCk7XHJcblxyXG4gICAgcmV0dXJuIHJvdy5hY3Rpb25zPy5maWx0ZXIoKGFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuICFjb2x1bW5Db2Rlcy5pbmNsdWRlcyhhY3Rpb24uY29kZSEpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0QWN0aW9uTW9kZWxzRnJvbU1hcChcclxuICAgIGNlbGxUb0FjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgYW55W10+LFxyXG4gICAgcm93OiBHcmlkUm93LFxyXG4gICAgaGVhZGVyOiBzdHJpbmdcclxuICApOiBhbnlbXSB7XHJcbiAgICBsZXQga2V5ID0gcm93LmlkICsgaGVhZGVyO1xyXG4gICAgcmV0dXJuIGNlbGxUb0FjdGlvbk1hcFtrZXldO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9tb2RlbC91aUFjdGlvblVwbG9hZERlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBWaWV3IEFQSVxyXG4gKiBWaWV3IEFQSVxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IFVwbG9hZFdpZGdldFR5cGUgfSBmcm9tICcuL3VwbG9hZFdpZGdldFR5cGUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBEZXNjcmliZXMgdGhlIGxvb2sgb2YgYW4gdXBsb2FkIGNvbXBvbmVudCB0aGF0IGlzIHJlbGF0ZWQgdG8gYSBzcGVjaWZpYyBVaUFjdGlvbi4gXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvciB7IFxyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gICAgbWF4U2l6ZT86IHN0cmluZztcclxuICAgIGZvcm1hdHM/OiBzdHJpbmc7XHJcbiAgICB1cGxvYWRCdXR0b25UaXRsZT86IHN0cmluZztcclxuICAgIGJhY2tncm91bmRDb2xvdXI/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9tb2RlbC91aUFjdGlvblVwbG9hZERlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBWaWV3IEFQSVxyXG4gKiBWaWV3IEFQSVxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcbmltcG9ydCB7IFVwbG9hZFdpZGdldFR5cGUgfSBmcm9tICcuL3VwbG9hZFdpZGdldFR5cGUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBEZXNjcmliZXMgdGhlIGxvb2sgb2YgYW4gdXBsb2FkIGNvbXBvbmVudCB0aGF0IGlzIHJlbGF0ZWQgdG8gYSBzcGVjaWZpYyBVaUFjdGlvbi4gXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvciB7IFxyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gICAgbWF4U2l6ZT86IHN0cmluZztcclxuICAgIGZvcm1hdHM/OiBzdHJpbmc7XHJcbiAgICB1cGxvYWRCdXR0b25UaXRsZT86IHN0cmluZztcclxuICAgIGJhY2tncm91bmRDb2xvdXI/OiBzdHJpbmc7XHJcbiAgICB0ZXh0Q29sb3VyPzogc3RyaW5nO1xyXG4gICAgdXBsb2FkV2lkZ2V0cz86IEFycmF5PFVwbG9hZFdpZGdldFR5cGU+O1xyXG59XHJcblxyXG4iXX0=
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
export var UploadWidgetType;
|
|
13
13
|
(function (UploadWidgetType) {
|
|
14
14
|
UploadWidgetType["ALL"] = "ALL";
|
|
15
|
-
UploadWidgetType["NORMAL"] = "NORMAL";
|
|
16
15
|
UploadWidgetType["SOUND"] = "SOUND";
|
|
17
16
|
UploadWidgetType["IMAGE"] = "IMAGE";
|
|
18
17
|
})(UploadWidgetType || (UploadWidgetType = {}));
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkV2lkZ2V0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvdXBsb2FkV2lkZ2V0VHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBR0gsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUN4QiwrQkFBVyxDQUFBO0lBQ1gsbUNBQWUsQ0FBQTtJQUNmLG1DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVmlldyBBUElcclxuICogVmlldyBBUElcclxuICpcclxuICogVGhlIHZlcnNpb24gb2YgdGhlIE9wZW5BUEkgZG9jdW1lbnQ6IDEuMC4wXHJcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXHJcbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxyXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXHJcbiAqL1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIFVwbG9hZFdpZGdldFR5cGUge1xyXG4gICAgQUxMID0gJ0FMTCcsXHJcbiAgICBTT1VORCA9ICdTT1VORCcsXHJcbiAgICBJTUFHRSA9ICdJTUFHRSdcclxufVxyXG5cclxuIl19
|
|
@@ -13,14 +13,11 @@ export class PhotoCaptureWidgetComponent {
|
|
|
13
13
|
this.isCaptured = false;
|
|
14
14
|
this.componentLibrary = ComponentLibrary;
|
|
15
15
|
this.captureButton = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
iconPosition: IconPosition.PRE,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
16
|
+
type: UiActionButtonType.RAISED,
|
|
17
|
+
title: 'Kép készítése',
|
|
18
|
+
icon: 'camera',
|
|
19
|
+
iconPosition: IconPosition.PRE,
|
|
20
|
+
color: 'primary',
|
|
24
21
|
};
|
|
25
22
|
this.compLib = compLib ?? ComponentLibrary.PRIMENG;
|
|
26
23
|
this.updateToggleButton();
|
|
@@ -106,18 +103,14 @@ export class PhotoCaptureWidgetComponent {
|
|
|
106
103
|
}
|
|
107
104
|
else {
|
|
108
105
|
title = 'Kamera bekapcsolása';
|
|
109
|
-
color = '';
|
|
106
|
+
color = 'primary';
|
|
110
107
|
}
|
|
111
108
|
this.toggleCameraButton = {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
color,
|
|
118
|
-
iconPosition: IconPosition.PRE,
|
|
119
|
-
},
|
|
120
|
-
},
|
|
109
|
+
type: UiActionButtonType.RAISED,
|
|
110
|
+
title: title,
|
|
111
|
+
icon: icon,
|
|
112
|
+
color,
|
|
113
|
+
iconPosition: IconPosition.PRE,
|
|
121
114
|
};
|
|
122
115
|
}
|
|
123
116
|
async compressImageFile(file, maxFileSize) {
|
|
@@ -178,11 +171,11 @@ export class PhotoCaptureWidgetComponent {
|
|
|
178
171
|
}
|
|
179
172
|
}
|
|
180
173
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PhotoCaptureWidgetComponent, deps: [{ token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PhotoCaptureWidgetComponent, selector: "photo-capture-widget", inputs: { maxFileSize: "maxFileSize" }, outputs: { photoCaptured: "photoCaptured" }, viewQueries: [{ propertyName: "videoRef", first: true, predicate: ["video"], descendants: true }, { propertyName: "canvasRef", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"photoWidgetContainer\">\r\n <ng-container *ngIf=\"!isMobile()\">\r\n <video #video autoplay [hidden]=\"isCaptured || !cameraActive\"></video>\r\n <canvas #canvas [hidden]=\"!isCaptured || cameraActive\"></canvas>\r\n\r\n <ng-container *ngIf=\"!cameraActive && !isCaptured\">\r\n <p class=\"message\">Kapcsolja be a kamer\u00E1t a k\u00E9p k\u00E9sz\u00EDt\u00E9s\u00E9hez!</p>\r\n </ng-container>\r\n\r\n <div class=\"controls\">\r\n <!-- START CAMERA -->\r\n <ui-action-button [
|
|
174
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PhotoCaptureWidgetComponent, selector: "photo-capture-widget", inputs: { maxFileSize: "maxFileSize" }, outputs: { photoCaptured: "photoCaptured" }, viewQueries: [{ propertyName: "videoRef", first: true, predicate: ["video"], descendants: true }, { propertyName: "canvasRef", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"photoWidgetContainer\">\r\n <ng-container *ngIf=\"!isMobile()\">\r\n <video #video autoplay [hidden]=\"isCaptured || !cameraActive\"></video>\r\n <canvas #canvas [hidden]=\"!isCaptured || cameraActive\"></canvas>\r\n\r\n <ng-container *ngIf=\"!cameraActive && !isCaptured\">\r\n <p class=\"message\">Kapcsolja be a kamer\u00E1t a k\u00E9p k\u00E9sz\u00EDt\u00E9s\u00E9hez!</p>\r\n </ng-container>\r\n\r\n <div class=\"controls\">\r\n <!-- START CAMERA -->\r\n <ui-action-button [descriptor]=\"toggleCameraButton\" (actionClick)=\"toggleCamera()\">\r\n </ui-action-button>\r\n\r\n <!-- CAPTURE CAMERA -->\r\n <ui-action-button\r\n [disabled]=\"!cameraActive\"\r\n [descriptor]=\"captureButton\"\r\n (actionClick)=\"capturePhoto()\"\r\n >\r\n </ui-action-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isMobile()\">\r\n <div class=\"controls\">\r\n <input\r\n #fileInput\r\n type=\"file\"\r\n accept=\"image/*\"\r\n capture=\"environment\"\r\n (change)=\"onFileSelected($event)\"\r\n style=\"display: none\"\r\n />\r\n\r\n <ui-action-button [descriptor]=\"captureButton\" (actionClick)=\"fileInput.click()\">\r\n </ui-action-button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".photoWidgetContainer{border-radius:5px;width:100%;max-width:100%;display:flex;flex-direction:column;justify-content:center;border:1px solid #dee2e6}.message{text-align:center;color:#6b7280}video,canvas{border-top-right-radius:5px;border-top-left-radius:5px;width:100%}.controls{padding:.5rem;display:flex;gap:1rem;flex-direction:row;justify-content:center;background:#f8f9fa;border-top:1px solid #dee2e6;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.controls ::ng-deep button{border-radius:3px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
182
175
|
}
|
|
183
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PhotoCaptureWidgetComponent, decorators: [{
|
|
184
177
|
type: Component,
|
|
185
|
-
args: [{ selector: 'photo-capture-widget', template: "<div class=\"photoWidgetContainer\">\r\n <ng-container *ngIf=\"!isMobile()\">\r\n <video #video autoplay [hidden]=\"isCaptured || !cameraActive\"></video>\r\n <canvas #canvas [hidden]=\"!isCaptured || cameraActive\"></canvas>\r\n\r\n <ng-container *ngIf=\"!cameraActive && !isCaptured\">\r\n <p class=\"message\">Kapcsolja be a kamer\u00E1t a k\u00E9p k\u00E9sz\u00EDt\u00E9s\u00E9hez!</p>\r\n </ng-container>\r\n\r\n <div class=\"controls\">\r\n <!-- START CAMERA -->\r\n <ui-action-button [
|
|
178
|
+
args: [{ selector: 'photo-capture-widget', template: "<div class=\"photoWidgetContainer\">\r\n <ng-container *ngIf=\"!isMobile()\">\r\n <video #video autoplay [hidden]=\"isCaptured || !cameraActive\"></video>\r\n <canvas #canvas [hidden]=\"!isCaptured || cameraActive\"></canvas>\r\n\r\n <ng-container *ngIf=\"!cameraActive && !isCaptured\">\r\n <p class=\"message\">Kapcsolja be a kamer\u00E1t a k\u00E9p k\u00E9sz\u00EDt\u00E9s\u00E9hez!</p>\r\n </ng-container>\r\n\r\n <div class=\"controls\">\r\n <!-- START CAMERA -->\r\n <ui-action-button [descriptor]=\"toggleCameraButton\" (actionClick)=\"toggleCamera()\">\r\n </ui-action-button>\r\n\r\n <!-- CAPTURE CAMERA -->\r\n <ui-action-button\r\n [disabled]=\"!cameraActive\"\r\n [descriptor]=\"captureButton\"\r\n (actionClick)=\"capturePhoto()\"\r\n >\r\n </ui-action-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"isMobile()\">\r\n <div class=\"controls\">\r\n <input\r\n #fileInput\r\n type=\"file\"\r\n accept=\"image/*\"\r\n capture=\"environment\"\r\n (change)=\"onFileSelected($event)\"\r\n style=\"display: none\"\r\n />\r\n\r\n <ui-action-button [descriptor]=\"captureButton\" (actionClick)=\"fileInput.click()\">\r\n </ui-action-button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".photoWidgetContainer{border-radius:5px;width:100%;max-width:100%;display:flex;flex-direction:column;justify-content:center;border:1px solid #dee2e6}.message{text-align:center;color:#6b7280}video,canvas{border-top-right-radius:5px;border-top-left-radius:5px;width:100%}.controls{padding:.5rem;display:flex;gap:1rem;flex-direction:row;justify-content:center;background:#f8f9fa;border-top:1px solid #dee2e6;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.controls ::ng-deep button{border-radius:3px}\n"] }]
|
|
186
179
|
}], ctorParameters: () => [{ type: i3.ComponentLibrary, decorators: [{
|
|
187
180
|
type: Inject,
|
|
188
181
|
args: [COMPONENT_LIBRARY]
|
|
@@ -202,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
202
195
|
}], photoCaptured: [{
|
|
203
196
|
type: Output
|
|
204
197
|
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvcGhvdG8tY2FwdHVyZS13aWRnZXQvcGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvcGhvdG8tY2FwdHVyZS13aWRnZXQvcGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBT2xFLE1BQU0sT0FBTywyQkFBMkI7SUE2QnRDLFlBQW1ELE9BQTBCO1FBdkJuRSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFckQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUtuQixxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUlwQyxrQkFBYSxH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SUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDOytHQTNNVSwyQkFBMkIsa0JBNkJsQixpQkFBaUI7bUdBN0IxQiwyQkFBMkIsc2FDcEJ4Qyw0MUNBd0NBOzs0RkRwQmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHNCQUFzQjs7MEJBaUNuQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0E1QjVCLFFBQVE7c0JBQTNCLFNBQVM7dUJBQUMsT0FBTztnQkFDRyxTQUFTO3NCQUE3QixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0ssWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXO2dCQUViLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRfTElCUkFSWSwgQ29tcG9uZW50TGlicmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi91aS1hY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGkvbW9kZWwvdWlBY3Rpb25CdXR0b25UeXBlJztcclxuaW1wb3J0IHsgSWNvblBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBpL21vZGVsL2ljb25Qb3NpdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Bob3RvLWNhcHR1cmUtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9waG90by1jYXB0dXJlLXdpZGdldC5jb21wb25lbnQuY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBob3RvQ2FwdHVyZVdpZGdldENvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgndmlkZW8nKSB2aWRlb1JlZiE6IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnY2FudmFzJykgY2FudmFzUmVmITogRWxlbWVudFJlZjxIVE1MQ2FudmFzRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQElucHV0KCkgbWF4RmlsZVNpemU/OiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIHBob3RvQ2FwdHVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcclxuXHJcbiAgY2FtZXJhQWN0aXZlID0gZmFsc2U7XHJcbiAgaXNDYXB0dXJlZCA9IGZhbHNlO1xyXG5cclxuICBzdHJlYW0/OiBNZWRpYVN0cmVhbTtcclxuXHJcbiAgY29tcExpYjogQ29tcG9uZW50TGlicmFyeTtcclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcclxuXHJcbiAgdG9nZ2xlQ2FtZXJhQnV0dG9uITogVWlBY3Rpb25Nb2RlbDtcclxuXHJcbiAgY2FwdHVyZUJ1dHRvbjogVWlBY3Rpb25Nb2RlbCA9IHtcclxuICAgIHVpQWN0aW9uOiB7XHJcbiAgICAgIGRlc2NyaXB0b3I6IHtcclxuICAgICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxyXG4gICAgICAgIHRpdGxlOiAnS8OpcCBrw6lzesOtdMOpc2UnLFxyXG4gICAgICAgIGljb246ICdjYW1lcmEnLFxyXG4gICAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBSRSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSBhcyBVaUFjdGlvbk1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeSkge1xyXG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XHJcbiAgICB0aGlzLnVwZGF0ZVRvZ2dsZUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gL2lQaG9uZXxpUGFkfGlQb2R8QW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdGFydENhbWVyYSgpIHtcclxuICAgIHRoaXMuc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTtcclxuICAgIHRoaXMudmlkZW9SZWYubmF0aXZlRWxlbWVudC5zcmNPYmplY3QgPSB0aGlzLnN0cmVhbTtcclxuICAgIHRoaXMudmlkZW9SZWYubmF0aXZlRWxlbWVudC5wbGF5KCk7XHJcbiAgICB0aGlzLmNhbWVyYUFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmlzQ2FwdHVyZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudXBkYXRlVG9nZ2xlQnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBzdG9wQ2FtZXJhKCkge1xyXG4gICAgdGhpcy5zdHJlYW0/LmdldFRyYWNrcygpLmZvckVhY2goKHRyYWNrKSA9PiB0cmFjay5zdG9wKCkpO1xyXG4gICAgdGhpcy5zdHJlYW0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNhbWVyYUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy51cGRhdGVUb2dnbGVCdXR0b24oKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNhcHR1cmVQaG90bygpIHtcclxuICAgIGNvbnN0IHZpZGVvID0gdGhpcy52aWRlb1JlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgIGlmICghY29udGV4dCkgcmV0dXJuO1xyXG5cclxuICAgIGNhbnZhcy53aWR0aCA9IHZpZGVvLnZpZGVvV2lkdGg7XHJcbiAgICBjYW52YXMuaGVpZ2h0ID0gdmlkZW8udmlkZW9IZWlnaHQ7XHJcbiAgICBjb250ZXh0LmRyYXdJbWFnZSh2aWRlbywgMCwgMCk7XHJcblxyXG4gICAgY29uc3QgYmxvYiA9IGF3YWl0IG5ldyBQcm9taXNlPEJsb2IgfCBudWxsPigocmVzb2x2ZSkgPT5cclxuICAgICAgY2FudmFzLnRvQmxvYihyZXNvbHZlLCAnaW1hZ2UvanBlZycsIDAuOSlcclxuICAgICk7XHJcbiAgICBpZiAoIWJsb2IpIHJldHVybjtcclxuXHJcbiAgICBsZXQgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgYHBob3RvXyR7RGF0ZS5ub3coKX0uanBnYCwgeyB0eXBlOiAnaW1hZ2UvanBlZycgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubWF4RmlsZVNpemUgJiYgZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSkge1xyXG4gICAgICBmaWxlID0gYXdhaXQgdGhpcy5jb21wcmVzc0ltYWdlRmlsZShmaWxlLCB0aGlzLm1heEZpbGVTaXplKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBob3RvQ2FwdHVyZWQuZW1pdChbZmlsZV0pO1xyXG4gICAgdGhpcy5pc0NhcHR1cmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RvcENhbWVyYSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGhvdG9EYXRhVVJMKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudC50b0RhdGFVUkwoJ2ltYWdlL3BuZycpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKCFpbnB1dC5maWxlcyB8fCBpbnB1dC5maWxlcy5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBtYXhTaXplID0gdGhpcy5tYXhGaWxlU2l6ZTtcclxuICAgIGNvbnN0IGZpbGVzQXJyYXkgPSBBcnJheS5mcm9tKGlucHV0LmZpbGVzKTtcclxuICAgIGNvbnN0IHByb2Nlc3NlZEZpbGVzOiBGaWxlW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXNBcnJheSkge1xyXG4gICAgICBpZiAobWF4U2l6ZSAmJiBmaWxlLnNpemUgPiBtYXhTaXplICYmIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCBjb21wcmVzc2VkID0gYXdhaXQgdGhpcy5jb21wcmVzc0ltYWdlRmlsZShmaWxlLCBtYXhTaXplKTtcclxuICAgICAgICAgIHByb2Nlc3NlZEZpbGVzLnB1c2goY29tcHJlc3NlZCk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBwcm9jZXNzZWRGaWxlcy5wdXNoKGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwcm9jZXNzZWRGaWxlcy5wdXNoKGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5waG90b0NhcHR1cmVkLmVtaXQocHJvY2Vzc2VkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FtZXJhKCkge1xyXG4gICAgaWYgKHRoaXMuY2FtZXJhQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuc3RvcENhbWVyYSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydENhbWVyYSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVG9nZ2xlQnV0dG9uKCkge1xyXG4gICAgbGV0IGljb24gPSB0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdwb3dlci1vZmYnIDogJ3Bvd2VyX3NldHRpbmdzX25ldyc7XHJcbiAgICBsZXQgdGl0bGU7XHJcbiAgICBsZXQgY29sb3I7XHJcbiAgICBpZiAodGhpcy5jYW1lcmFBY3RpdmUpIHtcclxuICAgICAgdGl0bGUgPSAnS2FtZXJhIGtpa2FwY3NvbMOhc2EnO1xyXG4gICAgICBjb2xvciA9IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2RhbmdlcicgOiAncmVkJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRpdGxlID0gJ0thbWVyYSBiZWthcGNzb2zDoXNhJztcclxuICAgICAgY29sb3IgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvZ2dsZUNhbWVyYUJ1dHRvbiA9IHtcclxuICAgICAgdWlBY3Rpb246IHtcclxuICAgICAgICBkZXNjcmlwdG9yOiB7XHJcbiAgICAgICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxyXG4gICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgaWNvbjogaWNvbixcclxuICAgICAgICAgIGNvbG9yLFxyXG4gICAgICAgICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUFJFLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9IGFzIFVpQWN0aW9uTW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGNvbXByZXNzSW1hZ2VGaWxlKGZpbGU6IEZpbGUsIG1heEZpbGVTaXplOiBudW1iZXIpOiBQcm9taXNlPEZpbGU+IHtcclxuICAgIGlmICghZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSByZXR1cm4gZmlsZTtcclxuXHJcbiAgICBjb25zdCBpbWcgPSBhd2FpdCBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XHJcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XHJcbiAgICAgICAgcmVzb2x2ZShpbWFnZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGltYWdlLm9uZXJyb3IgPSAoZSkgPT4ge1xyXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgICByZWplY3QoZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGltYWdlLnNyYyA9IHVybDtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICBpZiAoIWN0eCkgcmV0dXJuIGZpbGU7XHJcblxyXG4gICAgbGV0IHdpZHRoID0gaW1nLm5hdHVyYWxXaWR0aDtcclxuICAgIGxldCBoZWlnaHQgPSBpbWcubmF0dXJhbEhlaWdodDtcclxuICAgIGxldCBxdWFsaXR5ID0gMC45O1xyXG4gICAgY29uc3QgbWluUXVhbGl0eSA9IDAuNDtcclxuICAgIGNvbnN0IG1pbkRpbWVuc2lvbiA9IDY0MDtcclxuXHJcbiAgICBjb25zdCBnZXRCbG9iID0gKHE6IG51bWJlcik6IFByb21pc2U8QmxvYj4gPT5cclxuICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcclxuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7XHJcbiAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xyXG4gICAgICAgIGNhbnZhcy50b0Jsb2IoXHJcbiAgICAgICAgICAoYmxvYikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYmxvYikgcmVzb2x2ZShibG9iKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAnaW1hZ2UvanBlZycsXHJcbiAgICAgICAgICBxXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgbGV0IGJsb2IgPSBhd2FpdCBnZXRCbG9iKHF1YWxpdHkpO1xyXG5cclxuICAgIHdoaWxlIChibG9iLnNpemUgPiBtYXhGaWxlU2l6ZSkge1xyXG4gICAgICBpZiAocXVhbGl0eSA+IG1pblF1YWxpdHkpIHtcclxuICAgICAgICBxdWFsaXR5IC09IDAuMTtcclxuICAgICAgfSBlbHNlIGlmICh3aWR0aCA+IG1pbkRpbWVuc2lvbiAmJiBoZWlnaHQgPiBtaW5EaW1lbnNpb24pIHtcclxuICAgICAgICB3aWR0aCA9IE1hdGguZmxvb3Iod2lkdGggKiAwLjgpO1xyXG4gICAgICAgIGhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0ICogMC44KTtcclxuICAgICAgICBxdWFsaXR5ID0gMC45O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGJsb2IgPSBhd2FpdCBnZXRCbG9iKHF1YWxpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChibG9iLnNpemUgPD0gbWF4RmlsZVNpemUpIHtcclxuICAgICAgcmV0dXJuIG5ldyBGaWxlKFtibG9iXSwgZmlsZS5uYW1lLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmaWxlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicGhvdG9XaWRnZXRDb250YWluZXJcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTW9iaWxlKClcIj5cclxuICAgIDx2aWRlbyAjdmlkZW8gYXV0b3BsYXkgW2hpZGRlbl09XCJpc0NhcHR1cmVkIHx8ICFjYW1lcmFBY3RpdmVcIj48L3ZpZGVvPlxyXG4gICAgPGNhbnZhcyAjY2FudmFzIFtoaWRkZW5dPVwiIWlzQ2FwdHVyZWQgfHwgY2FtZXJhQWN0aXZlXCI+PC9jYW52YXM+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjYW1lcmFBY3RpdmUgJiYgIWlzQ2FwdHVyZWRcIj5cclxuICAgICAgPHAgY2xhc3M9XCJtZXNzYWdlXCI+S2FwY3NvbGphIGJlIGEga2FtZXLDoXQgYSBrw6lwIGvDqXN6w610w6lzw6loZXohPC9wPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRyb2xzXCI+XHJcbiAgICAgIDwhLS0gU1RBUlQgQ0FNRVJBIC0tPlxyXG4gICAgICA8dWktYWN0aW9uLWJ1dHRvbiBbdWlBY3Rpb25Nb2RlbF09XCJ0b2dnbGVDYW1lcmFCdXR0b25cIiAoYWN0aW9uQ2xpY2spPVwidG9nZ2xlQ2FtZXJhKClcIj5cclxuICAgICAgPC91aS1hY3Rpb24tYnV0dG9uPlxyXG5cclxuICAgICAgPCEtLSBDQVBUVVJFIENBTUVSQSAtLT5cclxuICAgICAgPHVpLWFjdGlvbi1idXR0b25cclxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbWVyYUFjdGl2ZVwiXHJcbiAgICAgICAgW3VpQWN0aW9uTW9kZWxdPVwiY2FwdHVyZUJ1dHRvblwiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNhcHR1cmVQaG90bygpXCJcclxuICAgICAgPlxyXG4gICAgICA8L3VpLWFjdGlvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9sc1wiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjZmlsZUlucHV0XHJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgIGFjY2VwdD1cImltYWdlLypcIlxyXG4gICAgICAgIGNhcHR1cmU9XCJlbnZpcm9ubWVudFwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxyXG4gICAgICAvPlxyXG5cclxuICAgICAgPHVpLWFjdGlvbi1idXR0b24gW3VpQWN0aW9uTW9kZWxdPVwiY2FwdHVyZUJ1dHRvblwiIChhY3Rpb25DbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICA8L3VpLWFjdGlvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvcGhvdG8tY2FwdHVyZS13aWRnZXQvcGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9kaWFsb2dzL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cvcGhvdG8tY2FwdHVyZS13aWRnZXQvcGhvdG8tY2FwdHVyZS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBUWxFLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQW1ELE9BQTBCO1FBcEJuRSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFckQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUtuQixxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUlwQyxrQkFBYSxH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QUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7K0dBcE1VLDJCQUEyQixrQkEwQmxCLGlCQUFpQjttR0ExQjFCLDJCQUEyQixzYUNyQnhDLG0xQ0F3Q0E7OzRGRG5CYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCOzswQkE4Qm5CLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBRyxRQUFRO3lDQXpCNUIsUUFBUTtzQkFBM0IsU0FBUzt1QkFBQyxPQUFPO2dCQUNHLFNBQVM7c0JBQTdCLFNBQVM7dUJBQUMsUUFBUTtnQkFDSyxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRWIsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL3VpLWFjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQnV0dG9uVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FwaS9tb2RlbC91aUFjdGlvbkJ1dHRvblR5cGUnO1xyXG5pbXBvcnQgeyBJY29uUG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hcGkvbW9kZWwvaWNvblBvc2l0aW9uJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGhvdG8tY2FwdHVyZS13aWRnZXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waG90by1jYXB0dXJlLXdpZGdldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Bob3RvLWNhcHR1cmUtd2lkZ2V0LmNvbXBvbmVudC5jc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGhvdG9DYXB0dXJlV2lkZ2V0Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCd2aWRlbycpIHZpZGVvUmVmITogRWxlbWVudFJlZjxIVE1MVmlkZW9FbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdjYW52YXMnKSBjYW52YXNSZWYhOiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXRSZWYhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKSBtYXhGaWxlU2l6ZT86IG51bWJlcjtcclxuICBAT3V0cHV0KCkgcGhvdG9DYXB0dXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG5cclxuICBjYW1lcmFBY3RpdmUgPSBmYWxzZTtcclxuICBpc0NhcHR1cmVkID0gZmFsc2U7XHJcblxyXG4gIHN0cmVhbT86IE1lZGlhU3RyZWFtO1xyXG5cclxuICBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG5cclxuICB0b2dnbGVDYW1lcmFCdXR0b24hOiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcblxyXG4gIGNhcHR1cmVCdXR0b246IFVpQWN0aW9uRGVzY3JpcHRvciA9IHtcclxuICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQsXHJcbiAgICB0aXRsZTogJ0vDqXAga8Opc3rDrXTDqXNlJyxcclxuICAgIGljb246ICdjYW1lcmEnLFxyXG4gICAgaWNvblBvc2l0aW9uOiBJY29uUG9zaXRpb24uUFJFLFxyXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeSkge1xyXG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XHJcbiAgICB0aGlzLnVwZGF0ZVRvZ2dsZUJ1dHRvbigpO1xyXG4gIH1cclxuXHJcbiAgaXNNb2JpbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gL2lQaG9uZXxpUGFkfGlQb2R8QW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzdGFydENhbWVyYSgpIHtcclxuICAgIHRoaXMuc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTtcclxuICAgIHRoaXMudmlkZW9SZWYubmF0aXZlRWxlbWVudC5zcmNPYmplY3QgPSB0aGlzLnN0cmVhbTtcclxuICAgIHRoaXMudmlkZW9SZWYubmF0aXZlRWxlbWVudC5wbGF5KCk7XHJcbiAgICB0aGlzLmNhbWVyYUFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmlzQ2FwdHVyZWQgPSBmYWxzZTtcclxuICAgIHRoaXMudXBkYXRlVG9nZ2xlQnV0dG9uKCk7XHJcbiAgfVxyXG5cclxuICBzdG9wQ2FtZXJhKCkge1xyXG4gICAgdGhpcy5zdHJlYW0/LmdldFRyYWNrcygpLmZvckVhY2goKHRyYWNrKSA9PiB0cmFjay5zdG9wKCkpO1xyXG4gICAgdGhpcy5zdHJlYW0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNhbWVyYUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy51cGRhdGVUb2dnbGVCdXR0b24oKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNhcHR1cmVQaG90bygpIHtcclxuICAgIGNvbnN0IHZpZGVvID0gdGhpcy52aWRlb1JlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgIGlmICghY29udGV4dCkgcmV0dXJuO1xyXG5cclxuICAgIGNhbnZhcy53aWR0aCA9IHZpZGVvLnZpZGVvV2lkdGg7XHJcbiAgICBjYW52YXMuaGVpZ2h0ID0gdmlkZW8udmlkZW9IZWlnaHQ7XHJcbiAgICBjb250ZXh0LmRyYXdJbWFnZSh2aWRlbywgMCwgMCk7XHJcblxyXG4gICAgY29uc3QgYmxvYiA9IGF3YWl0IG5ldyBQcm9taXNlPEJsb2IgfCBudWxsPigocmVzb2x2ZSkgPT5cclxuICAgICAgY2FudmFzLnRvQmxvYihyZXNvbHZlLCAnaW1hZ2UvanBlZycsIDAuOSlcclxuICAgICk7XHJcbiAgICBpZiAoIWJsb2IpIHJldHVybjtcclxuXHJcbiAgICBsZXQgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgYHBob3RvXyR7RGF0ZS5ub3coKX0uanBnYCwgeyB0eXBlOiAnaW1hZ2UvanBlZycgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubWF4RmlsZVNpemUgJiYgZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSkge1xyXG4gICAgICBmaWxlID0gYXdhaXQgdGhpcy5jb21wcmVzc0ltYWdlRmlsZShmaWxlLCB0aGlzLm1heEZpbGVTaXplKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBob3RvQ2FwdHVyZWQuZW1pdChbZmlsZV0pO1xyXG4gICAgdGhpcy5pc0NhcHR1cmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RvcENhbWVyYSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGhvdG9EYXRhVVJMKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudC50b0RhdGFVUkwoJ2ltYWdlL3BuZycpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKCFpbnB1dC5maWxlcyB8fCBpbnB1dC5maWxlcy5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBtYXhTaXplID0gdGhpcy5tYXhGaWxlU2l6ZTtcclxuICAgIGNvbnN0IGZpbGVzQXJyYXkgPSBBcnJheS5mcm9tKGlucHV0LmZpbGVzKTtcclxuICAgIGNvbnN0IHByb2Nlc3NlZEZpbGVzOiBGaWxlW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXNBcnJheSkge1xyXG4gICAgICBpZiAobWF4U2l6ZSAmJiBmaWxlLnNpemUgPiBtYXhTaXplICYmIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCBjb21wcmVzc2VkID0gYXdhaXQgdGhpcy5jb21wcmVzc0ltYWdlRmlsZShmaWxlLCBtYXhTaXplKTtcclxuICAgICAgICAgIHByb2Nlc3NlZEZpbGVzLnB1c2goY29tcHJlc3NlZCk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBwcm9jZXNzZWRGaWxlcy5wdXNoKGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwcm9jZXNzZWRGaWxlcy5wdXNoKGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5waG90b0NhcHR1cmVkLmVtaXQocHJvY2Vzc2VkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQ2FtZXJhKCkge1xyXG4gICAgaWYgKHRoaXMuY2FtZXJhQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuc3RvcENhbWVyYSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydENhbWVyYSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVG9nZ2xlQnV0dG9uKCkge1xyXG4gICAgbGV0IGljb24gPSB0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdwb3dlci1vZmYnIDogJ3Bvd2VyX3NldHRpbmdzX25ldyc7XHJcbiAgICBsZXQgdGl0bGU7XHJcbiAgICBsZXQgY29sb3I7XHJcbiAgICBpZiAodGhpcy5jYW1lcmFBY3RpdmUpIHtcclxuICAgICAgdGl0bGUgPSAnS2FtZXJhIGtpa2FwY3NvbMOhc2EnO1xyXG4gICAgICBjb2xvciA9IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2RhbmdlcicgOiAncmVkJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRpdGxlID0gJ0thbWVyYSBiZWthcGNzb2zDoXNhJztcclxuICAgICAgY29sb3IgPSAncHJpbWFyeSc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b2dnbGVDYW1lcmFCdXR0b24gPSB7XHJcbiAgICAgIHR5cGU6IFVpQWN0aW9uQnV0dG9uVHlwZS5SQUlTRUQsXHJcbiAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgaWNvbjogaWNvbixcclxuICAgICAgY29sb3IsXHJcbiAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBSRSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGNvbXByZXNzSW1hZ2VGaWxlKGZpbGU6IEZpbGUsIG1heEZpbGVTaXplOiBudW1iZXIpOiBQcm9taXNlPEZpbGU+IHtcclxuICAgIGlmICghZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSByZXR1cm4gZmlsZTtcclxuXHJcbiAgICBjb25zdCBpbWcgPSBhd2FpdCBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XHJcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XHJcbiAgICAgICAgcmVzb2x2ZShpbWFnZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGltYWdlLm9uZXJyb3IgPSAoZSkgPT4ge1xyXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcclxuICAgICAgICByZWplY3QoZSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGltYWdlLnNyYyA9IHVybDtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcbiAgICBpZiAoIWN0eCkgcmV0dXJuIGZpbGU7XHJcblxyXG4gICAgbGV0IHdpZHRoID0gaW1nLm5hdHVyYWxXaWR0aDtcclxuICAgIGxldCBoZWlnaHQgPSBpbWcubmF0dXJhbEhlaWdodDtcclxuICAgIGxldCBxdWFsaXR5ID0gMC45O1xyXG4gICAgY29uc3QgbWluUXVhbGl0eSA9IDAuNDtcclxuICAgIGNvbnN0IG1pbkRpbWVuc2lvbiA9IDY0MDtcclxuXHJcbiAgICBjb25zdCBnZXRCbG9iID0gKHE6IG51bWJlcik6IFByb21pc2U8QmxvYj4gPT5cclxuICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcclxuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7XHJcbiAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xyXG4gICAgICAgIGNhbnZhcy50b0Jsb2IoXHJcbiAgICAgICAgICAoYmxvYikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYmxvYikgcmVzb2x2ZShibG9iKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAnaW1hZ2UvanBlZycsXHJcbiAgICAgICAgICBxXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgbGV0IGJsb2IgPSBhd2FpdCBnZXRCbG9iKHF1YWxpdHkpO1xyXG5cclxuICAgIHdoaWxlIChibG9iLnNpemUgPiBtYXhGaWxlU2l6ZSkge1xyXG4gICAgICBpZiAocXVhbGl0eSA+IG1pblF1YWxpdHkpIHtcclxuICAgICAgICBxdWFsaXR5IC09IDAuMTtcclxuICAgICAgfSBlbHNlIGlmICh3aWR0aCA+IG1pbkRpbWVuc2lvbiAmJiBoZWlnaHQgPiBtaW5EaW1lbnNpb24pIHtcclxuICAgICAgICB3aWR0aCA9IE1hdGguZmxvb3Iod2lkdGggKiAwLjgpO1xyXG4gICAgICAgIGhlaWdodCA9IE1hdGguZmxvb3IoaGVpZ2h0ICogMC44KTtcclxuICAgICAgICBxdWFsaXR5ID0gMC45O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGJsb2IgPSBhd2FpdCBnZXRCbG9iKHF1YWxpdHkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChibG9iLnNpemUgPD0gbWF4RmlsZVNpemUpIHtcclxuICAgICAgcmV0dXJuIG5ldyBGaWxlKFtibG9iXSwgZmlsZS5uYW1lLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmaWxlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicGhvdG9XaWRnZXRDb250YWluZXJcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTW9iaWxlKClcIj5cclxuICAgIDx2aWRlbyAjdmlkZW8gYXV0b3BsYXkgW2hpZGRlbl09XCJpc0NhcHR1cmVkIHx8ICFjYW1lcmFBY3RpdmVcIj48L3ZpZGVvPlxyXG4gICAgPGNhbnZhcyAjY2FudmFzIFtoaWRkZW5dPVwiIWlzQ2FwdHVyZWQgfHwgY2FtZXJhQWN0aXZlXCI+PC9jYW52YXM+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjYW1lcmFBY3RpdmUgJiYgIWlzQ2FwdHVyZWRcIj5cclxuICAgICAgPHAgY2xhc3M9XCJtZXNzYWdlXCI+S2FwY3NvbGphIGJlIGEga2FtZXLDoXQgYSBrw6lwIGvDqXN6w610w6lzw6loZXohPC9wPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRyb2xzXCI+XHJcbiAgICAgIDwhLS0gU1RBUlQgQ0FNRVJBIC0tPlxyXG4gICAgICA8dWktYWN0aW9uLWJ1dHRvbiBbZGVzY3JpcHRvcl09XCJ0b2dnbGVDYW1lcmFCdXR0b25cIiAoYWN0aW9uQ2xpY2spPVwidG9nZ2xlQ2FtZXJhKClcIj5cclxuICAgICAgPC91aS1hY3Rpb24tYnV0dG9uPlxyXG5cclxuICAgICAgPCEtLSBDQVBUVVJFIENBTUVSQSAtLT5cclxuICAgICAgPHVpLWFjdGlvbi1idXR0b25cclxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbWVyYUFjdGl2ZVwiXHJcbiAgICAgICAgW2Rlc2NyaXB0b3JdPVwiY2FwdHVyZUJ1dHRvblwiXHJcbiAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNhcHR1cmVQaG90bygpXCJcclxuICAgICAgPlxyXG4gICAgICA8L3VpLWFjdGlvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTW9iaWxlKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9sc1wiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjZmlsZUlucHV0XHJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgIGFjY2VwdD1cImltYWdlLypcIlxyXG4gICAgICAgIGNhcHR1cmU9XCJlbnZpcm9ubWVudFwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxyXG4gICAgICAvPlxyXG5cclxuICAgICAgPHVpLWFjdGlvbi1idXR0b24gW2Rlc2NyaXB0b3JdPVwiY2FwdHVyZUJ1dHRvblwiIChhY3Rpb25DbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxyXG4gICAgICA8L3VpLWFjdGlvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Inject, ViewChild } from '@angular/core';
|
|
2
|
-
import { UploadWidgetType } from '../../../api';
|
|
2
|
+
import { IconPosition, UiActionButtonType, UploadWidgetType, } from '../../../api';
|
|
3
3
|
import { COMPONENT_LIBRARY, ComponentLibrary } from '../../../projects';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../ui-action.descriptor.service";
|
|
@@ -12,8 +12,9 @@ import * as i7 from "primeng/fileupload";
|
|
|
12
12
|
import * as i8 from "../../../../smart-form/smartfileuploader/smartfileuploader.component";
|
|
13
13
|
import * as i9 from "./voice-record-widget/voice-record-widget.component";
|
|
14
14
|
import * as i10 from "./photo-capture-widget/photo-capture-widget.component";
|
|
15
|
-
import * as i11 from "
|
|
16
|
-
import * as i12 from "
|
|
15
|
+
import * as i11 from "../../ui-action-button/ui-action-button.component";
|
|
16
|
+
import * as i12 from "./ui-action-file-upload-dialog.service";
|
|
17
|
+
import * as i13 from "../../../projects";
|
|
17
18
|
export class UiActionFileUploadDialogComponent {
|
|
18
19
|
constructor(service, compLib, manager, cdr) {
|
|
19
20
|
this.service = service;
|
|
@@ -24,12 +25,6 @@ export class UiActionFileUploadDialogComponent {
|
|
|
24
25
|
this.uploadWidgetType = UploadWidgetType;
|
|
25
26
|
this.maxSizeMb = 25;
|
|
26
27
|
this.uploadedFiles = [];
|
|
27
|
-
this.uploadFormatMap = {
|
|
28
|
-
[UploadWidgetType.ALL]: [],
|
|
29
|
-
[UploadWidgetType.NORMAL]: [],
|
|
30
|
-
[UploadWidgetType.IMAGE]: ['image/png', 'image/jpeg', 'image/jpg', 'image/gif', 'image/webp'],
|
|
31
|
-
[UploadWidgetType.SOUND]: ['audio/mpeg', 'audio/wav', 'audio/webm', 'audio/ogg'],
|
|
32
|
-
};
|
|
33
28
|
this.code = this.service.action.code;
|
|
34
29
|
this.setUp();
|
|
35
30
|
}
|
|
@@ -41,13 +36,17 @@ export class UiActionFileUploadDialogComponent {
|
|
|
41
36
|
return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
|
|
42
37
|
}
|
|
43
38
|
async setUp() {
|
|
39
|
+
this.cancelButton = {
|
|
40
|
+
title: 'Mégse',
|
|
41
|
+
type: UiActionButtonType.RAISED,
|
|
42
|
+
icon: this.compLib === ComponentLibrary.PRIMENG ? 'times' : 'close',
|
|
43
|
+
iconPosition: IconPosition.PRE,
|
|
44
|
+
color: 'primary',
|
|
45
|
+
};
|
|
44
46
|
this.descriptor = await this.manager.getActionDescriptor(this.service.action);
|
|
45
47
|
this.isMultiple = this.service.isMultiple;
|
|
46
48
|
this.maxSizeMb = Number(this.descriptor.upload?.maxSize);
|
|
47
|
-
if (this.descriptor
|
|
48
|
-
this.descriptor.upload.formats =
|
|
49
|
-
this.descriptor.upload.formats ??
|
|
50
|
-
this.uploadFormatMap[this.descriptor.upload.uploadWidgetType].join(', ');
|
|
49
|
+
if (this.descriptor?.upload?.formats) {
|
|
51
50
|
this.fileFormats = [this.descriptor.upload.formats];
|
|
52
51
|
}
|
|
53
52
|
// fileFormats = this.descriptor.upload?.formats;
|
|
@@ -150,16 +149,19 @@ export class UiActionFileUploadDialogComponent {
|
|
|
150
149
|
this.fileUploadMaterial.files.push(...files);
|
|
151
150
|
}
|
|
152
151
|
}
|
|
152
|
+
widgetNeeded(type) {
|
|
153
|
+
return this.descriptor?.upload?.uploadWidgets?.includes(type) ?? false;
|
|
154
|
+
}
|
|
153
155
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionFileUploadDialogComponent, deps: [{ token: 'fileUploadDialogService' }, { token: COMPONENT_LIBRARY }, { token: i1.UiActionDescriptorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", viewQueries: [{ propertyName: "fileUploadPrime", first: true, predicate: ["fileUploadPrimeNg"], descendants: true }, { propertyName: "fileUploadMaterial", first: true, predicate: ["fileUploadMaterial"], descendants: true }], ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n\r\n <!-- IMAGE TYPE -->\r\n <ng-container
|
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionFileUploadDialogComponent, selector: "lib-ui-action-file-upload-dialog", viewQueries: [{ propertyName: "fileUploadPrime", first: true, predicate: ["fileUploadPrimeNg"], descendants: true }, { propertyName: "fileUploadMaterial", first: true, predicate: ["fileUploadMaterial"], descendants: true }], ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n\r\n <!-- IMAGE TYPE WIDGET -->\r\n <ng-container *ngIf=\"widgetNeeded(uploadWidgetType.IMAGE) || widgetNeeded(uploadWidgetType.ALL)\">\r\n <photo-capture-widget\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n (photoCaptured)=\"uploadImage($event)\"\r\n >\r\n </photo-capture-widget>\r\n </ng-container>\r\n\r\n <!-- SOUND TYPE WIDGET -->\r\n <ng-container *ngIf=\"widgetNeeded(uploadWidgetType.SOUND) || widgetNeeded(uploadWidgetType.ALL)\">\r\n <voice-record-widget (recordingSaved)=\"uploadRecording($event)\"> </voice-record-widget>\r\n </ng-container>\r\n\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n #fileUploadPrimeNg\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"this.descriptor?.upload?.formats ?? ''\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\" *ngIf=\"!hasFiles && !isMobile()\">\r\n <div class=\"uploadField\">\r\n <smart-icon [icon]=\"'upload'\"></smart-icon>\r\n <span class=\"message\">H\u00FAzza ide a f\u00E1jlokat.</span>\r\n </div>\r\n </ng-template>\r\n </p-fileUpload>\r\n\r\n }@else{\r\n\r\n <smartfileuploader\r\n #fileUploadMaterial\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-button [descriptor]=\"cancelButton\" (actionClick)=\"cancel()\"></ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{display:flex;flex-direction:column;justify-content:center;gap:1rem;min-width:30vw}photo-capture-widget{width:100%;max-width:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer ::ng-deep button{color:var(--primary-color)}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.folderNameDialogButtonsContainer ::ng-deep button{border-radius:3px}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-buttonbar{display:flex!important;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:1rem}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-row>div{width:fit-content}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-content{padding:unset;align-content:center;text-align:center}.message{text-align:center;color:#6b7280}.uploadField{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;padding:1rem}.folderNameDialogContainer ::ng-deep .p-fileupload-row{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.folderNameDialogContainer ::ng-deep .p-fileupload-choose,.folderNameDialogContainer ::ng-deep .p-fileupload-row ::ng-deep button,.folderNameDialogContainer ::ng-deep .p-fileupload-buttonbar ::ng-deep button{background-color:var(--primary-color);border-color:var(--primary-color)}.folderNameDialogContainer ::ng-deep .p-fileupload-choose:hover,.folderNameDialogContainer ::ng-deep .p-fileupload-row ::ng-deep button:hover,.folderNameDialogContainer ::ng-deep .p-fileupload-buttonbar ::ng-deep button:hover,.folderNameDialogButtonsContainer ::ng-deep button:hover{background-color:rgba(from var(--primary-color) r g b/.8)}.headerContainer ::ng-deep button:hover{background-color:rgba(from var(--primary-color) r g b/.1)}@media (max-width: 900px){.folderNameDialogContainer{width:100%}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i7.FileUpload, selector: "p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "component", type: i8.SmartfileuploaderComponent, selector: "smartfileuploader", inputs: ["uploadCallback", "fileFormats", "maxSizeMb", "i18n", "useIconButton", "isMultiple"] }, { kind: "component", type: i9.VoiceRecordWidgetComponent, selector: "voice-record-widget", outputs: ["recordingSaved"] }, { kind: "component", type: i10.PhotoCaptureWidgetComponent, selector: "photo-capture-widget", inputs: ["maxFileSize"], outputs: ["photoCaptured"] }, { kind: "component", type: i11.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
155
157
|
}
|
|
156
158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionFileUploadDialogComponent, decorators: [{
|
|
157
159
|
type: Component,
|
|
158
|
-
args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n\r\n <!-- IMAGE TYPE -->\r\n <ng-container
|
|
159
|
-
}], ctorParameters: () => [{ type:
|
|
160
|
+
args: [{ selector: 'lib-ui-action-file-upload-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n\r\n <!-- IMAGE TYPE WIDGET -->\r\n <ng-container *ngIf=\"widgetNeeded(uploadWidgetType.IMAGE) || widgetNeeded(uploadWidgetType.ALL)\">\r\n <photo-capture-widget\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n (photoCaptured)=\"uploadImage($event)\"\r\n >\r\n </photo-capture-widget>\r\n </ng-container>\r\n\r\n <!-- SOUND TYPE WIDGET -->\r\n <ng-container *ngIf=\"widgetNeeded(uploadWidgetType.SOUND) || widgetNeeded(uploadWidgetType.ALL)\">\r\n <voice-record-widget (recordingSaved)=\"uploadRecording($event)\"> </voice-record-widget>\r\n </ng-container>\r\n\r\n @if(compLib === componentLibrary.PRIMENG) {\r\n\r\n <p-fileUpload\r\n #fileUploadPrimeNg\r\n name=\"files[]\"\r\n url=\"\"\r\n (onSend)=\"uploadFiles($event)\"\r\n (onSelect)=\"onSelect($event)\"\r\n (onRemove)=\"onRemove($event)\"\r\n [multiple]=\"isMultiple\"\r\n [accept]=\"this.descriptor?.upload?.formats ?? ''\"\r\n [maxFileSize]=\"maxSizeMb * 1024 * 1024\"\r\n uploadLabel=\"Felt\u00F6lt\u00E9s\"\r\n cancelLabel=\"M\u00E9gsem\"\r\n chooseLabel=\"V\u00E1laszt\u00E1s\"\r\n >\r\n <ng-template pTemplate=\"content\" *ngIf=\"!hasFiles && !isMobile()\">\r\n <div class=\"uploadField\">\r\n <smart-icon [icon]=\"'upload'\"></smart-icon>\r\n <span class=\"message\">H\u00FAzza ide a f\u00E1jlokat.</span>\r\n </div>\r\n </ng-template>\r\n </p-fileUpload>\r\n\r\n }@else{\r\n\r\n <smartfileuploader\r\n #fileUploadMaterial\r\n [i18n]=\"i18n\"\r\n [fileFormats]=\"fileFormats\"\r\n [maxSizeMb]=\"maxSizeMb\"\r\n [uploadCallback]=\"upload.bind(this)\"\r\n [isMultiple]=\"isMultiple\"\r\n ></smartfileuploader>\r\n }\r\n\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-button [descriptor]=\"cancelButton\" (actionClick)=\"cancel()\"></ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{display:flex;flex-direction:column;justify-content:center;gap:1rem;min-width:30vw}photo-capture-widget{width:100%;max-width:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer ::ng-deep button{color:var(--primary-color)}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.folderNameDialogButtonsContainer ::ng-deep button{border-radius:3px}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-buttonbar{display:flex!important;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:1rem}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-row>div{width:fit-content}.folderNameDialogContainer ::ng-deep .p-fileupload .p-fileupload-content{padding:unset;align-content:center;text-align:center}.message{text-align:center;color:#6b7280}.uploadField{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;padding:1rem}.folderNameDialogContainer ::ng-deep .p-fileupload-row{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.folderNameDialogContainer ::ng-deep .p-fileupload-choose,.folderNameDialogContainer ::ng-deep .p-fileupload-row ::ng-deep button,.folderNameDialogContainer ::ng-deep .p-fileupload-buttonbar ::ng-deep button{background-color:var(--primary-color);border-color:var(--primary-color)}.folderNameDialogContainer ::ng-deep .p-fileupload-choose:hover,.folderNameDialogContainer ::ng-deep .p-fileupload-row ::ng-deep button:hover,.folderNameDialogContainer ::ng-deep .p-fileupload-buttonbar ::ng-deep button:hover,.folderNameDialogButtonsContainer ::ng-deep button:hover{background-color:rgba(from var(--primary-color) r g b/.8)}.headerContainer ::ng-deep button:hover{background-color:rgba(from var(--primary-color) r g b/.1)}@media (max-width: 900px){.folderNameDialogContainer{width:100%}}\n"] }]
|
|
161
|
+
}], ctorParameters: () => [{ type: i12.UiActionFileUploadDialogService, decorators: [{
|
|
160
162
|
type: Inject,
|
|
161
163
|
args: ['fileUploadDialogService']
|
|
162
|
-
}] }, { type:
|
|
164
|
+
}] }, { type: i13.ComponentLibrary, decorators: [{
|
|
163
165
|
type: Inject,
|
|
164
166
|
args: [COMPONENT_LIBRARY]
|
|
165
167
|
}] }, { type: i1.UiActionDescriptorService }, { type: i0.ChangeDetectorRef }], propDecorators: { fileUploadPrime: [{
|
|
@@ -169,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
169
171
|
type: ViewChild,
|
|
170
172
|
args: ['fileUploadMaterial']
|
|
171
173
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQXNCLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVN4RSxNQUFNLE9BQU8saUNBQWlDO0lBMEI1QyxZQUM2QyxPQUF3QyxFQUNqRCxPQUF5QixFQUNuRCxPQUFrQyxFQUNsQyxHQUFzQjtRQUhhLFlBQU8sR0FBUCxPQUFPLENBQWlDO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ25ELFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckJoQyxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUVwQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FB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LENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYTtRQUMvQixJQUFJLGdCQUFnQixDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUV4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQWEsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUU5QyxNQUFNLFNBQVMsR0FBRztnQkFDaEIsTUFBTSxFQUFFO29CQUNOLEtBQUssRUFBRSxRQUFRO2lCQUNoQjtnQkFDRCxJQUFJLEVBQUUsUUFBUTthQUNmLENBQUM7WUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBektVLGlDQUFpQyxrQkEyQmxDLHlCQUF5QixhQUN6QixpQkFBaUI7bUdBNUJoQixpQ0FBaUMseVNDZDlDLHFoR0FnR0E7OzRGRGxGYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0Usa0NBQWtDOzswQkErQnpDLE1BQU07MkJBQUMseUJBQXlCOzswQkFDaEMsTUFBTTsyQkFBQyxpQkFBaUI7aUhBM0JLLGVBQWU7c0JBQTlDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUNHLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvciwgVXBsb2FkV2lkZ2V0VHlwZSB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1hY3Rpb24uZGVzY3JpcHRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSB9IGZyb20gJy4vdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRGaWxlVXBsb2FkZXJJMThuIH0gZnJvbSAnLi4vLi4vLi4vLi4vc21hcnQtZm9ybS9zbWFydGZpbGV1cGxvYWRlci9zbWFydGZpbGV1cGxvYWRlci5tb2RlbCc7XHJcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgU21hcnRmaWxldXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1mb3JtL3NtYXJ0ZmlsZXVwbG9hZGVyL3NtYXJ0ZmlsZXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVVcGxvYWRQcmltZU5nJykgZmlsZVVwbG9hZFByaW1lITogRmlsZVVwbG9hZDtcclxuICBAVmlld0NoaWxkKCdmaWxlVXBsb2FkTWF0ZXJpYWwnKSBmaWxlVXBsb2FkTWF0ZXJpYWwhOiBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudDtcclxuXHJcbiAgY29kZSE6IHN0cmluZztcclxuXHJcbiAgZGlhbG9nVHlwZSE6ICdkaWFsb2cnIHwgJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnO1xyXG5cclxuICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG4gIGNvbXBvbmVudExpYnJhcnkgPSBDb21wb25lbnRMaWJyYXJ5O1xyXG4gIHVwbG9hZFdpZGdldFR5cGUgPSBVcGxvYWRXaWRnZXRUeXBlO1xyXG4gIGkxOG4/OiBTbWFydEZpbGVVcGxvYWRlckkxOG47XHJcbiAgbWF4U2l6ZU1iOiBudW1iZXIgPSAyNTtcclxuICBmaWxlRm9ybWF0cz86IHN0cmluZ1tdO1xyXG4gIGlzTXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGhhc0ZpbGVzPzogYm9vbGVhbjtcclxuXHJcbiAgdXBsb2FkZWRGaWxlczogYW55W10gPSBbXTtcclxuXHJcbiAgdXBsb2FkRm9ybWF0TWFwOiBSZWNvcmQ8VXBsb2FkV2lkZ2V0VHlwZSwgc3RyaW5nW10+ID0ge1xyXG4gICAgW1VwbG9hZFdpZGdldFR5cGUuQUxMXTogW10sXHJcbiAgICBbVXBsb2FkV2lkZ2V0VHlwZS5OT1JNQUxdOiBbXSxcclxuICAgIFtVcGxvYWRXaWRnZXRUeXBlLklNQUdFXTogWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9qcGcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL3dlYnAnXSxcclxuICAgIFtVcGxvYWRXaWRnZXRUeXBlLlNPVU5EXTogWydhdWRpby9tcGVnJywgJ2F1ZGlvL3dhdicsICdhdWRpby93ZWJtJywgJ2F1ZGlvL29nZyddLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnZmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UnKSBwcml2YXRlIHNlcnZpY2U6IFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeSxcclxuICAgIHByaXZhdGUgbWFuYWdlcjogVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb2RlID0gdGhpcy5zZXJ2aWNlLmFjdGlvbi5jb2RlITtcclxuICAgIHRoaXMuc2V0VXAoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuY2FuY2VsKCk7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvaVBob25lfGlQYWR8aVBvZHxBbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNldFVwKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5kZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5tYW5hZ2VyLmdldEFjdGlvbkRlc2NyaXB0b3IodGhpcy5zZXJ2aWNlLmFjdGlvbik7XHJcblxyXG4gICAgdGhpcy5pc011bHRpcGxlID0gdGhpcy5zZXJ2aWNlLmlzTXVsdGlwbGU7XHJcbiAgICB0aGlzLm1heFNpemVNYiA9IE51bWJlcih0aGlzLmRlc2NyaXB0b3IudXBsb2FkPy5tYXhTaXplKTtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3IudXBsb2FkPy51cGxvYWRXaWRnZXRUeXBlKSB7XHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvci51cGxvYWQuZm9ybWF0cyA9XHJcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yLnVwbG9hZC5mb3JtYXRzID8/XHJcbiAgICAgICAgdGhpcy51cGxvYWRGb3JtYXRNYXBbdGhpcy5kZXNjcmlwdG9yLnVwbG9hZCEudXBsb2FkV2lkZ2V0VHlwZV0uam9pbignLCAnKTtcclxuXHJcbiAgICAgIHRoaXMuZmlsZUZvcm1hdHMgPSBbdGhpcy5kZXNjcmlwdG9yLnVwbG9hZC5mb3JtYXRzXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBmaWxlRm9ybWF0cyA9IHRoaXMuZGVzY3JpcHRvci51cGxvYWQ/LmZvcm1hdHM7XHJcbiAgICB0aGlzLmkxOG4gPSB7XHJcbiAgICAgIGFkZEZpbGU6IHRoaXMuZGVzY3JpcHRvci51cGxvYWQ/LnRpdGxlID8/ICdkb2t1bWVudHVtIGhvenrDoWFkw6FzYScsXHJcbiAgICAgIGJyb3dzZU9yRHJhZzogdGhpcy5kZXNjcmlwdG9yLnVwbG9hZD8uZGVzY3JpcHRpb24gPz8gJ3RhbGzDs3rDoXMgdmFneSBiZWjDunrDoXMnLFxyXG4gICAgICBmb3JtYXRzOiB0aGlzLmRlc2NyaXB0b3IudXBsb2FkPy5mb3JtYXRzID8/ICcnLFxyXG4gICAgICBtYXhTaXplOiB0aGlzLmRlc2NyaXB0b3IudXBsb2FkPy5tYXhTaXplID8/ICcnLFxyXG4gICAgICB1cGxvYWQ6IHRoaXMuZGVzY3JpcHRvci51cGxvYWQ/LnVwbG9hZEJ1dHRvblRpdGxlLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBUT0RPIHNldCBtYXggc2l6ZSBhbmQgZmlsZSBmb3JtYXRzIGJ5IFVpQWN0aW9uLnBhcmFtc1xyXG5cclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3JbdGhpcy5zZXJ2aWNlLmlucHV0VHlwZU5hbWVdKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nVHlwZSA9IHRoaXMuc2VydmljZS5pbnB1dFR5cGVOYW1lO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaWFsb2dUeXBlID0gdGhpcy5kZXNjcmlwdG9yLmlucHV0RGlhbG9nID8gJ2lucHV0RGlhbG9nJyA6ICdkaWFsb2cnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3IpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvclt0aGlzLmRpYWxvZ1R5cGVdPy50aXRsZSA/PyAnRsOhamwgaG96esOhYWTDoXNhJztcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldFRleHQoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3IpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvclt0aGlzLmRpYWxvZ1R5cGVdPy50ZXh0ID8/ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBnZXRBY3Rpb25CdXR0b25MYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yW3RoaXMuZGlhbG9nVHlwZV0/LmFjdGlvbkJ1dHRvbi5jYXB0aW9uID8/ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBnZXRBY3Rpb25CdXR0b25Db2xvcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yW3RoaXMuZGlhbG9nVHlwZV0/LmFjdGlvbkJ1dHRvbi5jb2xvciA/PyAnJztcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgZ2V0Q2FuY2VsQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3IpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvclt0aGlzLmRpYWxvZ1R5cGVdPy5jYW5jZWxCdXR0b24uY2FwdGlvbiA/PyAnJztcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgZ2V0Q2FuY2VsQnV0dG9uQ29sb3IoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRlc2NyaXB0b3IpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvclt0aGlzLmRpYWxvZ1R5cGVdPy5jYW5jZWxCdXR0b24uY29sb3IgPz8gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICB1cGxvYWQoZmlsZXM6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2Uub25TYXZlKGZpbGVzKTtcclxuICB9XHJcbiAgb25TZWxlY3QoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy51cGxvYWRlZEZpbGVzID0gW107XHJcbiAgICBmb3IgKGxldCBmaWxlIG9mIGV2ZW50LmZpbGVzKSB7XHJcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlcy5wdXNoKGZpbGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5oYXNGaWxlcyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvblJlbW92ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBbXTtcclxuICAgIHRoaXMuaGFzRmlsZXMgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHVwbG9hZEZpbGVzKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5vblNhdmUodGhpcy51cGxvYWRlZEZpbGVzKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5jYW5jZWwoKTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFJlY29yZGluZyhmaWxlOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZEZpbGVzSW50b1dpZGdldChbZmlsZV0pO1xyXG4gICAgdGhpcy5oYXNGaWxlcyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRJbWFnZShmaWxlczogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRGaWxlc0ludG9XaWRnZXQoZmlsZXMpO1xyXG4gICAgdGhpcy5oYXNGaWxlcyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBsb2FkRmlsZXNJbnRvV2lkZ2V0KGZpbGVzOiBGaWxlW10pIHtcclxuICAgIGlmIChDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPT09IHRoaXMuY29tcExpYikge1xyXG4gICAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcclxuICAgICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgPSBkYXRhVHJhbnNmZXIuZmlsZXM7XHJcblxyXG4gICAgICBjb25zdCBmYWtlRXZlbnQgPSB7XHJcbiAgICAgICAgdGFyZ2V0OiB7XHJcbiAgICAgICAgICBmaWxlczogZmlsZUxpc3QsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlOiAnY2hhbmdlJyxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZFByaW1lLm9uRmlsZVNlbGVjdChmYWtlRXZlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maWxlVXBsb2FkTWF0ZXJpYWwuZmlsZXMucHVzaCguLi5maWxlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb2xkZXJOYW1lRGlhbG9nQ29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlckNvbnRhaW5lclwiPlxyXG4gICAgPGgzIGNsYXNzPVwiY29sb3ItYWNjZW50LTcwMFwiPlxyXG4gICAgICB7eyBnZXRUaXRsZSgpIH19XHJcbiAgICA8L2gzPlxyXG4gICAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuTUFURVJJQUwpIHtcclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICA8c21hcnQtaWNvbiBbY29sb3JdPVwiJ3ByaW1hcnknXCIgW2ljb25dPVwiJ1gnXCI+PC9zbWFydC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICB9QGVsc2Uge1xyXG4gICAgPHAtYnV0dG9uIGljb249XCJwaSBwaS10aW1lc1wiIFtyb3VuZGVkXT1cInRydWVcIiBbdGV4dF09XCJ0cnVlXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgLz5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICA8cD5cclxuICAgIHt7IGdldFRleHQoKSB9fVxyXG4gIDwvcD5cclxuXHJcbiAgPCEtLSBJTUFHRSBUWVBFIC0tPlxyXG4gIDxuZy1jb250YWluZXJcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udXBsb2FkPy51cGxvYWRXaWRnZXRUeXBlID09IHVwbG9hZFdpZGdldFR5cGUuSU1BR0UgfHxcclxuICAgICAgdGhpcy5kZXNjcmlwdG9yPy51cGxvYWQ/LnVwbG9hZFdpZGdldFR5cGUgPT0gdXBsb2FkV2lkZ2V0VHlwZS5BTExcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPHBob3RvLWNhcHR1cmUtd2lkZ2V0XHJcbiAgICAgIFttYXhGaWxlU2l6ZV09XCJtYXhTaXplTWIgKiAxMDI0ICogMTAyNFwiXHJcbiAgICAgIChwaG90b0NhcHR1cmVkKT1cInVwbG9hZEltYWdlKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgPC9waG90by1jYXB0dXJlLXdpZGdldD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBTT1VORCBUWVBFIC0tPlxyXG4gIDxuZy1jb250YWluZXJcclxuICAgICpuZ0lmPVwiXHJcbiAgICAgIHRoaXMuZGVzY3JpcHRvcj8udXBsb2FkPy51cGxvYWRXaWRnZXRUeXBlID09IHVwbG9hZFdpZGdldFR5cGUuU09VTkQgfHxcclxuICAgICAgdGhpcy5kZXNjcmlwdG9yPy51cGxvYWQ/LnVwbG9hZFdpZGdldFR5cGUgPT0gdXBsb2FkV2lkZ2V0VHlwZS5BTExcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPHZvaWNlLXJlY29yZC13aWRnZXQgKHJlY29yZGluZ1NhdmVkKT1cInVwbG9hZFJlY29yZGluZygkZXZlbnQpXCI+IDwvdm9pY2UtcmVjb3JkLXdpZGdldD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG5cclxuICA8cC1maWxlVXBsb2FkXHJcbiAgICAjZmlsZVVwbG9hZFByaW1lTmdcclxuICAgIG5hbWU9XCJmaWxlc1tdXCJcclxuICAgIHVybD1cIlwiXHJcbiAgICAob25TZW5kKT1cInVwbG9hZEZpbGVzKCRldmVudClcIlxyXG4gICAgKG9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgKG9uUmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIlxyXG4gICAgW211bHRpcGxlXT1cImlzTXVsdGlwbGVcIlxyXG4gICAgW2FjY2VwdF09XCJ0aGlzLmRlc2NyaXB0b3I/LnVwbG9hZD8uZm9ybWF0cyA/PyAnJ1wiXHJcbiAgICBbbWF4RmlsZVNpemVdPVwibWF4U2l6ZU1iICogMTAyNCAqIDEwMjRcIlxyXG4gICAgdXBsb2FkTGFiZWw9XCJGZWx0w7ZsdMOpc1wiXHJcbiAgICBjYW5jZWxMYWJlbD1cIk3DqWdzZW1cIlxyXG4gICAgY2hvb3NlTGFiZWw9XCJWw6FsYXN6dMOhc1wiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiAqbmdJZj1cIiFoYXNGaWxlcyAmJiAhaXNNb2JpbGUoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkRmllbGRcIj5cclxuICAgICAgICA8c21hcnQtaWNvbiBbaWNvbl09XCIndXBsb2FkJ1wiPjwvc21hcnQtaWNvbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1lc3NhZ2VcIj5Iw7p6emEgaWRlIGEgZsOhamxva2F0Ljwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC1maWxlVXBsb2FkPlxyXG5cclxuICB9QGVsc2V7XHJcblxyXG4gIDxzbWFydGZpbGV1cGxvYWRlclxyXG4gICAgI2ZpbGVVcGxvYWRNYXRlcmlhbFxyXG4gICAgW2kxOG5dPVwiaTE4blwiXHJcbiAgICBbZmlsZUZvcm1hdHNdPVwiZmlsZUZvcm1hdHNcIlxyXG4gICAgW21heFNpemVNYl09XCJtYXhTaXplTWJcIlxyXG4gICAgW3VwbG9hZENhbGxiYWNrXT1cInVwbG9hZC5iaW5kKHRoaXMpXCJcclxuICAgIFtpc011bHRpcGxlXT1cImlzTXVsdGlwbGVcIlxyXG4gID48L3NtYXJ0ZmlsZXVwbG9hZGVyPlxyXG4gIH1cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZvbGRlck5hbWVEaWFsb2dCdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgICBAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbiAgICA8cC1idXR0b25cclxuICAgICAgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCJcclxuICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIFtsYWJlbF09XCJnZXRDYW5jZWxCdXR0b25MYWJlbCgpXCJcclxuICAgICAgW2ljb25dPVwiJ3BpIHBpLXRpbWVzJ1wiXHJcbiAgICA+PC9wLWJ1dHRvbj5cclxuICAgIH1AZWxzZXtcclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIFtjb2xvcl09XCJnZXRDYW5jZWxCdXR0b25Db2xvcigpXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7IGdldENhbmNlbEJ1dHRvbkxhYmVsKCkgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLSA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCJnZXRBY3Rpb25CdXR0b25Db2xvcigpXCIgKGNsaWNrKT1cInVwbG9hZCgpXCI+XHJcbiAgICAgIHt7IGdldEFjdGlvbkJ1dHRvbkxhYmVsKCkgfX1cclxuICAgIDwvYnV0dG9uPiAtLT5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2RpYWxvZ3MvdWktYWN0aW9uLWZpbGUtdXBsb2FkLWRpYWxvZy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQ0wsWUFBWSxFQUNaLGtCQUFrQixFQUVsQixnQkFBZ0IsR0FDakIsTUFBTSxjQUFjLENBQUM7QUFJdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVN4RSxNQUFNLE9BQU8saUNBQWlDO0lBb0I1QyxZQUM2QyxPQUF3QyxFQUNqRCxPQUF5QixFQUNuRCxPQUFrQyxFQUNsQyxHQUFzQjtRQUhhLFlBQU8sR0FBUCxPQUFPLENBQWlDO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ25ELFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZmhDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBRXBD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QUM7Z0JBQ3pCLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFFRCxNQUFNLFFBQVEsR0FBYSxZQUFZLENBQUMsS0FBSyxDQUFDO1lBRTlDLE1BQU0sU0FBUyxHQUFHO2dCQUNoQixNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLFFBQVE7aUJBQ2hCO2dCQUNELElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQztZQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFzQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pFLENBQUM7K0dBM0tVLGlDQUFpQyxrQkFxQmxDLHlCQUF5QixhQUN6QixpQkFBaUI7bUdBdEJoQixpQ0FBaUMseVNDbkI5QyxrM0VBdUVBOzs0RkRwRGEsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGtDQUFrQzs7MEJBeUJ6QyxNQUFNOzJCQUFDLHlCQUF5Qjs7MEJBQ2hDLE1BQU07MkJBQUMsaUJBQWlCO2lIQXJCSyxlQUFlO3NCQUE5QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDRyxrQkFBa0I7c0JBQWxELFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEljb25Qb3NpdGlvbixcclxuICBVaUFjdGlvbkJ1dHRvblR5cGUsXHJcbiAgVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gIFVwbG9hZFdpZGdldFR5cGUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vYXBpJztcclxuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3VpLWFjdGlvbi5kZXNjcmlwdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydEZpbGVVcGxvYWRlckkxOG4gfSBmcm9tICcuLi8uLi8uLi8uLi9zbWFydC1mb3JtL3NtYXJ0ZmlsZXVwbG9hZGVyL3NtYXJ0ZmlsZXVwbG9hZGVyLm1vZGVsJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi8uLi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWQgfSBmcm9tICdwcmltZW5nL2ZpbGV1cGxvYWQnO1xyXG5pbXBvcnQgeyBTbWFydGZpbGV1cGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NtYXJ0LWZvcm0vc21hcnRmaWxldXBsb2FkZXIvc21hcnRmaWxldXBsb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nLmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uRmlsZVVwbG9hZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZVVwbG9hZFByaW1lTmcnKSBmaWxlVXBsb2FkUHJpbWUhOiBGaWxlVXBsb2FkO1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVVcGxvYWRNYXRlcmlhbCcpIGZpbGVVcGxvYWRNYXRlcmlhbCE6IFNtYXJ0ZmlsZXVwbG9hZGVyQ29tcG9uZW50O1xyXG5cclxuICBjb2RlITogc3RyaW5nO1xyXG5cclxuICBkaWFsb2dUeXBlITogJ2RpYWxvZycgfCAnaW5wdXREaWFsb2cnIHwgJ2lucHV0MkRpYWxvZyc7XHJcblxyXG4gIGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcbiAgdXBsb2FkV2lkZ2V0VHlwZSA9IFVwbG9hZFdpZGdldFR5cGU7XHJcbiAgaTE4bj86IFNtYXJ0RmlsZVVwbG9hZGVySTE4bjtcclxuICBtYXhTaXplTWI6IG51bWJlciA9IDI1O1xyXG4gIGZpbGVGb3JtYXRzPzogc3RyaW5nW107XHJcbiAgaXNNdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgaGFzRmlsZXM/OiBib29sZWFuO1xyXG5cclxuICB1cGxvYWRlZEZpbGVzOiBhbnlbXSA9IFtdO1xyXG4gIGNhbmNlbEJ1dHRvbiE6IFVpQWN0aW9uRGVzY3JpcHRvcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdmaWxlVXBsb2FkRGlhbG9nU2VydmljZScpIHByaXZhdGUgc2VydmljZTogVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nU2VydmljZSxcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIHB1YmxpYyBjb21wTGliOiBDb21wb25lbnRMaWJyYXJ5LFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VyOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvZGUgPSB0aGlzLnNlcnZpY2UuYWN0aW9uLmNvZGUhO1xyXG4gICAgdGhpcy5zZXRVcCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5jYW5jZWwoKTtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIC9pUGhvbmV8aVBhZHxpUG9kfEFuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbiA9IHtcclxuICAgICAgdGl0bGU6ICdNw6lnc2UnLFxyXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxyXG4gICAgICBpY29uOiB0aGlzLmNvbXBMaWIgPT09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICd0aW1lcycgOiAnY2xvc2UnLFxyXG4gICAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXHJcbiAgICAgIGNvbG9yOiAncHJpbWFyeScsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHRoaXMuc2VydmljZS5hY3Rpb24pO1xyXG5cclxuICAgIHRoaXMuaXNNdWx0aXBsZSA9IHRoaXMuc2VydmljZS5pc011bHRpcGxlO1xyXG4gICAgdGhpcy5tYXhTaXplTWIgPSBOdW1iZXIodGhpcy5kZXNjcmlwdG9yLnVwbG9hZD8ubWF4U2l6ZSk7XHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yPy51cGxvYWQ/LmZvcm1hdHMpIHtcclxuICAgICAgdGhpcy5maWxlRm9ybWF0cyA9IFt0aGlzLmRlc2NyaXB0b3IudXBsb2FkLmZvcm1hdHNdO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGZpbGVGb3JtYXRzID0gdGhpcy5kZXNjcmlwdG9yLnVwbG9hZD8uZm9ybWF0cztcclxuICAgIHRoaXMuaTE4biA9IHtcclxuICAgICAgYWRkRmlsZTogdGhpcy5kZXNjcmlwdG9yLnVwbG9hZD8udGl0bGUgPz8gJ2Rva3VtZW50dW0gaG96esOhYWTDoXNhJyxcclxuICAgICAgYnJvd3NlT3JEcmFnOiB0aGlzLmRlc2NyaXB0b3IudXBsb2FkPy5kZXNjcmlwdGlvbiA/PyAndGFsbMOzesOhcyB2YWd5IGJlaMO6esOhcycsXHJcbiAgICAgIGZvcm1hdHM6IHRoaXMuZGVzY3JpcHRvci51cGxvYWQ/LmZvcm1hdHMgPz8gJycsXHJcbiAgICAgIG1heFNpemU6IHRoaXMuZGVzY3JpcHRvci51cGxvYWQ/Lm1heFNpemUgPz8gJycsXHJcbiAgICAgIHVwbG9hZDogdGhpcy5kZXNjcmlwdG9yLnVwbG9hZD8udXBsb2FkQnV0dG9uVGl0bGUsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFRPRE8gc2V0IG1heCBzaXplIGFuZCBmaWxlIGZvcm1hdHMgYnkgVWlBY3Rpb24ucGFyYW1zXHJcblxyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvclt0aGlzLnNlcnZpY2UuaW5wdXRUeXBlTmFtZV0pIHtcclxuICAgICAgdGhpcy5kaWFsb2dUeXBlID0gdGhpcy5zZXJ2aWNlLmlucHV0VHlwZU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpYWxvZ1R5cGUgPSB0aGlzLmRlc2NyaXB0b3IuaW5wdXREaWFsb2cgPyAnaW5wdXREaWFsb2cnIDogJ2RpYWxvZyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yW3RoaXMuZGlhbG9nVHlwZV0/LnRpdGxlID8/ICdGw6FqbCBob3p6w6FhZMOhc2EnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yW3RoaXMuZGlhbG9nVHlwZV0/LnRleHQgPz8gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIGdldEFjdGlvbkJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3JbdGhpcy5kaWFsb2dUeXBlXT8uYWN0aW9uQnV0dG9uLmNhcHRpb24gPz8gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIGdldEFjdGlvbkJ1dHRvbkNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3JbdGhpcy5kaWFsb2dUeXBlXT8uYWN0aW9uQnV0dG9uLmNvbG9yID8/ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBnZXRDYW5jZWxCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yW3RoaXMuZGlhbG9nVHlwZV0/LmNhbmNlbEJ1dHRvbi5jYXB0aW9uID8/ICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBnZXRDYW5jZWxCdXR0b25Db2xvcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yW3RoaXMuZGlhbG9nVHlwZV0/LmNhbmNlbEJ1dHRvbi5jb2xvciA/PyAnJztcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHVwbG9hZChmaWxlczogYW55W10pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5vblNhdmUoZmlsZXMpO1xyXG4gIH1cclxuICBvblNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBbXTtcclxuICAgIGZvciAobGV0IGZpbGUgb2YgZXZlbnQuZmlsZXMpIHtcclxuICAgICAgdGhpcy51cGxvYWRlZEZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmhhc0ZpbGVzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5oYXNGaWxlcyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkRmlsZXMoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLm9uU2F2ZSh0aGlzLnVwbG9hZGVkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmNhbmNlbCgpO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkUmVjb3JkaW5nKGZpbGU6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkRmlsZXNJbnRvV2lkZ2V0KFtmaWxlXSk7XHJcbiAgICB0aGlzLmhhc0ZpbGVzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHVwbG9hZEltYWdlKGZpbGVzOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZEZpbGVzSW50b1dpZGdldChmaWxlcyk7XHJcbiAgICB0aGlzLmhhc0ZpbGVzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGxvYWRGaWxlc0ludG9XaWRnZXQoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgaWYgKENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA9PT0gdGhpcy5jb21wTGliKSB7XHJcbiAgICAgIGNvbnN0IGRhdGFUcmFuc2ZlciA9IG5ldyBEYXRhVHJhbnNmZXIoKTtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5hZGQoZmlsZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGZpbGVMaXN0OiBGaWxlTGlzdCA9IGRhdGFUcmFuc2Zlci5maWxlcztcclxuXHJcbiAgICAgIGNvbnN0IGZha2VFdmVudCA9IHtcclxuICAgICAgICB0YXJnZXQ6IHtcclxuICAgICAgICAgIGZpbGVzOiBmaWxlTGlzdCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6ICdjaGFuZ2UnLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5maWxlVXBsb2FkUHJpbWUub25GaWxlU2VsZWN0KGZha2VFdmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRNYXRlcmlhbC5maWxlcy5wdXNoKC4uLmZpbGVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdpZGdldE5lZWRlZCh0eXBlOiBVcGxvYWRXaWRnZXRUeXBlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yPy51cGxvYWQ/LnVwbG9hZFdpZGdldHM/LmluY2x1ZGVzKHR5cGUpID8/IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9sZGVyTmFtZURpYWxvZ0NvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJDb250YWluZXJcIj5cclxuICAgIDxoMyBjbGFzcz1cImNvbG9yLWFjY2VudC03MDBcIj5cclxuICAgICAge3sgZ2V0VGl0bGUoKSB9fVxyXG4gICAgPC9oMz5cclxuICAgIEBpZihjb21wTGliID09PSBjb21wb25lbnRMaWJyYXJ5Lk1BVEVSSUFMKSB7XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgPHNtYXJ0LWljb24gW2NvbG9yXT1cIidwcmltYXJ5J1wiIFtpY29uXT1cIidYJ1wiPjwvc21hcnQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgfUBlbHNlIHtcclxuICAgIDxwLWJ1dHRvbiBpY29uPVwicGkgcGktdGltZXNcIiBbcm91bmRlZF09XCJ0cnVlXCIgW3RleHRdPVwidHJ1ZVwiIChjbGljayk9XCJjYW5jZWwoKVwiIC8+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgPHA+XHJcbiAgICB7eyBnZXRUZXh0KCkgfX1cclxuICA8L3A+XHJcblxyXG4gIDwhLS0gSU1BR0UgVFlQRSBXSURHRVQgLS0+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldE5lZWRlZCh1cGxvYWRXaWRnZXRUeXBlLklNQUdFKSB8fCB3aWRnZXROZWVkZWQodXBsb2FkV2lkZ2V0VHlwZS5BTEwpXCI+XHJcbiAgICA8cGhvdG8tY2FwdHVyZS13aWRnZXRcclxuICAgICAgW21heEZpbGVTaXplXT1cIm1heFNpemVNYiAqIDEwMjQgKiAxMDI0XCJcclxuICAgICAgKHBob3RvQ2FwdHVyZWQpPVwidXBsb2FkSW1hZ2UoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L3Bob3RvLWNhcHR1cmUtd2lkZ2V0PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIFNPVU5EIFRZUEUgV0lER0VUIC0tPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXROZWVkZWQodXBsb2FkV2lkZ2V0VHlwZS5TT1VORCkgfHwgd2lkZ2V0TmVlZGVkKHVwbG9hZFdpZGdldFR5cGUuQUxMKVwiPlxyXG4gICAgPHZvaWNlLXJlY29yZC13aWRnZXQgKHJlY29yZGluZ1NhdmVkKT1cInVwbG9hZFJlY29yZGluZygkZXZlbnQpXCI+IDwvdm9pY2UtcmVjb3JkLXdpZGdldD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuUFJJTUVORykge1xyXG5cclxuICA8cC1maWxlVXBsb2FkXHJcbiAgICAjZmlsZVVwbG9hZFByaW1lTmdcclxuICAgIG5hbWU9XCJmaWxlc1tdXCJcclxuICAgIHVybD1cIlwiXHJcbiAgICAob25TZW5kKT1cInVwbG9hZEZpbGVzKCRldmVudClcIlxyXG4gICAgKG9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgKG9uUmVtb3ZlKT1cIm9uUmVtb3ZlKCRldmVudClcIlxyXG4gICAgW211bHRpcGxlXT1cImlzTXVsdGlwbGVcIlxyXG4gICAgW2FjY2VwdF09XCJ0aGlzLmRlc2NyaXB0b3I/LnVwbG9hZD8uZm9ybWF0cyA/PyAnJ1wiXHJcbiAgICBbbWF4RmlsZVNpemVdPVwibWF4U2l6ZU1iICogMTAyNCAqIDEwMjRcIlxyXG4gICAgdXBsb2FkTGFiZWw9XCJGZWx0w7ZsdMOpc1wiXHJcbiAgICBjYW5jZWxMYWJlbD1cIk3DqWdzZW1cIlxyXG4gICAgY2hvb3NlTGFiZWw9XCJWw6FsYXN6dMOhc1wiXHJcbiAgPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiAqbmdJZj1cIiFoYXNGaWxlcyAmJiAhaXNNb2JpbGUoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkRmllbGRcIj5cclxuICAgICAgICA8c21hcnQtaWNvbiBbaWNvbl09XCIndXBsb2FkJ1wiPjwvc21hcnQtaWNvbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1lc3NhZ2VcIj5Iw7p6emEgaWRlIGEgZsOhamxva2F0Ljwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvcC1maWxlVXBsb2FkPlxyXG5cclxuICB9QGVsc2V7XHJcblxyXG4gIDxzbWFydGZpbGV1cGxvYWRlclxyXG4gICAgI2ZpbGVVcGxvYWRNYXRlcmlhbFxyXG4gICAgW2kxOG5dPVwiaTE4blwiXHJcbiAgICBbZmlsZUZvcm1hdHNdPVwiZmlsZUZvcm1hdHNcIlxyXG4gICAgW21heFNpemVNYl09XCJtYXhTaXplTWJcIlxyXG4gICAgW3VwbG9hZENhbGxiYWNrXT1cInVwbG9hZC5iaW5kKHRoaXMpXCJcclxuICAgIFtpc011bHRpcGxlXT1cImlzTXVsdGlwbGVcIlxyXG4gID48L3NtYXJ0ZmlsZXVwbG9hZGVyPlxyXG4gIH1cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZvbGRlck5hbWVEaWFsb2dCdXR0b25zQ29udGFpbmVyXCI+XHJcbiAgICA8dWktYWN0aW9uLWJ1dHRvbiBbZGVzY3JpcHRvcl09XCJjYW5jZWxCdXR0b25cIiAoYWN0aW9uQ2xpY2spPVwiY2FuY2VsKClcIj48L3VpLWFjdGlvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|