@firestitch/app-message 9.0.1 → 9.0.5

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.
@@ -20,6 +20,7 @@ var QueueComponent = /** @class */ (function () {
20
20
  this._prompt = _prompt;
21
21
  this._dialog = _dialog;
22
22
  this._data = _data;
23
+ this.messageQueueRecipients = {};
23
24
  this.emailMessageQueueFormat = EmailMessageQueueFormat;
24
25
  this._destroy$ = new Subject();
25
26
  }
@@ -189,4 +190,4 @@ var QueueComponent = /** @class */ (function () {
189
190
  return QueueComponent;
190
191
  }());
191
192
  export { QueueComponent };
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXBwLW1lc3NhZ2UvIiwic291cmNlcyI6WyJhcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3F1ZXVlL3F1ZXVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFBVSxNQUFNLEVBQWEsU0FBUyxHQUNoRCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFFaEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFO0lBaUJFLHdCQUN5QyxPQUEyQixFQUMxRCxRQUFtQixFQUNuQixPQUFpQixFQUNqQixPQUFrQixFQUNPLEtBQUs7UUFKQyxZQUFPLEdBQVAsT0FBTyxD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UUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDakYsQ0FBQzs7Z0RBdEtFLE1BQU0sU0FBQyxxQkFBcUI7Z0JBQ1gsU0FBUztnQkFDVixRQUFRO2dCQUNSLFNBQVM7Z0RBQ3pCLE1BQU0sU0FBQyxlQUFlOztJQW5CekI7UUFEQyxTQUFTLENBQUMsU0FBUyxDQUFDO2tDQUNMLGVBQWU7bURBQUM7SUFIckIsY0FBYztRQUoxQixTQUFTLENBQUM7WUFDVCx1cFBBQXFDOztTQUV0QyxDQUFDO1FBbUJHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFJN0IsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7aURBSE4sU0FBUztZQUNWLFFBQVE7WUFDUixTQUFTO09BckJqQixjQUFjLENBeUwxQjtJQUFELHFCQUFDO0NBQUEsQUF6TEQsSUF5TEM7U0F6TFksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IEZzUHJvbXB0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvcHJvbXB0JztcbmltcG9ydCB7IEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5cbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IGFuY2hvcm1lIGZyb20gJ2FuY2hvcm1lJztcblxuaW1wb3J0IHsgRW1haWxNZXNzYWdlUXVldWVGb3JtYXQgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2R1bGVzL21lc3NhZ2VzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IEZTX0FQUF9NRVNTQUdFX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2FwcC1tZXNzYWdlL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0FwcE1lc3NhZ2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFJlc2VuZE1lc3NhZ2VRdWV1ZSwgRm9yd2FyZE1lc3NhZ2VRdWV1ZSwgTG9hZE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS90eXBlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9xdWV1ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXVlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoJ2xvZ0xpc3QnKVxuICBwdWJsaWMgbG9nTGlzdDogRnNMaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBtZXNzYWdlUXVldWU7XG4gIHB1YmxpYyBsb2FkTWVzc2FnZTogTG9hZE1lc3NhZ2U7XG4gIHB1YmxpYyByZXNlbmRNZXNzYWdlUXVldWU6IFJlc2VuZE1lc3NhZ2VRdWV1ZTtcbiAgcHVibGljIGZvcndhcmRNZXNzYWdlUXVldWU6IEZvcndhcmRNZXNzYWdlUXVldWU7XG4gIHB1YmxpYyBtZXNzYWdlUXVldWVSZWNpcGllbnRzO1xuICBwdWJsaWMgZW1haWxNZXNzYWdlUXVldWVGb3JtYXQgPSBFbWFpbE1lc3NhZ2VRdWV1ZUZvcm1hdDtcbiAgcHVibGljIG1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgcHVibGljIGxvZ0NvbmZpZzogRnNMaXN0Q29uZmlnO1xuICBwdWJsaWMgYXR0YWNobWVudENvbmZpZzogRnNMaXN0Q29uZmlnO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTX0FQUF9NRVNTQUdFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0FwcE1lc3NhZ2VDb25maWcsXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIHByaXZhdGUgX3Byb21wdDogRnNQcm9tcHQsXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGEsXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubWVzc2FnZVF1ZXVlU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoTWVzc2FnZVF1ZXVlU3RhdGVzKTtcbiAgICB0aGlzLnJlc2VuZE1lc3NhZ2VRdWV1ZSA9IHRoaXMuX2NvbmZpZy5yZXNlbmRNZXNzYWdlUXVldWU7XG4gICAgdGhpcy5mb3J3YXJkTWVzc2FnZVF1ZXVlID0gdGhpcy5fY29uZmlnLmZvcndhcmRNZXNzYWdlUXVldWU7XG4gICAgXG4gICAgdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlUXVldWUodGhpcy5fZGF0YS5tZXNzYWdlUXVldWUuaWQpXG4gICAgLnN1YnNjcmliZSgobWVzc2FnZVF1ZXVlKSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2VRdWV1ZSA9IG1lc3NhZ2VRdWV1ZTtcblxuICAgICAgaWYgKHRoaXMubWVzc2FnZVF1ZXVlLmVtYWlsTWVzc2FnZVF1ZXVlKSB7XG4gICAgICAgIGxldCBib2R5ID0gdGhpcy5tZXNzYWdlUXVldWUuZW1haWxNZXNzYWdlUXVldWUuYm9keTtcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZVF1ZXVlLmVtYWlsTWVzc2FnZVF1ZXVlLmZvcm1hdCA9PT0gRW1haWxNZXNzYWdlUXVldWVGb3JtYXQuSFRNTCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGJvZHksICd0ZXh0L2h0bWwnKTtcblxuICAgICAgICAgICAgZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoJ2EnKS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsICdfYmxhbmsnKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBib2R5ID0gZG9jLmRvY3VtZW50RWxlbWVudC5pbm5lckhUTUw7XG5cbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJvZHkgPSB0aGlzLmFuY2hvcm1lKGJvZHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tZXNzYWdlUXVldWUuZW1haWxNZXNzYWdlUXVldWUuYm9keSA9IGJvZHk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VRdWV1ZS5zbXNNZXNzYWdlUXVldWUpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlUXVldWUuc21zTWVzc2FnZVF1ZXVlLmJvZHkgPSB0aGlzLmFuY2hvcm1lKHRoaXMubWVzc2FnZVF1ZXVlLnNtc01lc3NhZ2VRdWV1ZS5ib2R5KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tZXNzYWdlUXVldWVSZWNpcGllbnRzID0gdGhpcy5tZXNzYWdlUXVldWUubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1xuICAgICAgICAucmVkdWNlKChhY2N1bSwgbWVzc2FnZVF1ZXVlUmVjaXBpZW50KSA9PiB7XG4gICAgICAgICAgYWNjdW1bbWVzc2FnZVF1ZXVlUmVjaXBpZW50LnJlY2lwaWVudF0gPSBtZXNzYWdlUXVldWVSZWNpcGllbnQuc3RhdGU7XG5cbiAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgdGhpcy5fc2V0TG9nc0NvbmZpZyhtZXNzYWdlUXVldWUpO1xuICAgICAgdGhpcy5fc2V0QXR0YWNobWVudHNDb25maWcobWVzc2FnZVF1ZXVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhbmNob3JtZShodG1sKSB7XG4gICAgcmV0dXJuIGFuY2hvcm1lKGh0bWwsIHtcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgYXR0cmlidXRlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICd0YXJnZXQnLFxuICAgICAgICAgICAgdmFsdWU6ICdfYmxhbmsnXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3Blbk1lc3NhZ2UobWVzc2FnZSkge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKE1lc3NhZ2VDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIH0sXG4gICAgICB3aWR0aDogJzg1JSdcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNlbmQoKSB7XG4gICAgdGhpcy5fcHJvbXB0LmNvbmZpcm0oe1xuICAgICAgdGl0bGU6ICdDb25maXJtJyxcbiAgICAgIHRlbXBsYXRlOiAnQXJlIHlvdSBzdXJlIHlvdSB3b3VsZCBsaWtlIHRvIHJlc2VuZCB0aGlzIG1lc3NhZ2U/J1xuICAgIH0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2VuZE1lc3NhZ2VRdWV1ZSh0aGlzLm1lc3NhZ2VRdWV1ZSlcbiAgICAgIC5zdWJzY3JpYmUobWVzc2FnZVF1ZXVlID0+IHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1lc3NhZ2VRdWV1ZSwgbWVzc2FnZVF1ZXVlKTtcbiAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdTdWNjZXNzZnVsbHkgcmVzZW50Jyk7XG5cbiAgICAgICAgaWYgKHRoaXMubG9nTGlzdCkge1xuICAgICAgICAgIHRoaXMubG9nTGlzdC5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZm9yd2FyZCgpIHtcbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMubWVzc2FnZVF1ZXVlLnR5cGUgPT09IE1lc3NhZ2VRdWV1ZVR5cGUuRW1haWwgPyAnYW4gZW1haWwnIDogJ2EgcGhvbmUgbnVtYmVyJztcblxuICAgIHRoaXMuX3Byb21wdC5pbnB1dCh7XG4gICAgICBsYWJlbDogYFBsZWFzZSBlbnRlciAke3R5cGVOYW1lfSB0byBmb3J3YXJkIHRvYCxcbiAgICAgIHRpdGxlOiAnRm9yd2FyZCBNZXNzYWdlJyxcbiAgICAgIGNvbW1pdExhYmVsOiAnRm9yd2FyZCcsXG4gICAgICByZXF1aXJlZDogdHJ1ZVxuICAgIH0pLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuZm9yd2FyZE1lc3NhZ2VRdWV1ZSh0aGlzLm1lc3NhZ2VRdWV1ZSwgdmFsdWUpXG4gICAgICAgIC5zdWJzY3JpYmUobWVzc2FnZVF1ZXVlID0+IHtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VRdWV1ZSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMubWVzc2FnZVF1ZXVlLFxuICAgICAgICAgICAgbWVzc2FnZVF1ZXVlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdTdWNjZXNzZnVsbHkgZm9yd2FyZGVkJyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5sb2dMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ0xpc3QucmVsb2FkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldExvZ3NDb25maWcobWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5sb2dDb25maWcgPSB7XG4gICAgICBsb2FkTW9yZTogdHJ1ZSxcbiAgICAgIHF1ZXJ5UGFyYW06IGZhbHNlLFxuICAgICAgZmV0Y2g6IHF1ZXJ5ID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5sb2FkTG9ncyhtZXNzYWdlUXVldWUsIHF1ZXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRBdHRhY2htZW50c0NvbmZpZyhtZXNzYWdlUXVldWUpIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRDb25maWcgPSB7XG4gICAgICBxdWVyeVBhcmFtOiBmYWxzZSxcbiAgICAgIGZldGNoOiBxdWVyeSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRzKG1lc3NhZ2VRdWV1ZSwgcXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHtcbiAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YS5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHZhbHVlLnByZXR0eUZpbGVzaXplID0gdGhpcy5fcHJldHR5RmlsZXNpemUodmFsdWUuZmlsZXNpemUpO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgICAgfSksIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmRvd25sb2FkTWVzc2FnZVF1ZXVlQXR0YWNobWVudCkge1xuICAgICAgdGhpcy5hdHRhY2htZW50Q29uZmlnLnJvd0FjdGlvbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjbGljazogKG1lc3NhZ2VBdHRhY2htZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25maWcuZG93bmxvYWRNZXNzYWdlUXVldWVBdHRhY2htZW50KG1lc3NhZ2VBdHRhY2htZW50LCB0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDogJ0Rvd25sb2FkJyxcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9wcmV0dHlGaWxlc2l6ZShieXRlcykge1xuICAgIGlmIChieXRlcyA9PT0gMCkgeyByZXR1cm4gJzAuMDAgQic7IH1cbiAgICBjb25zdCBlID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZygxMDI0KSk7XG4gICAgcmV0dXJuIChieXRlcyAvIE1hdGgucG93KDEwMjQsIGUpKS50b0ZpeGVkKDIpICsgJyAnICsgJyBLTUdUUCcuY2hhckF0KGUpICsgJ0InO1xuICB9XG59XG4iXX0=
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXBwLW1lc3NhZ2UvIiwic291cmNlcyI6WyJhcHAvbW9kdWxlcy9tZXNzYWdlLXF1ZXVlcy9jb21wb25lbnRzL3F1ZXVlL3F1ZXVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFBVSxNQUFNLEVBQWEsU0FBUyxHQUNoRCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFFaEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFO0lBaUJFLHdCQUN5QyxPQUEyQixFQUMxRCxRQUFtQixFQUNuQixPQUFpQixFQUNqQixPQUFrQixFQUNPLEtBQUs7UUFKQyxZQUFPLEdBQVAsT0FBTyxD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QUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ2pGLENBQUM7O2dEQXRLRSxNQUFNLFNBQUMscUJBQXFCO2dCQUNYLFNBQVM7Z0JBQ1YsUUFBUTtnQkFDUixTQUFTO2dEQUN6QixNQUFNLFNBQUMsZUFBZTs7SUFuQnpCO1FBREMsU0FBUyxDQUFDLFNBQVMsQ0FBQztrQ0FDTCxlQUFlO21EQUFDO0lBSHJCLGNBQWM7UUFKMUIsU0FBUyxDQUFDO1lBQ1QsdXBQQUFxQzs7U0FFdEMsQ0FBQztRQW1CRyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBSTdCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO2lEQUhOLFNBQVM7WUFDVixRQUFRO1lBQ1IsU0FBUztPQXJCakIsY0FBYyxDQXlMMUI7SUFBRCxxQkFBQztDQUFBLEFBekxELElBeUxDO1NBekxZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRnNNZXNzYWdlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVzc2FnZSc7XG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5pbXBvcnQgeyBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCBhbmNob3JtZSBmcm9tICdhbmNob3JtZSc7XG5cbmltcG9ydCB7IEVtYWlsTWVzc2FnZVF1ZXVlRm9ybWF0IH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kdWxlcy9tZXNzYWdlcy9jb21wb25lbnRzJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBGU19BUFBfTUVTU0FHRV9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbmplY3RvcnMnO1xuaW1wb3J0IHsgRnNBcHBNZXNzYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLW1lc3NhZ2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBSZXNlbmRNZXNzYWdlUXVldWUsIEZvcndhcmRNZXNzYWdlUXVldWUsIExvYWRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLW1lc3NhZ2UvdHlwZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcXVldWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWV1ZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBRdWV1ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKCdsb2dMaXN0JylcbiAgcHVibGljIGxvZ0xpc3Q6IEZzTGlzdENvbXBvbmVudDtcblxuICBwdWJsaWMgbWVzc2FnZVF1ZXVlO1xuICBwdWJsaWMgbG9hZE1lc3NhZ2U6IExvYWRNZXNzYWdlO1xuICBwdWJsaWMgcmVzZW5kTWVzc2FnZVF1ZXVlOiBSZXNlbmRNZXNzYWdlUXVldWU7XG4gIHB1YmxpYyBmb3J3YXJkTWVzc2FnZVF1ZXVlOiBGb3J3YXJkTWVzc2FnZVF1ZXVlO1xuICBwdWJsaWMgbWVzc2FnZVF1ZXVlUmVjaXBpZW50cyA9IHt9O1xuICBwdWJsaWMgZW1haWxNZXNzYWdlUXVldWVGb3JtYXQgPSBFbWFpbE1lc3NhZ2VRdWV1ZUZvcm1hdDtcbiAgcHVibGljIG1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgcHVibGljIGxvZ0NvbmZpZzogRnNMaXN0Q29uZmlnO1xuICBwdWJsaWMgYXR0YWNobWVudENvbmZpZzogRnNMaXN0Q29uZmlnO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTX0FQUF9NRVNTQUdFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0FwcE1lc3NhZ2VDb25maWcsXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIHByaXZhdGUgX3Byb21wdDogRnNQcm9tcHQsXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGEsXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubWVzc2FnZVF1ZXVlU3RhdGVzID0gaW5kZXhOYW1lVmFsdWUoTWVzc2FnZVF1ZXVlU3RhdGVzKTtcbiAgICB0aGlzLnJlc2VuZE1lc3NhZ2VRdWV1ZSA9IHRoaXMuX2NvbmZpZy5yZXNlbmRNZXNzYWdlUXVldWU7XG4gICAgdGhpcy5mb3J3YXJkTWVzc2FnZVF1ZXVlID0gdGhpcy5fY29uZmlnLmZvcndhcmRNZXNzYWdlUXVldWU7XG5cbiAgICB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZSh0aGlzLl9kYXRhLm1lc3NhZ2VRdWV1ZS5pZClcbiAgICAuc3Vic2NyaWJlKChtZXNzYWdlUXVldWUpID0+IHtcbiAgICAgIHRoaXMubWVzc2FnZVF1ZXVlID0gbWVzc2FnZVF1ZXVlO1xuXG4gICAgICBpZiAodGhpcy5tZXNzYWdlUXVldWUuZW1haWxNZXNzYWdlUXVldWUpIHtcbiAgICAgICAgbGV0IGJvZHkgPSB0aGlzLm1lc3NhZ2VRdWV1ZS5lbWFpbE1lc3NhZ2VRdWV1ZS5ib2R5O1xuICAgICAgICBpZiAodGhpcy5tZXNzYWdlUXVldWUuZW1haWxNZXNzYWdlUXVldWUuZm9ybWF0ID09PSBFbWFpbE1lc3NhZ2VRdWV1ZUZvcm1hdC5IVE1MKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoYm9keSwgJ3RleHQvaHRtbCcpO1xuXG4gICAgICAgICAgICBkb2MucXVlcnlTZWxlY3RvckFsbCgnYScpLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgndGFyZ2V0JywgJ19ibGFuaycpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGJvZHkgPSBkb2MuZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTDtcblxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYm9keSA9IHRoaXMuYW5jaG9ybWUoYm9keSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1lc3NhZ2VRdWV1ZS5lbWFpbE1lc3NhZ2VRdWV1ZS5ib2R5ID0gYm9keTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWVzc2FnZVF1ZXVlLnNtc01lc3NhZ2VRdWV1ZSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VRdWV1ZS5zbXNNZXNzYWdlUXVldWUuYm9keSA9IHRoaXMuYW5jaG9ybWUodGhpcy5tZXNzYWdlUXVldWUuc21zTWVzc2FnZVF1ZXVlLmJvZHkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1lc3NhZ2VRdWV1ZVJlY2lwaWVudHMgPSB0aGlzLm1lc3NhZ2VRdWV1ZS5tZXNzYWdlUXVldWVSZWNpcGllbnRzXG4gICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBtZXNzYWdlUXVldWVSZWNpcGllbnQpID0+IHtcbiAgICAgICAgICBhY2N1bVttZXNzYWdlUXVldWVSZWNpcGllbnQucmVjaXBpZW50XSA9IG1lc3NhZ2VRdWV1ZVJlY2lwaWVudC5zdGF0ZTtcblxuICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICB0aGlzLl9zZXRMb2dzQ29uZmlnKG1lc3NhZ2VRdWV1ZSk7XG4gICAgICB0aGlzLl9zZXRBdHRhY2htZW50c0NvbmZpZyhtZXNzYWdlUXVldWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFuY2hvcm1lKGh0bWwpIHtcbiAgICByZXR1cm4gYW5jaG9ybWUoaHRtbCwge1xuICAgICAgb3B0aW9uczoge1xuICAgICAgICBhdHRyaWJ1dGVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3RhcmdldCcsXG4gICAgICAgICAgICB2YWx1ZTogJ19ibGFuaydcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTWVzc2FnZShtZXNzYWdlKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oTWVzc2FnZUNvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgfSxcbiAgICAgIHdpZHRoOiAnODUlJ1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc2VuZCgpIHtcbiAgICB0aGlzLl9wcm9tcHQuY29uZmlybSh7XG4gICAgICB0aXRsZTogJ0NvbmZpcm0nLFxuICAgICAgdGVtcGxhdGU6ICdBcmUgeW91IHN1cmUgeW91IHdvdWxkIGxpa2UgdG8gcmVzZW5kIHRoaXMgbWVzc2FnZT8nXG4gICAgfSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZW5kTWVzc2FnZVF1ZXVlKHRoaXMubWVzc2FnZVF1ZXVlKVxuICAgICAgLnN1YnNjcmliZShtZXNzYWdlUXVldWUgPT4ge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMubWVzc2FnZVF1ZXVlLCBtZXNzYWdlUXVldWUpO1xuICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ1N1Y2Nlc3NmdWxseSByZXNlbnQnKTtcblxuICAgICAgICBpZiAodGhpcy5sb2dMaXN0KSB7XG4gICAgICAgICAgdGhpcy5sb2dMaXN0LnJlbG9hZCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmb3J3YXJkKCkge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy5tZXNzYWdlUXVldWUudHlwZSA9PT0gTWVzc2FnZVF1ZXVlVHlwZS5FbWFpbCA/ICdhbiBlbWFpbCcgOiAnYSBwaG9uZSBudW1iZXInO1xuXG4gICAgdGhpcy5fcHJvbXB0LmlucHV0KHtcbiAgICAgIGxhYmVsOiBgUGxlYXNlIGVudGVyICR7dHlwZU5hbWV9IHRvIGZvcndhcmQgdG9gLFxuICAgICAgdGl0bGU6ICdGb3J3YXJkIE1lc3NhZ2UnLFxuICAgICAgY29tbWl0TGFiZWw6ICdGb3J3YXJkJyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlXG4gICAgfSkuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5mb3J3YXJkTWVzc2FnZVF1ZXVlKHRoaXMubWVzc2FnZVF1ZXVlLCB2YWx1ZSlcbiAgICAgICAgLnN1YnNjcmliZShtZXNzYWdlUXVldWUgPT4ge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVF1ZXVlID0ge1xuICAgICAgICAgICAgLi4udGhpcy5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICBtZXNzYWdlUXVldWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ1N1Y2Nlc3NmdWxseSBmb3J3YXJkZWQnKTtcblxuICAgICAgICAgIGlmICh0aGlzLmxvZ0xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMubG9nTGlzdC5yZWxvYWQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TG9nc0NvbmZpZyhtZXNzYWdlUXVldWUpIHtcbiAgICB0aGlzLmxvZ0NvbmZpZyA9IHtcbiAgICAgIGxvYWRNb3JlOiB0cnVlLFxuICAgICAgcXVlcnlQYXJhbTogZmFsc2UsXG4gICAgICBmZXRjaDogcXVlcnkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRMb2dzKG1lc3NhZ2VRdWV1ZSwgcXVlcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldEF0dGFjaG1lbnRzQ29uZmlnKG1lc3NhZ2VRdWV1ZSkge1xuICAgIHRoaXMuYXR0YWNobWVudENvbmZpZyA9IHtcbiAgICAgIHF1ZXJ5UGFyYW06IGZhbHNlLFxuICAgICAgZmV0Y2g6IHF1ZXJ5ID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5sb2FkTWVzc2FnZVF1ZXVlQXR0YWNobWVudHMobWVzc2FnZVF1ZXVlLCBxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWUucHJldHR5RmlsZXNpemUgPSB0aGlzLl9wcmV0dHlGaWxlc2l6ZSh2YWx1ZS5maWxlc2l6ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgICB9KSwgcGFnaW5nOiByZXNwb25zZS5wYWdpbmdcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuZG93bmxvYWRNZXNzYWdlUXVldWVBdHRhY2htZW50KSB7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRDb25maWcucm93QWN0aW9ucyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNsaWNrOiAobWVzc2FnZUF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5kb3dubG9hZE1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnQobWVzc2FnZUF0dGFjaG1lbnQsIHRoaXMubWVzc2FnZVF1ZXVlKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxhYmVsOiAnRG93bmxvYWQnLFxuICAgICAgICB9XG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3ByZXR0eUZpbGVzaXplKGJ5dGVzKSB7XG4gICAgaWYgKGJ5dGVzID09PSAwKSB7IHJldHVybiAnMC4wMCBCJzsgfVxuICAgIGNvbnN0IGUgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKDEwMjQpKTtcbiAgICByZXR1cm4gKGJ5dGVzIC8gTWF0aC5wb3coMTAyNCwgZSkpLnRvRml4ZWQoMikgKyAnICcgKyAnIEtNR1RQJy5jaGFyQXQoZSkgKyAnQic7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { __assign, __decorate, __metadata, __param } from "tslib";
2
- import { Component, Inject, ViewChild } from '@angular/core';
1
+ import { __assign, __decorate, __metadata, __param, __read, __spread } from "tslib";
2
+ import { Component, Inject, Input, ViewChild } from '@angular/core';
3
3
  import { MatDialog } from '@angular/material/dialog';
4
4
  import { takeUntil, map, switchMap, tap } from 'rxjs/operators';
5
5
  import { Subject, of } from 'rxjs';
@@ -16,6 +16,7 @@ var QueuesComponent = /** @class */ (function () {
16
16
  this._config = _config;
17
17
  this._dialog = _dialog;
18
18
  this.list = null;
19
+ this.query = {};
19
20
  this.config = null;
20
21
  this.messageQueueStates = {};
21
22
  this.MessageQueueState = MessageQueueState;
@@ -47,7 +48,7 @@ var QueuesComponent = /** @class */ (function () {
47
48
  ],
48
49
  sort: { value: 'created_date', direction: 'desc' },
49
50
  fetch: function (query) {
50
- query = __assign(__assign({}, query), { messageQueueAttachmentCounts: true, emailMessageQueues: true, emailMessageQueueBodies: false, smsMessageQueues: true });
51
+ query = __assign(__assign(__assign({}, query), _this.query), { messageQueueAttachmentCounts: true, emailMessageQueues: true, emailMessageQueueBodies: false, smsMessageQueues: true });
51
52
  return _this._config.loadMessageQueues(query)
52
53
  .pipe(map(function (response) { return ({ data: response.data
53
54
  .map(function (messageQueue) {
@@ -85,29 +86,30 @@ var QueuesComponent = /** @class */ (function () {
85
86
  label: 'Cancel Queued',
86
87
  });
87
88
  }
88
- if (this._config.loadMessages) {
89
- this.config.filters.push({
90
- name: 'message_id',
91
- type: ItemType.Select,
92
- label: 'Message Type',
93
- values: function (query) {
94
- return _this._config.loadMessages(query)
95
- .pipe(map(function (items) {
96
- return items.map(function (item) { return ({ name: item.name, value: item.id }); });
97
- }));
98
- }
99
- });
100
- }
89
+ this.config.filters.push({
90
+ name: 'message_id',
91
+ type: ItemType.Select,
92
+ label: 'Message Type',
93
+ values: function (query) {
94
+ query = __assign(__assign({}, query), { limit: 50 });
95
+ return _this._config.loadMessages(query)
96
+ .pipe(map(function (response) {
97
+ return __spread([
98
+ { value: null, name: 'All', }
99
+ ], response.data.map(function (item) { return ({ name: item.name, value: item.id }); }));
100
+ }));
101
+ }
102
+ });
101
103
  };
102
104
  QueuesComponent.prototype.open = function (messageQueue) {
103
105
  var _this = this;
104
- var dialogRef = this._dialog.open(QueueComponent, {
106
+ this._dialog.open(QueueComponent, {
105
107
  data: {
106
108
  messageQueue: messageQueue,
107
109
  },
108
110
  width: '85%'
109
- });
110
- dialogRef.afterClosed()
111
+ })
112
+ .afterClosed()
111
113
  .pipe(takeUntil(this._destroy$))
112
114
  .subscribe(function () {
113
115
  _this.list.reload();
@@ -125,6 +127,10 @@ var QueuesComponent = /** @class */ (function () {
125
127
  ViewChild(FsListComponent, { static: true }),
126
128
  __metadata("design:type", FsListComponent)
127
129
  ], QueuesComponent.prototype, "list", void 0);
130
+ __decorate([
131
+ Input(),
132
+ __metadata("design:type", Object)
133
+ ], QueuesComponent.prototype, "query", void 0);
128
134
  QueuesComponent = __decorate([
129
135
  Component({
130
136
  selector: 'fs-app-message-queues',
@@ -137,4 +143,4 @@ var QueuesComponent = /** @class */ (function () {
137
143
  return QueuesComponent;
138
144
  }());
139
145
  export { QueuesComponent };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1tZXNzYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29tcG9uZW50cy9xdWV1ZXMvcXVldWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5DLE9BQU8sRUFBd0IsZUFBZSxFQUFnQixNQUFNLGtCQUFrQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFTdkU7SUFXRSx5QkFDeUMsT0FBMkIsRUFDMUQsT0FBa0I7UUFEYSxZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMxRCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBVnJCLFNBQUksR0FBb0IsSUFBSSxDQUFDO1FBRTdCLFdBQU0sR0FBaUIsSUFBSSxDQUFDO1FBQzVCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUVyQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUs5QixDQUFDO0lBRUUsa0NBQVEsR0FBZjtRQUFBLGlCQXFHQztRQW5HQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3RCLEtBQUssRUFBRSxRQUFRO2lCQUNoQjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07b0JBQ3JCLEtBQUssRUFBRSxRQUFRO29CQUNmLE1BQU0sRUFBRTt3QkFDTixPQUFPLGtCQUFrQixDQUFDO29CQUM1QixDQUFDO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxRQUFRLENBQUMsU0FBUztvQkFDeEIsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztpQkFDaEM7YUFDRjtZQUNELElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtZQUNsRCxLQUFLLEVBQUUsVUFBQSxLQUFLO2dCQUNWLEtBQUsseUJBQ0EsS0FBSyxLQUNSLDRCQUE0QixFQUFFLElBQUksRUFDbEMsa0JBQWtCLEVBQUUsSUFBSSxFQUN4Qix1QkFBdUIsRUFBRSxLQUFLLEVBQzlCLGdCQUFnQixFQUFFLElBQUksR0FDdkIsQ0FBQztnQkFFRixPQUFPLEtBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO3FCQUN6QyxJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUEsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTt5QkFDbkMsR0FBRyxDQUFDLFVBQUMsWUFBWTt3QkFDaEIsNkJBQ0ssWUFBWSxLQUNmLHNCQUFzQixFQUFFLFlBQVksQ0FBQyxzQkFBc0I7aUNBQzFELE1BQU0sQ0FBQyxVQUFDLEtBQUssRUFBRSxxQkFBcUI7Z0NBQ25DLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7Z0NBRXJFLE9BQU8sS0FBSyxDQUFDOzRCQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsSUFDTjtvQkFDSixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBWGhCLENBV2dCLENBQUMsQ0FDbEMsQ0FBQTtZQUNMLENBQUM7U0FDRixDQUFDO1FBRUYsMERBQTBEO1FBQzFELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRztnQkFDdEIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLE9BQU8sRUFBRSxFQUNSO2dCQUNELGNBQWMsRUFBRSxVQUFDLE1BQTRCO29CQUMzQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUJBQ1osSUFBSSxDQUNILFNBQVMsQ0FBQzt3QkFDUixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTs0QkFDbkMsT0FBTyxLQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO3lCQUNqRDt3QkFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbEIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDO3dCQUNGLEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7Z0JBQ04sQ0FBQzthQUNGLENBQUM7U0FDSDtRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDakMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLE1BQU07Z0JBQ2hDLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxlQUFlO2FBQ3ZCLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07Z0JBQ3JCLEtBQUssRUFBRSxjQUFjO2dCQUNyQixNQUFNLEVBQUUsVUFBQyxLQUFLO29CQUNaLE9BQU8sS0FBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO3lCQUNwQyxJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUMsS0FBVTt3QkFDYixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLElBQUssT0FBQSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFyQyxDQUFxQyxDQUFDLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxDQUNILENBQUE7Z0JBQ0wsQ0FBQzthQUNGLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLDhCQUFJLEdBQVgsVUFBWSxZQUFZO1FBQXhCLGlCQWVDO1FBZEMsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2xELElBQUksRUFBRTtnQkFDSixZQUFZLEVBQUUsWUFBWTthQUMzQjtZQUNELEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRTthQUNwQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUM7WUFDVCxLQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLHFDQUFXLEdBQWxCO1FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7O2dEQS9IRSxNQUFNLFNBQUMscUJBQXFCO2dCQUNaLFNBQVM7O0lBVjVCO1FBREMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztrQ0FDaEMsZUFBZTtpREFBUTtJQUh6QixlQUFlO1FBTDNCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSx1QkFBdUI7WUFFakMsZzNGQUFzQzs7U0FDdkMsQ0FBQztRQWFHLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7aURBQ2IsU0FBUztPQWJqQixlQUFlLENBNEkzQjtJQUFELHNCQUFDO0NBQUEsQUE1SUQsSUE0SUM7U0E1SVksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZzTGlzdEFjdGlvblNlbGVjdGVkLCBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uQWN0aW9uVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3NlbGVjdGlvbic7XG5cbmltcG9ydCB7IFF1ZXVlQ29tcG9uZW50IH0gZnJvbSAnLi4vcXVldWUnO1xuaW1wb3J0IHsgTWVzc2FnZVF1ZXVlU3RhdGVzIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IGluZGV4TmFtZVZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZSB9IGZyb20gJy4uLy4uL2VudW1zL21lc3NhZ2UtcXVldWUtc3RhdGUuZW51bSc7XG5pbXBvcnQgeyBGU19BUFBfTUVTU0FHRV9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbmplY3RvcnMnO1xuaW1wb3J0IHsgRnNBcHBNZXNzYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLW1lc3NhZ2UvaW50ZXJmYWNlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtYXBwLW1lc3NhZ2UtcXVldWVzJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVldWVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWV1ZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXVlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAVmlld0NoaWxkKEZzTGlzdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGxpc3Q6IEZzTGlzdENvbXBvbmVudCA9IG51bGw7XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIG1lc3NhZ2VRdWV1ZVN0YXRlcyA9IHt9O1xuICBwdWJsaWMgTWVzc2FnZVF1ZXVlU3RhdGUgPSBNZXNzYWdlUXVldWVTdGF0ZTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGU19BUFBfTUVTU0FHRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogRnNBcHBNZXNzYWdlQ29uZmlnLCAgICBcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLm1lc3NhZ2VRdWV1ZVN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKE1lc3NhZ2VRdWV1ZVN0YXRlcyk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogcXVlcnkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICBtZXNzYWdlUXVldWVBdHRhY2htZW50Q291bnRzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlczogdHJ1ZSxcbiAgICAgICAgICBlbWFpbE1lc3NhZ2VRdWV1ZUJvZGllczogZmFsc2UsXG4gICAgICAgICAgc21zTWVzc2FnZVF1ZXVlczogdHJ1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlUXVldWVzKHF1ZXJ5KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+ICh7IGRhdGE6IHJlc3BvbnNlLmRhdGFcbiAgICAgICAgICAgICAgLm1hcCgobWVzc2FnZVF1ZXVlKSA9PiB7ICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4ubWVzc2FnZVF1ZXVlLFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZVF1ZXVlUmVjaXBpZW50czogbWVzc2FnZVF1ZXVlLm1lc3NhZ2VRdWV1ZVJlY2lwaWVudHNcbiAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBtZXNzYWdlUXVldWVSZWNpcGllbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWNjdW1bbWVzc2FnZVF1ZXVlUmVjaXBpZW50LnJlY2lwaWVudF0gPSBtZXNzYWdlUXVldWVSZWNpcGllbnQuc3RhdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICAgICAgICAgICAgfSwge30pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pLCBwYWdpbmc6IHJlc3BvbnNlLnBhZ2luZyB9KSlcbiAgICAgICAgICApXG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIGlmIGFueSBidWxrIGFjdGlvbnMgYWRkIHRoZSBzZWxlY3Rpb24gb2JqZWN0IHRvIGNvbmZpZy5cbiAgICBpZiAodGhpcy5fY29uZmlnLmNhbmNlbE1lc3NhZ2VRdWV1ZXMpIHtcbiAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGlvbiA9IHtcbiAgICAgICAgc2VsZWN0QWxsOiBmYWxzZSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICBdLFxuICAgICAgICBhY3Rpb25TZWxlY3RlZDogKGFjdGlvbjogRnNMaXN0QWN0aW9uU2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24uYWN0aW9uLm5hbWUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmNhbmNlbE1lc3NhZ2VRdWV1ZXMoYWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIGFkZCBlYWNoIGluZGl2aWR1YWwgYnVsayBhY3Rpb24gdG8gc2VsZWN0IGFjdGlvbnNcbiAgICBpZiAodGhpcy5fY29uZmlnLmNhbmNlbE1lc3NhZ2VRdWV1ZXMpIHtcbiAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGlvbi5hY3Rpb25zLnB1c2goe1xuICAgICAgICB0eXBlOiBTZWxlY3Rpb25BY3Rpb25UeXBlLkFjdGlvbixcbiAgICAgICAgbmFtZTogJ2NhbmNlbCcsXG4gICAgICAgIGxhYmVsOiAnQ2FuY2VsIFF1ZXVlZCcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcykge1xuICAgICAgdGhpcy5jb25maWcuZmlsdGVycy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ21lc3NhZ2VfaWQnLFxuICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgIGxhYmVsOiAnTWVzc2FnZSBUeXBlJyxcbiAgICAgICAgdmFsdWVzOiAocXVlcnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWRNZXNzYWdlcyhxdWVyeSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBtYXAoKGl0ZW1zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiAoeyBuYW1lOiBpdGVtLm5hbWUsIHZhbHVlOiBpdGVtLmlkIH0pKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oUXVldWVDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZVF1ZXVlOiBtZXNzYWdlUXVldWUsXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1tZXNzYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvbWVzc2FnZS1xdWV1ZXMvY29tcG9uZW50cy9xdWV1ZXMvcXVldWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuQyxPQUFPLEVBQXdCLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBU3ZFO0lBYUUseUJBQ3lDLE9BQTJCLEVBQzFELE9BQWtCO1FBRGEsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUQsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQVpyQixTQUFJLEdBQW9CLElBQUksQ0FBQztRQUVwQixV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WTthQUMzQjtZQUNELEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQzthQUNDLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQztZQUNULEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0scUNBQVcsR0FBbEI7UUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7Z0RBcElFLE1BQU0sU0FBQyxxQkFBcUI7Z0JBQ1osU0FBUzs7SUFaNUI7UUFEQyxTQUFTLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2tDQUNoQyxlQUFlO2lEQUFRO0lBRTNCO1FBQVIsS0FBSyxFQUFFOztrREFBbUI7SUFMaEIsZUFBZTtRQUwzQixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsdUJBQXVCO1lBRWpDLGczRkFBc0M7O1NBQ3ZDLENBQUM7UUFlRyxXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO2lEQUNiLFNBQVM7T0FmakIsZUFBZSxDQW1KM0I7SUFBRCxzQkFBQztDQUFBLEFBbkpELElBbUpDO1NBbkpZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRnNMaXN0QWN0aW9uU2VsZWN0ZWQsIEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25BY3Rpb25UeXBlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgUXVldWVDb21wb25lbnQgfSBmcm9tICcuLi9xdWV1ZSc7XG5pbXBvcnQgeyBNZXNzYWdlUXVldWVTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb25zdHMnO1xuaW1wb3J0IHsgaW5kZXhOYW1lVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IE1lc3NhZ2VRdWV1ZVN0YXRlIH0gZnJvbSAnLi4vLi4vZW51bXMvbWVzc2FnZS1xdWV1ZS1zdGF0ZS5lbnVtJztcbmltcG9ydCB7IEZTX0FQUF9NRVNTQUdFX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uL2FwcC1tZXNzYWdlL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0FwcE1lc3NhZ2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9hcHAtbWVzc2FnZS9pbnRlcmZhY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hcHAtbWVzc2FnZS1xdWV1ZXMnLFxuICBzdHlsZVVybHM6IFsnLi9xdWV1ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXVlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUXVldWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcXVlcnkgPSB7fTtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWcgPSBudWxsO1xuICBwdWJsaWMgbWVzc2FnZVF1ZXVlU3RhdGVzID0ge307XG4gIHB1YmxpYyBNZXNzYWdlUXVldWVTdGF0ZSA9IE1lc3NhZ2VRdWV1ZVN0YXRlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEZTX0FQUF9NRVNTQUdFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0FwcE1lc3NhZ2VDb25maWcsICAgIFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VRdWV1ZVN0YXRlcyA9IGluZGV4TmFtZVZhbHVlKE1lc3NhZ2VRdWV1ZVN0YXRlcyk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXRlJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlczogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VRdWV1ZVN0YXRlcztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGF0ZScsXG4gICAgICAgICAgdHlwZTogSXRlbVR5cGUuRGF0ZVJhbmdlLFxuICAgICAgICAgIGxhYmVsOiBbJ0Zyb20gRGF0ZScsICdUbyBEYXRlJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc29ydDogeyB2YWx1ZTogJ2NyZWF0ZWRfZGF0ZScsIGRpcmVjdGlvbjogJ2Rlc2MnIH0sXG4gICAgICBmZXRjaDogcXVlcnkgPT4ge1xuICAgICAgICBxdWVyeSA9IHtcbiAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5LFxuICAgICAgICAgIG1lc3NhZ2VRdWV1ZUF0dGFjaG1lbnRDb3VudHM6IHRydWUsXG4gICAgICAgICAgZW1haWxNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICAgIGVtYWlsTWVzc2FnZVF1ZXVlQm9kaWVzOiBmYWxzZSxcbiAgICAgICAgICBzbXNNZXNzYWdlUXVldWVzOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VRdWV1ZXMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4gKHsgZGF0YTogcmVzcG9uc2UuZGF0YVxuICAgICAgICAgICAgICAubWFwKChtZXNzYWdlUXVldWUpID0+IHsgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5tZXNzYWdlUXVldWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlUXVldWVSZWNpcGllbnRzOiBtZXNzYWdlUXVldWUubWVzc2FnZVF1ZXVlUmVjaXBpZW50c1xuICAgICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIG1lc3NhZ2VRdWV1ZVJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY2N1bVttZXNzYWdlUXVldWVSZWNpcGllbnQucmVjaXBpZW50XSA9IG1lc3NhZ2VRdWV1ZVJlY2lwaWVudC5zdGF0ZTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICAgICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSksIHBhZ2luZzogcmVzcG9uc2UucGFnaW5nIH0pKVxuICAgICAgICAgIClcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gaWYgYW55IGJ1bGsgYWN0aW9ucyBhZGQgdGhlIHNlbGVjdGlvbiBvYmplY3QgdG8gY29uZmlnLlxuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uID0ge1xuICAgICAgICBzZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgIF0sXG4gICAgICAgIGFjdGlvblNlbGVjdGVkOiAoYWN0aW9uOiBGc0xpc3RBY3Rpb25TZWxlY3RlZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvZih0cnVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi5hY3Rpb24ubmFtZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcyhhY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gYWRkIGVhY2ggaW5kaXZpZHVhbCBidWxrIGFjdGlvbiB0byBzZWxlY3QgYWN0aW9uc1xuICAgIGlmICh0aGlzLl9jb25maWcuY2FuY2VsTWVzc2FnZVF1ZXVlcykge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0aW9uLmFjdGlvbnMucHVzaCh7XG4gICAgICAgIHR5cGU6IFNlbGVjdGlvbkFjdGlvblR5cGUuQWN0aW9uLFxuICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgbGFiZWw6ICdDYW5jZWwgUXVldWVkJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnLmZpbHRlcnMucHVzaCh7XG4gICAgICBuYW1lOiAnbWVzc2FnZV9pZCcsXG4gICAgICB0eXBlOiBJdGVtVHlwZS5TZWxlY3QsXG4gICAgICBsYWJlbDogJ01lc3NhZ2UgVHlwZScsXG4gICAgICB2YWx1ZXM6IChxdWVyeSkgPT4ge1xuICAgICAgICBxdWVyeSA9IHsgXG4gICAgICAgICAgLi4ucXVlcnksXG4gICAgICAgICAgbGltaXQ6IDUwLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcubG9hZE1lc3NhZ2VzKHF1ZXJ5KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHsgdmFsdWU6IG51bGwsIG5hbWU6ICdBbGwnLCB9LFxuICAgICAgICAgICAgICAgIC4uLnJlc3BvbnNlLmRhdGEubWFwKChpdGVtKSA9PiAoeyBuYW1lOiBpdGVtLm5hbWUsIHZhbHVlOiBpdGVtLmlkIH0pKSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW4obWVzc2FnZVF1ZXVlKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oUXVldWVDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZVF1ZXVlOiBtZXNzYWdlUXVldWUsXG4gICAgICB9LFxuICAgICAgd2lkdGg6ICc4NSUnXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param, __metadata } from 'tslib';
2
- import { Inject, Component, InjectionToken, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, NgModule, Pipe, Input } from '@angular/core';
2
+ import { Inject, Component, InjectionToken, ChangeDetectorRef, ChangeDetectionStrategy, ViewChild, NgModule, Input, Pipe } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { RouterModule } from '@angular/router';
5
5
  import { FlexLayoutModule } from '@angular/flex-layout';
@@ -353,6 +353,7 @@ let QueueComponent = class QueueComponent {
353
353
  this._prompt = _prompt;
354
354
  this._dialog = _dialog;
355
355
  this._data = _data;
356
+ this.messageQueueRecipients = {};
356
357
  this.emailMessageQueueFormat = EmailMessageQueueFormat;
357
358
  this._destroy$ = new Subject();
358
359
  }
@@ -521,6 +522,7 @@ let QueuesComponent = class QueuesComponent {
521
522
  this._config = _config;
522
523
  this._dialog = _dialog;
523
524
  this.list = null;
525
+ this.query = {};
524
526
  this.config = null;
525
527
  this.messageQueueStates = {};
526
528
  this.MessageQueueState = MessageQueueState;
@@ -551,7 +553,7 @@ let QueuesComponent = class QueuesComponent {
551
553
  ],
552
554
  sort: { value: 'created_date', direction: 'desc' },
553
555
  fetch: query => {
554
- query = Object.assign(Object.assign({}, query), { messageQueueAttachmentCounts: true, emailMessageQueues: true, emailMessageQueueBodies: false, smsMessageQueues: true });
556
+ query = Object.assign(Object.assign(Object.assign({}, query), this.query), { messageQueueAttachmentCounts: true, emailMessageQueues: true, emailMessageQueueBodies: false, smsMessageQueues: true });
555
557
  return this._config.loadMessageQueues(query)
556
558
  .pipe(map(response => ({ data: response.data
557
559
  .map((messageQueue) => {
@@ -589,28 +591,30 @@ let QueuesComponent = class QueuesComponent {
589
591
  label: 'Cancel Queued',
590
592
  });
591
593
  }
592
- if (this._config.loadMessages) {
593
- this.config.filters.push({
594
- name: 'message_id',
595
- type: ItemType.Select,
596
- label: 'Message Type',
597
- values: (query) => {
598
- return this._config.loadMessages(query)
599
- .pipe(map((items) => {
600
- return items.map((item) => ({ name: item.name, value: item.id }));
601
- }));
602
- }
603
- });
604
- }
594
+ this.config.filters.push({
595
+ name: 'message_id',
596
+ type: ItemType.Select,
597
+ label: 'Message Type',
598
+ values: (query) => {
599
+ query = Object.assign(Object.assign({}, query), { limit: 50 });
600
+ return this._config.loadMessages(query)
601
+ .pipe(map((response) => {
602
+ return [
603
+ { value: null, name: 'All', },
604
+ ...response.data.map((item) => ({ name: item.name, value: item.id })),
605
+ ];
606
+ }));
607
+ }
608
+ });
605
609
  }
606
610
  open(messageQueue) {
607
- const dialogRef = this._dialog.open(QueueComponent, {
611
+ this._dialog.open(QueueComponent, {
608
612
  data: {
609
613
  messageQueue: messageQueue,
610
614
  },
611
615
  width: '85%'
612
- });
613
- dialogRef.afterClosed()
616
+ })
617
+ .afterClosed()
614
618
  .pipe(takeUntil(this._destroy$))
615
619
  .subscribe(() => {
616
620
  this.list.reload();
@@ -629,6 +633,10 @@ __decorate([
629
633
  ViewChild(FsListComponent, { static: true }),
630
634
  __metadata("design:type", FsListComponent)
631
635
  ], QueuesComponent.prototype, "list", void 0);
636
+ __decorate([
637
+ Input(),
638
+ __metadata("design:type", Object)
639
+ ], QueuesComponent.prototype, "query", void 0);
632
640
  QueuesComponent = __decorate([
633
641
  Component({
634
642
  selector: 'fs-app-message-queues',
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-app-message.js","sources":["ng://@firestitch/app-message/app/modules/messages/enums/email-message-format.enum.ts","ng://@firestitch/app-message/app/modules/messages/consts/email-message-formats.const.ts","ng://@firestitch/app-message/app/modules/message-preview/components/preview/preview.component.ts","ng://@firestitch/app-message/app/modules/app-message/injectors/app-message-config.injector.ts","ng://@firestitch/app-message/app/modules/messages/components/message/message.component.ts","ng://@firestitch/app-message/app/helpers/index-name-value.ts","ng://@firestitch/app-message/app/modules/messages/components/messages/messages.component.ts","ng://@firestitch/app-message/app/modules/message-preview/message-preview.module.ts","ng://@firestitch/app-message/app/modules/messages/messages.module.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/email-message-queue-format.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-type.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-state.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/consts/message-queue-states.const.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queue/queue.component.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queues/queues.component.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/linkify.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/truncate.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/components/recipient/recipient.component.ts","ng://@firestitch/app-message/app/modules/message-queues/message-queues.module.ts","ng://@firestitch/app-message/app/modules/message-templates/components/template/template.component.ts","ng://@firestitch/app-message/app/modules/message-templates/components/templates/templates.component.ts","ng://@firestitch/app-message/app/modules/message-templates/message-templates.module.ts","ng://@firestitch/app-message/app/modules/app-message/app-message.module.ts","ng://@firestitch/app-message/public_api.ts","ng://@firestitch/app-message/firestitch-app-message.ts"],"sourcesContent":["export enum EmailMessageFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","\nimport { EmailMessageFormat } from '../enums';\n\nexport const EmailMessageFormats = [\n { name: 'Text', value: EmailMessageFormat.Text },\n { name: 'HTML', value: EmailMessageFormat.HTML },\n { name: 'Rich Text', value: EmailMessageFormat.RichText }\n];\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n\n@Component({\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss']\n})\nexport class PreviewComponent implements OnInit {\n\n public html;\n public styles;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n this.html = _data.html;\n this.styles = _data.styles;\n }\n\n public ngOnInit() {\n\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_APP_MESSAGE_ROOT_CONFIG = new InjectionToken<any[]>('fs-app-message-root-config');\nexport const FS_APP_MESSAGE_CONFIG = new InjectionToken<any[]>('fs-app-message-config');\n","import { Component, OnInit, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\n\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { switchMap, tap } from 'rxjs/operators';\n\nimport { EmailMessageFormats } from '../../consts';\nimport { EmailMessageFormat } from '../../enums';\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { of } from 'rxjs';\n\n\n@Component({\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MessageComponent implements OnInit {\n\n public message;\n public tab;\n public messageTemplates = [];\n public emailMessageFormats = EmailMessageFormats;\n public emailMessageFormat = EmailMessageFormat;\n\n public constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n @Inject(MAT_DIALOG_DATA) private _data,\n private _prompt: FsPrompt,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n ) {\n }\n\n public ngOnInit() {\n this._config.loadMessage(this._data.message)\n .subscribe((response) => {\n this.message = response;\n\n if (this.message.emailMessage && this.message.emailMessage.customize === undefined) {\n this.message.emailMessage.customize = true;\n }\n if (this.message.smsMessage && this.message.smsMessage.customize === undefined) {\n this.message.smsMessage.customize = true;\n }\n\n this._cdRef.markForCheck();\n });\n\n this._config.loadMessageTemplates()\n .subscribe((data) => {\n this.messageTemplates = data.data;\n this._cdRef.markForCheck();\n });\n }\n\n public tabChange(event: MatTabChangeEvent) {\n switch (event.tab.textLabel) {\n case 'SMS Message':\n this.tab = 'sms';\n break;\n case 'Email Message':\n this.tab = 'email';\n break;\n default:\n this.tab = null;\n }\n }\n\n public save = () => {\n return this._config.saveMessage(this.message)\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n })\n );\n }\n\n public openPreview(): void {\n let html = this.message.emailMessage.body;\n let styles = this.message.emailMessage.styles;\n\n if (this.message.emailMessage.messageTemplateId) {\n const messageTemplate = this.messageTemplates\n .find((item) => {\n return this.message.emailMessage.messageTemplateId === item.id;\n });\n\n if (messageTemplate) {\n html = messageTemplate.content.replace('{$content}', html);\n styles = messageTemplate.styles.concat(styles);\n }\n }\n\n this._dialog.open(PreviewComponent, {\n data: {\n styles,\n html,\n },\n width: '95%'\n });\n }\n\n public sendTest(type) {\n of(true)\n .pipe(\n switchMap(() => {\n return type === 'email' ? this._config.getTestEmail() : of('');\n }),\n switchMap((default_) => { \n const typeName = type === 'email' ? 'an email' : 'phone number';\n \n return this._prompt.input({\n label: `Please enter ${typeName} to send test to`,\n title: 'Send Test',\n commitLabel: 'Send',\n default: default_,\n required: true\n })\n })\n )\n .subscribe((value: string) => {\n this._config.testMessage(this.message, value, type)\n .subscribe(() => {\n this._message.success('Test Sent');\n });\n });\n }\n}\n","\nexport function indexNameValue(arry) {\n const obj = {};\n arry.forEach(item => {\n obj[item.value] = item.name;\n });\n\n return obj;\n}\n","import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\n\nimport { MessageComponent } from '../message';\nimport { EmailMessageFormats } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n@Component({\n selector: 'fs-app-messages',\n templateUrl: './messages.component.html'\n})\nexport class MessagesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public emailMessageFormats = {};\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit(): void {\n this.emailMessageFormats = indexNameValue(EmailMessageFormats);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n }\n ],\n\n fetch: query => {\n return this._config.loadMessages(query)\n .pipe(\n map(response => {\n return ({ data: response.data, paging: response.paging })\n })\n );\n }\n }\n }\n\n public open(message) {\n const dialogRef = this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsDialogModule } from '@firestitch/dialog';\n\nimport { PreviewComponent } from './components/preview';\n\n\n@NgModule({\n imports: [\n MatDialogModule,\n MatButtonModule,\n\n FsDialogModule,\n FsIFrameModule,\n ],\n declarations: [\n PreviewComponent,\n ],\n exports: [\n PreviewComponent,\n ]\n})\nexport class FsAppMessagePreviewModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FormsModule } from '@angular/forms';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\nimport { FsEditorRichTextModule } from '@firestitch/editor';\n\nimport { MessagesComponent } from './components/messages/messages.component';\nimport { MessageComponent } from './components/message/message.component';\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatInputModule,\n MatOptionModule,\n MatSelectModule,\n MatTooltipModule,\n MatCheckboxModule,\n\n FsDialogModule,\n FsListModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n FsEditorRichTextModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n MessagesComponent,\n MessageComponent,\n ],\n exports: [\n MessagesComponent,\n MessageComponent,\n ],\n})\nexport class FsAppMessagesModule {}\n","export enum EmailMessageQueueFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","export enum MessageQueueType {\n Sms = 'S',\n Email = 'E'\n}\n","export enum MessageQueueState {\n Sent = 'S',\n PartiallySent = 'P',\n Sending = 'E',\n Queued = 'Q',\n Canceled = 'C',\n InvalidRecipients = 'I',\n Failed = 'F'\n}","import { MessageQueueState } from '../enums/message-queue-state.enum';\n\n\nexport const MessageQueueStates = [\n { name: 'Sent', value: MessageQueueState.Sent },\n { name: 'Partially Sent', value: MessageQueueState.PartiallySent },\n { name: 'Sending', value: MessageQueueState.Sending },\n { name: 'Queued', value: MessageQueueState.Queued },\n { name: 'Canceled', value: MessageQueueState.Canceled },\n { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },\n { name: 'Failed', value: MessageQueueState.Failed }\n];\n","import {\n Component, OnInit, Inject, OnDestroy, ViewChild,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport anchorme from 'anchorme';\n\nimport { EmailMessageQueueFormat } from '../../enums';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageComponent } from '../../../../modules/messages/components';\nimport { MessageQueueType } from '../../enums';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { ResendMessageQueue, ForwardMessageQueue, LoadMessage } from '../../../app-message/types';\n\n\n@Component({\n templateUrl: './queue.component.html',\n styleUrls: ['./queue.component.scss'],\n})\nexport class QueueComponent implements OnInit, OnDestroy {\n\n @ViewChild('logList')\n public logList: FsListComponent;\n\n public messageQueue;\n public loadMessage: LoadMessage;\n public resendMessageQueue: ResendMessageQueue;\n public forwardMessageQueue: ForwardMessageQueue;\n public messageQueueRecipients;\n public emailMessageQueueFormat = EmailMessageQueueFormat;\n public messageQueueStates;\n public logConfig: FsListConfig;\n public attachmentConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _message: FsMessage,\n private _prompt: FsPrompt,\n private _dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n this.resendMessageQueue = this._config.resendMessageQueue;\n this.forwardMessageQueue = this._config.forwardMessageQueue;\n \n this._config.loadMessageQueue(this._data.messageQueue.id)\n .subscribe((messageQueue) => {\n this.messageQueue = messageQueue;\n\n if (this.messageQueue.emailMessageQueue) {\n let body = this.messageQueue.emailMessageQueue.body;\n if (this.messageQueue.emailMessageQueue.format === EmailMessageQueueFormat.HTML) {\n try {\n const doc = new DOMParser().parseFromString(body, 'text/html');\n\n doc.querySelectorAll('a').forEach((el) => {\n el.setAttribute('target', '_blank');\n });\n\n body = doc.documentElement.innerHTML;\n\n } catch (e) {\n }\n } else {\n body = this.anchorme(body);\n }\n\n this.messageQueue.emailMessageQueue.body = body;\n }\n\n if (this.messageQueue.smsMessageQueue) {\n this.messageQueue.smsMessageQueue.body = this.anchorme(this.messageQueue.smsMessageQueue.body);\n }\n\n this.messageQueueRecipients = this.messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {});\n\n this._setLogsConfig(messageQueue);\n this._setAttachmentsConfig(messageQueue);\n });\n }\n\n public anchorme(html) {\n return anchorme(html, {\n options: {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ],\n },\n });\n }\n\n public openMessage(message) {\n this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n }\n\n public resend() {\n this._prompt.confirm({\n title: 'Confirm',\n template: 'Are you sure you would like to resend this message?'\n }).subscribe(() => {\n this.resendMessageQueue(this.messageQueue)\n .subscribe(messageQueue => {\n Object.assign(this.messageQueue, messageQueue);\n this._message.success('Successfully resent');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n });\n }\n\n public forward() {\n const typeName = this.messageQueue.type === MessageQueueType.Email ? 'an email' : 'a phone number';\n\n this._prompt.input({\n label: `Please enter ${typeName} to forward to`,\n title: 'Forward Message',\n commitLabel: 'Forward',\n required: true\n }).subscribe((value: string) => {\n if (value) {\n this.forwardMessageQueue(this.messageQueue, value)\n .subscribe(messageQueue => {\n this.messageQueue = {\n ...this.messageQueue,\n messageQueue,\n };\n this._message.success('Successfully forwarded');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n }\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setLogsConfig(messageQueue) {\n this.logConfig = {\n loadMore: true,\n queryParam: false,\n fetch: query => {\n return this._config.loadLogs(messageQueue, query);\n }\n }\n }\n\n private _setAttachmentsConfig(messageQueue) {\n this.attachmentConfig = {\n queryParam: false,\n fetch: query => {\n return this._config.loadMessageQueueAttachments(messageQueue, query)\n .pipe(\n map(response => ({\n data: response.data.map(value => {\n value.prettyFilesize = this._prettyFilesize(value.filesize);\n return value;\n }), paging: response.paging\n }))\n );\n }\n };\n\n if (this._config.downloadMessageQueueAttachment) {\n this.attachmentConfig.rowActions = [\n {\n click: (messageAttachment) => {\n this._config.downloadMessageQueueAttachment(messageAttachment, this.messageQueue);\n },\n label: 'Download',\n }\n ];\n }\n }\n\n private _prettyFilesize(bytes) {\n if (bytes === 0) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';\n }\n}\n","import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map, switchMap, tap } from 'rxjs/operators';\nimport { Subject, of } from 'rxjs';\n\nimport { FsListActionSelected, FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { SelectionActionType } from '@firestitch/selection';\n\nimport { QueueComponent } from '../queue';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageQueueState } from '../../enums/message-queue-state.enum';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-queues',\n styleUrls: ['./queues.component.scss'],\n templateUrl: './queues.component.html'\n})\nexport class QueuesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public messageQueueStates = {};\n public MessageQueueState = MessageQueueState;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig, \n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit() {\n\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n },\n {\n name: 'state',\n type: ItemType.Select,\n label: 'Status',\n values: () => {\n return MessageQueueStates;\n }\n },\n {\n name: 'date',\n type: ItemType.DateRange,\n label: ['From Date', 'To Date'],\n },\n ],\n sort: { value: 'created_date', direction: 'desc' },\n fetch: query => {\n query = {\n ...query,\n messageQueueAttachmentCounts: true,\n emailMessageQueues: true,\n emailMessageQueueBodies: false,\n smsMessageQueues: true,\n };\n\n return this._config.loadMessageQueues(query)\n .pipe(\n map(response => ({ data: response.data\n .map((messageQueue) => { \n return {\n ...messageQueue,\n messageQueueRecipients: messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {}),\n };\n }), paging: response.paging }))\n )\n }\n };\n\n // if any bulk actions add the selection object to config.\n if (this._config.cancelMessageQueues) {\n this.config.selection = {\n selectAll: false,\n actions: [\n ],\n actionSelected: (action: FsListActionSelected) => {\n return of(true)\n .pipe(\n switchMap(() => {\n if (action.action.name === 'cancel') {\n return this._config.cancelMessageQueues(action);\n }\n\n return of(true);\n }),\n tap(() => {\n this.list.reload();\n }),\n );\n }\n };\n }\n\n // add each individual bulk action to select actions\n if (this._config.cancelMessageQueues) {\n this.config.selection.actions.push({\n type: SelectionActionType.Action,\n name: 'cancel',\n label: 'Cancel Queued',\n });\n }\n\n if (this._config.loadMessages) {\n this.config.filters.push({\n name: 'message_id',\n type: ItemType.Select,\n label: 'Message Type',\n values: (query) => {\n return this._config.loadMessages(query)\n .pipe(\n map((items: any) => {\n return items.map((item) => ({ name: item.name, value: item.id }));\n })\n )\n }\n });\n }\n }\n\n public open(messageQueue) {\n const dialogRef = this._dialog.open(QueueComponent, {\n data: {\n messageQueue: messageQueue,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n this.list.reload();\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport anchorme from 'anchorme';\n\n\n@Pipe({name: 'linkify'})\nexport class LinkifyPipe implements PipeTransform {\n transform(value: string): string {\n return anchorme(value, {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ]\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\ntransform(value: string, limit = 25, completeWords = false, ellipsis = '...') {\n\n if (value.length < limit) {\n return `${value.substr(0, limit)}`;\n }\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n return `${value.substr(0, limit)}${ellipsis}`;\n}\n}\n","import {\n Component, Input, OnInit,\n} from '@angular/core';\n\n\n\n@Component({\n selector: 'app-recipient',\n templateUrl: './recipient.component.html',\n styleUrls: ['./recipient.component.scss'],\n})\nexport class RecipientComponent implements OnInit {\n \n @Input() name;\n @Input() state;\n \n public icon;\n\n public ngOnInit(): void {\n\n const icons = {\n 'S': { name: 'check_circle', tooltip: 'Sent' },\n 'E': { name: 'offline_bolt', tooltip: 'Sending' },\n 'F': { name: 'info', tooltip: 'Failed' },\n }\n\n this.icon = icons[this.state];\n }\n\n}\n","import { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsPromptInputModule } from '@firestitch/prompt';\n\nimport { FsAppMessagesModule } from '../messages/messages.module';\nimport { QueuesComponent } from './components/queues/queues.component';\nimport { QueueComponent } from './components/queue/queue.component';\nimport { LinkifyPipe } from './pipes/linkify.pipe';\nimport { TruncatePipe } from './pipes/truncate.pipe';\nimport { RecipientComponent } from './components';\n\n\n@NgModule({\n imports: [\n RouterModule,\n FormsModule,\n CommonModule,\n\n FlexLayoutModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FsDateModule,\n FsSkeletonModule,\n FsAppMessagesModule,\n FsFormModule,\n FsPromptInputModule,\n FsIFrameModule,\n ],\n declarations: [\n QueuesComponent,\n QueueComponent,\n LinkifyPipe,\n TruncatePipe,\n RecipientComponent,\n ],\n exports: [\n QueuesComponent,\n QueueComponent,\n ]\n})\nexport class FsAppMessageQueuesModule {}\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\n\nimport { tap } from 'rxjs/operators';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorConfig } from '@firestitch/text-editor';\nimport { SubmitEvent } from '@firestitch/form';\n\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n templateUrl: './template.component.html',\n styleUrls: ['./template.component.scss']\n})\nexport class TemplateComponent implements OnInit {\n\n public messageTemplate;\n public htmlEditorconfig: FsTextEditorConfig = {\n language: 'html',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public cssEditorconfig: FsTextEditorConfig = {\n language: 'scss',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialogRef: MatDialogRef<TemplateComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n ) {\n }\n\n public ngOnInit(): void {\n if (this._data.messageTemplate.id) {\n this._config.loadMessageTemplate(this._data.messageTemplate)\n .subscribe(messageTemplate => {\n this.messageTemplate = messageTemplate;\n });\n } else {\n this.messageTemplate = {};\n }\n }\n\n public openPreview() {\n this._dialog.open(PreviewComponent, {\n data: {\n styles: this.messageTemplate.styles,\n html: this.messageTemplate.content,\n },\n width: '95%'\n });\n }\n\n public save = (event: SubmitEvent) => {\n return this._config.saveMessageTemplate(this.messageTemplate)\n .pipe(\n tap(messageTemplate => {\n this._message.success('Saved Changes');\n if (event.submitter === 'save-close') {\n this._dialogRef.close(messageTemplate);\n }\n })\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild, Inject } from '@angular/core';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { TemplateComponent } from '../template';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-templates',\n templateUrl: './templates.component.html'\n})\nexport class TemplatesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true }) \n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public messageQueueStates = [];\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog\n ) { }\n\n public ngOnInit(): void {\n this.config = {\n actions: [\n {\n label: 'Create',\n click: () => {\n this.open({});\n }\n }\n ],\n status: false,\n fetch: query => {\n return this._config.loadMessageTemplates(query);\n }\n }\n\n if (this._config.deleteMessageTemplate) {\n this.config.rowActions = [\n {\n click: data => {\n return this._config.deleteMessageTemplate(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this template?',\n },\n menu: true,\n label: 'Delete'\n }\n ];\n }\n }\n\n public open(messageTemplate) {\n const dialogRef = this._dialog.open(TemplateComponent, {\n data: {\n messageTemplate: messageTemplate,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n const update = this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n\n if (!update) {\n this.list.reload();\n }\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { TemplatesComponent } from './components/templates/templates.component';\nimport { TemplateComponent } from './components/template/template.component';\n\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatFormFieldModule,\n MatInputModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n TemplatesComponent,\n TemplateComponent,\n ],\n exports: [\n TemplatesComponent,\n TemplateComponent,\n ],\n})\nexport class FsAppMessageTemplatesModule {\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\n\n@NgModule({\n})\nexport class FsAppMessageModule {\n static forRoot(): ModuleWithProviders<FsAppMessageModule> {\n return {\n ngModule: FsAppMessageModule,\n };\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nexport { FsAppMessagesModule } from './app/modules/messages/messages.module';\nexport { FsAppMessageQueuesModule } from './app/modules/message-queues/message-queues.module';\nexport { FsAppMessageTemplatesModule } from './app/modules/message-templates/message-templates.module';\nexport { FsAppMessageModule } from './app/modules/app-message/app-message.module';\n\nexport { MessagesComponent } from './app/modules/messages/components/messages/messages.component';\nexport { MessageComponent } from './app/modules/messages/components/message/message.component';\nexport { QueuesComponent } from './app/modules/message-queues/components/queues/queues.component';\nexport { QueueComponent } from './app/modules/message-queues/components/queue/queue.component';\nexport { TemplatesComponent } from './app/modules/message-templates/components/templates/templates.component';\n\nexport { FsAppMessageConfig } from './app/modules/app-message/interfaces';\n\nexport { FS_APP_MESSAGE_CONFIG } from './app/modules/app-message/injectors/app-message-config.injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {FS_APP_MESSAGE_CONFIG as ɵc} from './app/modules/app-message/injectors';\nexport {PreviewComponent as ɵb} from './app/modules/message-preview/components/preview';\nexport {FsAppMessagePreviewModule as ɵa} from './app/modules/message-preview/message-preview.module';\nexport {RecipientComponent as ɵf} from './app/modules/message-queues/components';\nexport {LinkifyPipe as ɵd} from './app/modules/message-queues/pipes/linkify.pipe';\nexport {TruncatePipe as ɵe} from './app/modules/message-queues/pipes/truncate.pipe';\nexport {TemplateComponent as ɵg} from './app/modules/message-templates/components/template/template.component';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-app-message.js","sources":["ng://@firestitch/app-message/app/modules/messages/enums/email-message-format.enum.ts","ng://@firestitch/app-message/app/modules/messages/consts/email-message-formats.const.ts","ng://@firestitch/app-message/app/modules/message-preview/components/preview/preview.component.ts","ng://@firestitch/app-message/app/modules/app-message/injectors/app-message-config.injector.ts","ng://@firestitch/app-message/app/modules/messages/components/message/message.component.ts","ng://@firestitch/app-message/app/helpers/index-name-value.ts","ng://@firestitch/app-message/app/modules/messages/components/messages/messages.component.ts","ng://@firestitch/app-message/app/modules/message-preview/message-preview.module.ts","ng://@firestitch/app-message/app/modules/messages/messages.module.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/email-message-queue-format.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-type.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/enums/message-queue-state.enum.ts","ng://@firestitch/app-message/app/modules/message-queues/consts/message-queue-states.const.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queue/queue.component.ts","ng://@firestitch/app-message/app/modules/message-queues/components/queues/queues.component.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/linkify.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/pipes/truncate.pipe.ts","ng://@firestitch/app-message/app/modules/message-queues/components/recipient/recipient.component.ts","ng://@firestitch/app-message/app/modules/message-queues/message-queues.module.ts","ng://@firestitch/app-message/app/modules/message-templates/components/template/template.component.ts","ng://@firestitch/app-message/app/modules/message-templates/components/templates/templates.component.ts","ng://@firestitch/app-message/app/modules/message-templates/message-templates.module.ts","ng://@firestitch/app-message/app/modules/app-message/app-message.module.ts","ng://@firestitch/app-message/public_api.ts","ng://@firestitch/app-message/firestitch-app-message.ts"],"sourcesContent":["export enum EmailMessageFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","\nimport { EmailMessageFormat } from '../enums';\n\nexport const EmailMessageFormats = [\n { name: 'Text', value: EmailMessageFormat.Text },\n { name: 'HTML', value: EmailMessageFormat.HTML },\n { name: 'Rich Text', value: EmailMessageFormat.RichText }\n];\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n\n@Component({\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss']\n})\nexport class PreviewComponent implements OnInit {\n\n public html;\n public styles;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n this.html = _data.html;\n this.styles = _data.styles;\n }\n\n public ngOnInit() {\n\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_APP_MESSAGE_ROOT_CONFIG = new InjectionToken<any[]>('fs-app-message-root-config');\nexport const FS_APP_MESSAGE_CONFIG = new InjectionToken<any[]>('fs-app-message-config');\n","import { Component, OnInit, Inject, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';\n\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { switchMap, tap } from 'rxjs/operators';\n\nimport { EmailMessageFormats } from '../../consts';\nimport { EmailMessageFormat } from '../../enums';\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { of } from 'rxjs';\n\n\n@Component({\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MessageComponent implements OnInit {\n\n public message;\n public tab;\n public messageTemplates = [];\n public emailMessageFormats = EmailMessageFormats;\n public emailMessageFormat = EmailMessageFormat;\n\n public constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n @Inject(MAT_DIALOG_DATA) private _data,\n private _prompt: FsPrompt,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n ) {\n }\n\n public ngOnInit() {\n this._config.loadMessage(this._data.message)\n .subscribe((response) => {\n this.message = response;\n\n if (this.message.emailMessage && this.message.emailMessage.customize === undefined) {\n this.message.emailMessage.customize = true;\n }\n if (this.message.smsMessage && this.message.smsMessage.customize === undefined) {\n this.message.smsMessage.customize = true;\n }\n\n this._cdRef.markForCheck();\n });\n\n this._config.loadMessageTemplates()\n .subscribe((data) => {\n this.messageTemplates = data.data;\n this._cdRef.markForCheck();\n });\n }\n\n public tabChange(event: MatTabChangeEvent) {\n switch (event.tab.textLabel) {\n case 'SMS Message':\n this.tab = 'sms';\n break;\n case 'Email Message':\n this.tab = 'email';\n break;\n default:\n this.tab = null;\n }\n }\n\n public save = () => {\n return this._config.saveMessage(this.message)\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n })\n );\n }\n\n public openPreview(): void {\n let html = this.message.emailMessage.body;\n let styles = this.message.emailMessage.styles;\n\n if (this.message.emailMessage.messageTemplateId) {\n const messageTemplate = this.messageTemplates\n .find((item) => {\n return this.message.emailMessage.messageTemplateId === item.id;\n });\n\n if (messageTemplate) {\n html = messageTemplate.content.replace('{$content}', html);\n styles = messageTemplate.styles.concat(styles);\n }\n }\n\n this._dialog.open(PreviewComponent, {\n data: {\n styles,\n html,\n },\n width: '95%'\n });\n }\n\n public sendTest(type) {\n of(true)\n .pipe(\n switchMap(() => {\n return type === 'email' ? this._config.getTestEmail() : of('');\n }),\n switchMap((default_) => { \n const typeName = type === 'email' ? 'an email' : 'phone number';\n \n return this._prompt.input({\n label: `Please enter ${typeName} to send test to`,\n title: 'Send Test',\n commitLabel: 'Send',\n default: default_,\n required: true\n })\n })\n )\n .subscribe((value: string) => {\n this._config.testMessage(this.message, value, type)\n .subscribe(() => {\n this._message.success('Test Sent');\n });\n });\n }\n}\n","\nexport function indexNameValue(arry) {\n const obj = {};\n arry.forEach(item => {\n obj[item.value] = item.name;\n });\n\n return obj;\n}\n","import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\n\nimport { MessageComponent } from '../message';\nimport { EmailMessageFormats } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n@Component({\n selector: 'fs-app-messages',\n templateUrl: './messages.component.html'\n})\nexport class MessagesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public emailMessageFormats = {};\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit(): void {\n this.emailMessageFormats = indexNameValue(EmailMessageFormats);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n }\n ],\n\n fetch: query => {\n return this._config.loadMessages(query)\n .pipe(\n map(response => {\n return ({ data: response.data, paging: response.paging })\n })\n );\n }\n }\n }\n\n public open(message) {\n const dialogRef = this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsDialogModule } from '@firestitch/dialog';\n\nimport { PreviewComponent } from './components/preview';\n\n\n@NgModule({\n imports: [\n MatDialogModule,\n MatButtonModule,\n\n FsDialogModule,\n FsIFrameModule,\n ],\n declarations: [\n PreviewComponent,\n ],\n exports: [\n PreviewComponent,\n ]\n})\nexport class FsAppMessagePreviewModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FormsModule } from '@angular/forms';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\nimport { FsEditorRichTextModule } from '@firestitch/editor';\n\nimport { MessagesComponent } from './components/messages/messages.component';\nimport { MessageComponent } from './components/message/message.component';\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatInputModule,\n MatOptionModule,\n MatSelectModule,\n MatTooltipModule,\n MatCheckboxModule,\n\n FsDialogModule,\n FsListModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n FsEditorRichTextModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n MessagesComponent,\n MessageComponent,\n ],\n exports: [\n MessagesComponent,\n MessageComponent,\n ],\n})\nexport class FsAppMessagesModule {}\n","export enum EmailMessageQueueFormat {\n Text = 'T',\n HTML = 'H',\n RichText = 'R'\n}\n","export enum MessageQueueType {\n Sms = 'S',\n Email = 'E'\n}\n","export enum MessageQueueState {\n Sent = 'S',\n PartiallySent = 'P',\n Sending = 'E',\n Queued = 'Q',\n Canceled = 'C',\n InvalidRecipients = 'I',\n Failed = 'F'\n}","import { MessageQueueState } from '../enums/message-queue-state.enum';\n\n\nexport const MessageQueueStates = [\n { name: 'Sent', value: MessageQueueState.Sent },\n { name: 'Partially Sent', value: MessageQueueState.PartiallySent },\n { name: 'Sending', value: MessageQueueState.Sending },\n { name: 'Queued', value: MessageQueueState.Queued },\n { name: 'Canceled', value: MessageQueueState.Canceled },\n { name: 'Invalid Recipients', value: MessageQueueState.InvalidRecipients },\n { name: 'Failed', value: MessageQueueState.Failed }\n];\n","import {\n Component, OnInit, Inject, OnDestroy, ViewChild,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { map } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport anchorme from 'anchorme';\n\nimport { EmailMessageQueueFormat } from '../../enums';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageComponent } from '../../../../modules/messages/components';\nimport { MessageQueueType } from '../../enums';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\nimport { ResendMessageQueue, ForwardMessageQueue, LoadMessage } from '../../../app-message/types';\n\n\n@Component({\n templateUrl: './queue.component.html',\n styleUrls: ['./queue.component.scss'],\n})\nexport class QueueComponent implements OnInit, OnDestroy {\n\n @ViewChild('logList')\n public logList: FsListComponent;\n\n public messageQueue;\n public loadMessage: LoadMessage;\n public resendMessageQueue: ResendMessageQueue;\n public forwardMessageQueue: ForwardMessageQueue;\n public messageQueueRecipients = {};\n public emailMessageQueueFormat = EmailMessageQueueFormat;\n public messageQueueStates;\n public logConfig: FsListConfig;\n public attachmentConfig: FsListConfig;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _message: FsMessage,\n private _prompt: FsPrompt,\n private _dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) private _data,\n ) {\n }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n this.resendMessageQueue = this._config.resendMessageQueue;\n this.forwardMessageQueue = this._config.forwardMessageQueue;\n\n this._config.loadMessageQueue(this._data.messageQueue.id)\n .subscribe((messageQueue) => {\n this.messageQueue = messageQueue;\n\n if (this.messageQueue.emailMessageQueue) {\n let body = this.messageQueue.emailMessageQueue.body;\n if (this.messageQueue.emailMessageQueue.format === EmailMessageQueueFormat.HTML) {\n try {\n const doc = new DOMParser().parseFromString(body, 'text/html');\n\n doc.querySelectorAll('a').forEach((el) => {\n el.setAttribute('target', '_blank');\n });\n\n body = doc.documentElement.innerHTML;\n\n } catch (e) {\n }\n } else {\n body = this.anchorme(body);\n }\n\n this.messageQueue.emailMessageQueue.body = body;\n }\n\n if (this.messageQueue.smsMessageQueue) {\n this.messageQueue.smsMessageQueue.body = this.anchorme(this.messageQueue.smsMessageQueue.body);\n }\n\n this.messageQueueRecipients = this.messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {});\n\n this._setLogsConfig(messageQueue);\n this._setAttachmentsConfig(messageQueue);\n });\n }\n\n public anchorme(html) {\n return anchorme(html, {\n options: {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ],\n },\n });\n }\n\n public openMessage(message) {\n this._dialog.open(MessageComponent, {\n data: {\n message: message,\n },\n width: '85%'\n });\n }\n\n public resend() {\n this._prompt.confirm({\n title: 'Confirm',\n template: 'Are you sure you would like to resend this message?'\n }).subscribe(() => {\n this.resendMessageQueue(this.messageQueue)\n .subscribe(messageQueue => {\n Object.assign(this.messageQueue, messageQueue);\n this._message.success('Successfully resent');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n });\n }\n\n public forward() {\n const typeName = this.messageQueue.type === MessageQueueType.Email ? 'an email' : 'a phone number';\n\n this._prompt.input({\n label: `Please enter ${typeName} to forward to`,\n title: 'Forward Message',\n commitLabel: 'Forward',\n required: true\n }).subscribe((value: string) => {\n if (value) {\n this.forwardMessageQueue(this.messageQueue, value)\n .subscribe(messageQueue => {\n this.messageQueue = {\n ...this.messageQueue,\n messageQueue,\n };\n this._message.success('Successfully forwarded');\n\n if (this.logList) {\n this.logList.reload();\n }\n });\n }\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setLogsConfig(messageQueue) {\n this.logConfig = {\n loadMore: true,\n queryParam: false,\n fetch: query => {\n return this._config.loadLogs(messageQueue, query);\n }\n }\n }\n\n private _setAttachmentsConfig(messageQueue) {\n this.attachmentConfig = {\n queryParam: false,\n fetch: query => {\n return this._config.loadMessageQueueAttachments(messageQueue, query)\n .pipe(\n map(response => ({\n data: response.data.map(value => {\n value.prettyFilesize = this._prettyFilesize(value.filesize);\n return value;\n }), paging: response.paging\n }))\n );\n }\n };\n\n if (this._config.downloadMessageQueueAttachment) {\n this.attachmentConfig.rowActions = [\n {\n click: (messageAttachment) => {\n this._config.downloadMessageQueueAttachment(messageAttachment, this.messageQueue);\n },\n label: 'Download',\n }\n ];\n }\n }\n\n private _prettyFilesize(bytes) {\n if (bytes === 0) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n return (bytes / Math.pow(1024, e)).toFixed(2) + ' ' + ' KMGTP'.charAt(e) + 'B';\n }\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { takeUntil, map, switchMap, tap } from 'rxjs/operators';\nimport { Subject, of } from 'rxjs';\n\nimport { FsListActionSelected, FsListComponent, FsListConfig } from '@firestitch/list';\nimport { ItemType } from '@firestitch/filter';\nimport { SelectionActionType } from '@firestitch/selection';\n\nimport { QueueComponent } from '../queue';\nimport { MessageQueueStates } from '../../consts';\nimport { indexNameValue } from '../../../../helpers';\nimport { MessageQueueState } from '../../enums/message-queue-state.enum';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-queues',\n styleUrls: ['./queues.component.scss'],\n templateUrl: './queues.component.html'\n})\nexport class QueuesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true })\n public list: FsListComponent = null;\n\n @Input() public query = {};\n\n public config: FsListConfig = null;\n public messageQueueStates = {};\n public MessageQueueState = MessageQueueState;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig, \n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit() {\n this.messageQueueStates = indexNameValue(MessageQueueStates);\n\n this.config = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search'\n },\n {\n name: 'state',\n type: ItemType.Select,\n label: 'Status',\n values: () => {\n return MessageQueueStates;\n }\n },\n {\n name: 'date',\n type: ItemType.DateRange,\n label: ['From Date', 'To Date'],\n },\n ],\n sort: { value: 'created_date', direction: 'desc' },\n fetch: query => {\n query = {\n ...query,\n ...this.query,\n messageQueueAttachmentCounts: true,\n emailMessageQueues: true,\n emailMessageQueueBodies: false,\n smsMessageQueues: true,\n };\n\n return this._config.loadMessageQueues(query)\n .pipe(\n map(response => ({ data: response.data\n .map((messageQueue) => { \n return {\n ...messageQueue,\n messageQueueRecipients: messageQueue.messageQueueRecipients\n .reduce((accum, messageQueueRecipient) => {\n accum[messageQueueRecipient.recipient] = messageQueueRecipient.state;\n\n return accum;\n }, {}),\n };\n }), paging: response.paging }))\n )\n }\n };\n\n // if any bulk actions add the selection object to config.\n if (this._config.cancelMessageQueues) {\n this.config.selection = {\n selectAll: false,\n actions: [\n ],\n actionSelected: (action: FsListActionSelected) => {\n return of(true)\n .pipe(\n switchMap(() => {\n if (action.action.name === 'cancel') {\n return this._config.cancelMessageQueues(action);\n }\n\n return of(true);\n }),\n tap(() => {\n this.list.reload();\n }),\n );\n }\n };\n }\n\n // add each individual bulk action to select actions\n if (this._config.cancelMessageQueues) {\n this.config.selection.actions.push({\n type: SelectionActionType.Action,\n name: 'cancel',\n label: 'Cancel Queued',\n });\n }\n\n this.config.filters.push({\n name: 'message_id',\n type: ItemType.Select,\n label: 'Message Type',\n values: (query) => {\n query = { \n ...query,\n limit: 50,\n };\n\n return this._config.loadMessages(query)\n .pipe(\n map((response) => {\n return [\n { value: null, name: 'All', },\n ...response.data.map((item) => ({ name: item.name, value: item.id })),\n ];\n })\n )\n }\n });\n }\n\n public open(messageQueue) {\n this._dialog.open(QueueComponent, {\n data: {\n messageQueue: messageQueue,\n },\n width: '85%'\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n this.list.reload();\n });\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport anchorme from 'anchorme';\n\n\n@Pipe({name: 'linkify'})\nexport class LinkifyPipe implements PipeTransform {\n transform(value: string): string {\n return anchorme(value, {\n attributes: [\n {\n name: 'target',\n value: '_blank'\n },\n ]\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate'\n})\nexport class TruncatePipe implements PipeTransform {\ntransform(value: string, limit = 25, completeWords = false, ellipsis = '...') {\n\n if (value.length < limit) {\n return `${value.substr(0, limit)}`;\n }\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n return `${value.substr(0, limit)}${ellipsis}`;\n}\n}\n","import {\n Component, Input, OnInit,\n} from '@angular/core';\n\n\n\n@Component({\n selector: 'app-recipient',\n templateUrl: './recipient.component.html',\n styleUrls: ['./recipient.component.scss'],\n})\nexport class RecipientComponent implements OnInit {\n \n @Input() name;\n @Input() state;\n \n public icon;\n\n public ngOnInit(): void {\n\n const icons = {\n 'S': { name: 'check_circle', tooltip: 'Sent' },\n 'E': { name: 'offline_bolt', tooltip: 'Sending' },\n 'F': { name: 'info', tooltip: 'Failed' },\n }\n\n this.icon = icons[this.state];\n }\n\n}\n","import { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsIFrameModule } from '@firestitch/iframe';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsPromptInputModule } from '@firestitch/prompt';\n\nimport { FsAppMessagesModule } from '../messages/messages.module';\nimport { QueuesComponent } from './components/queues/queues.component';\nimport { QueueComponent } from './components/queue/queue.component';\nimport { LinkifyPipe } from './pipes/linkify.pipe';\nimport { TruncatePipe } from './pipes/truncate.pipe';\nimport { RecipientComponent } from './components';\n\n\n@NgModule({\n imports: [\n RouterModule,\n FormsModule,\n CommonModule,\n\n FlexLayoutModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FsDateModule,\n FsSkeletonModule,\n FsAppMessagesModule,\n FsFormModule,\n FsPromptInputModule,\n FsIFrameModule,\n ],\n declarations: [\n QueuesComponent,\n QueueComponent,\n LinkifyPipe,\n TruncatePipe,\n RecipientComponent,\n ],\n exports: [\n QueuesComponent,\n QueueComponent,\n ]\n})\nexport class FsAppMessageQueuesModule {}\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\n\nimport { tap } from 'rxjs/operators';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorConfig } from '@firestitch/text-editor';\nimport { SubmitEvent } from '@firestitch/form';\n\nimport { PreviewComponent } from '../../../../modules/message-preview/components';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n templateUrl: './template.component.html',\n styleUrls: ['./template.component.scss']\n})\nexport class TemplateComponent implements OnInit {\n\n public messageTemplate;\n public htmlEditorconfig: FsTextEditorConfig = {\n language: 'html',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public cssEditorconfig: FsTextEditorConfig = {\n language: 'scss',\n insertSpaces: true,\n tabSize: 2,\n };\n\n public constructor(\n @Inject(MAT_DIALOG_DATA) private _data,\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialogRef: MatDialogRef<TemplateComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n ) {\n }\n\n public ngOnInit(): void {\n if (this._data.messageTemplate.id) {\n this._config.loadMessageTemplate(this._data.messageTemplate)\n .subscribe(messageTemplate => {\n this.messageTemplate = messageTemplate;\n });\n } else {\n this.messageTemplate = {};\n }\n }\n\n public openPreview() {\n this._dialog.open(PreviewComponent, {\n data: {\n styles: this.messageTemplate.styles,\n html: this.messageTemplate.content,\n },\n width: '95%'\n });\n }\n\n public save = (event: SubmitEvent) => {\n return this._config.saveMessageTemplate(this.messageTemplate)\n .pipe(\n tap(messageTemplate => {\n this._message.success('Saved Changes');\n if (event.submitter === 'save-close') {\n this._dialogRef.close(messageTemplate);\n }\n })\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild, Inject } from '@angular/core';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { TemplateComponent } from '../template';\nimport { FS_APP_MESSAGE_CONFIG } from '../../../app-message/injectors';\nimport { FsAppMessageConfig } from '../../../app-message/interfaces';\n\n\n@Component({\n selector: 'fs-app-message-templates',\n templateUrl: './templates.component.html'\n})\nexport class TemplatesComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent, { static: true }) \n public list: FsListComponent = null;\n\n public config: FsListConfig = null;\n public messageQueueStates = [];\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_APP_MESSAGE_CONFIG) private _config: FsAppMessageConfig,\n private _dialog: MatDialog\n ) { }\n\n public ngOnInit(): void {\n this.config = {\n actions: [\n {\n label: 'Create',\n click: () => {\n this.open({});\n }\n }\n ],\n status: false,\n fetch: query => {\n return this._config.loadMessageTemplates(query);\n }\n }\n\n if (this._config.deleteMessageTemplate) {\n this.config.rowActions = [\n {\n click: data => {\n return this._config.deleteMessageTemplate(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this template?',\n },\n menu: true,\n label: 'Delete'\n }\n ];\n }\n }\n\n public open(messageTemplate) {\n const dialogRef = this._dialog.open(TemplateComponent, {\n data: {\n messageTemplate: messageTemplate,\n },\n width: '85%'\n });\n\n dialogRef.afterClosed()\n .pipe(\n takeUntil(this._destroy$)\n )\n .subscribe((response) => {\n if (response) {\n const update = this.list.updateData(\n response,\n (row: any) => {\n return row.id === response.id;\n });\n\n if (!update) {\n this.list.reload();\n }\n }\n })\n }\n\n public ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsListModule } from '@firestitch/list';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { TemplatesComponent } from './components/templates/templates.component';\nimport { TemplateComponent } from './components/template/template.component';\n\nimport { FsAppMessagePreviewModule } from '../message-preview/message-preview.module';\n\n\n@NgModule({\n imports: [\n RouterModule,\n CommonModule,\n FormsModule,\n\n MatTooltipModule,\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatFormFieldModule,\n MatFormFieldModule,\n MatInputModule,\n\n FsListModule,\n FsDialogModule,\n FsLabelModule,\n FlexLayoutModule,\n FsSkeletonModule,\n FsFormModule,\n FsTextEditorModule,\n\n FsAppMessagePreviewModule,\n ],\n declarations: [\n TemplatesComponent,\n TemplateComponent,\n ],\n exports: [\n TemplatesComponent,\n TemplateComponent,\n ],\n})\nexport class FsAppMessageTemplatesModule {\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\n\n@NgModule({\n})\nexport class FsAppMessageModule {\n static forRoot(): ModuleWithProviders<FsAppMessageModule> {\n return {\n ngModule: FsAppMessageModule,\n };\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nexport { FsAppMessagesModule } from './app/modules/messages/messages.module';\nexport { FsAppMessageQueuesModule } from './app/modules/message-queues/message-queues.module';\nexport { FsAppMessageTemplatesModule } from './app/modules/message-templates/message-templates.module';\nexport { FsAppMessageModule } from './app/modules/app-message/app-message.module';\n\nexport { MessagesComponent } from './app/modules/messages/components/messages/messages.component';\nexport { MessageComponent } from './app/modules/messages/components/message/message.component';\nexport { QueuesComponent } from './app/modules/message-queues/components/queues/queues.component';\nexport { QueueComponent } from './app/modules/message-queues/components/queue/queue.component';\nexport { TemplatesComponent } from './app/modules/message-templates/components/templates/templates.component';\n\nexport { FsAppMessageConfig } from './app/modules/app-message/interfaces';\n\nexport { FS_APP_MESSAGE_CONFIG } from './app/modules/app-message/injectors/app-message-config.injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {FS_APP_MESSAGE_CONFIG as ɵc} from './app/modules/app-message/injectors';\nexport {PreviewComponent as ɵb} from './app/modules/message-preview/components/preview';\nexport {FsAppMessagePreviewModule as ɵa} from './app/modules/message-preview/message-preview.module';\nexport {RecipientComponent as ɵf} from './app/modules/message-queues/components';\nexport {LinkifyPipe as ɵd} from './app/modules/message-queues/pipes/linkify.pipe';\nexport {TruncatePipe as ɵe} from './app/modules/message-queues/pipes/truncate.pipe';\nexport {TemplateComponent as ɵg} from './app/modules/message-templates/components/template/template.component';"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,gCAAU,CAAA;IACV,gCAAU,CAAA;IACV,oCAAc,CAAA;AAChB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB;;ACGvB,MAAM,mBAAmB,GAAG;IACjC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE;IAChD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE;IAChD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CAC1D;;ICEY,gBAAgB,GAA7B,MAAa,gBAAgB;IAK3B,YACmC,KAAK;QAAL,UAAK,GAAL,KAAK,CAAA;QAEtC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;KAC5B;IAEM,QAAQ;KAEd;EACF;;4CATI,MAAM,SAAC,eAAe;;AANd,gBAAgB;IAJ5B,SAAS,CAAC;QACT,yWAAuC;;KAExC,CAAC;IAOG,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;;GANf,gBAAgB,CAe5B;;ACtBM,MAAM,0BAA0B,GAAG,IAAI,cAAc,CAAQ,4BAA4B,CAAC,CAAC;MACrF,qBAAqB,GAAG,IAAI,cAAc,CAAQ,uBAAuB;;ICoBzE,gBAAgB,GAA7B,MAAa,gBAAgB;IAQ3B,YACyC,OAA2B,EACjC,KAAK,EAC9B,OAAiB,EACjB,QAAmB,EACnB,OAAkB,EAClB,MAAyB;QALM,YAAO,GAAP,OAAO,CAAoB;QACjC,UAAK,GAAL,KAAK,CAAA;QAC9B,YAAO,GAAP,OAAO,CAAU;QACjB,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAW;QAClB,WAAM,GAAN,MAAM,CAAmB;QAV5B,qBAAgB,GAAG,EAAE,CAAC;QACtB,wBAAmB,GAAG,mBAAmB,CAAC;QAC1C,uBAAkB,GAAG,kBAAkB,CAAC;QA+CxC,SAAI,GAAG;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC5C,IAAI,CACH,GAAG,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aACxC,CAAC,CACH,CAAC;SACH,CAAA;KA5CA;IAEM,QAAQ;QACb,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;aAC3C,SAAS,CAAC,CAAC,QAAQ;YAClB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YAExB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE;gBAClF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;aAC5C;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1C;YAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;aAClC,SAAS,CAAC,CAAC,IAAI;YACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;SAC5B,CAAC,CAAC;KACJ;IAEM,SAAS,CAAC,KAAwB;QACvC,QAAQ,KAAK,CAAC,GAAG,CAAC,SAAS;YACzB,KAAK,aAAa;gBAChB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;gBACjB,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;gBACnB,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;SACnB;KACF;IAWM,WAAW;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;QAE9C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB;iBAC1C,IAAI,CAAC,CAAC,IAAI;gBACT,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,KAAK,IAAI,CAAC,EAAE,CAAC;aAChE,CAAC,CAAC;YAEL,IAAI,eAAe,EAAE;gBACnB,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAC3D,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAChD;SACF;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAClC,IAAI,EAAE;gBACJ,MAAM;gBACN,IAAI;aACL;YACD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;KACJ;IAEM,QAAQ,CAAC,IAAI;QAClB,EAAE,CAAC,IAAI,CAAC;aACP,IAAI,CACH,SAAS,CAAC;YACR,OAAO,IAAI,KAAK,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;SAChE,CAAC,EACF,SAAS,CAAC,CAAC,QAAQ;YACjB,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;YAEhE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACxB,KAAK,EAAE,gBAAgB,QAAQ,kBAAkB;gBACjD,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;SACH,CAAC,CACH;aACA,SAAS,CAAC,CAAC,KAAa;YACvB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;iBAChD,SAAS,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aACpC,CAAC,CAAC;SACN,CAAC,CAAC;KACJ;EACF;;4CAvGI,MAAM,SAAC,qBAAqB;4CAC5B,MAAM,SAAC,eAAe;YACN,QAAQ;YACP,SAAS;YACV,SAAS;YACV,iBAAiB;;AAdxB,gBAAgB;IAL5B,SAAS,CAAC;QACT,21XAAuC;QAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAChD,CAAC;IAUG,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAC7B,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;qDACP,QAAQ;QACP,SAAS;QACV,SAAS;QACV,iBAAiB;GAdxB,gBAAgB,CAgH5B;;SCtIe,cAAc,CAAC,IAAI;IACjC,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,OAAO,CAAC,IAAI;QACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;KAC7B,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb;;ICYa,iBAAiB,GAA9B,MAAa,iBAAiB;IAU5B,YACyC,OAA2B,EAC1D,OAAkB;QADa,YAAO,GAAP,OAAO,CAAoB;QAC1D,YAAO,GAAP,OAAO,CAAW;QATrB,SAAI,GAAoB,IAAI,CAAC;QAE7B,WAAM,GAAiB,IAAI,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QAExB,cAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAK7B;IAEE,QAAQ;QACb,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,QAAQ;iBAChB;aACF;YAED,KAAK,EAAE,KAAK;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;qBACtC,IAAI,CACH,GAAG,CAAC,QAAQ;oBACV,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAC;iBAC1D,CAAC,CACH,CAAC;aACH;SACF,CAAA;KACF;IAEM,IAAI,CAAC,OAAO;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACpD,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO;aACjB;YACD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE;aACtB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC,CAAC,QAAQ;YAClB,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,QAAQ,EACR,CAAC,GAAQ;oBACP,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;iBAC/B,CAAC,CAAC;aACN;SACF,CAAC,CAAA;KACH;IAEM,WAAW;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;EACF;;4CAtDI,MAAM,SAAC,qBAAqB;YACZ,SAAS;;AAT5B;IADC,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;8BAChC,eAAe;+CAAQ;AAHzB,iBAAiB;IAJ7B,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,gcAAwC;KACzC,CAAC;IAYG,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;6CACb,SAAS;GAZjB,iBAAiB,CAiE7B;;IC3DY,yBAAyB,GAAtC,MAAa,yBAAyB;EACrC;AADY,yBAAyB;IAfrC,QAAQ,CAAC;QACR,OAAO,EAAE;YACP,eAAe;YACf,eAAe;YAEf,cAAc;YACd,cAAc;SACf;QACD,YAAY,EAAE;YACZ,gBAAgB;SACjB;QACD,OAAO,EAAE;YACP,gBAAgB;SACjB;KACF,CAAC;GACW,yBAAyB,CACrC;;ICqCY,mBAAmB,GAAhC,MAAa,mBAAmB;EAAG;AAAtB,mBAAmB;IApC/B,QAAQ,CAAC;QACR,OAAO,EAAE;YACP,YAAY;YACZ,YAAY;YACZ,WAAW;YAEX,eAAe;YACf,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,iBAAiB;YAEjB,cAAc;YACd,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,kBAAkB;YAClB,sBAAsB;YAEtB,yBAAyB;SAC1B;QACD,YAAY,EAAE;YACZ,iBAAiB;YACjB,gBAAgB;SACjB;QACD,OAAO,EAAE;YACP,iBAAiB;YACjB,gBAAgB;SACjB;KACF,CAAC;GACW,mBAAmB,CAAG;;AChEnC,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,qCAAU,CAAA;IACV,qCAAU,CAAA;IACV,yCAAc,CAAA;AAChB,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB;;ACAnC,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,6BAAS,CAAA;IACT,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB;;ACA5B,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,+BAAU,CAAA;IACV,wCAAmB,CAAA;IACnB,kCAAa,CAAA;IACb,iCAAY,CAAA;IACZ,mCAAc,CAAA;IACd,4CAAuB,CAAA;IACvB,iCAAY,CAAA;AACd,CAAC,EARW,iBAAiB,KAAjB,iBAAiB;;ACGtB,MAAM,kBAAkB,GAAG;IAChC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE;IAC/C,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,CAAC,aAAa,EAAE;IAClE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE;IACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE;IACnD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACvD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,EAAE;IAC1E,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE;CACpD;;ICkBY,cAAc,GAA3B,MAAa,cAAc;IAiBzB,YACyC,OAA2B,EAC1D,QAAmB,EACnB,OAAiB,EACjB,OAAkB,EACO,KAAK;QAJC,YAAO,GAAP,OAAO,CAAoB;QAC1D,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAU;QACjB,YAAO,GAAP,OAAO,CAAW;QACO,UAAK,GAAL,KAAK,CAAA;QAbjC,2BAAsB,GAAG,EAAE,CAAC;QAC5B,4BAAuB,GAAG,uBAAuB,CAAC;QAKjD,cAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KASjC;IAEM,QAAQ;QACb,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC1D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAE5D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;aACxD,SAAS,CAAC,CAAC,YAAY;YACtB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YAEjC,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;gBACvC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACpD,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,KAAK,uBAAuB,CAAC,IAAI,EAAE;oBAC/E,IAAI;wBACF,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAE/D,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;4BACnC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;yBACrC,CAAC,CAAC;wBAEH,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;qBAEtC;oBAAC,OAAO,CAAC,EAAE;qBACX;iBACF;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC5B;gBAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;aACjD;YAED,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;gBACrC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aAChG;YAED,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB;iBACnE,MAAM,CAAC,CAAC,KAAK,EAAE,qBAAqB;gBACnC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC;gBAErE,OAAO,KAAK,CAAC;aACd,EAAE,EAAE,CAAC,CAAC;YAET,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;SAC1C,CAAC,CAAC;KACJ;IAEM,QAAQ,CAAC,IAAI;QAClB,OAAO,QAAQ,CAAC,IAAI,EAAE;YACpB,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,QAAQ;qBAChB;iBACF;aACF;SACF,CAAC,CAAC;KACJ;IAEM,WAAW,CAAC,OAAO;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAClC,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO;aACjB;YACD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;KACJ;IAEM,MAAM;QACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,qDAAqD;SAChE,CAAC,CAAC,SAAS,CAAC;YACX,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;iBACzC,SAAS,CAAC,YAAY;gBACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBAE7C,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;iBACvB;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAEM,OAAO;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,GAAG,UAAU,GAAG,gBAAgB,CAAC;QAEnG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,gBAAgB,QAAQ,gBAAgB;YAC/C,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC,SAAS,CAAC,CAAC,KAAa;YACzB,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;qBACjD,SAAS,CAAC,YAAY;oBACrB,IAAI,CAAC,YAAY,mCACZ,IAAI,CAAC,YAAY,KACpB,YAAY,GACb,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;oBAEhD,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;qBACvB;iBACF,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;KACJ;IAEM,WAAW;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAEO,cAAc,CAAC,YAAY;QACjC,IAAI,CAAC,SAAS,GAAG;YACf,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,KAAK;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;aACnD;SACF,CAAA;KACF;IAEO,qBAAqB,CAAC,YAAY;QACxC,IAAI,CAAC,gBAAgB,GAAG;YACtB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,KAAK;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,YAAY,EAAE,KAAK,CAAC;qBACjE,IAAI,CACH,GAAG,CAAC,QAAQ,KAAK;oBACf,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;wBAC3B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAC5D,OAAO,KAAK,CAAC;qBACd,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM;iBAC5B,CAAC,CAAC,CACJ,CAAC;aACL;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE;YAC/C,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG;gBACjC;oBACE,KAAK,EAAE,CAAC,iBAAiB;wBACvB,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;qBACnF;oBACD,KAAK,EAAE,UAAU;iBAClB;aACF,CAAC;SACH;KACF;IAEO,eAAe,CAAC,KAAK;QAC3B,IAAI,KAAK,KAAK,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;SAAE;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAChF;EACF;;4CAvKI,MAAM,SAAC,qBAAqB;YACX,SAAS;YACV,QAAQ;YACR,SAAS;4CACzB,MAAM,SAAC,eAAe;;AAnBzB;IADC,SAAS,CAAC,SAAS,CAAC;8BACL,eAAe;+CAAC;AAHrB,cAAc;IAJ1B,SAAS,CAAC;QACT,upPAAqC;;KAEtC,CAAC;IAmBG,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;IAI7B,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;6CAHN,SAAS;QACV,QAAQ;QACR,SAAS;GArBjB,cAAc,CAyL1B;;IC9LY,eAAe,GAA5B,MAAa,eAAe;IAa1B,YACyC,OAA2B,EAC1D,OAAkB;QADa,YAAO,GAAP,OAAO,CAAoB;QAC1D,YAAO,GAAP,OAAO,CAAW;QAZrB,SAAI,GAAoB,IAAI,CAAC;QAEpB,UAAK,GAAG,EAAE,CAAC;QAEpB,WAAM,GAAiB,IAAI,CAAC;QAC5B,uBAAkB,GAAG,EAAE,CAAC;QACxB,sBAAiB,GAAG,iBAAiB,CAAC;QAErC,cAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAK7B;IAEE,QAAQ;QACb,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAE7D,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,QAAQ;iBAChB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ,CAAC,MAAM;oBACrB,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE;wBACN,OAAO,kBAAkB,CAAC;qBAC3B;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,CAAC,SAAS;oBACxB,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;iBAChC;aACF;YACD,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YAClD,KAAK,EAAE,KAAK;gBACV,KAAK,iDACA,KAAK,GACL,IAAI,CAAC,KAAK,KACb,4BAA4B,EAAE,IAAI,EAClC,kBAAkB,EAAE,IAAI,EACxB,uBAAuB,EAAE,KAAK,EAC9B,gBAAgB,EAAE,IAAI,GACvB,CAAC;gBAEF,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC;qBACzC,IAAI,CACH,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACnC,GAAG,CAAC,CAAC,YAAY;wBAChB,uCACK,YAAY,KACf,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;iCAC1D,MAAM,CAAC,CAAC,KAAK,EAAE,qBAAqB;gCACnC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC;gCAErE,OAAO,KAAK,CAAC;6BACd,EAAE,EAAE,CAAC,IACN;qBACH,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAClC,CAAA;aACJ;SACF,CAAC;;QAGF,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG;gBACtB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EACR;gBACD,cAAc,EAAE,CAAC,MAA4B;oBAC3C,OAAO,EAAE,CAAC,IAAI,CAAC;yBACZ,IAAI,CACH,SAAS,CAAC;wBACR,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;4BACnC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;yBACjD;wBAED,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;qBACjB,CAAC,EACF,GAAG,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;qBACpB,CAAC,CACH,CAAC;iBACL;aACF,CAAC;SACH;;QAGD,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBACjC,IAAI,EAAE,mBAAmB,CAAC,MAAM;gBAChC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,CAAC,KAAK;gBACZ,KAAK,mCACA,KAAK,KACR,KAAK,EAAE,EAAE,GACV,CAAC;gBAEF,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;qBACpC,IAAI,CACH,GAAG,CAAC,CAAC,QAAQ;oBACX,OAAO;wBACL,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG;wBAC7B,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;qBACtE,CAAC;iBACH,CAAC,CACH,CAAA;aACJ;SACF,CAAC,CAAC;KACJ;IAEM,IAAI,CAAC,YAAY;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;YAChC,IAAI,EAAE;gBACJ,YAAY,EAAE,YAAY;aAC3B;YACD,KAAK,EAAE,KAAK;SACb,CAAC;aACC,WAAW,EAAE;aACb,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SACpB,CAAC,CAAC;KACN;IAEM,WAAW;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;EACF;;4CArII,MAAM,SAAC,qBAAqB;YACZ,SAAS;;AAZ5B;IADC,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;8BAChC,eAAe;6CAAQ;AAE3B;IAAR,KAAK,EAAE;;8CAAmB;AALhB,eAAe;IAL3B,SAAS,CAAC;QACT,QAAQ,EAAE,uBAAuB;QAEjC,g3FAAsC;;KACvC,CAAC;IAeG,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;6CACb,SAAS;GAfjB,eAAe,CAmJ3B;;ICrKY,WAAW,GAAxB,MAAa,WAAW;IACtB,SAAS,CAAC,KAAa;QACrB,OAAO,QAAQ,CAAC,KAAK,EAAE;YACrB,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,QAAQ;iBAChB;aACF;SACF,CAAC,CAAC;KACJ;EACF;AAXY,WAAW;IADvB,IAAI,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC;GACX,WAAW,CAWvB;;ICZY,YAAY,GAAzB,MAAa,YAAY;IACzB,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE,EAAE,aAAa,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK;QAE1E,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE;YACxB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;SACpC;QAEA,IAAI,aAAa,EAAE;YACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACjD;QACD,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC;KAChD;EACA;AAZY,YAAY;IAHxB,IAAI,CAAC;QACJ,IAAI,EAAE,UAAU;KACjB,CAAC;GACW,YAAY,CAYxB;;ICNY,kBAAkB,GAA/B,MAAa,kBAAkB;IAOtB,QAAQ;QAEb,MAAM,KAAK,GAAG;YACZ,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE;YAC9C,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE;YACjD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;SACzC,CAAA;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;EAEF;AAhBU;IAAR,KAAK,EAAE;;gDAAM;AACL;IAAR,KAAK,EAAE;;iDAAO;AAHJ,kBAAkB;IAL9B,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,uMAAyC;;KAE1C,CAAC;GACW,kBAAkB,CAkB9B;;ICqCY,wBAAwB,GAArC,MAAa,wBAAwB;EAAG;AAA3B,wBAAwB;IApCpC,QAAQ,CAAC;QACR,OAAO,EAAE;YACP,YAAY;YACZ,WAAW;YACX,YAAY;YAEZ,gBAAgB;YAEhB,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,aAAa;YACb,aAAa;YAEb,YAAY;YACZ,cAAc;YACd,aAAa;YACb,YAAY;YACZ,gBAAgB;YAChB,mBAAmB;YACnB,YAAY;YACZ,mBAAmB;YACnB,cAAc;SACf;QACD,YAAY,EAAE;YACZ,eAAe;YACf,cAAc;YACd,WAAW;YACX,YAAY;YACZ,kBAAkB;SACnB;QACD,OAAO,EAAE;YACP,eAAe;YACf,cAAc;SACf;KACF,CAAC;GACW,wBAAwB,CAAG;;IC/C3B,iBAAiB,GAA9B,MAAa,iBAAiB;IAe5B,YACmC,KAAK,EACC,OAA2B,EAC1D,UAA2C,EAC3C,QAAmB,EACnB,OAAkB;QAJO,UAAK,GAAL,KAAK,CAAA;QACC,YAAO,GAAP,OAAO,CAAoB;QAC1D,eAAU,GAAV,UAAU,CAAiC;QAC3C,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAW;QAjBrB,qBAAgB,GAAuB;YAC5C,QAAQ,EAAE,MAAM;YAChB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;QAEK,oBAAe,GAAuB;YAC3C,QAAQ,EAAE,MAAM;YAChB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC;SACX,CAAC;QAgCK,SAAI,GAAG,CAAC,KAAkB;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC;iBAC5D,IAAI,CACH,GAAG,CAAC,eAAe;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;oBACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;iBACxC;aACF,CAAC,CACH,CAAC;SACH,CAAA;KAjCA;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;iBAC3D,SAAS,CAAC,eAAe;gBACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;aACxC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;KACF;IAEM,WAAW;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAClC,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;gBACnC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO;aACnC;YACD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;KACJ;EAaF;;4CAxCI,MAAM,SAAC,eAAe;4CACtB,MAAM,SAAC,qBAAqB;YACT,YAAY;YACd,SAAS;YACV,SAAS;;AApBjB,iBAAiB;IAJ7B,SAAS,CAAC;QACT,skEAAwC;;KAEzC,CAAC;IAiBG,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;IACvB,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;qDACV,YAAY;QACd,SAAS;QACV,SAAS;GApBjB,iBAAiB,CAwD7B;;IC1DY,kBAAkB,GAA/B,MAAa,kBAAkB;IAU7B,YACyC,OAA2B,EAC1D,OAAkB;QADa,YAAO,GAAP,OAAO,CAAoB;QAC1D,YAAO,GAAP,OAAO,CAAW;QATrB,SAAI,GAAoB,IAAI,CAAC;QAE7B,WAAM,GAAiB,IAAI,CAAC;QAC5B,uBAAkB,GAAG,EAAE,CAAC;QAEvB,cAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAK7B;IAEE,QAAQ;QACb,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE;wBACL,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACf;iBACF;aACF;YACD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;aACjD;SACF,CAAA;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG;gBACvB;oBACE,KAAK,EAAE,IAAI;wBACT,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;qBACjD;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,sDAAsD;qBACjE;oBACD,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,QAAQ;iBAChB;aACF,CAAC;SACH;KACF;IAEM,IAAI,CAAC,eAAe;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACrD,IAAI,EAAE;gBACJ,eAAe,EAAE,eAAe;aACjC;YACD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE;aACtB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC,CAAC,QAAQ;YAClB,IAAI,QAAQ,EAAE;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CACjC,QAAQ,EACR,CAAC,GAAQ;oBACP,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;iBAC/B,CAAC,CAAC;gBAEL,IAAI,CAAC,MAAM,EAAE;oBACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;iBACpB;aACF;SACF,CAAC,CAAA;KACH;IAEM,WAAW;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;EACF;;4CApEI,MAAM,SAAC,qBAAqB;YACZ,SAAS;;AAT5B;IADC,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;8BAChC,eAAe;gDAAQ;AAHzB,kBAAkB;IAJ9B,SAAS,CAAC;QACT,QAAQ,EAAE,0BAA0B;QACpC,kOAAyC;KAC1C,CAAC;IAYG,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;6CACb,SAAS;GAZjB,kBAAkB,CA+E9B;;ICrCY,2BAA2B,GAAxC,MAAa,2BAA2B;EACvC;AADY,2BAA2B;IAjCvC,QAAQ,CAAC;QACR,OAAO,EAAE;YACP,YAAY;YACZ,YAAY;YACZ,WAAW;YAEX,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,kBAAkB;YAClB,cAAc;YAEd,YAAY;YACZ,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,YAAY;YACZ,kBAAkB;YAElB,yBAAyB;SAC1B;QACD,YAAY,EAAE;YACZ,kBAAkB;YAClB,iBAAiB;SAClB;QACD,OAAO,EAAE;YACP,kBAAkB;YAClB,iBAAiB;SAClB;KACF,CAAC;GACW,2BAA2B,CACvC;;;ICvDY,kBAAkB,0BAA/B,MAAa,kBAAkB;IAC7B,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,oBAAkB;SAC7B,CAAC;KACH;EACF;AANY,kBAAkB;IAF9B,QAAQ,CAAC,EACT,CAAC;GACW,kBAAkB,CAM9B;;ACXD;;;;ACAA;;;;;;"}