@colijnit/sharedcomponents 256.1.5 → 256.1.7

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.
Files changed (39) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +382 -240
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +126 -125
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +127 -126
  6. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +2 -2
  7. package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +35 -20
  8. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +50 -15
  9. package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +22 -25
  10. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +27 -6
  11. package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +3 -2
  12. package/esm2015/lib/components/stock/service/stock-module-screen-config.service.js +27 -0
  13. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +30 -2
  14. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +5 -5
  15. package/esm2015/lib/components/stock/stock.component.js +20 -7
  16. package/esm2015/lib/components/stock/stock.module.js +3 -1
  17. package/esm2015/lib/enum/icon.enum.js +4 -1
  18. package/esm2015/lib/model/icon-svg.js +4 -1
  19. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  20. package/esm2015/lib/service/shared-connector.service.js +2 -2
  21. package/esm2015/lib/service/shared-event.service.js +15 -0
  22. package/esm2015/public-api.js +2 -1
  23. package/fesm2015/colijnit-sharedcomponents.js +226 -79
  24. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  25. package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +4 -1
  26. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +15 -1
  27. package/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.d.ts +3 -1
  28. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +5 -1
  29. package/lib/components/stock/service/stock-module-screen-config.service.d.ts +9 -0
  30. package/lib/components/stock/stock-information/stock-information.component.d.ts +8 -1
  31. package/lib/components/stock/stock.component.d.ts +5 -2
  32. package/lib/components/stock/style/_layout.scss +57 -5
  33. package/lib/components/stock/style/_material-definition.scss +3 -3
  34. package/lib/components/tab-bar/style/_layout.scss +6 -3
  35. package/lib/enum/icon.enum.d.ts +3 -0
  36. package/lib/res/dictionary/dictionaries.d.ts +27 -0
  37. package/lib/service/shared-event.service.d.ts +4 -0
  38. package/package.json +1 -1
  39. package/public-api.d.ts +1 -0
@@ -111,7 +111,7 @@ export class SendMethodDialogComponent {
111
111
  this._selectDefaultSendMethod();
112
112
  }
113
113
  else {
114
- if (this.visibleMethods && this.visibleMethods.length === 1) {
114
+ if (this.visibleMethods && this.visibleMethods.length >= 1) {
115
115
  this.defaultSendMethod = this.visibleMethods[0];
116
116
  this._selectDefaultSendMethod();
117
117
  }
@@ -268,4 +268,4 @@ SendMethodDialogComponent.propDecorators = {
268
268
  additionalFileChangeEvent: [{ type: Output }],
269
269
  showClass: [{ type: HostBinding, args: ['class.co-send-method-dialog',] }]
270
270
  };
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQVVsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBaUI7SUFDL0MsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM1RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzlELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxL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QUFFLFVBQVUsRUFBQzt1QkFHL0MsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7MEJBR3hDLEtBQUs7NENBR0wsS0FBSzs0Q0FHTCxLQUFLOzBDQUdMLEtBQUs7MkJBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQU1MLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7a0RBR0wsTUFBTTtrREFHTixNQUFNO2dEQUdOLE1BQU07b0NBR04sTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJy4uLy4uL21vZGVsL3NlbmQtbWV0aG9kJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1xyXG4gIFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCBcIkZheFwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUHJpbnQsIFwiUHJpbnRcIiwgSWNvbi5QcmludFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbCwgXCJFbWFpbFwiLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgXCJFZGlcIiwgSWNvbi5GaWxlRXhwb3J0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUsIFwiRW1haWwgdGVtcGxhdGVcIiwgSWNvbi5FbnZlbG9wZVJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlNtcywgXCJTbXNcIiwgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsIFwiV2Vic2VydmljZVwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUGRmLCBcIlBkZlwiLCBJY29uLlBkZilcclxuXVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1zZW5kLW1ldGhvZC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRW52ZWxvcGVSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHNlbmRNZXRob2Qgb2Ygc2VuZE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2QgPyBzZW5kTWV0aG9kLmNvZGUgPT09IGFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IGluZGV4ID09PSAwXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJzZW5kTWV0aG9kLmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXByaW50ZXJcclxuICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiaXNQcmludGVyTGF5b3V0c0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1lbWFpbFxyXG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtZW1haWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3Ntc0l0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1Ntc1wiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcGRmXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib2tDbGljay5lbWl0KGFjdGl2ZVNlbmRNZXRob2QgPyBhY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZheEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbFRlbXBsYXRlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21zSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCd3ZWJTZXJ2aWNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGRmSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdID0gW107XHJcblxyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1kaWFsb2cnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIGFjdGl2ZVNlbmRNZXRob2Q6IFNlbmRNZXRob2Q7XHJcbiAgcHVibGljIHVwQW5kTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXJ0VXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZheDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQcmludDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFZGk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U21zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsVGVtcGxhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93V2Vic2VydmljZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQZGY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDtcclxuICAgIH1cclxuICAgIHRoaXMuX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpc2libGVNZXRob2RzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NTaWduID0gIXRoaXMuZG9jU2lnbjtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZDogU2VuZE1ldGhvZCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kID0gc2VuZE1ldGhvZDtcclxuICAgIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCAmJiB0aGlzLnNob3dGYXgpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5mYXhJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiYgdGhpcy5zaG93UHJpbnQpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmludEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJiB0aGlzLnNob3dFbWFpbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSAmJiB0aGlzLnNob3dFZGkpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lZGlJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSAmJiB0aGlzLnNob3dFbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxUZW1wbGF0ZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMgJiYgdGhpcy5zaG93U21zKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuc21zSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UgJiYgdGhpcy5zaG93V2Vic2VydmljZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLndlYlNlcnZpY2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmICYmIHRoaXMuc2hvd1BkZikge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnBkZkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSB0aGlzLnZpc2libGVNZXRob2RzWzBdO1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbmRNZXRob2Q6IFNlbmRNZXRob2QgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCk7XHJcbiAgICBpZiAoc2VuZE1ldGhvZCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kcyA9IHRoaXMuc2VuZE1ldGhvZHMuZmlsdGVyKHNtID0+IHRoaXMudmlzaWJsZU1ldGhvZHMuZmluZCh2bSA9PiB2bSA9PT0gc20uY29kZSkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RmF4ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1ByaW50ID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWwgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFZGkgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RW1haWxUZW1wbGF0ZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93U21zID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcykgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1dlYnNlcnZpY2UgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1BkZiA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpICE9PSB1bmRlZmluZWQ7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEV2ZW50ID0gRXZlbnQ7XHJcbn1cclxuIl19
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQVVsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBaUI7SUFDL0MsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM1RCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzlELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxL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QUFFLFVBQVUsRUFBQzt1QkFHL0MsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7MEJBR3hDLEtBQUs7NENBR0wsS0FBSzs0Q0FHTCxLQUFLOzBDQUdMLEtBQUs7MkJBR0wsS0FBSzsyQkFHTCxLQUFLOzBCQU1MLEtBQUs7NkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO3NDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3FDQUdMLEtBQUs7a0RBR0wsTUFBTTtrREFHTixNQUFNO2dEQUdOLE1BQU07b0NBR04sTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJy4uLy4uL21vZGVsL3NlbmQtbWV0aG9kJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1xyXG4gIFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtcclxuICBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCBcIkZheFwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUHJpbnQsIFwiUHJpbnRcIiwgSWNvbi5QcmludFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbCwgXCJFbWFpbFwiLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgXCJFZGlcIiwgSWNvbi5GaWxlRXhwb3J0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUsIFwiRW1haWwgdGVtcGxhdGVcIiwgSWNvbi5FbnZlbG9wZVJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlNtcywgXCJTbXNcIiwgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsIFwiV2Vic2VydmljZVwiLCBJY29uLlByaW50UmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuUGRmLCBcIlBkZlwiLCBJY29uLlBkZilcclxuXVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1zZW5kLW1ldGhvZC1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIGlkPVwic2VuZE9wdGlvbnNEaWFsb2dcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRW52ZWxvcGVSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImhlYWRlclRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1uYXZpZ2F0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZW5kLWJ1dHRvbi13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHNlbmRNZXRob2Qgb2Ygc2VuZE1ldGhvZHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImFjdGl2ZVNlbmRNZXRob2QgPyBzZW5kTWV0aG9kLmNvZGUgPT09IGFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IGluZGV4ID09PSAwXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJ1dHRvbi10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJzZW5kTWV0aG9kLmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbmQtbWV0aG9kcy13cmFwcGVyXCI+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgI25hdmlnYXRpb25JdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24td3JhcHBlclwiIFtjbGFzcy5zbW9vdGgtc2Nyb2xsaW5nXT1cIiFzdGFydFVwXCI+XHJcbiAgICAgICAgICA8ZGl2ICNmYXhJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3ByaW50SXRlbXMgY2xhc3M9XCJzZW5kLW1ldGhvZC1uYXZpZ2F0aW9uLWNvbnRlbnQgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRcIj5cclxuICAgICAgICAgICAgPGNvLXNlbmQtbWV0aG9kLXByaW50ZXJcclxuICAgICAgICAgICAgICBbaXNQcmludGVyTGF5b3V0c0VuYWJsZWRdPVwiaXNQcmludGVyTGF5b3V0c0VuYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1zZW5kLW1ldGhvZC1wcmludGVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNlbWFpbEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsXCI+XHJcbiAgICAgICAgICAgIDxjby1zZW5kLW1ldGhvZC1lbWFpbFxyXG4gICAgICAgICAgICAgIFtlbWFpbEFkZHJlc3Nlc109XCJlbWFpbEFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtZW1haWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3Ntc0l0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1Ntc1wiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcGRmXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib2tDbGljay5lbWl0KGFjdGl2ZVNlbmRNZXRob2QgPyBhY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VDbGljay5lbWl0KCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZheEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbFRlbXBsYXRlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21zSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCd3ZWJTZXJ2aWNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGRmSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRMYXlvdXRzOiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludFtdID0gW107XHJcblxyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gcHVibGljIHByaWNlTGlzdENvZGVEYXRhOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0U2VuZE1ldGhvZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXNpYmxlTWV0aG9kczogU2VuZE1ldGhvZFR5cGVbXSB8IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzRG9jU2lnbkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9jU2lnbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc3RhcnRTaWduYXR1cmVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2tDbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1kaWFsb2cnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWV0aG9kcyA9IHNlbmRNZXRob2RzV2l0aEljb247XHJcbiAgcHVibGljIGFjdGl2ZVNlbmRNZXRob2Q6IFNlbmRNZXRob2Q7XHJcbiAgcHVibGljIHVwQW5kTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXJ0VXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZheDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQcmludDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFZGk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93U21zOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0VtYWlsVGVtcGxhdGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93V2Vic2VydmljZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dQZGY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZS5uZXh0KHZhbHVlKSksXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdDtcclxuICAgIH1cclxuICAgIHRoaXMuX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpc2libGVNZXRob2RzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25hdHVyZVN0YXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NTaWduID0gIXRoaXMuZG9jU2lnbjtcclxuICAgIHRoaXMuc3RhcnRTaWduYXR1cmVDbGlja2VkLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZDogU2VuZE1ldGhvZCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVTZW5kTWV0aG9kID0gc2VuZE1ldGhvZDtcclxuICAgIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkZheCAmJiB0aGlzLnNob3dGYXgpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5mYXhJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQgJiYgdGhpcy5zaG93UHJpbnQpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmludEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCAmJiB0aGlzLnNob3dFbWFpbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVtYWlsSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSAmJiB0aGlzLnNob3dFZGkpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lZGlJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSAmJiB0aGlzLnNob3dFbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxUZW1wbGF0ZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMgJiYgdGhpcy5zaG93U21zKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuc21zSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UgJiYgdGhpcy5zaG93V2Vic2VydmljZSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLndlYlNlcnZpY2VJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmICYmIHRoaXMuc2hvd1BkZikge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnBkZkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2VuZE1ldGhvZCA9IHRoaXMudmlzaWJsZU1ldGhvZHNbMF07XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gdGhpcy5zZW5kTWV0aG9kcy5maWx0ZXIoc20gPT4gdGhpcy52aXNpYmxlTWV0aG9kcy5maW5kKHZtID0+IHZtID09PSBzbS5jb2RlKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dGYXggPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UHJpbnQgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VkaSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dTbXMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93V2Vic2VydmljZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UGRmID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikgIT09IHVuZGVmaW5lZDtcclxuXHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRXZlbnQgPSBFdmVudDtcclxufVxyXG4iXX0=
@@ -4,10 +4,12 @@ import { Icon } from '../../../../enum/icon.enum';
4
4
  import { BaseStockComponent } from '../../base/base-stock.component';
5
5
  import { GetStockHistoryRequest } from '@colijnit/articleapi/build/model/get-stock-history-request';
6
6
  import { StockService } from '../../../../service/stock.service';
7
+ import { SharedEventService } from "../../../../service/shared-event.service";
7
8
  export class AllocationStockHistoryComponent extends BaseStockComponent {
8
- constructor(_stockService) {
9
+ constructor(_stockService, sharedEventService) {
9
10
  super();
10
11
  this._stockService = _stockService;
12
+ this.sharedEventService = sharedEventService;
11
13
  this.icons = Icon;
12
14
  this.data = [];
13
15
  }
@@ -21,6 +23,14 @@ export class AllocationStockHistoryComponent extends BaseStockComponent {
21
23
  });
22
24
  });
23
25
  }
26
+ handleTransactionNavigation(docNr) {
27
+ const transNr = docNr.split(' ');
28
+ if (transNr && transNr.length > 1) {
29
+ if (transNr[0].toLowerCase() === 'v') {
30
+ this.sharedEventService.salesOrderNavigation.next(transNr[1]);
31
+ }
32
+ }
33
+ }
24
34
  }
25
35
  AllocationStockHistoryComponent.decorators = [
26
36
  { type: Component, args: [{
@@ -30,29 +40,34 @@ AllocationStockHistoryComponent.decorators = [
30
40
  class="simple-grid"
31
41
  [rowsPerPage]="20"
32
42
  >
33
- <co-simple-grid-column [headerText]="'MUTATION_DATE' | sharedLocalize">
34
- <ng-template #template let-row="row">
35
- <span [textContent]="row.mutationDate | date:'dd-MM-yyyy'"></span>
36
- </ng-template>
37
- </co-simple-grid-column>
38
- <co-simple-grid-column [headerText]="'MUTATION_TIME' | sharedLocalize" [field]="'mutationTime'"></co-simple-grid-column>
39
- <co-simple-grid-column [headerText]="'AMOUNT' | sharedLocalize" [field]="'amount'"></co-simple-grid-column>
40
- <co-simple-grid-column [headerText]="'WAREHOUSE' | sharedLocalize" [field]="'wareHouseNr'"></co-simple-grid-column>
41
- <co-simple-grid-column [headerText]="'LOCATION' | sharedLocalize" [field]="'locationNr'"></co-simple-grid-column>
42
- <co-simple-grid-column [headerText]="'DOCUMENT_NUMBER' | sharedLocalize" [field]="'docNr'"></co-simple-grid-column>
43
- <co-simple-grid-column [headerText]="'LINE' | sharedLocalize" [field]="'transLineNr'"></co-simple-grid-column>
44
- <co-simple-grid-column [headerText]="'STOCK_STATE' | sharedLocalize" [field]="'stockStateId'"></co-simple-grid-column>
45
- <co-simple-grid-column [headerText]="'STOCK_REMARK' | sharedLocalize" [field]="'stockStateRemarkId'"></co-simple-grid-column>
46
- <co-simple-grid-column [headerText]="'VALUTA' | sharedLocalize" [field]="'currencyCode'"></co-simple-grid-column>
47
- <co-simple-grid-column [headerText]="'RELATION_NR' | sharedLocalize" [field]="'relationNr'"></co-simple-grid-column>
48
- <co-simple-grid-column [headerText]="'USER' | sharedLocalize" [field]="'user'"></co-simple-grid-column>
49
- <co-simple-grid-column [headerText]="'MUTATION_TYPE' | sharedLocalize" [field]="'mutationType'"></co-simple-grid-column>
43
+ <co-simple-grid-column [headerText]="'MUTATION_DATE' | sharedLocalize">
44
+ <ng-template #template let-row="row">
45
+ <span [textContent]="row.mutationDate | date:'dd-MM-yyyy'"></span>
46
+ </ng-template>
47
+ </co-simple-grid-column>
48
+ <co-simple-grid-column [headerText]="'MUTATION_TIME' | sharedLocalize" [field]="'mutationTime'"></co-simple-grid-column>
49
+ <co-simple-grid-column [headerText]="'AMOUNT' | sharedLocalize" [field]="'amount'"></co-simple-grid-column>
50
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | sharedLocalize" [field]="'wareHouseNr'"></co-simple-grid-column>
51
+ <co-simple-grid-column [headerText]="'LOCATION' | sharedLocalize" [field]="'locationNr'"></co-simple-grid-column>
52
+ <co-simple-grid-column [headerText]="'DOCUMENT_NUMBER' | sharedLocalize">
53
+ <ng-template #template let-row="row">
54
+ <div class="clickable-link" [textContent]="row.docNr" (click)="handleTransactionNavigation(row.docNr)"></div>
55
+ </ng-template>
56
+ </co-simple-grid-column>
57
+ <co-simple-grid-column [headerText]="'LINE' | sharedLocalize" [field]="'transLineNr'"></co-simple-grid-column>
58
+ <co-simple-grid-column [headerText]="'STOCK_STATE' | sharedLocalize" [field]="'stockStateId'"></co-simple-grid-column>
59
+ <co-simple-grid-column [headerText]="'STOCK_REMARK' | sharedLocalize" [field]="'stockStateRemarkId'"></co-simple-grid-column>
60
+ <co-simple-grid-column [headerText]="'VALUTA' | sharedLocalize" [field]="'currencyCode'"></co-simple-grid-column>
61
+ <co-simple-grid-column [headerText]="'RELATION_NR' | sharedLocalize" [field]="'relationNr'"></co-simple-grid-column>
62
+ <co-simple-grid-column [headerText]="'USER' | sharedLocalize" [field]="'user'"></co-simple-grid-column>
63
+ <co-simple-grid-column [headerText]="'MUTATION_TYPE' | sharedLocalize" [field]="'mutationType'"></co-simple-grid-column>
50
64
  </co-simple-grid>
51
65
  `,
52
66
  encapsulation: ViewEncapsulation.None
53
67
  },] }
54
68
  ];
55
69
  AllocationStockHistoryComponent.ctorParameters = () => [
56
- { type: StockService }
70
+ { type: StockService },
71
+ { type: SharedEventService }
57
72
  ];
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5L2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQThCL0QsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGtCQUFrQjtJQUtyRSxZQUNVLGFBQTJCO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBRkEsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFMckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFFbkMsU0FBSSxHQUFxQixFQUFFLENBQUM7SUFNbkMsQ0FBQztJQUVlLE9BQU87O1lBQ3JCLE1BQU0sdUJBQXVCLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUNyRix1QkFBdUIsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ25DLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7O1lBOUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE3Qk8sWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm8nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtCYXNlU3RvY2tDb21wb25lbnR9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1zdG9jay5jb21wb25lbnQnO1xyXG5pbXBvcnQge0dldFN0b2NrSGlzdG9yeVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2dldC1zdG9jay1oaXN0b3J5LXJlcXVlc3QnO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ01VVEFUSU9OX0RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5tdXRhdGlvbkRhdGUgfCBkYXRlOidkZC1NTS15eXl5J1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidNVVRBVElPTl9USU1FJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidtdXRhdGlvblRpbWUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2Ftb3VudCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInd2FyZUhvdXNlTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidMT0NBVElPTicgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInbG9jYXRpb25OcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RPQ1VNRU5UX05VTUJFUicgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInZG9jTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidMSU5FJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid0cmFuc0xpbmVOcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLX1NUQVRFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidzdG9ja1N0YXRlSWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DS19SRU1BUksnIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3N0b2NrU3RhdGVSZW1hcmtJZCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1ZBTFVUQScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInY3VycmVuY3lDb2RlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUkVMQVRJT05fTlInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3JlbGF0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidVU0VSJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid1c2VyJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVFlQRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInbXV0YXRpb25UeXBlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VTdG9ja0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBkYXRhOiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSAnVCc7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5L2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQWtDNUUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGtCQUFrQjtJQUtyRSxZQUNVLGFBQTJCLEVBQzVCLGtCQUFzQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQUhBLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOL0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFFbkMsU0FBSSxHQUFxQixFQUFFLENBQUM7SUFPbkMsQ0FBQztJQUVlLE9BQU87O1lBQ3JCLE1BQU0sdUJBQXVCLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUNyRix1QkFBdUIsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ25DLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUNNLDJCQUEyQixDQUFDLEtBQWE7UUFDOUMsTUFBTSxPQUFPLEdBQWEsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxHQUFHLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0Q7U0FDRjtJQUNILENBQUM7OztZQTNERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQWxDTyxZQUFZO1lBQ1osa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0Jhc2VTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXN0b2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZ2V0LXN0b2NrLWhpc3RvcnktcmVxdWVzdCc7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NoYXJlZEV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2Uvc2hhcmVkLWV2ZW50LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidNVVRBVElPTl9EQVRFJyB8IHNoYXJlZExvY2FsaXplXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInJvdy5tdXRhdGlvbkRhdGUgfCBkYXRlOidkZC1NTS15eXl5J1wiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVElNRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInbXV0YXRpb25UaW1lJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCcgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInYW1vdW50J1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInd2FyZUhvdXNlTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTE9DQVRJT04nIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ2xvY2F0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRE9DVU1FTlRfTlVNQkVSJyB8IHNoYXJlZExvY2FsaXplXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsaWNrYWJsZS1saW5rXCIgW3RleHRDb250ZW50XT1cInJvdy5kb2NOclwiIChjbGljayk9XCJoYW5kbGVUcmFuc2FjdGlvbk5hdmlnYXRpb24ocm93LmRvY05yKVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidMSU5FJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid0cmFuc0xpbmVOcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DS19TVEFURScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tTdGF0ZUlkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLX1JFTUFSSycgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInc3RvY2tTdGF0ZVJlbWFya0lkJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1ZBTFVUQScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInY3VycmVuY3lDb2RlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1JFTEFUSU9OX05SJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidyZWxhdGlvbk5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1VTRVInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3VzZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVFlQRScgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInbXV0YXRpb25UeXBlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudCBleHRlbmRzIEJhc2VTdG9ja0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBkYXRhOiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2hhcmVkRXZlbnRTZXJ2aWNlOiBTaGFyZWRFdmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0ID0gbmV3IEdldFN0b2NrSGlzdG9yeVJlcXVlc3QoKTtcclxuICAgIHN0b2NrSGlzdG9yeUluZm9ybWF0aW9uLnR5cGUgPSAnVCc7XHJcbiAgICBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbi5nb29kSWQgPSB0aGlzLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSGlzdG9yeShzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIGhhbmRsZVRyYW5zYWN0aW9uTmF2aWdhdGlvbihkb2NOcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB0cmFuc05yOiBzdHJpbmdbXSA9IGRvY05yLnNwbGl0KCcgJyk7XHJcbiAgICBpZiAodHJhbnNOciAmJiB0cmFuc05yLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaWYgKHRyYW5zTnJbMF0udG9Mb3dlckNhc2UoKSA9PT0gJ3YnKSB7XHJcbiAgICAgICAgdGhpcy5zaGFyZWRFdmVudFNlcnZpY2Uuc2FsZXNPcmRlck5hdmlnYXRpb24ubmV4dCh0cmFuc05yWzFdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, Output, ViewEncapsulation } from "@angular/core";
2
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
3
3
  import { IconCacheService } from "../../../../service/icon-cache.service";
4
4
  import { Icon } from "../../../../enum/icon.enum";
5
5
  import { StockService } from "../../../../service/stock.service";
@@ -11,16 +11,31 @@ export class OrderTabComponent extends BaseStockComponent {
11
11
  this.iconCacheService = iconCacheService;
12
12
  this._stockService = _stockService;
13
13
  this.icons = Icon;
14
+ this.stockLocations = [];
15
+ this.allWarehouses = [];
14
16
  this.locationClicked = new EventEmitter();
15
17
  this.transferIconClicked = new EventEmitter();
16
18
  this.sendMethodDialogClicked = new EventEmitter();
19
+ this.handleStickerClicked = new EventEmitter();
20
+ this.showStockTransferChange = new EventEmitter();
17
21
  this.data = [];
22
+ this.selectedRow = null;
23
+ this.showSendMethodDialog = false;
18
24
  }
19
25
  openSendMethodDialog(data) {
26
+ this.showSendMethodDialog = true;
20
27
  this.sendMethodDialogClicked.emit(data);
21
28
  }
22
29
  handleStockTransferClick(event) {
23
- this.transferIconClicked.emit(event);
30
+ this.articleDetails = event;
31
+ this.showStockTransfer = true;
32
+ }
33
+ onRowSelected(row) {
34
+ this.selectedRow = row;
35
+ }
36
+ onShowStockTransferChange(show) {
37
+ this.showStockTransfer = show;
38
+ this.showStockTransferChange.emit(this.showStockTransfer);
24
39
  }
25
40
  getData() {
26
41
  return __awaiter(this, void 0, void 0, function* () {
@@ -37,10 +52,31 @@ OrderTabComponent.decorators = [
37
52
  { type: Component, args: [{
38
53
  selector: "co-order-tab",
39
54
  template: `
55
+ <div class="stock-transfer-wrapper">
56
+ <co-stock-transfer *ngIf="showStockTransfer"
57
+ class="stock-transfer-dialog"
58
+ [articleToTransfer]="articleDetails"
59
+ (handleStickerClicked)="handleStickerClicked.emit($event)"
60
+ [allWarehouses]="allWarehouses"
61
+ [stockLocations]="stockLocations"
62
+ [articleFlat]="articleFlat"
63
+ [showStockTransfer]="showStockTransfer"
64
+ (showStockTransferChange)="onShowStockTransferChange($event)">
65
+ </co-stock-transfer>
66
+ </div>
67
+ <div class="stock-transfer-add">
68
+ <co-icon *ngIf="selectedRow" class="menu-icon" [iconData]="iconCacheService.getIcon(icons.ArrowRightArrowLeftRegular)"
69
+ (click)="handleStockTransferClick(selectedRow)"></co-icon>
70
+ <co-icon *ngIf="selectedRow" class="menu-icon" [iconData]="iconCacheService.getIcon(icons.SolidBarcodeReadTag)"
71
+ (click)="openSendMethodDialog(selectedRow)"></co-icon>
72
+ </div>
40
73
  <co-simple-grid [data]="data"
41
74
  class="simple-grid"
42
75
  [rowsPerPage]="20"
43
- >
76
+ [showAdd]="false"
77
+ [inlineEdit]="false"
78
+ [showToolbar]="true"
79
+ (selectRow)="onRowSelected($event)">
44
80
  <co-simple-grid-column [headerText]="'IN_ORDER' | sharedLocalize" [field]="'transactionNr'"></co-simple-grid-column>
45
81
  <co-simple-grid-column [headerText]="'CUSTOMER' | sharedLocalize" [field]="'customerName'"></co-simple-grid-column>
46
82
  <co-simple-grid-column [headerText]="'DATE' | sharedLocalize">
@@ -51,17 +87,11 @@ OrderTabComponent.decorators = [
51
87
  <co-simple-grid-column [headerText]="'AMOUNT' | sharedLocalize" [field]="'amountInOrder'"></co-simple-grid-column>
52
88
  <co-simple-grid-column [headerText]="'WAREHOUSE' | sharedLocalize" [field]="'warehouseNumber'"></co-simple-grid-column>
53
89
  <co-simple-grid-column [headerText]="'DESCRIPTION' | sharedLocalize" [field]="'warehouseDescription'"></co-simple-grid-column>
54
- <co-simple-grid-column [headerText]="'TRANSFER' | sharedLocalize" [field]="'transfer'">
55
- <ng-template #template let-row="row">
56
- <co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.DeliveryTruck)" (click)="handleStockTransferClick(row)"></co-icon>
57
- </ng-template>
58
- </co-simple-grid-column>
59
- <co-simple-grid-column [headerText]="'STICKER' | sharedLocalize" [field]="'sticker'">
60
- <ng-template #template let-row="row">
61
- <co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.Print)" (click)="openSendMethodDialog(row)"></co-icon>
62
- </ng-template>
63
- </co-simple-grid-column>
64
90
  </co-simple-grid>
91
+ <co-send-method-dialog *ngIf="showSendMethodDialog"
92
+ (closeClick)="showSendMethodDialog = false">
93
+
94
+ </co-send-method-dialog>
65
95
  `,
66
96
  encapsulation: ViewEncapsulation.None
67
97
  },] }
@@ -71,8 +101,13 @@ OrderTabComponent.ctorParameters = () => [
71
101
  { type: StockService }
72
102
  ];
73
103
  OrderTabComponent.propDecorators = {
104
+ showStockTransfer: [{ type: Input }],
105
+ allWarehouses: [{ type: Input }],
106
+ articleFlat: [{ type: Input }],
74
107
  locationClicked: [{ type: Output }],
75
108
  transferIconClicked: [{ type: Output }],
76
- sendMethodDialogClicked: [{ type: Output }]
109
+ sendMethodDialogClicked: [{ type: Output }],
110
+ handleStickerClicked: [{ type: Output }],
111
+ showStockTransferChange: [{ type: Output }]
77
112
  };
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFTLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRy9ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBaUN4RixNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBY3ZELFlBQ1MsZ0JBQWtDLEVBQ2pDLGFBQTJCO1FBRW5DLEtBQUssRUFBRSxDQUFDO1FBSEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQWZyQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxvQkFBZSxHQUFpQyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUcxRSx3QkFBbUIsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd2RSw0QkFBdUIsR0FBcUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV4RixTQUFJLEdBQTJCLEVBQUUsQ0FBQztJQU96QyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsSUFBSTtRQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxLQUFLO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVlLE9BQU87O1lBQ3JCLE1BQU0sV0FBVyxHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDakUsV0FBVyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDdkIsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsRSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7O1lBbkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdENPLGdCQUFnQjtZQUVoQixZQUFZOzs7OEJBd0NqQixNQUFNO2tDQUdOLE1BQU07c0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge0Jhc2VTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXN0b2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLW9yZGVyLXRhYlwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tc2ltcGxlLWdyaWQgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaW1wbGUtZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Jvd3NQZXJQYWdlXT1cIjIwXCJcclxuICAgID5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInSU5fT1JERVInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3RyYW5zYWN0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0NVU1RPTUVSJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidjdXN0b21lck5hbWUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCcgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInYW1vdW50SW5PcmRlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VOdW1iZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VEZXNjcmlwdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVFJBTlNGRVInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3RyYW5zZmVyJ1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkRlbGl2ZXJ5VHJ1Y2spXCIgKGNsaWNrKT1cImhhbmRsZVN0b2NrVHJhbnNmZXJDbGljayhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVElDS0VSJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZyhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZGVyVGFiQ29tcG9uZW50IGV4dGVuZHMgQmFzZVN0b2NrQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvY2F0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2Zlckljb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVN0b2NrQm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxQcmludFByaWNlU3RpY2tlcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwdWJsaWMgZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5TZW5kTWV0aG9kRGlhbG9nKGRhdGEpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNmZXJJY29uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBnZXREYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgaW5PcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgIGluT3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgIGluT3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGluT3JkZXJEYXRhKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQW1EeEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQWtDdkQsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFIRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBbkNyQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUVuQyxtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFNckMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFNMUIsb0JBQWUsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFHMUUsd0JBQW1CLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdkUsNEJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEYseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUV6RCxTQUFJLEdBQTJCLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUE0QixJQUFJLENBQUM7UUFFNUMseUJBQW9CLEdBQVksS0FBSyxDQUFDO0lBTzdDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFJO1FBQzlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBdUI7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRU0sYUFBYSxDQUFDLEdBQXFCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxJQUFhO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ2UsT0FBTzs7WUFDckIsTUFBTSxXQUFXLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNqRSxXQUFXLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUN2QixXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7WUFoSEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RE8sZ0JBQWdCO1lBRWhCLFlBQVk7OztnQ0E0RGpCLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLOzhCQUdMLE1BQU07a0NBR04sTUFBTTtzQ0FHTixNQUFNO21DQUdOLE1BQU07c0NBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb24gYXMgQXJ0aWNsZVRyYW5zYWN0aW9uQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uLmJvXCI7XHJcbmltcG9ydCB7UHJpbnRQcmljZVN0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1wcmljZS1zdGlja2Vycy5ib1wiO1xyXG5pbXBvcnQge0Jhc2VTdG9ja0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vYmFzZS9iYXNlLXN0b2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUZsYXR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZsYXQuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLW9yZGVyLXRhYlwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stdHJhbnNmZXItd3JhcHBlclwiPlxyXG4gICAgICA8Y28tc3RvY2stdHJhbnNmZXIgKm5nSWY9XCJzaG93U3RvY2tUcmFuc2ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWRpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwiYXJ0aWNsZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGhhbmRsZVN0aWNrZXJDbGlja2VkKT1cImhhbmRsZVN0aWNrZXJDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsV2FyZWhvdXNlc109XCJhbGxXYXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdG9ja0xvY2F0aW9uc109XCJzdG9ja0xvY2F0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZUZsYXRdPVwiYXJ0aWNsZUZsYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTdG9ja1RyYW5zZmVyXT1cInNob3dTdG9ja1RyYW5zZmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChzaG93U3RvY2tUcmFuc2ZlckNoYW5nZSk9XCJvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPC9jby1zdG9jay10cmFuc2Zlcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWFkZFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNlbGVjdGVkUm93XCIgY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UmlnaHRBcnJvd0xlZnRSZWd1bGFyKVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soc2VsZWN0ZWRSb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInNlbGVjdGVkUm93XCIgY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNvbGlkQmFyY29kZVJlYWRUYWcpXCJcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZW5kTWV0aG9kRGlhbG9nKHNlbGVjdGVkUm93KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmxpbmVFZGl0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd1Rvb2xiYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFJvdyk9XCJvblJvd1NlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInSU5fT1JERVInIHwgc2hhcmVkTG9jYWxpemVcIiBbZmllbGRdPVwiJ3RyYW5zYWN0aW9uTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0NVU1RPTUVSJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIidjdXN0b21lck5hbWUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RBVEUnIHwgc2hhcmVkTG9jYWxpemVcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJyb3cudHJhbnNhY3Rpb25EYXRlIHwgZGF0ZTonZGQtTU0teXl5eSdcIj48L3NwYW4+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCcgfCBzaGFyZWRMb2NhbGl6ZVwiIFtmaWVsZF09XCInYW1vdW50SW5PcmRlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VOdW1iZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgW2ZpZWxkXT1cIid3YXJlaG91c2VEZXNjcmlwdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcbiAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U2VuZE1ldGhvZERpYWxvZyA9IGZhbHNlXCI+XHJcblxyXG4gICAgPC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlclRhYkNvbXBvbmVudCBleHRlbmRzIEJhc2VTdG9ja0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBzdG9ja0xvY2F0aW9uczogU3RvY2tMb2NhdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDogQXJ0aWNsZUZsYXQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsb2NhdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmZXJJY29uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVTdG9ja0JvPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNlbmRNZXRob2REaWFsb2dDbGlja2VkOiBFdmVudEVtaXR0ZXI8UHJpbnRQcmljZVN0aWNrZXJzPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIHNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwdWJsaWMgZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uQm9bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRSb3c6IEFydGljbGVEZXRhaWxzQm8gfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNlbmRNZXRob2REaWFsb2coZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XHJcbiAgICB0aGlzLnNlbmRNZXRob2REaWFsb2dDbGlja2VkLmVtaXQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50OiBBcnRpY2xlRGV0YWlsc0JvKTogdm9pZCB7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzID0gZXZlbnQ7XHJcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblJvd1NlbGVjdGVkKHJvdzogQXJ0aWNsZURldGFpbHNCbyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJvdyA9IHJvdztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNob3dTdG9ja1RyYW5zZmVyQ2hhbmdlKHNob3c6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIgPSBzaG93O1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlckNoYW5nZS5lbWl0KHRoaXMuc2hvd1N0b2NrVHJhbnNmZXIpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGluT3JkZXJEYXRhOiBBcnRpY2xlVHJhbnNhY3Rpb24gPSBuZXcgQXJ0aWNsZVRyYW5zYWN0aW9uKCk7XHJcbiAgICBpbk9yZGVyRGF0YS50eXBlID0gXCJWXCI7XHJcbiAgICBpbk9yZGVyRGF0YS5nb29kSWQgPSB0aGlzLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihpbk9yZGVyRGF0YSkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19