ngx-sp-infra 0.1.21 → 0.1.23

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.
@@ -7,7 +7,11 @@ export class ConfirmModalComponent {
7
7
  // #region PRIVATE
8
8
  this._closingModal = new EventEmitter();
9
9
  this.genreAndPluralitySubject = 'masc singular';
10
+ // Estas variáveis abaixo servem para deixar o mais genérico possível o modal de confirmalçao
10
11
  this.customMessage = '';
12
+ this.customTitle = '';
13
+ this.customButton = '';
14
+ this.customButtonLoading = '';
11
15
  this.importantMessage = false;
12
16
  this.showSpinner = false;
13
17
  }
@@ -41,11 +45,11 @@ export class ConfirmModalComponent {
41
45
  this._closingModal.emit(isExecuteAction);
42
46
  }
43
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfirmModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ConfirmModalComponent, selector: "app-confirm-modal", inputs: { modalSubject: "modalSubject", modalType: "modalType", genreAndPluralitySubject: "genreAndPluralitySubject", customMessage: "customMessage", importantMessage: "importantMessage" }, outputs: { _closingModal: "_closingModal" }, ngImport: i0, template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ modalType }} {{ modalSubject }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ modalType }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ modalType == 'Excluir' ? 'Excluindo...' : modalType == 'Ativar' ? 'Ativando...' : 'Inativando...' }} </span>\n </button>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ConfirmModalComponent, selector: "app-confirm-modal", inputs: { modalSubject: "modalSubject", modalType: "modalType", genreAndPluralitySubject: "genreAndPluralitySubject", customMessage: "customMessage", customTitle: "customTitle", customButton: "customButton", customButtonLoading: "customButtonLoading", importantMessage: "importantMessage" }, outputs: { _closingModal: "_closingModal" }, ngImport: i0, template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ customTitle === '' ? [modalType + ' ' + modalSubject] : customTitle }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ customButton === '' ? modalType : customButton }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ customButtonLoading === '' ? [modalType == 'Excluir' ? 'Excluindo...' : [modalType == 'Ativar' ? 'Ativando...' : 'Inativando...']] : customButtonLoading }} </span>\n </button>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
45
49
  }
46
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfirmModalComponent, decorators: [{
47
51
  type: Component,
48
- args: [{ selector: 'app-confirm-modal', template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ modalType }} {{ modalSubject }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ modalType }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ modalType == 'Excluir' ? 'Excluindo...' : modalType == 'Ativar' ? 'Ativando...' : 'Inativando...' }} </span>\n </button>\n </ng-template>\n\n</div>\n" }]
52
+ args: [{ selector: 'app-confirm-modal', template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ customTitle === '' ? [modalType + ' ' + modalSubject] : customTitle }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ customButton === '' ? modalType : customButton }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ customButtonLoading === '' ? [modalType == 'Excluir' ? 'Excluindo...' : [modalType == 'Ativar' ? 'Ativando...' : 'Inativando...']] : customButtonLoading }} </span>\n </button>\n </ng-template>\n\n</div>\n" }]
49
53
  }], ctorParameters: function () { return []; }, propDecorators: { _closingModal: [{
50
54
  type: Output
51
55
  }], modalSubject: [{
@@ -56,7 +60,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
56
60
  type: Input
57
61
  }], customMessage: [{
58
62
  type: Input
63
+ }], customTitle: [{
64
+ type: Input
65
+ }], customButton: [{
66
+ type: Input
67
+ }], customButtonLoading: [{
68
+ type: Input
59
69
  }], importantMessage: [{
60
70
  type: Input
61
71
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUdBLDZDQUE2QztRQUU3QyxrQkFBa0I7UUFDRCxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBTXBFLDZCQUF3QixHQUNOLGVBQWUsQ0FBQztRQUNsQyxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFM0MsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFqQnBCLENBQUM7SUFrQmpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsNENBQTRDO0lBQzVDOzs7Ozs7Ozs7T0FTRztJQUNJLHNCQUFzQixDQUFDLFFBQWdCO1FBQzVDLE1BQU0sYUFBYSxHQUFhLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCwrQ0FBK0M7SUFHL0MseUNBQXlDO0lBQ3pDOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxrQkFBMkIsS0FBSztRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQXZEVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixvU0NQbEMsdzJEQXNDQTs7MkZEL0JhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBWVosYUFBYTtzQkFBN0IsTUFBTTtnQkFJUyxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1Usd0JBQXdCO3NCQUF2QyxLQUFLO2dCQUVVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS1tb2RhbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1Nb2RhbENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxuXG4gIC8vICNyZWdpb24gUFJJVkFURVxuICBAT3V0cHV0KCkgcHVibGljIF9jbG9zaW5nTW9kYWw6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgLy8gI2VuZHJlZ2lvbiBQUklWQVRFXG5cbiAgLy8gI3JlZ2lvbiBQVUJMSUNcbiAgQElucHV0KCkgcHVibGljIG1vZGFsU3ViamVjdDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgbW9kYWxUeXBlOiAnRXhjbHVpcicgfCAnSW5hdGl2YXInIHwgJ0F0aXZhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBnZW5yZUFuZFBsdXJhbGl0eVN1YmplY3Q6ICdtYXNjIHNpbmd1bGFyJyB8ICdtYXNjIHBsdXJhbCcgfFxuICAgICdmZW0gc2luZ3VsYXInIHwgJ2ZlbSBwbHVyYWwnID0gJ21hc2Mgc2luZ3VsYXInO1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbXBvcnRhbnRNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dTcGlubmVyOiBib29sZWFuID0gZmFsc2U7XG4gIC8vICNlbmRyZWdpb24gUFVCTElDXG5cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxuICAvKipcbiAgICogRXN0ZSBtw6l0b2RvIHJlY2ViZSB1bWEgcGFsYXZyYSAocG9kZW5kbyBzZXIgdW1hIHBhbGF2cmEgY29tcG9zdGEpLCB2YWlcbiAgICogc2VwYXLDoS1sYSBlbSBvdXRyYXMgcGFsYXZyYXMgY2FzbyBlbGEgc2VqYSB1bWEgcGFsYXZyYSBjb21wb3N0YSwgaXLDoSBwZXJjb3JyZXJcbiAgICogYXMgcGFsYXZyYXMgc2VwYXJhZGFzLCBjb2xvY2FuZG8gYSBpbmljaWFsIGRlIGNhZGEgcGFsYXZyYSBlbSBtYWnDunNjdWxvLCBlXG4gICAqIGRlcG9pcyB2YWkgdW7DrS1sYXMgZW0gdW1hIG5vdmEgcGFsYXZyYSwgcXVlIHRlcsOhIHRvZGFzIGFzIHByaW1laXJhcyBsZXRyYXMgZW1cbiAgICogbWFpw7pzY3VsbyBwYXJhIG1vc3RyYXIgbm8gdMOtdHVsby5cbiAgICogQHBhcmFtIGZhdGVXb3JkIFBhbGF2cmEgKHBvZGVuZG8gc2VyIG91IG7Do28gcGFsYXZyYSBjb21wb3N0YSkgcXVlXG4gICAqIHNlcsOhIGFsdGVyYWRhIHBhcmEgdGVyIHN1YXMgaW5pY2lhaXMgbWFpw7pzY3VsYXMuXG4gICAqIEByZXR1cm5zIFBhbGF2cmEgY29tIGluaWNpYWlzIG1hacO6c2N1bGEuXG4gICAqL1xuICBwdWJsaWMgZmlyc3RMZXR0ZXJJc0xvd2VyY2FzZShmYXRlV29yZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmYXRlV29yZFNwbGl0OiBzdHJpbmdbXSA9IGZhdGVXb3JkLnNwbGl0KFwiIFwiKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmF0ZVdvcmRTcGxpdC5sZW5ndGg7IGkrKykge1xuICAgICAgZmF0ZVdvcmRTcGxpdFtpXSA9IGZhdGVXb3JkU3BsaXRbaV1bMF0udG9Mb3dlckNhc2UoKSArIGZhdGVXb3JkU3BsaXRbaV0uc3Vic3RyaW5nKDEpO1xuICAgIH1cblxuICAgIHJldHVybiBmYXRlV29yZFNwbGl0LmpvaW4oXCIgXCIpO1xuICB9XG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTElUSUVTIDw9PT09PT09PT09XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IE1PREFMUyA8PT09PT09PT09PVxuICAvKipcbiAgICogRnVuw6fDo28gY29tIG8gb2JqZXRpdm8gZGUgbWFuZGFyIHVtIGV2ZW50byBwYXJhIG8gY29tcG9uZW50ZSBwYWkgcGFyYSBxdWVcbiAgICogZWxlIGZlY2hlIG8gbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgY2xvc2VNb2RhbChpc0V4ZWN1dGVBY3Rpb246IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NpbmdNb2RhbC5lbWl0KGlzRXhlY3V0ZUFjdGlvbik7XG4gIH1cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIG1vZGFsLXN0eWxlIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiPlxuICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIj4ge3sgbW9kYWxUeXBlIH19IHt7IG1vZGFsU3ViamVjdCB9fSA8L2g0PlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+PC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1tZXNzYWdlXCIgW2NsYXNzLnRleHQtZGFuZ2VyLmZ3LWJvbGRdPVwiaW1wb3J0YW50TWVzc2FnZVwiPlxuICAgIDxzcGFuICpuZ0lmPVwiY3VzdG9tTWVzc2FnZSA9PT0gJyc7IGVsc2Ugc2hvd0N1c3RvbU1lc3NhZ2VcIj4gVGVtIGNlcnRlemEgcXVlIHZvY8OqIHF1ZXIge3sgZmlyc3RMZXR0ZXJJc0xvd2VyY2FzZShtb2RhbFR5cGUpIH19XG4gICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwiZ2VucmVBbmRQbHVyYWxpdHlTdWJqZWN0XCI+XG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbWFzYyBzaW5ndWxhcidcIj4gZXN0ZSA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbWFzYyBwbHVyYWwnXCI+IGVzdGVzIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmZW0gc2luZ3VsYXInXCI+IGVzdGEgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2ZlbSBwbHVyYWwnXCI+IGVzdGFzIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHt7IGZpcnN0TGV0dGVySXNMb3dlcmNhc2UobW9kYWxTdWJqZWN0KSB9fT9cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctdGVtcGxhdGUgI3Nob3dDdXN0b21NZXNzYWdlPlxuICAgICAgPHNwYW4+IHt7IGN1c3RvbU1lc3NhZ2UgfX0gPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8c3BhbiAqbmdJZj1cIm1vZGFsVHlwZSA9PSAnRXhjbHVpcidcIiBjbGFzcz1cInRleHQtZGFuZ2VyIGZ3LWJvbGRcIj4gKGVzdGEgYcOnw6NvIMOpIGlycmV2ZXJzw612ZWwpIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBtb2RhbC1idXR0b25cIlxuICAgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj4gQ2FuY2VsYXIgPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCIhc2hvd1NwaW5uZXI7IGVsc2UgbG9hZGluZ0J1dHRvblwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtb2RhbC1idXR0b25cIlxuICAgIChjbGljayk9XCJzaG93U3Bpbm5lciA9IHRydWU7IGNsb3NlTW9kYWwodHJ1ZSlcIj4ge3sgbW9kYWxUeXBlIH19IDwvYnV0dG9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ0J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1vZGFsLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiBkaXNhYmxlZD5cbiAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc21cIiByb2xlPVwic3RhdHVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgPHNwYW4+IHt7IG1vZGFsVHlwZSA9PSAnRXhjbHVpcicgPyAnRXhjbHVpbmRvLi4uJyA6IG1vZGFsVHlwZSA9PSAnQXRpdmFyJyA/ICdBdGl2YW5kby4uLicgOiAnSW5hdGl2YW5kby4uLicgfX0gPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L2Rpdj5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUdBLDZDQUE2QztRQUU3QyxrQkFBa0I7UUFDRCxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBTXBFLDZCQUF3QixHQUNOLGVBQWUsQ0FBQztRQUVsRCw2RkFBNkY7UUFDN0Usa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsd0JBQW1CLEdBQVcsRUFBRSxDQUFDO1FBRWpDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUUzQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQXZCcEIsQ0FBQztJQXdCakIsb0JBQW9CO0lBRXBCLGdEQUFnRDtJQUdoRCw0Q0FBNEM7SUFDNUM7Ozs7Ozs7OztPQVNHO0lBQ0ksc0JBQXNCLENBQUMsUUFBZ0I7UUFDNUMsTUFBTSxhQUFhLEdBQWEsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEY7UUFFRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELCtDQUErQztJQUcvQyx5Q0FBeUM7SUFDekM7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLGtCQUEyQixLQUFLO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBN0RVLHFCQUFxQjtrR0FBckIscUJBQXFCLDBZQ1BsQyw2K0RBdUNBOzsyRkRoQ2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjswRUFZWixhQUFhO3NCQUE3QixNQUFNO2dCQUlTLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBSVUsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUVVLGdCQUFnQjtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpcm0tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtTW9kYWxDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cblxuICAvLyAjcmVnaW9uIFBSSVZBVEVcbiAgQE91dHB1dCgpIHB1YmxpYyBfY2xvc2luZ01vZGFsOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vICNlbmRyZWdpb24gUFJJVkFURVxuXG4gIC8vICNyZWdpb24gUFVCTElDXG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RhbFN1YmplY3Q6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG1vZGFsVHlwZTogJ0V4Y2x1aXInIHwgJ0luYXRpdmFyJyB8ICdBdGl2YXInO1xuICBASW5wdXQoKSBwdWJsaWMgZ2VucmVBbmRQbHVyYWxpdHlTdWJqZWN0OiAnbWFzYyBzaW5ndWxhcicgfCAnbWFzYyBwbHVyYWwnIHxcbiAgICAnZmVtIHNpbmd1bGFyJyB8ICdmZW0gcGx1cmFsJyA9ICdtYXNjIHNpbmd1bGFyJztcblxuICAvLyBFc3RhcyB2YXJpw6F2ZWlzIGFiYWl4byBzZXJ2ZW0gcGFyYSBkZWl4YXIgbyBtYWlzIGdlbsOpcmljbyBwb3Nzw612ZWwgbyBtb2RhbCBkZSBjb25maXJtYWzDp2FvXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21NZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbVRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUJ1dHRvbjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21CdXR0b25Mb2FkaW5nOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBwdWJsaWMgaW1wb3J0YW50TWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93U3Bpbm5lcjogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyAjZW5kcmVnaW9uIFBVQkxJQ1xuXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxuXG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBVVElMSVRJRVMgPD09PT09PT09PT1cbiAgLyoqXG4gICAqIEVzdGUgbcOpdG9kbyByZWNlYmUgdW1hIHBhbGF2cmEgKHBvZGVuZG8gc2VyIHVtYSBwYWxhdnJhIGNvbXBvc3RhKSwgdmFpXG4gICAqIHNlcGFyw6EtbGEgZW0gb3V0cmFzIHBhbGF2cmFzIGNhc28gZWxhIHNlamEgdW1hIHBhbGF2cmEgY29tcG9zdGEsIGlyw6EgcGVyY29ycmVyXG4gICAqIGFzIHBhbGF2cmFzIHNlcGFyYWRhcywgY29sb2NhbmRvIGEgaW5pY2lhbCBkZSBjYWRhIHBhbGF2cmEgZW0gbWFpw7pzY3VsbywgZVxuICAgKiBkZXBvaXMgdmFpIHVuw60tbGFzIGVtIHVtYSBub3ZhIHBhbGF2cmEsIHF1ZSB0ZXLDoSB0b2RhcyBhcyBwcmltZWlyYXMgbGV0cmFzIGVtXG4gICAqIG1hacO6c2N1bG8gcGFyYSBtb3N0cmFyIG5vIHTDrXR1bG8uXG4gICAqIEBwYXJhbSBmYXRlV29yZCBQYWxhdnJhIChwb2RlbmRvIHNlciBvdSBuw6NvIHBhbGF2cmEgY29tcG9zdGEpIHF1ZVxuICAgKiBzZXLDoSBhbHRlcmFkYSBwYXJhIHRlciBzdWFzIGluaWNpYWlzIG1hacO6c2N1bGFzLlxuICAgKiBAcmV0dXJucyBQYWxhdnJhIGNvbSBpbmljaWFpcyBtYWnDunNjdWxhLlxuICAgKi9cbiAgcHVibGljIGZpcnN0TGV0dGVySXNMb3dlcmNhc2UoZmF0ZVdvcmQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmF0ZVdvcmRTcGxpdDogc3RyaW5nW10gPSBmYXRlV29yZC5zcGxpdChcIiBcIik7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZhdGVXb3JkU3BsaXQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZhdGVXb3JkU3BsaXRbaV0gPSBmYXRlV29yZFNwbGl0W2ldWzBdLnRvTG93ZXJDYXNlKCkgKyBmYXRlV29yZFNwbGl0W2ldLnN1YnN0cmluZygxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmF0ZVdvcmRTcGxpdC5qb2luKFwiIFwiKTtcbiAgfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxuXG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIGNvbSBvIG9iamV0aXZvIGRlIG1hbmRhciB1bSBldmVudG8gcGFyYSBvIGNvbXBvbmVudGUgcGFpIHBhcmEgcXVlXG4gICAqIGVsZSBmZWNoZSBvIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGNsb3NlTW9kYWwoaXNFeGVjdXRlQWN0aW9uOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zaW5nTW9kYWwuZW1pdChpc0V4ZWN1dGVBY3Rpb24pO1xuICB9XG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gTU9EQUxTIDw9PT09PT09PT09XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBtb2RhbC1zdHlsZSBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIj5cbiAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+IHt7IGN1c3RvbVRpdGxlID09PSAnJyA/IFttb2RhbFR5cGUgKyAnICcgKyBtb2RhbFN1YmplY3RdIDogY3VzdG9tVGl0bGUgfX0gPC9oND5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiXG4gICAgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPjwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtbWVzc2FnZVwiIFtjbGFzcy50ZXh0LWRhbmdlci5mdy1ib2xkXT1cImltcG9ydGFudE1lc3NhZ2VcIj5cbiAgICA8c3BhbiAqbmdJZj1cImN1c3RvbU1lc3NhZ2UgPT09ICcnOyBlbHNlIHNob3dDdXN0b21NZXNzYWdlXCI+IFRlbSBjZXJ0ZXphIHF1ZSB2b2PDqiBxdWVyIHt7IGZpcnN0TGV0dGVySXNMb3dlcmNhc2UobW9kYWxUeXBlKSB9fVxuICAgICAgPHNwYW4gW25nU3dpdGNoXT1cImdlbnJlQW5kUGx1cmFsaXR5U3ViamVjdFwiPlxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ21hc2Mgc2luZ3VsYXInXCI+IGVzdGUgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ21hc2MgcGx1cmFsJ1wiPiBlc3RlcyA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZmVtIHNpbmd1bGFyJ1wiPiBlc3RhIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmZW0gcGx1cmFsJ1wiPiBlc3RhcyA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICB7eyBmaXJzdExldHRlcklzTG93ZXJjYXNlKG1vZGFsU3ViamVjdCkgfX0/XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLXRlbXBsYXRlICNzaG93Q3VzdG9tTWVzc2FnZT5cbiAgICAgIDxzcGFuPiB7eyBjdXN0b21NZXNzYWdlIH19IDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJtb2RhbFR5cGUgPT0gJ0V4Y2x1aXInXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBmdy1ib2xkXCI+IChlc3RhIGHDp8OjbyDDqSBpcnJldmVyc8OtdmVsKSA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgbW9kYWwtYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+IENhbmNlbGFyIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gKm5nSWY9XCIhc2hvd1NwaW5uZXI7IGVsc2UgbG9hZGluZ0J1dHRvblwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtb2RhbC1idXR0b25cIlxuICAgIChjbGljayk9XCJzaG93U3Bpbm5lciA9IHRydWU7IGNsb3NlTW9kYWwodHJ1ZSlcIj4ge3sgY3VzdG9tQnV0dG9uID09PSAnJyA/IG1vZGFsVHlwZSA6IGN1c3RvbUJ1dHRvbiB9fSA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI2xvYWRpbmdCdXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtb2RhbC1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgZGlzYWJsZWQ+XG4gICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuPiB7eyBjdXN0b21CdXR0b25Mb2FkaW5nID09PSAnJyA/IFttb2RhbFR5cGUgPT0gJ0V4Y2x1aXInID8gJ0V4Y2x1aW5kby4uLicgOiBbbW9kYWxUeXBlID09ICdBdGl2YXInID8gJ0F0aXZhbmRvLi4uJyA6ICdJbmF0aXZhbmRvLi4uJ11dIDogY3VzdG9tQnV0dG9uTG9hZGluZyB9fSA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuIl19