sion-data-import 1.0.1
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/esm2020/index.mjs +5 -0
- package/esm2020/lib/domain/ImportsColumn.mjs +6 -0
- package/esm2020/lib/domain/ImportsTable.mjs +3 -0
- package/esm2020/lib/domain/TableDto.mjs +8 -0
- package/esm2020/lib/service/http.service.mjs +70 -0
- package/esm2020/lib/sion-data-import.module.mjs +253 -0
- package/esm2020/lib/utils/urlutil.mjs +18 -0
- package/esm2020/lib/utils/util.mjs +129 -0
- package/esm2020/lib/views/import-table-list/import-table-data/import-table-data.component.mjs +145 -0
- package/esm2020/lib/views/import-table-list/import-table-detail/import-table-detail.component.mjs +469 -0
- package/esm2020/lib/views/import-table-list/import-table-list.component.mjs +245 -0
- package/esm2020/sion-data-import.mjs +5 -0
- package/index.d.ts +5 -0
- package/index.d.ts.map +1 -0
- package/lib/domain/ImportsColumn.d.ts +12 -0
- package/lib/domain/ImportsColumn.d.ts.map +1 -0
- package/lib/domain/ImportsTable.d.ts +11 -0
- package/lib/domain/ImportsTable.d.ts.map +1 -0
- package/lib/domain/TableDto.d.ts +7 -0
- package/lib/domain/TableDto.d.ts.map +1 -0
- package/lib/service/http.service.d.ts +22 -0
- package/lib/service/http.service.d.ts.map +1 -0
- package/lib/sion-data-import.module.d.ts +57 -0
- package/lib/sion-data-import.module.d.ts.map +1 -0
- package/lib/utils/urlutil.d.ts +18 -0
- package/lib/utils/urlutil.d.ts.map +1 -0
- package/lib/utils/util.d.ts +11 -0
- package/lib/utils/util.d.ts.map +1 -0
- package/lib/views/import-table-list/import-table-data/import-table-data.component.d.ts +39 -0
- package/lib/views/import-table-list/import-table-data/import-table-data.component.d.ts.map +1 -0
- package/lib/views/import-table-list/import-table-detail/import-table-detail.component.d.ts +51 -0
- package/lib/views/import-table-list/import-table-detail/import-table-detail.component.d.ts.map +1 -0
- package/lib/views/import-table-list/import-table-list.component.d.ts +57 -0
- package/lib/views/import-table-list/import-table-list.component.d.ts.map +1 -0
- package/package.json +39 -0
- package/sion-data-import.d.ts.map +1 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Component, ElementRef, Input } from '@angular/core';
|
|
2
|
+
import { HttpService } from "../../../service/http.service";
|
|
3
|
+
import { NzModalRef, NzModalService } from "ng-zorro-antd/modal";
|
|
4
|
+
import { Router } from "@angular/router";
|
|
5
|
+
import { NzMessageService } from "ng-zorro-antd/message";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../service/http.service";
|
|
8
|
+
import * as i2 from "ng-zorro-antd/modal";
|
|
9
|
+
import * as i3 from "@angular/router";
|
|
10
|
+
import * as i4 from "ng-zorro-antd/message";
|
|
11
|
+
import * as i5 from "@angular/common";
|
|
12
|
+
import * as i6 from "ng-zorro-antd/table";
|
|
13
|
+
function ImportTableDataComponent_th_4_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "th", 4);
|
|
15
|
+
i0.ɵɵtext(1);
|
|
16
|
+
i0.ɵɵelementEnd();
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
const column_r3 = ctx.$implicit;
|
|
19
|
+
i0.ɵɵadvance(1);
|
|
20
|
+
i0.ɵɵtextInterpolate(column_r3.title);
|
|
21
|
+
} }
|
|
22
|
+
function ImportTableDataComponent_tr_6_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "td", 7);
|
|
24
|
+
i0.ɵɵtext(1);
|
|
25
|
+
i0.ɵɵelementEnd();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const obj_r7 = ctx.$implicit;
|
|
28
|
+
i0.ɵɵadvance(1);
|
|
29
|
+
i0.ɵɵtextInterpolate(obj_r7);
|
|
30
|
+
} }
|
|
31
|
+
function ImportTableDataComponent_tr_6_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelementStart(0, "tr", 5);
|
|
33
|
+
i0.ɵɵtemplate(1, ImportTableDataComponent_tr_6_td_1_Template, 2, 1, "td", 6);
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const data_r4 = ctx.$implicit;
|
|
37
|
+
i0.ɵɵadvance(1);
|
|
38
|
+
i0.ɵɵproperty("ngForOf", data_r4);
|
|
39
|
+
} }
|
|
40
|
+
export class ImportTableDataComponent {
|
|
41
|
+
constructor(httpService, modal, router, msg, el, modalService, messageService) {
|
|
42
|
+
this.httpService = httpService;
|
|
43
|
+
this.modal = modal;
|
|
44
|
+
this.router = router;
|
|
45
|
+
this.msg = msg;
|
|
46
|
+
this.el = el;
|
|
47
|
+
this.modalService = modalService;
|
|
48
|
+
this.messageService = messageService;
|
|
49
|
+
this.tableId = '';
|
|
50
|
+
this.condition = {
|
|
51
|
+
page: 1,
|
|
52
|
+
size: 10,
|
|
53
|
+
};
|
|
54
|
+
this.total = 0;
|
|
55
|
+
this.dataList = [];
|
|
56
|
+
this.columnList = [];
|
|
57
|
+
this.columnMap = {};
|
|
58
|
+
this.nameList = [];
|
|
59
|
+
}
|
|
60
|
+
ngOnInit() {
|
|
61
|
+
this.search();
|
|
62
|
+
}
|
|
63
|
+
search() {
|
|
64
|
+
if (this.tableId) {
|
|
65
|
+
this.httpService.findColumnById(this.tableId, (res) => {
|
|
66
|
+
console.log(res);
|
|
67
|
+
if (res.success) {
|
|
68
|
+
this.columnList = res.data;
|
|
69
|
+
let nameList = [];
|
|
70
|
+
let i = 0;
|
|
71
|
+
this.columnList.forEach((column) => {
|
|
72
|
+
this.columnMap[i] = column.name;
|
|
73
|
+
nameList.push(column.name);
|
|
74
|
+
i++;
|
|
75
|
+
});
|
|
76
|
+
this.nameList = nameList;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
this.httpService.listData(this.tableId, this.condition, (res) => {
|
|
80
|
+
console.log(res);
|
|
81
|
+
if (res.success) {
|
|
82
|
+
// this.dataList = res.data;
|
|
83
|
+
let dataList = res.data;
|
|
84
|
+
let list = [];
|
|
85
|
+
for (let i = 0; i < dataList.length; i++) {
|
|
86
|
+
let data = dataList[i];
|
|
87
|
+
let arr = [];
|
|
88
|
+
for (let k = 0; k < this.nameList.length; k++) {
|
|
89
|
+
let obj = data[this.nameList[k]];
|
|
90
|
+
if (obj) {
|
|
91
|
+
try {
|
|
92
|
+
obj = JSON.stringify(obj);
|
|
93
|
+
}
|
|
94
|
+
catch (e) { }
|
|
95
|
+
}
|
|
96
|
+
arr.push(obj);
|
|
97
|
+
}
|
|
98
|
+
list.push(arr);
|
|
99
|
+
}
|
|
100
|
+
this.dataList = list;
|
|
101
|
+
this.total = res.total;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 改变页数
|
|
108
|
+
*/
|
|
109
|
+
changePageIndex(pageIndex) {
|
|
110
|
+
this.condition.page = pageIndex;
|
|
111
|
+
this.search();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 改变一页显示多少
|
|
115
|
+
*/
|
|
116
|
+
changePageSize(pageSize) {
|
|
117
|
+
this.condition.size = pageSize;
|
|
118
|
+
this.search();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
ImportTableDataComponent.ɵfac = function ImportTableDataComponent_Factory(t) { return new (t || ImportTableDataComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.NzModalRef), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.NzMessageService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.NzModalService), i0.ɵɵdirectiveInject(i4.NzMessageService)); };
|
|
122
|
+
ImportTableDataComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImportTableDataComponent, selectors: [["sion-import-table-data"]], inputs: { tableId: "tableId" }, decls: 7, vars: 9, consts: [[3, "nzData", "nzShowPagination", "nzFrontPagination", "nzShowQuickJumper", "nzTotal", "nzPageIndex", "nzPageSize", "nzPageIndexChange", "nzPageSizeChange"], ["basicTable", ""], ["nzAlign", "center", "nzWidth", "60px", 4, "ngFor", "ngForOf"], ["style", "height:40px;", 4, "ngFor", "ngForOf"], ["nzAlign", "center", "nzWidth", "60px"], [2, "height", "40px"], ["nzAlign", "center", 4, "ngFor", "ngForOf"], ["nzAlign", "center"]], template: function ImportTableDataComponent_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵelementStart(0, "nz-table", 0, 1);
|
|
124
|
+
i0.ɵɵlistener("nzPageIndexChange", function ImportTableDataComponent_Template_nz_table_nzPageIndexChange_0_listener($event) { return ctx.condition.page = $event; })("nzPageSizeChange", function ImportTableDataComponent_Template_nz_table_nzPageSizeChange_0_listener($event) { return ctx.condition.size = $event; })("nzPageIndexChange", function ImportTableDataComponent_Template_nz_table_nzPageIndexChange_0_listener($event) { return ctx.changePageIndex($event); })("nzPageSizeChange", function ImportTableDataComponent_Template_nz_table_nzPageSizeChange_0_listener($event) { return ctx.changePageSize($event); });
|
|
125
|
+
i0.ɵɵelementStart(2, "thead")(3, "tr");
|
|
126
|
+
i0.ɵɵtemplate(4, ImportTableDataComponent_th_4_Template, 2, 1, "th", 2);
|
|
127
|
+
i0.ɵɵelementEnd()();
|
|
128
|
+
i0.ɵɵelementStart(5, "tbody");
|
|
129
|
+
i0.ɵɵtemplate(6, ImportTableDataComponent_tr_6_Template, 2, 1, "tr", 3);
|
|
130
|
+
i0.ɵɵelementEnd()();
|
|
131
|
+
} if (rf & 2) {
|
|
132
|
+
const _r0 = i0.ɵɵreference(1);
|
|
133
|
+
i0.ɵɵproperty("nzData", ctx.dataList)("nzShowPagination", true)("nzFrontPagination", false)("nzShowQuickJumper", true)("nzTotal", ctx.total)("nzPageIndex", ctx.condition.page)("nzPageSize", ctx.condition.size);
|
|
134
|
+
i0.ɵɵadvance(4);
|
|
135
|
+
i0.ɵɵproperty("ngForOf", ctx.columnList);
|
|
136
|
+
i0.ɵɵadvance(2);
|
|
137
|
+
i0.ɵɵproperty("ngForOf", _r0.data);
|
|
138
|
+
} }, dependencies: [i5.NgForOf, i6.NzTableComponent, i6.NzTableCellDirective, i6.NzThMeasureDirective, i6.NzTheadComponent, i6.NzTbodyComponent, i6.NzTrDirective, i6.NzCellAlignDirective] });
|
|
139
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportTableDataComponent, [{
|
|
140
|
+
type: Component,
|
|
141
|
+
args: [{ selector: 'sion-import-table-data', template: "<nz-table #basicTable\r\n [nzData]=\"dataList\"\r\n [nzShowPagination]=\"true\"\r\n [nzFrontPagination]=\"false\"\r\n [nzShowQuickJumper]=\"true\"\r\n [nzTotal]=\"total\"\r\n [(nzPageIndex)]=\"condition.page\"\r\n [(nzPageSize)]=\"condition.size\"\r\n (nzPageIndexChange)=\"changePageIndex($event)\"\r\n (nzPageSizeChange)=\"changePageSize($event)\"\r\n>\r\n <thead>\r\n <tr>\r\n<!-- <th nzAlign=\"center\" nzWidth=\"60px\">\u5E8F\u53F7</th>-->\r\n <th *ngFor=\"let column of columnList\" nzAlign=\"center\" nzWidth=\"60px\">{{column.title}}</th>\r\n<!-- <th nzAlign=\"center\" nzWidth=\"160px\">\u6570\u636E\u5E93\u8868\u540D</th>-->\r\n<!-- <th nzAlign=\"center\" nzWidth=\"160px\">\u6587\u4EF6\u7C7B\u578B</th>-->\r\n<!-- <th nzAlign=\"center\" nzWidth=\"60px\">\u521B\u5EFA\u65F6\u95F4</th>-->\r\n<!-- <th nzAlign=\"center\" nzWidth=\"160px\">\u64CD\u4F5C</th>-->\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let data of basicTable.data,let i = index\" style=\"height:40px;\">\r\n <td *ngFor=\"let obj of data;index as j\" nzAlign=\"center\">{{ obj }}</td>\r\n<!-- <td nzAlign=\"center\">{{i + 1}}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.title }}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.name }}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.imports_type }}</td>-->\r\n<!-- <td nzAlign=\"center\">{{ data.create_date_time }}</td>-->\r\n </tr>\r\n </tbody>\r\n</nz-table>\r\n" }]
|
|
142
|
+
}], function () { return [{ type: i1.HttpService }, { type: i2.NzModalRef }, { type: i3.Router }, { type: i4.NzMessageService }, { type: i0.ElementRef }, { type: i2.NzModalService }, { type: i4.NzMessageService }]; }, { tableId: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}] }); })();
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaW9uLWRhdGEtaW1wb3J0L3NyYy9saWIvdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRhdGEvaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaW9uLWRhdGEtaW1wb3J0L3NyYy9saWIvdmlld3MvaW1wb3J0LXRhYmxlLWxpc3QvaW1wb3J0LXRhYmxlLWRhdGEvaW1wb3J0LXRhYmxlLWRhdGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7O0lDVW5ELDZCQUFzRTtJQUFBLFlBQWdCO0lBQUEsaUJBQUs7OztJQUFyQixlQUFnQjtJQUFoQixxQ0FBZ0I7OztJQVN0Riw2QkFBMEQ7SUFBQSxZQUFTO0lBQUEsaUJBQUs7OztJQUFkLGVBQVM7SUFBVCw0QkFBUzs7O0lBRHJFLDZCQUE0RTtJQUMxRSw0RUFBd0U7SUFNMUUsaUJBQUs7OztJQU5pQixlQUFRO0lBQVIsaUNBQVE7O0FEWmhDLE1BQU0sT0FBTyx3QkFBd0I7SUFnQm5DLFlBQ1UsV0FBd0IsRUFDeEIsS0FBZ0IsRUFDaEIsTUFBYyxFQUNkLEdBQXFCLEVBQ3JCLEVBQWMsRUFDZCxZQUE0QixF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QUNmO3dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ2hCO29CQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO29CQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7aUJBQ3hCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FHSDtJQUVILENBQUM7SUFHRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxTQUFjO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFFBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDOztnR0FoR1Usd0JBQXdCOzJFQUF4Qix3QkFBd0I7UUNYckMsc0NBVUM7UUFKUyxvS0FBZ0MscUpBQUEsd0hBRVgsMkJBQXVCLElBRlosc0hBR1osMEJBQXNCLElBSFY7UUFLeEMsNkJBQU8sU0FBQTtRQUdMLHVFQUEyRjtRQUs3RixpQkFBSyxFQUFBO1FBRUwsNkJBQU87UUFDUCx1RUFPSztRQUNMLGlCQUFRLEVBQUE7OztRQTdCQSxxQ0FBbUIsMEJBQUEsNEJBQUEsMkJBQUEsc0JBQUEsbUNBQUEsa0NBQUE7UUFhRixlQUFhO1FBQWIsd0NBQWE7UUFRakIsZUFBbUI7UUFBbkIsa0NBQW1COzt1RkRYN0Isd0JBQXdCO2NBTHBDLFNBQVM7MkJBQ0Usd0JBQXdCO2dPQUt6QixPQUFPO2tCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SHR0cFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2h0dHAuc2VydmljZVwiO1xyXG5pbXBvcnQge056TW9kYWxSZWYsIE56TW9kYWxTZXJ2aWNlfSBmcm9tIFwibmctem9ycm8tYW50ZC9tb2RhbFwiO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge056TWVzc2FnZVNlcnZpY2V9IGZyb20gXCJuZy16b3Jyby1hbnRkL21lc3NhZ2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2lvbi1pbXBvcnQtdGFibGUtZGF0YScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltcG9ydC10YWJsZS1kYXRhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbXBvcnQtdGFibGUtZGF0YS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1wb3J0VGFibGVEYXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB0YWJsZUlkID0gJyc7XHJcblxyXG4gIGNvbmRpdGlvbiA9IHtcclxuICAgIHBhZ2U6IDEsXHJcbiAgICBzaXplOiAxMCxcclxuICB9XHJcbiAgdG90YWwgPSAwO1xyXG5cclxuICBkYXRhTGlzdCA9IFtdO1xyXG4gIGNvbHVtbkxpc3QgOmFueSA9IFtdO1xyXG5cclxuICBjb2x1bW5NYXAgOmFueSA9ICB7fTtcclxuXHJcbiAgbmFtZUxpc3QgOmFueSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbDpOek1vZGFsUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbXNnOiBOek1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOek1vZGFsU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6TnpNZXNzYWdlU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2goKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaCgpe1xyXG4gICAgaWYodGhpcy50YWJsZUlkKXtcclxuXHJcbiAgICAgIHRoaXMuaHR0cFNlcnZpY2UuZmluZENvbHVtbkJ5SWQodGhpcy50YWJsZUlkLChyZXM6YW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2cocmVzKTtcclxuICAgICAgICBpZihyZXMuc3VjY2VzcyApe1xyXG4gICAgICAgICAgdGhpcy5jb2x1bW5MaXN0ID0gcmVzLmRhdGE7XHJcblxyXG4gICAgICAgICAgbGV0IG5hbWVMaXN0IDphbnk9IFtdO1xyXG4gICAgICAgICAgbGV0IGkgID0wIDtcclxuICAgICAgICAgIHRoaXMuY29sdW1uTGlzdC5mb3JFYWNoKChjb2x1bW46YW55KT0+e1xyXG4gICAgICAgICAgICB0aGlzLmNvbHVtbk1hcFtpXSA9IGNvbHVtbi5uYW1lO1xyXG4gICAgICAgICAgICBuYW1lTGlzdC5wdXNoKGNvbHVtbi5uYW1lKTtcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHRoaXMubmFtZUxpc3QgPSBuYW1lTGlzdDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICAgICAgdGhpcy5odHRwU2VydmljZS5saXN0RGF0YSh0aGlzLnRhYmxlSWQsdGhpcy5jb25kaXRpb24sKHJlczphbnkpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhyZXMpO1xyXG4gICAgICAgIGlmKHJlcy5zdWNjZXNzICl7XHJcbiAgICAgICAgICAvLyB0aGlzLmRhdGFMaXN0ID0gcmVzLmRhdGE7XHJcbiAgICAgICAgICBsZXQgZGF0YUxpc3QgPSByZXMuZGF0YTtcclxuICAgICAgICAgIGxldCBsaXN0OmFueSA9IFtdO1xyXG5cclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSBkYXRhTGlzdFtpXTtcclxuICAgICAgICAgICAgbGV0IGFyciA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IHRoaXMubmFtZUxpc3QubGVuZ3RoOyBrKyspIHtcclxuICAgICAgICAgICAgICBsZXQgb2JqID0gZGF0YVt0aGlzLm5hbWVMaXN0W2tdXTtcclxuICAgICAgICAgICAgICBpZihvYmope1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgb2JqID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgICAgICAgICAgICAgIH1jYXRjaCAoZSl7fVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBhcnIucHVzaChvYmopO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpc3QucHVzaChhcnIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5kYXRhTGlzdCA9IGxpc3Q7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsID0gcmVzLnRvdGFsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDmlLnlj5jpobXmlbBcclxuICAgKi9cclxuICBjaGFuZ2VQYWdlSW5kZXgocGFnZUluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuY29uZGl0aW9uLnBhZ2UgPSBwYWdlSW5kZXg7XHJcbiAgICB0aGlzLnNlYXJjaCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5pS55Y+Y5LiA6aG15pi+56S65aSa5bCRXHJcbiAgICovXHJcbiAgY2hhbmdlUGFnZVNpemUocGFnZVNpemU6IGFueSkge1xyXG4gICAgdGhpcy5jb25kaXRpb24uc2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5zZWFyY2goKTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPG56LXRhYmxlICNiYXNpY1RhYmxlXHJcbiAgICAgICAgICBbbnpEYXRhXT1cImRhdGFMaXN0XCJcclxuICAgICAgICAgIFtuelNob3dQYWdpbmF0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgW256RnJvbnRQYWdpbmF0aW9uXT1cImZhbHNlXCJcclxuICAgICAgICAgIFtuelNob3dRdWlja0p1bXBlcl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtuelRvdGFsXT1cInRvdGFsXCJcclxuICAgICAgICAgIFsobnpQYWdlSW5kZXgpXT1cImNvbmRpdGlvbi5wYWdlXCJcclxuICAgICAgICAgIFsobnpQYWdlU2l6ZSldPVwiY29uZGl0aW9uLnNpemVcIlxyXG4gICAgICAgICAgKG56UGFnZUluZGV4Q2hhbmdlKT1cImNoYW5nZVBhZ2VJbmRleCgkZXZlbnQpXCJcclxuICAgICAgICAgIChuelBhZ2VTaXplQ2hhbmdlKT1cImNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG4+XHJcbiAgPHRoZWFkPlxyXG4gIDx0cj5cclxuPCEtLSAgICA8dGggbnpBbGlnbj1cImNlbnRlclwiIG56V2lkdGg9XCI2MHB4XCI+5bqP5Y+3PC90aD4tLT5cclxuICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbkxpc3RcIiBuekFsaWduPVwiY2VudGVyXCIgbnpXaWR0aD1cIjYwcHhcIj57e2NvbHVtbi50aXRsZX19PC90aD5cclxuPCEtLSAgICA8dGggbnpBbGlnbj1cImNlbnRlclwiIG56V2lkdGg9XCIxNjBweFwiPuaVsOaNruW6k+ihqOWQjTwvdGg+LS0+XHJcbjwhLS0gICAgPHRoIG56QWxpZ249XCJjZW50ZXJcIiBueldpZHRoPVwiMTYwcHhcIj7mlofku7bnsbvlnos8L3RoPi0tPlxyXG48IS0tICAgIDx0aCBuekFsaWduPVwiY2VudGVyXCIgbnpXaWR0aD1cIjYwcHhcIj7liJvlu7rml7bpl7Q8L3RoPi0tPlxyXG48IS0tICAgIDx0aCBuekFsaWduPVwiY2VudGVyXCIgbnpXaWR0aD1cIjE2MHB4XCI+5pON5L2cPC90aD4tLT5cclxuICA8L3RyPlxyXG4gIDwvdGhlYWQ+XHJcbiAgPHRib2R5PlxyXG4gIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBiYXNpY1RhYmxlLmRhdGEsbGV0IGkgPSBpbmRleFwiIHN0eWxlPVwiaGVpZ2h0OjQwcHg7XCI+XHJcbiAgICA8dGQgKm5nRm9yPVwibGV0IG9iaiBvZiBkYXRhO2luZGV4IGFzIGpcIiAgbnpBbGlnbj1cImNlbnRlclwiPnt7IG9iaiB9fTwvdGQ+XHJcbjwhLS0gICAgPHRkIG56QWxpZ249XCJjZW50ZXJcIj57e2kgKyAxfX08L3RkPi0tPlxyXG48IS0tICAgIDx0ZCBuekFsaWduPVwiY2VudGVyXCI+e3sgZGF0YS50aXRsZSB9fTwvdGQ+LS0+XHJcbjwhLS0gICAgPHRkIG56QWxpZ249XCJjZW50ZXJcIj57eyBkYXRhLm5hbWUgfX08L3RkPi0tPlxyXG48IS0tICAgIDx0ZCBuekFsaWduPVwiY2VudGVyXCI+e3sgZGF0YS5pbXBvcnRzX3R5cGUgfX08L3RkPi0tPlxyXG48IS0tICAgIDx0ZCBuekFsaWduPVwiY2VudGVyXCI+e3sgZGF0YS5jcmVhdGVfZGF0ZV90aW1lIH19PC90ZD4tLT5cclxuICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvbnotdGFibGU+XHJcbiJdfQ==
|