ngx-render-material-forms 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/select/select.component.mjs +9 -5
- package/fesm2015/ngx-render-material-forms.js +9 -4
- package/fesm2015/ngx-render-material-forms.mjs.map +1 -1
- package/fesm2020/ngx-render-material-forms.js +8 -4
- package/fesm2020/ngx-render-material-forms.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -30,8 +30,8 @@ export class MaterialSelectComponent extends MaterialComponent {
|
|
|
30
30
|
this._onDestroy = new Subject();
|
|
31
31
|
// Variables to track pagination
|
|
32
32
|
this.pageNumber = 1;
|
|
33
|
-
this.pageSize =
|
|
34
|
-
this.totalPages =
|
|
33
|
+
this.pageSize = 20;
|
|
34
|
+
this.totalPages = 0;
|
|
35
35
|
this.searchQuery = '';
|
|
36
36
|
this.holy = '';
|
|
37
37
|
this.grail = '';
|
|
@@ -86,10 +86,12 @@ export class MaterialSelectComponent extends MaterialComponent {
|
|
|
86
86
|
if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
|
|
87
87
|
const scrollElement = event.target;
|
|
88
88
|
const trackHeight = scrollElement.scrollHeight - scrollElement.offsetHeight;
|
|
89
|
+
console.log('productsloadingFlagScroll=>', this.productsloadingFlag);
|
|
89
90
|
if (this.productsloadingFlag && Math.floor(scrollElement.scrollTop / trackHeight * 100) > 50) {
|
|
90
91
|
this.productsloadingFlag = false;
|
|
91
|
-
if (this.pageNumber < this.totalPages
|
|
92
|
+
if (this.pageNumber < this.totalPages) {
|
|
92
93
|
this.pageNumber = this.pageNumber + 1;
|
|
94
|
+
console.log('this.pageNumber', this.pageNumber, this.totalPages);
|
|
93
95
|
this.loadData(this.pageNumber, this.pageSize, this.searchQuery);
|
|
94
96
|
}
|
|
95
97
|
}
|
|
@@ -137,7 +139,7 @@ export class MaterialSelectComponent extends MaterialComponent {
|
|
|
137
139
|
const baseApiUrl = baseUrlMapping[hostname] || null;
|
|
138
140
|
this.http.get(`${baseApiUrl}/api/VendorFormBuilder/GetVendorProducts?vendorId=${envendorId}&pageNumber=${enpageNumber}&pageSize=${enpageSize}&search=${ensearchQuery}&onlyActive=${enactive}&includeDescription=${endescription}`, { headers }).subscribe(response => {
|
|
139
141
|
if (response && response.code === 200) {
|
|
140
|
-
this.totalPages = response
|
|
142
|
+
this.totalPages = response?.data?.totalPages;
|
|
141
143
|
if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
|
|
142
144
|
const transformedData = this.transformResponseData(response.data.dataSource);
|
|
143
145
|
// Process the transformed data
|
|
@@ -150,6 +152,8 @@ export class MaterialSelectComponent extends MaterialComponent {
|
|
|
150
152
|
setTimeout(() => {
|
|
151
153
|
this.productsloadingFlag = true;
|
|
152
154
|
}, 1000);
|
|
155
|
+
console.log('productsloadingFlag', this.productsloadingFlag);
|
|
156
|
+
console.log('totalPage=>', this.totalPages);
|
|
153
157
|
}
|
|
154
158
|
});
|
|
155
159
|
}
|
|
@@ -346,4 +350,4 @@ SelectComponent.prototype.setItems = function (...args) {
|
|
|
346
350
|
}
|
|
347
351
|
};
|
|
348
352
|
export { SelectComponent };
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFpQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxlQUFlLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQVUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkYsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBMEV6QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBbUI1RCxZQUFtQixPQUFtQixFQUFTLEdBQXNCLEVBQVMsSUFBZ0I7UUFDNUYsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQURILFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQVk7UUFkdkYscUJBQWdCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEQsMkJBQXNCLEdBQWdCLElBQUksV0FBVyxF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STtJQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRTtRQUN6RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2pFO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbENvbXBvbmVudCB9IGZyb20gJy4uL01hdGVyaWFsQ29tcG9uZW50JztcclxuaW1wb3J0IFNlbGVjdENvbXBvbmVudCBmcm9tICdmb3JtaW9qcy9jb21wb25lbnRzL3NlbGVjdC9TZWxlY3QuanMnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCAqIGFzIENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAndXRpbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LWZvcm1pby1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWZvcm1pby1mb3JtLWZpZWxkIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIFtjb21wb25lbnRUZW1wbGF0ZV09XCJjb21wb25lbnRUZW1wbGF0ZVwiPjwvbWF0LWZvcm1pby1mb3JtLWZpZWxkPlxyXG4gICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRUZW1wbGF0ZSBsZXQtaGFzTGFiZWw+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZpbGw+XHJcblxyXG4gICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJoYXNMYWJlbFwiPlxyXG4gICAgICAgICAgPHNwYW4gW2luc3RhbmNlXT1cImluc3RhbmNlXCIgbWF0Rm9ybWlvTGFiZWw+PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxhYmVsPlxyXG5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImluc3RhbmNlLmNvbXBvbmVudC5wcmVmaXhcIiBtYXRQcmVmaXg+XHJcbiAgICAgICAgICB7eyBpbnN0YW5jZS5jb21wb25lbnQucHJlZml4IH19Jm5ic3A7XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0XHJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwiaW5zdGFuY2UuY29tcG9uZW50Lm11bHRpcGxlXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpbnN0YW5jZS5jb21wb25lbnQucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlT2JqZWN0c1wiXHJcbiAgICAgICAgICAgICAgICAjcHJvZHVjdFNlbGVjdFxyXG4gICAgICAgICAgICAgICAgKG9wZW5lZENoYW5nZSk9XCJvbk1hdFNlbGVjdE9wZW4oJGV2ZW50ID8gc2VsZWN0RWxlbSA6IG51bGwpXCJcclxuICAgICAgICA+XHJcblxyXG4gICAgICAgIDxtYXQtb3B0aW9uPlxyXG4gICAgICAgIDxuZ3gtbWF0LXNlbGVjdC1zZWFyY2ggKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2hJbnB1dENoYW5nZSgkZXZlbnQpXCIgcGxhY2Vob2xkZXJMYWJlbD1cIlR5cGUgdG8gc2VhcmNoXCIgW2Zvcm1Db250cm9sXT1cIndlYnNpdGVNdWx0aUZpbHRlckN0cmxcIj48L25neC1tYXQtc2VsZWN0LXNlYXJjaD5cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIiBjbGFzcz1cInZpcnR1YWwtZnVsbC12aWV3XCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIm9wdGlvbi5sYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgICA8L21hdC1vcHRpb24+ICAgXHJcblxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCIhZmlsdGVyZWRPcHRpb25zTGVuZ3RoXCIgZGlzYWJsZWQ+XHJcbiAgICAgICAgICAgIDxzcGFuPk5vdGhpbmcgd2FzIGZvdW5kPC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuXHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQuc3VmZml4XCIgbWF0U3VmZml4PlxyXG4gICAgICAgICAge3sgaW5zdGFuY2UuY29tcG9uZW50LnN1ZmZpeCB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaW5zdGFuY2UuZXJyb3JcIj57eyBpbnN0YW5jZS5lcnJvci5tZXNzYWdlIH19PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gIC5leGFtcGxlLXZpZXdwb3J0IHtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5wcm9kdWN0LXBpY2tlciB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IC8qIERpc2FibGUgaG9yaXpvbnRhbCBzY3JvbGxpbmcgKi9cclxuICB9XHJcblxyXG4gIC52aXJ0dWFsLWZ1bGwtdmlldyB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQgIWltcG9ydGFudDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIDo6bmctZGVlcCAucHJvZHVjdC1waWNrZXIgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xyXG4gICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnZpcnR1YWwtZnVsbC12aWV3IC5tYXQtcHNldWRvLWNoZWNrYm94IHtcclxuICAgIGFsaWduLXNlbGY6IHRvcCAhaW1wb3J0YW50O1xyXG4gIH1cclxuYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTWF0ZXJpYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgc2VsZWN0T3B0aW9uczogUHJvbWlzZTxhbnlbXT47XHJcbiAgZmlsdGVyZWRPcHRpb25zOiBQcm9taXNlPGFueVtdPjtcclxuICBmaWx0ZXJlZE9wdGlvbnNMZW5ndGg6IG51bWJlcjtcclxuICBzZWxlY3RPcHRpb25zUmVzb2x2ZTogYW55O1xyXG4gIHB1YmxpYyB3ZWJzaXRlTXVsdGlDdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIHB1YmxpYyB3ZWJzaXRlTXVsdGlGaWx0ZXJDdHJsOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpU2VsZWN0JywgeyBzdGF0aWM6IHRydWUgfSkgbXVsdGlTZWxlY3Q6IE1hdFNlbGVjdDtcclxuICBwcm90ZWN0ZWQgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgQFZpZXdDaGlsZCgncHJvZHVjdFNlbGVjdCcpIHNlbGVjdEVsZW06IE1hdFNlbGVjdDtcclxuICAvLyBWYXJpYWJsZXMgdG8gdHJhY2sgcGFnaW5hdGlvblxyXG4gIHBhZ2VOdW1iZXIgPSAxO1xyXG4gIHBhZ2VTaXplID0gMztcclxuICB0b3RhbFBhZ2VzID0gMztcclxuICBzZWFyY2hRdWVyeSA9ICcnO1xyXG4gIGhvbHk6IGFueSA9ICcnO1xyXG4gIGdyYWlsOiBhbnkgPSAnJztcclxuICBwcm9kdWN0c2xvYWRpbmdGbGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoRmxhZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoZWxlbWVudCwgcmVmKTtcclxuICAgIHRoaXMuaG9seSA9IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UoJzhGLzIrVDJOWHFVQlFFUlIxMlI0c3c9PScpO1xyXG4gICAgdGhpcy5ncmFpbCA9IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UoJ3lFMENnUWJZeks1d3Flb0tUVnpoT1E9PScpO1xyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMub25DbGVhckFsbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlYXJjaEZsYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBzY3J1bWJsZShtc2cpIHtcclxuICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQobXNnKSkge1xyXG4gICAgICB2YXIgY29uY2VhbCA9IHRoaXMuZ2V0Y2FtcGFpZ24obXNnLCB0aGlzLmhvbHksIHRoaXMuZ3JhaWwpO1xyXG4gICAgICB2YXIgc2hhMjU2ID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihDcnlwdG9KUy5lbmMuQmFzZTY0LnN0cmluZ2lmeSh0aGlzLmdyYWlsKSArIGNvbmNlYWwudG9TdHJpbmcoKSwgQ3J5cHRvSlMuZW5jLkJhc2U2NC5zdHJpbmdpZnkodGhpcy5ob2x5KSk7XHJcbiAgICAgIHZhciBoYXNoSW5CYXNlNjQgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnN0cmluZ2lmeShzaGEyNTYpO1xyXG4gICAgICBsZXQga2V5VmFsdWUgPSB7XHJcbiAgICAgICAgXCJ2YWx1ZVwiOiBjb25jZWFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgXCJtYWNcIjogaGFzaEluQmFzZTY0XHJcbiAgICAgIH07XHJcbiAgICAgIHZhciByZXN1bHQgPSBKU09OLnN0cmluZ2lmeShrZXlWYWx1ZSk7XHJcbiAgICAgIHZhciBqdW1ibGVkID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KGp1bWJsZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Y2FtcGFpZ24oZGF0YTogYW55LCBob2x5OiBhbnksIGdyYWlsOiBhbnkpIHtcclxuICAgIHJldHVybiBDcnlwdG9KUy5BRVMuZW5jcnlwdChkYXRhLnRvU3RyaW5nKCksIGhvbHksXHJcbiAgICAgIHtcclxuICAgICAgICBibG9ja1NpemU6IDEyOCxcclxuICAgICAgICBpdjogZ3JhaWwsXHJcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXHJcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIE1ldGhvZCB0byBoYW5kbGUgd2hlbiB0aGUgbWF0LXNlbGVjdCBpcyBvcGVuZWRcclxuICBvbk1hdFNlbGVjdE9wZW4oc2VsZWN0OiBNYXRTZWxlY3QpIHtcclxuICAgIHRoaXMuc2VsZWN0RWxlbSA9IHNlbGVjdDtcclxuICAgIHRoaXMucmVnaXN0ZXJQYW5lbFNjcm9sbEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3RlclBhbmVsU2Nyb2xsRXZlbnQoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RFbGVtKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0RWxlbS5wYW5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwuYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNjcm9sbChldmVudCkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndmVuZG9ycHJvZHVjdGlkJykge1xyXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICBjb25zdCB0cmFja0hlaWdodCA9IHNjcm9sbEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgIGlmICh0aGlzLnByb2R1Y3RzbG9hZGluZ0ZsYWcgJiYgTWF0aC5mbG9vcihzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCAvIHRyYWNrSGVpZ2h0ICogMTAwKSA+IDUwKSB7XHJcbiAgICAgICAgdGhpcy5wcm9kdWN0c2xvYWRpbmdGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMucGFnZU51bWJlciA8IHRoaXMudG90YWxQYWdlcyAmJiB0aGlzLnRvdGFsUGFnZXMgPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VOdW1iZXIgPSB0aGlzLnBhZ2VOdW1iZXIgKyAxO1xyXG4gICAgICAgICAgdGhpcy5sb2FkRGF0YSh0aGlzLnBhZ2VOdW1iZXIsIHRoaXMucGFnZVNpemUsIHRoaXMuc2VhcmNoUXVlcnkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGJ5IGtleSBmcm9tIHRoZSBhcnJheVxyXG4gIGdldFZhbHVlQnlLZXkoZGF0YSwga2V5KSB7XHJcbiAgICBpZiAoIWRhdGEgfHwgZGF0YS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7IC8vIFJldHVybiBudWxsIGlmIGRhdGEgaXMgZW1wdHkgb3IgdW5kZWZpbmVkXHJcbiAgICB9XHJcbiAgICBjb25zdCBpdGVtID0gZGF0YS5maW5kKGt2ID0+IGt2LmtleS50b0xvd2VyQ2FzZSgpID09PSBrZXkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICByZXR1cm4gaXRlbSA/IGl0ZW0udmFsdWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbG9hZERhdGEocGFnZU51bWJlciwgcGFnZVNpemUsIHNlYXJjaFF1ZXJ5KSB7XHJcbiAgICBjb25zdCBwYXJhbXNEYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdFBpY2tlcicpKTtcclxuICAgIGNvbnN0IGluY2x1ZGVEZXNjcmlwdGlvbiA9IHRoaXMuZ2V0VmFsdWVCeUtleShwYXJhbXNEYXRhLCAnaW5jbHVkZURlc2NyaXB0aW9uJyk7XHJcbiAgICBjb25zdCB2ZW5kb3JJZCA9IHRoaXMuZ2V0VmFsdWVCeUtleShwYXJhbXNEYXRhLCAndmVuZG9ySWQnKTtcclxuICAgIGNvbnN0IG9ubHlBY3RpdmUgPSB0aGlzLmdldFZhbHVlQnlLZXkocGFyYW1zRGF0YSwgJ29ubHlBY3RpdmUnKTtcclxuICAgIHZhciBjdXJyZW50VXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJykpO1xyXG4gICAgdmFyIGFjY2Vzc1Rva2VuID0gY3VycmVudFVzZXIuVG9rZW5zLkFjY2Vzc1Rva2VuO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICdBdXRob3JpemF0aW9uJzogJ0JlYXJlciAnICsgYWNjZXNzVG9rZW5cclxuICAgIH0pO1xyXG4gICAgaW50ZXJmYWNlIFZlbmRvclByb2R1Y3RzUmVzcG9uc2Uge1xyXG4gICAgICBjb2RlOiBudW1iZXI7XHJcbiAgICAgIGRhdGE6IGFueTtcclxuICAgICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgICBzdGF0dXNDb2RlOiBudW1iZXI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBlbnZlbmRvcklkID0gdGhpcy5zY3J1bWJsZSh2ZW5kb3JJZClcclxuICAgIGNvbnN0IGVucGFnZU51bWJlciA9IHRoaXMuc2NydW1ibGUocGFnZU51bWJlcilcclxuICAgIGNvbnN0IGVucGFnZVNpemUgPSB0aGlzLnNjcnVtYmxlKHBhZ2VTaXplKTtcclxuICAgIGNvbnN0IGVuc2VhcmNoUXVlcnkgPSB0aGlzLnNjcnVtYmxlKHNlYXJjaFF1ZXJ5KTtcclxuICAgIGNvbnN0IGVuYWN0aXZlID0gdGhpcy5zY3J1bWJsZShvbmx5QWN0aXZlKTtcclxuICAgIC8vIGNvbnN0IGVuZGVzY3JpcHRpb24gPSB0aGlzLnNjcnVtYmxlKGluY2x1ZGVEZXNjcmlwdGlvbik7XHJcblxyXG4gICAgLy8gU2NydW1ibGUgYW5kIGhhbmRsZSB0aGUgaW5jbHVkZURlc2NyaXB0aW9uIHBhcmFtZXRlclxyXG4gIGxldCBlbmRlc2NyaXB0aW9uID0gdGhpcy5zY3J1bWJsZShpbmNsdWRlRGVzY3JpcHRpb24pO1xyXG4gIGlmICghZW5kZXNjcmlwdGlvbikge1xyXG4gICAgZW5kZXNjcmlwdGlvbiA9IHRoaXMuc2NydW1ibGUoZmFsc2UpOyAgLy8gU2V0IHRvICdmYWxzZScgaWYgdW5kZWZpbmVkLCBudWxsLCBvciBibGFua1xyXG4gIH1cclxuICAgIFxyXG4gICAgY29uc3QgYmFzZVVybE1hcHBpbmcgPSB7XHJcbiAgICAgICdsb2NhbGhvc3QnOiAnaHR0cDovL2xvY2FsaG9zdDo1ODUwNCcsXHJcbiAgICAgICdsaW5jb2xuLnZhcnRvcGlhLmNvbSc6ICdodHRwczovL2xpbmNvbG4tYXBpLnZhcnRvcGlhLmNvbScsXHJcbiAgICAgICdzdGFnZS52YXJ0b3BpYS5jb20nOiAnaHR0cHM6Ly9zdGFnZS1hcGkudmFydG9waWEuY29tJyxcclxuICAgICAgJ215LnZhcnRvcGlhLmNvbSc6ICdodHRwczovL3JlYWdhbi1hcGkudmFydG9waWEuY29tJyxcclxuICAgICAgJ2phY2tzb24udmFydG9waWEuY29tJzogJ2h0dHBzOi8vamFja3Nvbi1hcGkudmFydG9waWEuY29tJ1xyXG4gICAgfTtcclxuICAgIC8vIEdldCB0aGUgY3VycmVudCBob3N0bmFtZVxyXG4gICAgY29uc3QgaG9zdG5hbWUgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XHJcbiAgICBjb25zdCBiYXNlQXBpVXJsID0gYmFzZVVybE1hcHBpbmdbaG9zdG5hbWVdIHx8IG51bGw7XHJcbiAgICB0aGlzLmh0dHAuZ2V0PFZlbmRvclByb2R1Y3RzUmVzcG9uc2U+KGAke2Jhc2VBcGlVcmx9L2FwaS9WZW5kb3JGb3JtQnVpbGRlci9HZXRWZW5kb3JQcm9kdWN0cz92ZW5kb3JJZD0ke2VudmVuZG9ySWR9JnBhZ2VOdW1iZXI9JHtlbnBhZ2VOdW1iZXJ9JnBhZ2VTaXplPSR7ZW5wYWdlU2l6ZX0mc2VhcmNoPSR7ZW5zZWFyY2hRdWVyeX0mb25seUFjdGl2ZT0ke2VuYWN0aXZlfSZpbmNsdWRlRGVzY3JpcHRpb249JHtlbmRlc2NyaXB0aW9ufWAsIHsgaGVhZGVycyB9KS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xyXG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgdGhpcy50b3RhbFBhZ2VzID0gcmVzcG9uc2UuZGF0YS5kYXRhU291cmNlO1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ3ZlbmRvcnByb2R1Y3RpZCcpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGEgPSB0aGlzLnRyYW5zZm9ybVJlc3BvbnNlRGF0YShyZXNwb25zZS5kYXRhLmRhdGFTb3VyY2UpO1xyXG4gICAgICAgIC8vIFByb2Nlc3MgdGhlIHRyYW5zZm9ybWVkIGRhdGFcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gUHJvbWlzZS5yZXNvbHZlKHRyYW5zZm9ybWVkRGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCxcclxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXHJcbiAgICAgICAgICAgIGRhdGU6IGl0ZW0uZGF0ZVxyXG4gICAgICAgICAgfSkpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnByb2R1Y3RzbG9hZGluZ0ZsYWcgPSB0cnVlO1xyXG4gICAgICAgIH0sIDEwMDApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFV0aWxpdHkgZnVuY3Rpb24gdG8gdHJhbnNmb3JtIHJlc3BvbnNlIGRhdGFcclxuICB0cmFuc2Zvcm1SZXNwb25zZURhdGEoZGF0YTogQXJyYXk8eyB0ZXh0OiBhbnksIHZhbHVlOiBhbnksIGRhdGU6IGFueSB9PiB8IG51bGwgfCB1bmRlZmluZWQpOiBBcnJheTx7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIsIGRhdGU6IHN0cmluZyB9PiB7XHJcbiAgICAvLyBDaGVjayBpZiBkYXRhIGlzIG5vdCBudWxsLCB1bmRlZmluZWQsIGFuZCBpcyBhbiBhcnJheSB3aXRoIGVsZW1lbnRzXHJcbiAgICBpZiAoZGF0YSAmJiBBcnJheS5pc0FycmF5KGRhdGEpICYmIGRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAgIGxhYmVsOiBpdGVtLnRleHQsXHJcbiAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXHJcbiAgICAgICAgZGF0ZTogaXRlbS5kYXRlXHJcbiAgICAgIH0pKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFJldHVybiBhbiBlbXB0eSBhcnJheSBpZiBkYXRhIGlzIG51bGwsIHVuZGVmaW5lZCwgb3IgZW1wdHlcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgZmlsdGVyV2Vic2l0ZU11bHRpKCkge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdE9wdGlvbnMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IHNlYXJjaCA9IHRoaXMud2Vic2l0ZU11bHRpRmlsdGVyQ3RybC52YWx1ZTtcclxuICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLnNlbGVjdE9wdGlvbnMudGhlbigob3B0aW9ucykgPT4ge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZCA9IG9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5sYWJlbC5yZXBsYWNlKC88XFwvP3NwYW5bXj5dKj4vZywgXCJcIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaCkgIT09IC0xKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNMZW5ndGggPSBmaWx0ZXJlZC5sZW5ndGg7XHJcbiAgICAgIHJldHVybiBmaWx0ZXJlZDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fb25EZXN0cm95Lm5leHQoJycpO1xyXG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLypFbmQqL1xyXG4gIHNldEluc3RhbmNlKGluc3RhbmNlOiBhbnkpIHtcclxuICAgIHN1cGVyLnNldEluc3RhbmNlKGluc3RhbmNlKTtcclxuICAgIHRoaXMuaW5zdGFuY2UudHJpZ2dlclVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhckFsbCgpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaEZsYWcpIHtcclxuICAgICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndmVuZG9ycHJvZHVjdGlkJykge1xyXG4gICAgICAgIHRoaXMubG9hZERhdGEoMSwgMjAsICcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZWxlY3RFbGVtLm9wZW5lZENoYW5nZS5zdWJzY3JpYmUoKGlzT3BlbjogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoaXNPcGVuKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndmVuZG9ycHJvZHVjdGlkJykge1xyXG4gICAgICAgICAgdGhpcy5sb2FkRGF0YSgxLCAyMCwgJycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlYXJjaEZsYWcgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLypuZXcgbG9naWMgKi9cclxuICAgIGlmICh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ3ZlbmRvcnByb2R1Y3RpZCcpIHtcclxuICAgICAgdGhpcy53ZWJzaXRlTXVsdGlGaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLCAvLyBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIGtleSBldmVudHNcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSlcclxuICAgICAgICAuc3Vic2NyaWJlKChzZWFyY2hRdWVyeSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHNlYXJjaFF1ZXJ5ICE9ICcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRmxhZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZERhdGEoMSwgMjAsIHNlYXJjaFF1ZXJ5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud2Vic2l0ZU11bHRpRmlsdGVyQ3RybC52YWx1ZUNoYW5nZXNcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJXZWJzaXRlTXVsdGkoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8qRW5kICovXHJcbiAgICB0aGlzLnNlbGVjdE9wdGlvbnMgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbnNSZXNvbHZlID0gcmVzb2x2ZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZWxlY3RPcHRpb25zLnRoZW4oKG9wdGlvbnMpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnNMZW5ndGggPSBvcHRpb25zLmxlbmd0aDtcclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLnNlbGVjdE9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlT2JqZWN0cyhvMTogYW55LCBvMjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gXy5pc0VxdWFsKG8xLCBvMik7XHJcbiAgfVxyXG59XHJcblNlbGVjdENvbXBvbmVudC5NYXRlcmlhbENvbXBvbmVudCA9IE1hdGVyaWFsU2VsZWN0Q29tcG9uZW50O1xyXG5cclxuLy8gTWFrZSBzdXJlIHdlIGRldGVjdCBjaGFuZ2VzIHdoZW4gbmV3IGl0ZW1zIG1ha2UgdGhlaXIgd2F5IGludG8gdGhlIHNlbGVjdCBkcm9wZG93bi5cclxuY29uc3Qgc2V0SXRlbXMgPSBTZWxlY3RDb21wb25lbnQucHJvdG90eXBlLnNldEl0ZW1zO1xyXG5TZWxlY3RDb21wb25lbnQucHJvdG90eXBlLnNldEl0ZW1zID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICBzZXRJdGVtcy5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xyXG4gIGlmICh0aGlzLm1hdGVyaWFsQ29tcG9uZW50ICYmIHRoaXMubWF0ZXJpYWxDb21wb25lbnQuc2VsZWN0T3B0aW9uc1Jlc29sdmUpIHtcclxuICAgIHRoaXMubWF0ZXJpYWxDb21wb25lbnQuc2VsZWN0T3B0aW9uc1Jlc29sdmUodGhpcy5zZWxlY3RPcHRpb25zKTtcclxuICB9XHJcbn07XHJcblxyXG5leHBvcnQgeyBTZWxlY3RDb21wb25lbnQgfTtcclxuIl19
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZW5kZXItbWF0ZXJpYWwtZm9ybXMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFpQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxlQUFlLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQVUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkYsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBMEV6QyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBbUI1RCxZQUFtQixPQUFtQixFQUFTLEdBQXNCLEVBQVMsSUFBZ0I7UUFDNUYsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQURILFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQVk7UUFkdkYscUJBQWdCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEQsMkJBQXNCLEdBQWdCLElBQUksV0FBVyxF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V0FBVztzQkFBdEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVkLFVBQVU7c0JBQXJDLFNBQVM7dUJBQUMsZUFBZTs7QUE4UDVCLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUU1RCxzRkFBc0Y7QUFDdEYsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDcEQsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLElBQUk7SUFDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUU7UUFDekUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNqRTtBQUNILENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxDb21wb25lbnQgfSBmcm9tICcuLi9NYXRlcmlhbENvbXBvbmVudCc7XHJcbmltcG9ydCBTZWxlY3RDb21wb25lbnQgZnJvbSAnZm9ybWlvanMvY29tcG9uZW50cy9zZWxlY3QvU2VsZWN0LmpzJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgKiBhcyBDcnlwdG9KUyBmcm9tICdjcnlwdG8tanMnO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ3V0aWwnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hdC1mb3JtaW8tc2VsZWN0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1mb3JtaW8tZm9ybS1maWVsZCBbaW5zdGFuY2VdPVwiaW5zdGFuY2VcIiBbY29tcG9uZW50VGVtcGxhdGVdPVwiY29tcG9uZW50VGVtcGxhdGVcIj48L21hdC1mb3JtaW8tZm9ybS1maWVsZD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50VGVtcGxhdGUgbGV0LWhhc0xhYmVsPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGaWxsPlxyXG5cclxuICAgICAgICA8bWF0LWxhYmVsICpuZ0lmPVwiaGFzTGFiZWxcIj5cclxuICAgICAgICAgIDxzcGFuIFtpbnN0YW5jZV09XCJpbnN0YW5jZVwiIG1hdEZvcm1pb0xhYmVsPjwvc3Bhbj5cclxuICAgICAgICA8L21hdC1sYWJlbD5cclxuXHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnN0YW5jZS5jb21wb25lbnQucHJlZml4XCIgbWF0UHJlZml4PlxyXG4gICAgICAgICAge3sgaW5zdGFuY2UuY29tcG9uZW50LnByZWZpeCB9fSZuYnNwO1xyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgW211bHRpcGxlXT1cImluc3RhbmNlLmNvbXBvbmVudC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaW5zdGFuY2UuY29tcG9uZW50LnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZU9iamVjdHNcIlxyXG4gICAgICAgICAgICAgICAgI3Byb2R1Y3RTZWxlY3RcclxuICAgICAgICAgICAgICAgIChvcGVuZWRDaGFuZ2UpPVwib25NYXRTZWxlY3RPcGVuKCRldmVudCA/IHNlbGVjdEVsZW0gOiBudWxsKVwiXHJcbiAgICAgICAgPlxyXG5cclxuICAgICAgICA8bWF0LW9wdGlvbj5cclxuICAgICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoSW5wdXRDaGFuZ2UoJGV2ZW50KVwiIHBsYWNlaG9sZGVyTGFiZWw9XCJUeXBlIHRvIHNlYXJjaFwiIFtmb3JtQ29udHJvbF09XCJ3ZWJzaXRlTXVsdGlGaWx0ZXJDdHJsXCI+PC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuXHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zIHwgYXN5bmNcIiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCIgY2xhc3M9XCJ2aXJ0dWFsLWZ1bGwtdmlld1wiPlxyXG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJvcHRpb24ubGFiZWxcIj48L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPiAgIFxyXG5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiIWZpbHRlcmVkT3B0aW9uc0xlbmd0aFwiIGRpc2FibGVkPlxyXG4gICAgICAgICAgICA8c3Bhbj5Ob3RoaW5nIHdhcyBmb3VuZDwvc3Bhbj5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcblxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaW5zdGFuY2UuY29tcG9uZW50LnN1ZmZpeFwiIG1hdFN1ZmZpeD5cclxuICAgICAgICAgIHt7IGluc3RhbmNlLmNvbXBvbmVudC5zdWZmaXggfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImluc3RhbmNlLmVycm9yXCI+e3sgaW5zdGFuY2UuZXJyb3IubWVzc2FnZSB9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAuZXhhbXBsZS12aWV3cG9ydCB7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gIH1cclxuICBcclxuICAucHJvZHVjdC1waWNrZXIge1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyAvKiBEaXNhYmxlIGhvcml6b250YWwgc2Nyb2xsaW5nICovXHJcbiAgfVxyXG5cclxuICAudmlydHVhbC1mdWxsLXZpZXcge1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA6Om5nLWRlZXAgLnByb2R1Y3QtcGlja2VyIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHtcclxuICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC52aXJ0dWFsLWZ1bGwtdmlldyAubWF0LXBzZXVkby1jaGVja2JveCB7XHJcbiAgICBhbGlnbi1zZWxmOiB0b3AgIWltcG9ydGFudDtcclxuICB9XHJcbmBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbFNlbGVjdENvbXBvbmVudCBleHRlbmRzIE1hdGVyaWFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHNlbGVjdE9wdGlvbnM6IFByb21pc2U8YW55W10+O1xyXG4gIGZpbHRlcmVkT3B0aW9uczogUHJvbWlzZTxhbnlbXT47XHJcbiAgZmlsdGVyZWRPcHRpb25zTGVuZ3RoOiBudW1iZXI7XHJcbiAgc2VsZWN0T3B0aW9uc1Jlc29sdmU6IGFueTtcclxuICBwdWJsaWMgd2Vic2l0ZU11bHRpQ3RybDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBwdWJsaWMgd2Vic2l0ZU11bHRpRmlsdGVyQ3RybDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBAVmlld0NoaWxkKCdtdWx0aVNlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIG11bHRpU2VsZWN0OiBNYXRTZWxlY3Q7XHJcbiAgcHJvdGVjdGVkIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdCgpO1xyXG4gIEBWaWV3Q2hpbGQoJ3Byb2R1Y3RTZWxlY3QnKSBzZWxlY3RFbGVtOiBNYXRTZWxlY3Q7XHJcbiAgLy8gVmFyaWFibGVzIHRvIHRyYWNrIHBhZ2luYXRpb25cclxuICBwYWdlTnVtYmVyID0gMTtcclxuICBwYWdlU2l6ZSA9IDIwO1xyXG4gIHRvdGFsUGFnZXMgPSAwO1xyXG4gIHNlYXJjaFF1ZXJ5ID0gJyc7XHJcbiAgaG9seTogYW55ID0gJyc7XHJcbiAgZ3JhaWw6IGFueSA9ICcnO1xyXG4gIHByb2R1Y3RzbG9hZGluZ0ZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hGbGFnOiBib29sZWFuID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZiwgcHVibGljIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihlbGVtZW50LCByZWYpO1xyXG4gICAgdGhpcy5ob2x5ID0gQ3J5cHRvSlMuZW5jLkJhc2U2NC5wYXJzZSgnOEYvMitUMk5YcVVCUUVSUjEyUjRzdz09Jyk7XHJcbiAgICB0aGlzLmdyYWlsID0gQ3J5cHRvSlMuZW5jLkJhc2U2NC5wYXJzZSgneUUwQ2dRYll6SzV3cWVvS1RWemhPUT09Jyk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaElucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5vbkNsZWFyQWxsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShldmVudCkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoRmxhZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHNjcnVtYmxlKG1zZykge1xyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChtc2cpKSB7XHJcbiAgICAgIHZhciBjb25jZWFsID0gdGhpcy5nZXRjYW1wYWlnbihtc2csIHRoaXMuaG9seSwgdGhpcy5ncmFpbCk7XHJcbiAgICAgIHZhciBzaGEyNTYgPSBDcnlwdG9KUy5IbWFjU0hBMjU2KENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KHRoaXMuZ3JhaWwpICsgY29uY2VhbC50b1N0cmluZygpLCBDcnlwdG9KUy5lbmMuQmFzZTY0LnN0cmluZ2lmeSh0aGlzLmhvbHkpKTtcclxuICAgICAgdmFyIGhhc2hJbkJhc2U2NCA9IENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KHNoYTI1Nik7XHJcbiAgICAgIGxldCBrZXlWYWx1ZSA9IHtcclxuICAgICAgICBcInZhbHVlXCI6IGNvbmNlYWwudG9TdHJpbmcoKSxcclxuICAgICAgICBcIm1hY1wiOiBoYXNoSW5CYXNlNjRcclxuICAgICAgfTtcclxuICAgICAgdmFyIHJlc3VsdCA9IEpTT04uc3RyaW5naWZ5KGtleVZhbHVlKTtcclxuICAgICAgdmFyIGp1bWJsZWQgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShyZXN1bHQpO1xyXG4gICAgICByZXR1cm4gQ3J5cHRvSlMuZW5jLkJhc2U2NC5zdHJpbmdpZnkoanVtYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRjYW1wYWlnbihkYXRhOiBhbnksIGhvbHk6IGFueSwgZ3JhaWw6IGFueSkge1xyXG4gICAgcmV0dXJuIENyeXB0b0pTLkFFUy5lbmNyeXB0KGRhdGEudG9TdHJpbmcoKSwgaG9seSxcclxuICAgICAge1xyXG4gICAgICAgIGJsb2NrU2l6ZTogMTI4LFxyXG4gICAgICAgIGl2OiBncmFpbCxcclxuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcclxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gTWV0aG9kIHRvIGhhbmRsZSB3aGVuIHRoZSBtYXQtc2VsZWN0IGlzIG9wZW5lZFxyXG4gIG9uTWF0U2VsZWN0T3BlbihzZWxlY3Q6IE1hdFNlbGVjdCkge1xyXG4gICAgdGhpcy5zZWxlY3RFbGVtID0gc2VsZWN0O1xyXG4gICAgdGhpcy5yZWdpc3RlclBhbmVsU2Nyb2xsRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyUGFuZWxTY3JvbGxFdmVudCgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdEVsZW0pIHtcclxuICAgICAgdGhpcy5zZWxlY3RFbGVtLnBhbmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbC5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2Nyb2xsKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICd2ZW5kb3Jwcm9kdWN0aWQnKSB7XHJcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgIGNvbnN0IHRyYWNrSGVpZ2h0ID0gc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHQgLSBzY3JvbGxFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgY29uc29sZS5sb2coJ3Byb2R1Y3RzbG9hZGluZ0ZsYWdTY3JvbGw9PicsIHRoaXMucHJvZHVjdHNsb2FkaW5nRmxhZyk7XHJcbiAgICAgIGlmICh0aGlzLnByb2R1Y3RzbG9hZGluZ0ZsYWcgJiYgTWF0aC5mbG9vcihzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCAvIHRyYWNrSGVpZ2h0ICogMTAwKSA+IDUwKSB7XHJcbiAgICAgICAgdGhpcy5wcm9kdWN0c2xvYWRpbmdGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMucGFnZU51bWJlciA8IHRoaXMudG90YWxQYWdlcykge1xyXG4gICAgICAgICAgdGhpcy5wYWdlTnVtYmVyID0gdGhpcy5wYWdlTnVtYmVyICsgMTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLnBhZ2VOdW1iZXInLCB0aGlzLnBhZ2VOdW1iZXIsIHRoaXMudG90YWxQYWdlcylcclxuICAgICAgICAgIHRoaXMubG9hZERhdGEodGhpcy5wYWdlTnVtYmVyLCB0aGlzLnBhZ2VTaXplLCB0aGlzLnNlYXJjaFF1ZXJ5KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBieSBrZXkgZnJvbSB0aGUgYXJyYXlcclxuICBnZXRWYWx1ZUJ5S2V5KGRhdGEsIGtleSkge1xyXG4gICAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsOyAvLyBSZXR1cm4gbnVsbCBpZiBkYXRhIGlzIGVtcHR5IG9yIHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gICAgY29uc3QgaXRlbSA9IGRhdGEuZmluZChrdiA9PiBrdi5rZXkudG9Mb3dlckNhc2UoKSA9PT0ga2V5LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgcmV0dXJuIGl0ZW0gPyBpdGVtLnZhbHVlIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGxvYWREYXRhKHBhZ2VOdW1iZXIsIHBhZ2VTaXplLCBzZWFyY2hRdWVyeSkge1xyXG4gICAgY29uc3QgcGFyYW1zRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Byb2R1Y3RQaWNrZXInKSk7XHJcbiAgICBjb25zdCBpbmNsdWRlRGVzY3JpcHRpb24gPSB0aGlzLmdldFZhbHVlQnlLZXkocGFyYW1zRGF0YSwgJ2luY2x1ZGVEZXNjcmlwdGlvbicpO1xyXG4gICAgY29uc3QgdmVuZG9ySWQgPSB0aGlzLmdldFZhbHVlQnlLZXkocGFyYW1zRGF0YSwgJ3ZlbmRvcklkJyk7XHJcbiAgICBjb25zdCBvbmx5QWN0aXZlID0gdGhpcy5nZXRWYWx1ZUJ5S2V5KHBhcmFtc0RhdGEsICdvbmx5QWN0aXZlJyk7XHJcbiAgICB2YXIgY3VycmVudFVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpKTtcclxuICAgIHZhciBhY2Nlc3NUb2tlbiA9IGN1cnJlbnRVc2VyLlRva2Vucy5BY2Nlc3NUb2tlbjtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6ICdCZWFyZXIgJyArIGFjY2Vzc1Rva2VuXHJcbiAgICB9KTtcclxuICAgIGludGVyZmFjZSBWZW5kb3JQcm9kdWN0c1Jlc3BvbnNlIHtcclxuICAgICAgY29kZTogbnVtYmVyO1xyXG4gICAgICBkYXRhOiBhbnk7XHJcbiAgICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICAgICAgc3RhdHVzQ29kZTogbnVtYmVyO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZW52ZW5kb3JJZCA9IHRoaXMuc2NydW1ibGUodmVuZG9ySWQpXHJcbiAgICBjb25zdCBlbnBhZ2VOdW1iZXIgPSB0aGlzLnNjcnVtYmxlKHBhZ2VOdW1iZXIpXHJcbiAgICBjb25zdCBlbnBhZ2VTaXplID0gdGhpcy5zY3J1bWJsZShwYWdlU2l6ZSk7XHJcbiAgICBjb25zdCBlbnNlYXJjaFF1ZXJ5ID0gdGhpcy5zY3J1bWJsZShzZWFyY2hRdWVyeSk7XHJcbiAgICBjb25zdCBlbmFjdGl2ZSA9IHRoaXMuc2NydW1ibGUob25seUFjdGl2ZSk7XHJcbiAgICAvLyBjb25zdCBlbmRlc2NyaXB0aW9uID0gdGhpcy5zY3J1bWJsZShpbmNsdWRlRGVzY3JpcHRpb24pO1xyXG5cclxuICAgIC8vIFNjcnVtYmxlIGFuZCBoYW5kbGUgdGhlIGluY2x1ZGVEZXNjcmlwdGlvbiBwYXJhbWV0ZXJcclxuICBsZXQgZW5kZXNjcmlwdGlvbiA9IHRoaXMuc2NydW1ibGUoaW5jbHVkZURlc2NyaXB0aW9uKTtcclxuICBpZiAoIWVuZGVzY3JpcHRpb24pIHtcclxuICAgIGVuZGVzY3JpcHRpb24gPSB0aGlzLnNjcnVtYmxlKGZhbHNlKTsgIC8vIFNldCB0byAnZmFsc2UnIGlmIHVuZGVmaW5lZCwgbnVsbCwgb3IgYmxhbmtcclxuICB9XHJcbiAgICBcclxuICAgIGNvbnN0IGJhc2VVcmxNYXBwaW5nID0ge1xyXG4gICAgICAnbG9jYWxob3N0JzogJ2h0dHA6Ly9sb2NhbGhvc3Q6NTg1MDQnLFxyXG4gICAgICAnbGluY29sbi52YXJ0b3BpYS5jb20nOiAnaHR0cHM6Ly9saW5jb2xuLWFwaS52YXJ0b3BpYS5jb20nLFxyXG4gICAgICAnc3RhZ2UudmFydG9waWEuY29tJzogJ2h0dHBzOi8vc3RhZ2UtYXBpLnZhcnRvcGlhLmNvbScsXHJcbiAgICAgICdteS52YXJ0b3BpYS5jb20nOiAnaHR0cHM6Ly9yZWFnYW4tYXBpLnZhcnRvcGlhLmNvbScsXHJcbiAgICAgICdqYWNrc29uLnZhcnRvcGlhLmNvbSc6ICdodHRwczovL2phY2tzb24tYXBpLnZhcnRvcGlhLmNvbSdcclxuICAgIH07XHJcbiAgICAvLyBHZXQgdGhlIGN1cnJlbnQgaG9zdG5hbWVcclxuICAgIGNvbnN0IGhvc3RuYW1lID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xyXG4gICAgY29uc3QgYmFzZUFwaVVybCA9IGJhc2VVcmxNYXBwaW5nW2hvc3RuYW1lXSB8fCBudWxsO1xyXG4gICAgdGhpcy5odHRwLmdldDxWZW5kb3JQcm9kdWN0c1Jlc3BvbnNlPihgJHtiYXNlQXBpVXJsfS9hcGkvVmVuZG9yRm9ybUJ1aWxkZXIvR2V0VmVuZG9yUHJvZHVjdHM/dmVuZG9ySWQ9JHtlbnZlbmRvcklkfSZwYWdlTnVtYmVyPSR7ZW5wYWdlTnVtYmVyfSZwYWdlU2l6ZT0ke2VucGFnZVNpemV9JnNlYXJjaD0ke2Vuc2VhcmNoUXVlcnl9Jm9ubHlBY3RpdmU9JHtlbmFjdGl2ZX0maW5jbHVkZURlc2NyaXB0aW9uPSR7ZW5kZXNjcmlwdGlvbn1gLCB7IGhlYWRlcnMgfSkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgIHRoaXMudG90YWxQYWdlcyA9IHJlc3BvbnNlPy5kYXRhPy50b3RhbFBhZ2VzO1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlLmNvbXBvbmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ3ZlbmRvcnByb2R1Y3RpZCcpIHtcclxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGEgPSB0aGlzLnRyYW5zZm9ybVJlc3BvbnNlRGF0YShyZXNwb25zZS5kYXRhLmRhdGFTb3VyY2UpO1xyXG4gICAgICAgIC8vIFByb2Nlc3MgdGhlIHRyYW5zZm9ybWVkIGRhdGFcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gUHJvbWlzZS5yZXNvbHZlKHRyYW5zZm9ybWVkRGF0YS5tYXAoaXRlbSA9PiAoe1xyXG4gICAgICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCxcclxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXHJcbiAgICAgICAgICAgIGRhdGU6IGl0ZW0uZGF0ZVxyXG4gICAgICAgICAgfSkpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnByb2R1Y3RzbG9hZGluZ0ZsYWcgPSB0cnVlO1xyXG4gICAgICAgIH0sIDEwMDApO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdwcm9kdWN0c2xvYWRpbmdGbGFnJywgdGhpcy5wcm9kdWN0c2xvYWRpbmdGbGFnKTtcclxuICAgICAgICBjb25zb2xlLmxvZygndG90YWxQYWdlPT4nLCB0aGlzLnRvdGFsUGFnZXMpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVXRpbGl0eSBmdW5jdGlvbiB0byB0cmFuc2Zvcm0gcmVzcG9uc2UgZGF0YVxyXG4gIHRyYW5zZm9ybVJlc3BvbnNlRGF0YShkYXRhOiBBcnJheTx7IHRleHQ6IGFueSwgdmFsdWU6IGFueSwgZGF0ZTogYW55IH0+IHwgbnVsbCB8IHVuZGVmaW5lZCk6IEFycmF5PHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciwgZGF0ZTogc3RyaW5nIH0+IHtcclxuICAgIC8vIENoZWNrIGlmIGRhdGEgaXMgbm90IG51bGwsIHVuZGVmaW5lZCwgYW5kIGlzIGFuIGFycmF5IHdpdGggZWxlbWVudHNcclxuICAgIGlmIChkYXRhICYmIEFycmF5LmlzQXJyYXkoZGF0YSkgJiYgZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBkYXRhLm1hcChpdGVtID0+ICh7XHJcbiAgICAgICAgbGFiZWw6IGl0ZW0udGV4dCxcclxuICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcclxuICAgICAgICBkYXRlOiBpdGVtLmRhdGVcclxuICAgICAgfSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gUmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRhdGEgaXMgbnVsbCwgdW5kZWZpbmVkLCBvciBlbXB0eVxyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBmaWx0ZXJXZWJzaXRlTXVsdGkoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0T3B0aW9ucykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgc2VhcmNoID0gdGhpcy53ZWJzaXRlTXVsdGlGaWx0ZXJDdHJsLnZhbHVlO1xyXG4gICAgc2VhcmNoID0gc2VhcmNoLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0T3B0aW9ucy50aGVuKChvcHRpb25zKSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkID0gb3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmxhYmVsLnJlcGxhY2UoLzxcXC8/c3BhbltePl0qPi9nLCBcIlwiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoKSAhPT0gLTEpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0xlbmd0aCA9IGZpbHRlcmVkLmxlbmd0aDtcclxuICAgICAgcmV0dXJuIGZpbHRlcmVkO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgnJyk7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICAvKkVuZCovXHJcbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IGFueSkge1xyXG4gICAgc3VwZXIuc2V0SW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gICAgdGhpcy5pbnN0YW5jZS50cmlnZ2VyVXBkYXRlKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyQWxsKCkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoRmxhZykge1xyXG4gICAgICBpZiAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICd2ZW5kb3Jwcm9kdWN0aWQnKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgxLCAyMCwgJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdEVsZW0ub3BlbmVkQ2hhbmdlLnN1YnNjcmliZSgoaXNPcGVuOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmIChpc09wZW4pIHtcclxuICAgICAgICB0aGlzLnNlYXJjaEZsYWcgPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZS5jb21wb25lbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICd2ZW5kb3Jwcm9kdWN0aWQnKSB7XHJcbiAgICAgICAgICB0aGlzLmxvYWREYXRhKDEsIDIwLCAnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoRmxhZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvKm5ldyBsb2dpYyAqL1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2UuY29tcG9uZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAndmVuZG9ycHJvZHVjdGlkJykge1xyXG4gICAgICB0aGlzLndlYnNpdGVNdWx0aUZpbHRlckN0cmwudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksIC8vIFRpbWUgaW4gbWlsbGlzZWNvbmRzIGJldHdlZW4ga2V5IGV2ZW50c1xyXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFF1ZXJ5KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VhcmNoUXVlcnkgIT0gJycpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hGbGFnID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkRGF0YSgxLCAyMCwgc2VhcmNoUXVlcnkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53ZWJzaXRlTXVsdGlGaWx0ZXJDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlcldlYnNpdGVNdWx0aSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLypFbmQgKi9cclxuICAgIHRoaXMuc2VsZWN0T3B0aW9ucyA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uc1Jlc29sdmUgPSByZXNvbHZlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdE9wdGlvbnMudGhlbigob3B0aW9ucykgPT4ge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9uc0xlbmd0aCA9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0T3B0aW9ucztcclxuICB9XHJcblxyXG4gIGNvbXBhcmVPYmplY3RzKG8xOiBhbnksIG8yOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBfLmlzRXF1YWwobzEsIG8yKTtcclxuICB9XHJcbn1cclxuU2VsZWN0Q29tcG9uZW50Lk1hdGVyaWFsQ29tcG9uZW50ID0gTWF0ZXJpYWxTZWxlY3RDb21wb25lbnQ7XHJcblxyXG4vLyBNYWtlIHN1cmUgd2UgZGV0ZWN0IGNoYW5nZXMgd2hlbiBuZXcgaXRlbXMgbWFrZSB0aGVpciB3YXkgaW50byB0aGUgc2VsZWN0IGRyb3Bkb3duLlxyXG5jb25zdCBzZXRJdGVtcyA9IFNlbGVjdENvbXBvbmVudC5wcm90b3R5cGUuc2V0SXRlbXM7XHJcblNlbGVjdENvbXBvbmVudC5wcm90b3R5cGUuc2V0SXRlbXMgPSBmdW5jdGlvbiAoLi4uYXJncykge1xyXG4gIHNldEl0ZW1zLmNhbGwodGhpcywgLi4uYXJncyk7XHJcbiAgaWYgKHRoaXMubWF0ZXJpYWxDb21wb25lbnQgJiYgdGhpcy5tYXRlcmlhbENvbXBvbmVudC5zZWxlY3RPcHRpb25zUmVzb2x2ZSkge1xyXG4gICAgdGhpcy5tYXRlcmlhbENvbXBvbmVudC5zZWxlY3RPcHRpb25zUmVzb2x2ZSh0aGlzLnNlbGVjdE9wdGlvbnMpO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCB7IFNlbGVjdENvbXBvbmVudCB9O1xyXG4iXX0=
|
|
@@ -2532,8 +2532,8 @@ class MaterialSelectComponent extends MaterialComponent {
|
|
|
2532
2532
|
this._onDestroy = new Subject();
|
|
2533
2533
|
// Variables to track pagination
|
|
2534
2534
|
this.pageNumber = 1;
|
|
2535
|
-
this.pageSize =
|
|
2536
|
-
this.totalPages =
|
|
2535
|
+
this.pageSize = 20;
|
|
2536
|
+
this.totalPages = 0;
|
|
2537
2537
|
this.searchQuery = '';
|
|
2538
2538
|
this.holy = '';
|
|
2539
2539
|
this.grail = '';
|
|
@@ -2588,10 +2588,12 @@ class MaterialSelectComponent extends MaterialComponent {
|
|
|
2588
2588
|
if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
|
|
2589
2589
|
const scrollElement = event.target;
|
|
2590
2590
|
const trackHeight = scrollElement.scrollHeight - scrollElement.offsetHeight;
|
|
2591
|
+
console.log('productsloadingFlagScroll=>', this.productsloadingFlag);
|
|
2591
2592
|
if (this.productsloadingFlag && Math.floor(scrollElement.scrollTop / trackHeight * 100) > 50) {
|
|
2592
2593
|
this.productsloadingFlag = false;
|
|
2593
|
-
if (this.pageNumber < this.totalPages
|
|
2594
|
+
if (this.pageNumber < this.totalPages) {
|
|
2594
2595
|
this.pageNumber = this.pageNumber + 1;
|
|
2596
|
+
console.log('this.pageNumber', this.pageNumber, this.totalPages);
|
|
2595
2597
|
this.loadData(this.pageNumber, this.pageSize, this.searchQuery);
|
|
2596
2598
|
}
|
|
2597
2599
|
}
|
|
@@ -2638,8 +2640,9 @@ class MaterialSelectComponent extends MaterialComponent {
|
|
|
2638
2640
|
const hostname = window.location.hostname;
|
|
2639
2641
|
const baseApiUrl = baseUrlMapping[hostname] || null;
|
|
2640
2642
|
this.http.get(`${baseApiUrl}/api/VendorFormBuilder/GetVendorProducts?vendorId=${envendorId}&pageNumber=${enpageNumber}&pageSize=${enpageSize}&search=${ensearchQuery}&onlyActive=${enactive}&includeDescription=${endescription}`, { headers }).subscribe(response => {
|
|
2643
|
+
var _a;
|
|
2641
2644
|
if (response && response.code === 200) {
|
|
2642
|
-
this.totalPages = response.data.
|
|
2645
|
+
this.totalPages = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.totalPages;
|
|
2643
2646
|
if (this.instance.component.key.toLowerCase() === 'vendorproductid') {
|
|
2644
2647
|
const transformedData = this.transformResponseData(response.data.dataSource);
|
|
2645
2648
|
// Process the transformed data
|
|
@@ -2652,6 +2655,8 @@ class MaterialSelectComponent extends MaterialComponent {
|
|
|
2652
2655
|
setTimeout(() => {
|
|
2653
2656
|
this.productsloadingFlag = true;
|
|
2654
2657
|
}, 1000);
|
|
2658
|
+
console.log('productsloadingFlag', this.productsloadingFlag);
|
|
2659
|
+
console.log('totalPage=>', this.totalPages);
|
|
2655
2660
|
}
|
|
2656
2661
|
});
|
|
2657
2662
|
}
|