@tilde-nlp/ngx-common 4.1.21 → 4.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.
@@ -38,6 +38,7 @@ export class CreateSummaryComponent {
38
38
  .subscribe({
39
39
  next: (response) => {
40
40
  this.text = response;
41
+ this.showErrorMessage = false;
41
42
  this.refreshQuota(true);
42
43
  },
43
44
  error: () => {
@@ -49,6 +50,10 @@ export class CreateSummaryComponent {
49
50
  this.llmService.cancelRequest();
50
51
  }
51
52
  refreshQuota(decrease) {
53
+ if (this.llmService.llmConfiguration.isWebComponent) {
54
+ this.summaryQuotaLeft = this.llmService.setQuotaLocalStorageUsage(this.summaryQuotaLocalStorageKey, decrease);
55
+ return;
56
+ }
52
57
  this.quotaService.getQuotaUsage().subscribe({
53
58
  next: (response) => {
54
59
  const quota = response.usage.find((item) => item.quotaType === QuotaType.LLM_REQUESTS);
@@ -61,13 +66,13 @@ export class CreateSummaryComponent {
61
66
  });
62
67
  }
63
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateSummaryComponent, deps: [{ token: i1.LlmService }, { token: i2.QuotaService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateSummaryComponent, selector: "lib-create-summary", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i7.LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateSummaryComponent, selector: "lib-create-summary", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i7.LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
65
70
  }
66
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateSummaryComponent, decorators: [{
67
72
  type: Component,
68
- args: [{ selector: 'lib-create-summary', template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}\n"] }]
73
+ args: [{ selector: 'lib-create-summary', template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}\n"] }]
69
74
  }], ctorParameters: function () { return [{ type: i1.LlmService }, { type: i2.QuotaService }, { type: undefined, decorators: [{
70
75
  type: Inject,
71
76
  args: [MAT_DIALOG_DATA]
72
77
  }] }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL2NyZWF0ZS1zdW1tYXJ5L2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9jcmVhdGUtc3VtbWFyeS9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBUTVELE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUNtQixVQUFzQixFQUN0QixZQUEwQixFQUNWLElBQVM7UUFGekIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNWLFNBQUksR0FBSixJQUFJLENBQUs7UUFWM0Isc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLGdDQUEyQixHQUFHLHVCQUF1QixDQUFDO0lBVXBFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLFVBQVU7YUFDWixTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDOUMsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQWtCO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRXZGLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUM5RyxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQy9DLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQWxFVSxzQkFBc0Isd0VBb0J2QixlQUFlO21HQXBCZCxzQkFBc0IsMERDYm5DLGdtREFxQ0E7OzRGRHhCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkF3QjNCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTGxtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS5tb2RlbCc7XHJcbmltcG9ydCB7IExsbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0uc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1b3RhU2VydmljZSwgUXVvdGFUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLXN1bW1hcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgc2hvd0Vycm9yTWVzc2FnZSE6IGJvb2xlYW47XHJcbiAgdGV4dCE6IHN0cmluZztcclxuICBsYW5ndWFnZSE6IHN0cmluZztcclxuICBzdW1tYXJ5UXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIHN1YnNjcmlwdGlvblVybCE6IHN0cmluZztcclxuXHJcbiAgcmVhY2hlZFF1b3RhTWVzc2FnZSE6IE5vdGlmaWNhdGlvbk1lc3NhZ2U7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJpYWxSZXF1ZXN0Q291bnQgPSAxNTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hcnlRdW90YUxvY2FsU3RvcmFnZUtleSA9ICdMTE1fU1VNTUFSWV9VU0FHRV9LRVknO1xyXG5cclxuICBnZXQgc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN1bW1hcnlRdW90YUxlZnQgPD0gdGhpcy50cmlhbFJlcXVlc3RDb3VudDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsbG1TZXJ2aWNlOiBMbG1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdW90YVNlcnZpY2U6IFF1b3RhU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IExsbVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHQgPSB0aGlzLmRhdGEudGV4dDtcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSB0aGlzLmRhdGEubGFuZ3VhZ2U7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvblVybCA9IHRoaXMubGxtU2VydmljZS5sbG1Db25maWd1cmF0aW9uLnN1YnNjcmlwdGlvblVybDtcclxuICAgIHRoaXMucmVhY2hlZFF1b3RhTWVzc2FnZSA9IHRoaXMubGxtU2VydmljZS5nZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmNyZWF0ZVN1bW1hcnkoKTtcclxuICAgIHRoaXMucmVmcmVzaFF1b3RhKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVTdW1tYXJ5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMubGxtU2VydmljZVxyXG4gICAgICAuc3VtbWFyaXplKHsgdGV4dDogdGhpcy50ZXh0LCBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSB9KVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMudGV4dCA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUXVvdGEodHJ1ZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sbG1TZXJ2aWNlLmNhbmNlbFJlcXVlc3QoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFF1b3RhKGRlY3JlYXNlPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5xdW90YVNlcnZpY2UuZ2V0UXVvdGFVc2FnZSgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1b3RhID0gcmVzcG9uc2UudXNhZ2UuZmluZCgoaXRlbSkgPT4gaXRlbS5xdW90YVR5cGUgPT09IFF1b3RhVHlwZS5MTE1fUkVRVUVTVFMpO1xyXG5cclxuICAgICAgICBpZiAoIXF1b3RhKSB7XHJcbiAgICAgICAgICB0aGlzLnN1bW1hcnlRdW90YUxlZnQgPSB0aGlzLmxsbVNlcnZpY2Uuc2V0UXVvdGFMb2NhbFN0b3JhZ2VVc2FnZSh0aGlzLnN1bW1hcnlRdW90YUxvY2FsU3RvcmFnZUtleSwgZGVjcmVhc2UpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLnN1bW1hcnlRdW90YUxlZnQgPSBxdW90YS5xdW90YVJlbWFpbmluZztcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT57eyBcIkxMTS5TVU1NQVJZX01PREFMLlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cCBjbGFzcz1cInRleHQtbVwiPnt7IFwiTExNLlNVTU1BUllfTU9EQUwuREVTQ1JJUFRJT05cIiB8IHRyYW5zbGF0ZSB9fTwvcD5cclxuXHJcbiAgPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgKm5nSWY9XCIhc3VtbWFyeVF1b3RhTGVmdFwiIFttZXNzYWdlXT1cInJlYWNoZWRRdW90YU1lc3NhZ2VcIj48L2xpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2U+XHJcblxyXG4gIDxsaWItbGxtLXRleHRhcmVhIFtzaG93RXJyb3JNZXNzYWdlXT1cInNob3dFcnJvck1lc3NhZ2VcIiBbdGV4dF09XCJ0ZXh0XCIgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhc3VtbWFyeVF1b3RhTGVmdFwiICh0ZXh0RWRpdEV2ZW50KT1cInRleHQgPSAkZXZlbnRcIj48L2xpYi1sbG0tdGV4dGFyZWE+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG14LTMgbWItMlwiIG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIFtpbm5lckhUTUxdPVwiJ0xMTS5TVU1NQVJZX01PREFMLkxJTUlUJyB8IHRyYW5zbGF0ZTogeyBsaW1pdDogc3VtbWFyeVF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LTEwMF09XCIhc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJpc0xvYWRpbmc7IGVsc2UgY2xvc2VCdXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7IFwiTExNLlNVTU1BUllfTU9EQUwuQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VCdXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cclxuICAgICAgICB7eyBcIkxMTS5TVU1NQVJZX01PREFMLkNMT1NFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgIChjbGljayk9XCJjcmVhdGVTdW1tYXJ5KClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICF0ZXh0IHx8ICFzdW1tYXJ5UXVvdGFMZWZ0XCJcclxuICAgID5cclxuICAgICAge3tcclxuICAgICAgICAoaXNMb2FkaW5nXHJcbiAgICAgICAgICA/IFwiTExNLlNVTU1BUllfTU9EQUwuQ1JFQVRJTkdcIlxyXG4gICAgICAgICAgOiBcIkxMTS5TVU1NQVJZX01PREFMLlJFR0VORVJBVEVcIlxyXG4gICAgICAgICkgfCB0cmFuc2xhdGVcclxuICAgICAgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL2NyZWF0ZS1zdW1tYXJ5L2NyZWF0ZS1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9jcmVhdGUtc3VtbWFyeS9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBUTVELE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUNtQixVQUFzQixFQUN0QixZQUEwQixFQUNWLElBQVM7UUFGekIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNWLFNBQUksR0FBSixJQUFJLENBQUs7UUFWM0Isc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLGdDQUEyQixHQUFHLHVCQUF1QixDQUFDO0lBVXBFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLFVBQVU7YUFDWixTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDOUMsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO2dCQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQWtCO1FBQ3JDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlHLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRXZGLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUM5RyxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQy9DLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXhFVSxzQkFBc0Isd0VBb0J2QixlQUFlO21HQXBCZCxzQkFBc0IsMERDYm5DLDZrREFxQ0E7OzRGRHhCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkF3QjNCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTGxtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS5tb2RlbCc7XHJcbmltcG9ydCB7IExsbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0uc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1b3RhU2VydmljZSwgUXVvdGFUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLXN1bW1hcnknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlzTG9hZGluZyE6IGJvb2xlYW47XHJcbiAgc2hvd0Vycm9yTWVzc2FnZSE6IGJvb2xlYW47XHJcbiAgdGV4dCE6IHN0cmluZztcclxuICBsYW5ndWFnZSE6IHN0cmluZztcclxuICBzdW1tYXJ5UXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIHN1YnNjcmlwdGlvblVybCE6IHN0cmluZztcclxuXHJcbiAgcmVhY2hlZFF1b3RhTWVzc2FnZSE6IE5vdGlmaWNhdGlvbk1lc3NhZ2U7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgdHJpYWxSZXF1ZXN0Q291bnQgPSAxNTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hcnlRdW90YUxvY2FsU3RvcmFnZUtleSA9ICdMTE1fU1VNTUFSWV9VU0FHRV9LRVknO1xyXG5cclxuICBnZXQgc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN1bW1hcnlRdW90YUxlZnQgPD0gdGhpcy50cmlhbFJlcXVlc3RDb3VudDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsbG1TZXJ2aWNlOiBMbG1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdW90YVNlcnZpY2U6IFF1b3RhU2VydmljZSxcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IExsbVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHQgPSB0aGlzLmRhdGEudGV4dDtcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSB0aGlzLmRhdGEubGFuZ3VhZ2U7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvblVybCA9IHRoaXMubGxtU2VydmljZS5sbG1Db25maWd1cmF0aW9uLnN1YnNjcmlwdGlvblVybDtcclxuICAgIHRoaXMucmVhY2hlZFF1b3RhTWVzc2FnZSA9IHRoaXMubGxtU2VydmljZS5nZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmNyZWF0ZVN1bW1hcnkoKTtcclxuICAgIHRoaXMucmVmcmVzaFF1b3RhKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVTdW1tYXJ5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMubGxtU2VydmljZVxyXG4gICAgICAuc3VtbWFyaXplKHsgdGV4dDogdGhpcy50ZXh0LCBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSB9KVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMudGV4dCA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hRdW90YSh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3dFcnJvck1lc3NhZ2UgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxsbVNlcnZpY2UuY2FuY2VsUmVxdWVzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoUXVvdGEoZGVjcmVhc2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sbG1TZXJ2aWNlLmxsbUNvbmZpZ3VyYXRpb24uaXNXZWJDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zdW1tYXJ5UXVvdGFMZWZ0ID0gdGhpcy5sbG1TZXJ2aWNlLnNldFF1b3RhTG9jYWxTdG9yYWdlVXNhZ2UodGhpcy5zdW1tYXJ5UXVvdGFMb2NhbFN0b3JhZ2VLZXksIGRlY3JlYXNlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucXVvdGFTZXJ2aWNlLmdldFF1b3RhVXNhZ2UoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBjb25zdCBxdW90YSA9IHJlc3BvbnNlLnVzYWdlLmZpbmQoKGl0ZW0pID0+IGl0ZW0ucXVvdGFUeXBlID09PSBRdW90YVR5cGUuTExNX1JFUVVFU1RTKTtcclxuXHJcbiAgICAgICAgaWYgKCFxdW90YSkge1xyXG4gICAgICAgICAgdGhpcy5zdW1tYXJ5UXVvdGFMZWZ0ID0gdGhpcy5sbG1TZXJ2aWNlLnNldFF1b3RhTG9jYWxTdG9yYWdlVXNhZ2UodGhpcy5zdW1tYXJ5UXVvdGFMb2NhbFN0b3JhZ2VLZXksIGRlY3JlYXNlKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zdW1tYXJ5UXVvdGFMZWZ0ID0gcXVvdGEucXVvdGFSZW1haW5pbmc7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgXCJMTE0uU1VNTUFSWV9NT0RBTC5USVRMRVwiIHwgdHJhbnNsYXRlIH19PC9oMT5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgY2xhc3M9XCJ0ZXh0LW1cIj57eyBcIkxMTS5TVU1NQVJZX01PREFMLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwiIXN1bW1hcnlRdW90YUxlZnRcIiBbbWVzc2FnZV09XCJyZWFjaGVkUXVvdGFNZXNzYWdlXCI+PC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG5cclxuICA8bGliLWxsbS10ZXh0YXJlYSBbc2hvd0Vycm9yTWVzc2FnZV09XCJzaG93RXJyb3JNZXNzYWdlXCIgW3RleHRdPVwidGV4dFwiIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgIXN1bW1hcnlRdW90YUxlZnRcIiAodGV4dEVkaXRFdmVudCk9XCJ0ZXh0ID0gJGV2ZW50XCI+PC9saWItbGxtLXRleHRhcmVhPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImxsbS1zdW1tYXJ5LWFjdGlvbnMtd3JhcHBlclwiIG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIFtpbm5lckhUTUxdPVwiJ0xMTS5TVU1NQVJZX01PREFMLkxJTUlUJyB8IHRyYW5zbGF0ZTogeyBsaW1pdDogc3VtbWFyeVF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LWZ1bGxdPVwiIXNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2VcIiBjbGFzcz1cImxsbS1zdW1tYXJ5LWFjdGlvbnNcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJpc0xvYWRpbmc7IGVsc2UgY2xvc2VCdXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7IFwiTExNLlNVTU1BUllfTU9EQUwuQ0FOQ0VMXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VCdXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cclxuICAgICAgICB7eyBcIkxMTS5TVU1NQVJZX01PREFMLkNMT1NFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgXHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvblxyXG4gICAgICBjb2xvcj1cImFjY2VudFwiXHJcbiAgICAgIChjbGljayk9XCJjcmVhdGVTdW1tYXJ5KClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICF0ZXh0IHx8ICFzdW1tYXJ5UXVvdGFMZWZ0XCJcclxuICAgID5cclxuICAgICAge3tcclxuICAgICAgICAoaXNMb2FkaW5nXHJcbiAgICAgICAgICA/IFwiTExNLlNVTU1BUllfTU9EQUwuQ1JFQVRJTkdcIlxyXG4gICAgICAgICAgOiBcIkxMTS5TVU1NQVJZX01PREFMLlJFR0VORVJBVEVcIlxyXG4gICAgICAgICkgfCB0cmFuc2xhdGVcclxuICAgICAgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -43,6 +43,7 @@ export class RephraseTranslationComponent {
43
43
  .subscribe({
44
44
  next: (response) => {
45
45
  this.text = response;
46
+ this.showErrorMessage = false;
46
47
  this.refreshQuota(true);
47
48
  },
48
49
  error: () => {
@@ -54,6 +55,10 @@ export class RephraseTranslationComponent {
54
55
  this.llmService.cancelRequest();
55
56
  }
56
57
  refreshQuota(decrease) {
58
+ if (this.llmService.llmConfiguration.isWebComponent) {
59
+ this.rephraseQuotaLeft = this.llmService.setQuotaLocalStorageUsage(this.rephraseQuotaLocalStorageKey, decrease);
60
+ return;
61
+ }
57
62
  this.quotaService.getQuotaUsage().subscribe({
58
63
  next: (response) => {
59
64
  const quota = response.usage.find((item) => item.quotaType === QuotaType.LLM_CHARACTER_COUNT);
@@ -66,13 +71,13 @@ export class RephraseTranslationComponent {
66
71
  });
67
72
  }
68
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RephraseTranslationComponent, deps: [{ token: i1.LlmService }, { token: i2.QuotaService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RephraseTranslationComponent, selector: "lib-rephrase-translation", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-100 mt-3\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"d-flex align-items-center text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined ml-1 info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RephraseTranslationComponent, selector: "lib-rephrase-translation", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i11.LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
70
75
  }
71
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RephraseTranslationComponent, decorators: [{
72
77
  type: Component,
73
- args: [{ selector: 'lib-rephrase-translation', template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-100 mt-3\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"d-flex align-items-center text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined ml-1 info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}\n"] }]
78
+ args: [{ selector: 'lib-rephrase-translation', template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"] }]
74
79
  }], ctorParameters: function () { return [{ type: i1.LlmService }, { type: i2.QuotaService }, { type: undefined, decorators: [{
75
80
  type: Inject,
76
81
  args: [MAT_DIALOG_DATA]
77
82
  }] }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL3JlcGhyYXNlLXRyYW5zbGF0aW9uL3JlcGhyYXNlLXRyYW5zbGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9yZXBocmFzZS10cmFuc2xhdGlvbi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDRCQUE0QjtJQWV2QyxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQ21CLFVBQXNCLEVBQ3RCLFlBQTBCLEVBQ1YsSUFBUztRQUZ6QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ1YsU0FBSSxHQUFKLElBQUksQ0FBSztRQWhCNUMseUJBQW9CLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUl0QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdkMsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFHLHdCQUF3QixDQUFDO0lBVXRFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLFVBQVU7YUFDWixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUM5QyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMvQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxZQUFZLENBQUMsUUFBa0I7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUU5RixJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDaEgsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUNoRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FsRVUsNEJBQTRCLHdFQXNCN0IsZUFBZTttR0F0QmQsNEJBQTRCLGdFQ2R6QyxpbUZBNERBOzs0RkQ5Q2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBMEJqQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExsbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0uc2VydmljZSc7XHJcbmltcG9ydCB7IFF1b3RhU2VydmljZSwgUXVvdGFUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBMbG0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLm1vZGVsJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGxtV3JpdGluZ1N0eWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS13cml0aW5nLXN0eWxlLmVudW0nO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcmVwaHJhc2UtdHJhbnNsYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNMb2FkaW5nITogYm9vbGVhbjtcclxuICBzaG93RXJyb3JNZXNzYWdlITogYm9vbGVhbjtcclxuICB0ZXh0ITogc3RyaW5nO1xyXG4gIHJlcGhyYXNlUXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIHN1YnNjcmlwdGlvblVybCE6IHN0cmluZztcclxuICBzZWxlY3RlZFdyaXRpbmdTdHlsZSA9IExsbVdyaXRpbmdTdHlsZS5HRU5FUkFMO1xyXG5cclxuICByZWFjaGVkUXVvdGFNZXNzYWdlITogTm90aWZpY2F0aW9uTWVzc2FnZTtcclxuICBcclxuICByZWFkb25seSB3cml0aW5nU3R5bGVzID0gT2JqZWN0LnZhbHVlcyhMbG1Xcml0aW5nU3R5bGUpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHRyaWFsUmVxdWVzdENvdW50ID0gMTU7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByZXBocmFzZVF1b3RhTG9jYWxTdG9yYWdlS2V5ID0gJ0xMTV9SRVBIUkFTRV9VU0FHRV9LRVknO1xyXG5cclxuICBnZXQgc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0IDw9IHRoaXMudHJpYWxSZXF1ZXN0Q291bnQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTGxtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVvdGFTZXJ2aWNlOiBRdW90YVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBMbG1cclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXh0ID0gdGhpcy5kYXRhLnRleHQ7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvblVybCA9IHRoaXMubGxtU2VydmljZS5sbG1Db25maWd1cmF0aW9uLnN1YnNjcmlwdGlvblVybDtcclxuICAgIHRoaXMucmVhY2hlZFF1b3RhTWVzc2FnZSA9IHRoaXMubGxtU2VydmljZS5nZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hRdW90YSgpO1xyXG4gIH1cclxuXHJcbiAgcmVwaHJhc2VUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMubGxtU2VydmljZVxyXG4gICAgICAucmVwaHJhc2UoeyB0ZXh0OiB0aGlzLnRleHQsIHN0eWxlOiB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlIH0pXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50ZXh0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICB0aGlzLnJlZnJlc2hRdW90YSh0cnVlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNob3dFcnJvck1lc3NhZ2UgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxsbVNlcnZpY2UuY2FuY2VsUmVxdWVzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoUXVvdGEoZGVjcmVhc2U/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnF1b3RhU2VydmljZS5nZXRRdW90YVVzYWdlKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVvdGEgPSByZXNwb25zZS51c2FnZS5maW5kKChpdGVtKSA9PiBpdGVtLnF1b3RhVHlwZSA9PT0gUXVvdGFUeXBlLkxMTV9DSEFSQUNURVJfQ09VTlQpO1xyXG5cclxuICAgICAgICBpZiAoIXF1b3RhKSB7XHJcbiAgICAgICAgICB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0ID0gdGhpcy5sbG1TZXJ2aWNlLnNldFF1b3RhTG9jYWxTdG9yYWdlVXNhZ2UodGhpcy5yZXBocmFzZVF1b3RhTG9jYWxTdG9yYWdlS2V5LCBkZWNyZWFzZSk7ICAgICAgICAgIFxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXBocmFzZVF1b3RhTGVmdCA9IHF1b3RhLnF1b3RhUmVtYWluaW5nO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cCBjbGFzcz1cInRleHQtbVwiPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwiIXJlcGhyYXNlUXVvdGFMZWZ0XCIgW21lc3NhZ2VdPVwicmVhY2hlZFF1b3RhTWVzc2FnZVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJ3LTEwMCBtdC0zXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgIDxtYXQtbGFiZWw+e3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy5USVRMRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IFsodmFsdWUpXT1cInNlbGVjdGVkV3JpdGluZ1N0eWxlXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdHlsZSBvZiB3cml0aW5nU3R5bGVzXCIgW3ZhbHVlXT1cInN0eWxlXCI+XHJcbiAgICAgICAge3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy4nICsgKHN0eWxlIHwgdXBwZXJjYXNlKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPHAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRleHQtbS1zZW1pLWJvbGRcIj57e1xyXG4gICAgICBcIkxMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy5TUEVDSUZJQ19TVFlMRVwiIHwgdHJhbnNsYXRlIDogXHJcbiAgICAgIHsgc3R5bGU6ICdMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuJyArIChzZWxlY3RlZFdyaXRpbmdTdHlsZSB8IHVwcGVyY2FzZSkgfCB0cmFuc2xhdGUgfSBcclxuICAgIH19XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIG1sLTEgaW5mby1pY29uXCJcclxuICAgICAgbWF0VG9vbHRpcENsYXNzPVwibXVsdGlsaW5lLXRvb2x0aXBcIlxyXG4gICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIFxyXG4gICAgICBbbWF0VG9vbHRpcF09XCInTExNLlJFUEhSQVNFX01PREFMLldSSVRJTkdfU1RZTEVTLlRPT0xUSVAnIHwgdHJhbnNsYXRlXCIgXHJcbiAgICA+XHJcbiAgICAgIGluZm9cclxuICAgIDwvc3Bhbj5cclxuICA8L3A+XHJcblxyXG4gIDxsaWItbGxtLXRleHRhcmVhIFt0ZXh0XT1cInRleHRcIiBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nIHx8ICFyZXBocmFzZVF1b3RhTGVmdFwiIFtzaG93RXJyb3JNZXNzYWdlXT1cInNob3dFcnJvck1lc3NhZ2VcIiAodGV4dEVkaXRFdmVudCk9XCJ0ZXh0ID0gJGV2ZW50XCI+PC9saWItbGxtLXRleHRhcmVhPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBteC0zIG1iLTJcIiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dSZW1haW5pbmdRdW90YU1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cIidMTE0uUkVQSFJBU0VfTU9EQUwuTElNSVQnIHwgdHJhbnNsYXRlOiB7IGxpbWl0OiByZXBocmFzZVF1b3RhTGVmdCwgc3Vic2NyaXB0aW9uVXJsOiBzdWJzY3JpcHRpb25VcmwgfVwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy53LTEwMF09XCIhc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJpc0xvYWRpbmc7IGVsc2UgY2xvc2VCdXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7IFwiTExNLlJFUEhSQVNFX01PREFMLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XHJcbiAgICAgICAge3sgXCJMTE0uUkVQSFJBU0VfTU9EQUwuQ0xPU0VcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgKGNsaWNrKT1cInJlcGhyYXNlVGV4dCgpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhdGV4dCB8fCAhcmVwaHJhc2VRdW90YUxlZnRcIlxyXG4gICAgPlxyXG4gICAgICB7e1xyXG4gICAgICAgIChpc0xvYWRpbmdcclxuICAgICAgICAgID8gXCJMTE0uUkVQSFJBU0VfTU9EQUwuUkVQSFJBU0lOR1wiXHJcbiAgICAgICAgICA6IFwiTExNLlJFUEhSQVNFX01PREFMLlJFUEhSQVNFXCJcclxuICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2xsbS9jb21wb25lbnRzL3JlcGhyYXNlLXRyYW5zbGF0aW9uL3JlcGhyYXNlLXRyYW5zbGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9sbG0vY29tcG9uZW50cy9yZXBocmFzZS10cmFuc2xhdGlvbi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDRCQUE0QjtJQWV2QyxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQ21CLFVBQXNCLEVBQ3RCLFlBQTBCLEVBQ1YsSUFBUztRQUZ6QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ1YsU0FBSSxHQUFKLElBQUksQ0FBSztRQWhCNUMseUJBQW9CLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUl0QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdkMsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFHLHdCQUF3QixDQUFDO0lBVXRFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLFVBQVU7YUFDWixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUM5QyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMvQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxZQUFZLENBQUMsUUFBa0I7UUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtZQUNuRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEgsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUU5RixJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDaEgsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUNoRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4RVUsNEJBQTRCLHdFQXNCN0IsZUFBZTttR0F0QmQsNEJBQTRCLGdFQ2R6Qyx3bEZBNERBOzs0RkQ5Q2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDBCQUEwQjs7MEJBMEJqQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExsbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sbG0uc2VydmljZSc7XHJcbmltcG9ydCB7IFF1b3RhU2VydmljZSwgUXVvdGFUeXBlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBMbG0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGxtLm1vZGVsJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGxtV3JpdGluZ1N0eWxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xsbS13cml0aW5nLXN0eWxlLmVudW0nO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcmVwaHJhc2UtdHJhbnNsYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBocmFzZS10cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVwaHJhc2UtdHJhbnNsYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwaHJhc2VUcmFuc2xhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaXNMb2FkaW5nITogYm9vbGVhbjtcclxuICBzaG93RXJyb3JNZXNzYWdlITogYm9vbGVhbjtcclxuICB0ZXh0ITogc3RyaW5nO1xyXG4gIHJlcGhyYXNlUXVvdGFMZWZ0ITogbnVtYmVyO1xyXG4gIHN1YnNjcmlwdGlvblVybCE6IHN0cmluZztcclxuICBzZWxlY3RlZFdyaXRpbmdTdHlsZSA9IExsbVdyaXRpbmdTdHlsZS5HRU5FUkFMO1xyXG5cclxuICByZWFjaGVkUXVvdGFNZXNzYWdlITogTm90aWZpY2F0aW9uTWVzc2FnZTtcclxuICBcclxuICByZWFkb25seSB3cml0aW5nU3R5bGVzID0gT2JqZWN0LnZhbHVlcyhMbG1Xcml0aW5nU3R5bGUpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHRyaWFsUmVxdWVzdENvdW50ID0gMTU7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByZXBocmFzZVF1b3RhTG9jYWxTdG9yYWdlS2V5ID0gJ0xMTV9SRVBIUkFTRV9VU0FHRV9LRVknO1xyXG5cclxuICBnZXQgc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0IDw9IHRoaXMudHJpYWxSZXF1ZXN0Q291bnQ7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTGxtU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVvdGFTZXJ2aWNlOiBRdW90YVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBMbG1cclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXh0ID0gdGhpcy5kYXRhLnRleHQ7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvblVybCA9IHRoaXMubGxtU2VydmljZS5sbG1Db25maWd1cmF0aW9uLnN1YnNjcmlwdGlvblVybDtcclxuICAgIHRoaXMucmVhY2hlZFF1b3RhTWVzc2FnZSA9IHRoaXMubGxtU2VydmljZS5nZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk7XHJcbiAgICB0aGlzLnJlZnJlc2hRdW90YSgpO1xyXG4gIH1cclxuXHJcbiAgcmVwaHJhc2VUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMubGxtU2VydmljZVxyXG4gICAgICAucmVwaHJhc2UoeyB0ZXh0OiB0aGlzLnRleHQsIHN0eWxlOiB0aGlzLnNlbGVjdGVkV3JpdGluZ1N0eWxlIH0pXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50ZXh0ID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dFcnJvck1lc3NhZ2UgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFF1b3RhKHRydWUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yTWVzc2FnZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGxtU2VydmljZS5jYW5jZWxSZXF1ZXN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZnJlc2hRdW90YShkZWNyZWFzZT86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxsbVNlcnZpY2UubGxtQ29uZmlndXJhdGlvbi5pc1dlYkNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0ID0gdGhpcy5sbG1TZXJ2aWNlLnNldFF1b3RhTG9jYWxTdG9yYWdlVXNhZ2UodGhpcy5yZXBocmFzZVF1b3RhTG9jYWxTdG9yYWdlS2V5LCBkZWNyZWFzZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnF1b3RhU2VydmljZS5nZXRRdW90YVVzYWdlKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVvdGEgPSByZXNwb25zZS51c2FnZS5maW5kKChpdGVtKSA9PiBpdGVtLnF1b3RhVHlwZSA9PT0gUXVvdGFUeXBlLkxMTV9DSEFSQUNURVJfQ09VTlQpO1xyXG5cclxuICAgICAgICBpZiAoIXF1b3RhKSB7XHJcbiAgICAgICAgICB0aGlzLnJlcGhyYXNlUXVvdGFMZWZ0ID0gdGhpcy5sbG1TZXJ2aWNlLnNldFF1b3RhTG9jYWxTdG9yYWdlVXNhZ2UodGhpcy5yZXBocmFzZVF1b3RhTG9jYWxTdG9yYWdlS2V5LCBkZWNyZWFzZSk7ICAgICAgICAgIFxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXBocmFzZVF1b3RhTGVmdCA9IHF1b3RhLnF1b3RhUmVtYWluaW5nO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLlRJVExFXCIgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cCBjbGFzcz1cInRleHQtbVwiPnt7IFwiTExNLlJFUEhSQVNFX01PREFMLkRFU0NSSVBUSU9OXCIgfCB0cmFuc2xhdGUgfX08L3A+XHJcblxyXG4gIDxsaWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlICpuZ0lmPVwiIXJlcGhyYXNlUXVvdGFMZWZ0XCIgW21lc3NhZ2VdPVwicmVhY2hlZFF1b3RhTWVzc2FnZVwiPjwvbGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZT5cclxuXHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJ3LWZ1bGwgbGxtLXdyaXRpbmctc3R5bGUtc2VsZWN0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgIDxtYXQtbGFiZWw+e3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy5USVRMRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgIDxtYXQtc2VsZWN0IFsodmFsdWUpXT1cInNlbGVjdGVkV3JpdGluZ1N0eWxlXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdHlsZSBvZiB3cml0aW5nU3R5bGVzXCIgW3ZhbHVlXT1cInN0eWxlXCI+XHJcbiAgICAgICAge3sgJ0xMTS5SRVBIUkFTRV9NT0RBTC5XUklUSU5HX1NUWUxFUy4nICsgKHN0eWxlIHwgdXBwZXJjYXNlKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPHAgY2xhc3M9XCJsbG0td3JpdGluZy1zdHlsZSB0ZXh0LW0tc2VtaS1ib2xkXCI+e3tcclxuICAgICAgXCJMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuU1BFQ0lGSUNfU1RZTEVcIiB8IHRyYW5zbGF0ZSA6IFxyXG4gICAgICB7IHN0eWxlOiAnTExNLlJFUEhSQVNFX01PREFMLldSSVRJTkdfU1RZTEVTLicgKyAoc2VsZWN0ZWRXcml0aW5nU3R5bGUgfCB1cHBlcmNhc2UpIHwgdHJhbnNsYXRlIH0gXHJcbiAgICB9fVxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBpbmZvLWljb25cIlxyXG4gICAgICBtYXRUb29sdGlwQ2xhc3M9XCJtdWx0aWxpbmUtdG9vbHRpcFwiXHJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgXHJcbiAgICAgIFttYXRUb29sdGlwXT1cIidMTE0uUkVQSFJBU0VfTU9EQUwuV1JJVElOR19TVFlMRVMuVE9PTFRJUCcgfCB0cmFuc2xhdGVcIiBcclxuICAgID5cclxuICAgICAgaW5mb1xyXG4gICAgPC9zcGFuPlxyXG4gIDwvcD5cclxuXHJcbiAgPGxpYi1sbG0tdGV4dGFyZWEgW3RleHRdPVwidGV4dFwiIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcgfHwgIXJlcGhyYXNlUXVvdGFMZWZ0XCIgW3Nob3dFcnJvck1lc3NhZ2VdPVwic2hvd0Vycm9yTWVzc2FnZVwiICh0ZXh0RWRpdEV2ZW50KT1cInRleHQgPSAkZXZlbnRcIj48L2xpYi1sbG0tdGV4dGFyZWE+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibGxtLXJlcGhyYXNlLWFjdGlvbnMtd3JhcHBlclwiIG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIFtpbm5lckhUTUxdPVwiJ0xMTS5SRVBIUkFTRV9NT0RBTC5MSU1JVCcgfCB0cmFuc2xhdGU6IHsgbGltaXQ6IHJlcGhyYXNlUXVvdGFMZWZ0LCBzdWJzY3JpcHRpb25Vcmw6IHN1YnNjcmlwdGlvblVybCB9XCI+PC9kaXY+XHJcblxyXG4gIDxkaXYgW2NsYXNzLnctZnVsbF09XCIhc2hvd1JlbWFpbmluZ1F1b3RhTWVzc2FnZVwiIGNsYXNzPVwibGxtLXJlcGhyYXNlLWFjdGlvbnNcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJpc0xvYWRpbmc7IGVsc2UgY2xvc2VCdXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgIHt7IFwiTExNLlJFUEhSQVNFX01PREFMLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XHJcbiAgICAgICAge3sgXCJMTE0uUkVQSFJBU0VfTU9EQUwuQ0xPU0VcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgKGNsaWNrKT1cInJlcGhyYXNlVGV4dCgpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZyB8fCAhdGV4dCB8fCAhcmVwaHJhc2VRdW90YUxlZnRcIlxyXG4gICAgPlxyXG4gICAgICB7e1xyXG4gICAgICAgIChpc0xvYWRpbmdcclxuICAgICAgICAgID8gXCJMTE0uUkVQSFJBU0VfTU9EQUwuUkVQSFJBU0lOR1wiXHJcbiAgICAgICAgICA6IFwiTExNLlJFUEhSQVNFX01PREFMLlJFUEhSQVNFXCJcclxuICAgICAgICApIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLWNvbmZpZ3VyYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMbG1Db25maWd1cmF0aW9uIHtcclxuICBzZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uVXJsOiBzdHJpbmc7XHJcbiAgc3VwcG9ydEVtYWlsOiBzdHJpbmc7XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLWNvbmZpZ3VyYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMbG1Db25maWd1cmF0aW9uIHtcclxuICBzZXJ2aWNlVXJsOiBzdHJpbmc7XHJcbiAgc3Vic2NyaXB0aW9uVXJsOiBzdHJpbmc7XHJcbiAgc3VwcG9ydEVtYWlsOiBzdHJpbmc7XHJcbiAgaXNXZWJDb21wb25lbnQ6IGJvb2xlYW47XHJcbiAgeEFwaUtleTogc3RyaW5nLFxyXG4gIGFwcElkOiBzdHJpbmdcclxufSJdfQ==
@@ -2,6 +2,7 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import { LLM_CONFIGURATION_TOKEN } from '../models/llm-configuration.token';
3
3
  import { Subject, takeUntil } from 'rxjs';
4
4
  import { NotificationMessageType } from '../../notification-message';
5
+ import { AuthHeadersHelper } from '../../helpers';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common/http";
7
8
  export class LlmService {
@@ -11,13 +12,15 @@ export class LlmService {
11
12
  this.llmConfiguration = config;
12
13
  }
13
14
  summarize(request) {
15
+ const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.llmConfiguration.xApiKey, this.llmConfiguration.appId);
14
16
  return this.http
15
- .post(`${this.llmConfiguration.serviceUrl}/summarize`, request, { responseType: "text" })
17
+ .post(`${this.llmConfiguration.serviceUrl}/summarize`, request, { responseType: "text", headers })
16
18
  .pipe(takeUntil(this.cancelSubject));
17
19
  }
18
20
  rephrase(request) {
21
+ const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.llmConfiguration.xApiKey, this.llmConfiguration.appId);
19
22
  return this.http
20
- .post(`${this.llmConfiguration.serviceUrl}/rewrite`, request, { responseType: "text" })
23
+ .post(`${this.llmConfiguration.serviceUrl}/rewrite`, request, { responseType: "text", headers })
21
24
  .pipe(takeUntil(this.cancelSubject));
22
25
  }
23
26
  cancelRequest() {
@@ -73,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
73
76
  type: Inject,
74
77
  args: [LLM_CONFIGURATION_TOKEN]
75
78
  }] }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL3NlcnZpY2VzL2xsbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBSzFGLE1BQU0sT0FBTyxVQUFVO0lBS3JCLFlBQTZCLElBQWdCLEVBQW1DLE1BQXdCO1FBQTNFLFNBQUksR0FBSixJQUFJLENBQVk7UUFKckMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ3hGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUN0RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsb0JBQTRCLEVBQUUsUUFBa0I7UUFDeEUsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxVQUFVLEdBQUc7WUFDZixjQUFjLEVBQUUsaUJBQWlCO1lBQ2pDLFVBQVUsRUFBRSxXQUFXO1NBQ3hCLENBQUM7UUFFRixJQUFJLGVBQWUsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzlDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFFdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJELG9FQUFvRTtZQUNwRSxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN0SyxpQ0FBaUM7Z0JBQ2pDLFVBQVUsQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7YUFDL0M7WUFFRCxJQUFJLFFBQVEsRUFBRTtnQkFDWixVQUFVLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQzthQUNoQztTQUNGO1FBRUQsVUFBVSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFFcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFdkUsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDO0lBQ25DLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTztZQUNMLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxnQ0FBZ0M7WUFDdEMsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLGtCQUFrQixFQUFFO2dCQUNsQixlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWU7YUFDdkQ7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0F0RVUsVUFBVSw0Q0FLa0MsdUJBQXVCO21IQUxuRSxVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1pRCxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMTE1fQ09ORklHVVJBVElPTl9UT0tFTiB9IGZyb20gJy4uL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi50b2tlbic7XHJcbmltcG9ydCB7IExsbUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvbGxtLWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGxtIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS5tb2RlbCc7XHJcbmltcG9ydCB7IExsbVJlcGhyYXNlIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS1yZXBocmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGxtU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjYW5jZWxTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgbGxtQ29uZmlndXJhdGlvbiE6IExsbUNvbmZpZ3VyYXRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChMTE1fQ09ORklHVVJBVElPTl9UT0tFTikgY29uZmlnOiBMbG1Db25maWd1cmF0aW9uKSB7XHJcbiAgICB0aGlzLmxsbUNvbmZpZ3VyYXRpb24gPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBzdW1tYXJpemUocmVxdWVzdDogTGxtKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoYCR7dGhpcy5sbG1Db25maWd1cmF0aW9uLnNlcnZpY2VVcmx9L3N1bW1hcml6ZWAsIHJlcXVlc3QsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jYW5jZWxTdWJqZWN0KSk7XHJcbiAgfVxyXG5cclxuICByZXBocmFzZShyZXF1ZXN0OiBMbG1SZXBocmFzZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke3RoaXMubGxtQ29uZmlndXJhdGlvbi5zZXJ2aWNlVXJsfS9yZXdyaXRlYCwgcmVxdWVzdCwgeyByZXNwb25zZVR5cGU6IFwidGV4dFwiIH0pXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNhbmNlbFN1YmplY3QpKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbFJlcXVlc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbmNlbFN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5jYW5jZWxTdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNhbmNlbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UXVvdGFMb2NhbFN0b3JhZ2VVc2FnZShxdW90YUxvY2FsU3RvcmFnZUtleTogc3RyaW5nLCBkZWNyZWFzZT86IGJvb2xlYW4pOiBudW1iZXIge1xyXG4gICAgY29uc3QgdHJpYWxSZXF1ZXN0Q291bnQgPSAxNTtcclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZU9iaiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHF1b3RhTG9jYWxTdG9yYWdlS2V5KTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGxldCB0cmlhbFF1b3RhID0ge1xyXG4gICAgICByZW1haW5pbmdRdW90YTogdHJpYWxSZXF1ZXN0Q291bnQsXHJcbiAgICAgIGxhc3RVc2VkQXQ6IGN1cnJlbnREYXRlXHJcbiAgICB9O1xyXG4gIFxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZU9iaikge1xyXG4gICAgICBjb25zdCBwYXJzZWRPYmogPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZU9iaik7XHJcbiAgICAgIHRyaWFsUXVvdGEgPSBwYXJzZWRPYmo7XHJcbiAgXHJcbiAgICAgIGNvbnN0IGxhc3RVc2VkRGF0ZSA9IG5ldyBEYXRlKHRyaWFsUXVvdGEubGFzdFVzZWRBdCk7XHJcbiAgXHJcbiAgICAgIC8vIENoZWNraW5nIGlmIHRoZSBsYXN0IHVzZWQgZGF0ZSBpcyBmcm9tIGEgZGlmZmVyZW50IGRheSB0aGFuIHRvZGF5XHJcbiAgICAgIGlmIChsYXN0VXNlZERhdGUuZ2V0RGF0ZSgpICE9PSBjdXJyZW50RGF0ZS5nZXREYXRlKCkgfHwgbGFzdFVzZWREYXRlLmdldE1vbnRoKCkgIT09IGN1cnJlbnREYXRlLmdldE1vbnRoKCkgfHwgbGFzdFVzZWREYXRlLmdldEZ1bGxZZWFyKCkgIT09IGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkpIHtcclxuICAgICAgICAvLyBSZXNldGluZyBxdW90YSBmb3IgdGhlIG5ldyBkYXlcclxuICAgICAgICB0cmlhbFF1b3RhLnJlbWFpbmluZ1F1b3RhID0gdHJpYWxSZXF1ZXN0Q291bnQ7ICBcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBpZiAoZGVjcmVhc2UpIHtcclxuICAgICAgICB0cmlhbFF1b3RhLnJlbWFpbmluZ1F1b3RhIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHRyaWFsUXVvdGEubGFzdFVzZWRBdCA9IGN1cnJlbnREYXRlO1xyXG5cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHF1b3RhTG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeSh0cmlhbFF1b3RhKSk7XHJcblxyXG4gICAgcmV0dXJuIHRyaWFsUXVvdGEucmVtYWluaW5nUXVvdGE7XHJcbiAgfVxyXG5cclxuICBnZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk6IE5vdGlmaWNhdGlvbk1lc3NhZ2Uge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IsXHJcbiAgICAgIGJvZHk6ICdMTE0uRVJST1JTLlFVT1RBX0xJTUlUX1JFQUNIRUQnLFxyXG4gICAgICBoaWRlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGhpZGVJY29uOiB0cnVlLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHtcclxuICAgICAgICBzdWJzY3JpcHRpb25Vcmw6IHRoaXMubGxtQ29uZmlndXJhdGlvbi5zdWJzY3JpcHRpb25VcmwsXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGxtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbGxtL3NlcnZpY2VzL2xsbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RELE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUtsRCxNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUE2QixJQUFnQixFQUFtQyxNQUF3QjtRQUEzRSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSnJDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUsxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsSCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDakcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQW9CO1FBQzNCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxILE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsb0JBQTRCLEVBQUUsUUFBa0I7UUFDeEUsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxVQUFVLEdBQUc7WUFDZixjQUFjLEVBQUUsaUJBQWlCO1lBQ2pDLFVBQVUsRUFBRSxXQUFXO1NBQ3hCLENBQUM7UUFFRixJQUFJLGVBQWUsRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzlDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFFdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJELG9FQUFvRTtZQUNwRSxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUN0SyxpQ0FBaUM7Z0JBQ2pDLFVBQVUsQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7YUFDL0M7WUFFRCxJQUFJLFFBQVEsRUFBRTtnQkFDWixVQUFVLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQzthQUNoQztTQUNGO1FBRUQsVUFBVSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFFcEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFdkUsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDO0lBQ25DLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTztZQUNMLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxnQ0FBZ0M7WUFDdEMsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLGtCQUFrQixFQUFFO2dCQUNsQixlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWU7YUFDdkQ7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0ExRVUsVUFBVSw0Q0FLa0MsdUJBQXVCO21IQUxuRSxVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1pRCxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMTE1fQ09ORklHVVJBVElPTl9UT0tFTiB9IGZyb20gJy4uL21vZGVscy9sbG0tY29uZmlndXJhdGlvbi50b2tlbic7XHJcbmltcG9ydCB7IExsbUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvbGxtLWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGxtIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS5tb2RlbCc7XHJcbmltcG9ydCB7IExsbVJlcGhyYXNlIH0gZnJvbSAnLi4vbW9kZWxzL2xsbS1yZXBocmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vLi4vbm90aWZpY2F0aW9uLW1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBBdXRoSGVhZGVyc0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGxtU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjYW5jZWxTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgbGxtQ29uZmlndXJhdGlvbiE6IExsbUNvbmZpZ3VyYXRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChMTE1fQ09ORklHVVJBVElPTl9UT0tFTikgY29uZmlnOiBMbG1Db25maWd1cmF0aW9uKSB7XHJcbiAgICB0aGlzLmxsbUNvbmZpZ3VyYXRpb24gPSBjb25maWc7XHJcbiAgfVxyXG5cclxuICBzdW1tYXJpemUocmVxdWVzdDogTGxtKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMubGxtQ29uZmlndXJhdGlvbi54QXBpS2V5LCB0aGlzLmxsbUNvbmZpZ3VyYXRpb24uYXBwSWQpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoYCR7dGhpcy5sbG1Db25maWd1cmF0aW9uLnNlcnZpY2VVcmx9L3N1bW1hcml6ZWAsIHJlcXVlc3QsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiwgaGVhZGVycyB9KVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jYW5jZWxTdWJqZWN0KSk7XHJcbiAgfVxyXG5cclxuICByZXBocmFzZShyZXF1ZXN0OiBMbG1SZXBocmFzZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gQXV0aEhlYWRlcnNIZWxwZXIuZ2V0QXBpVjJBdXRoSGVhZGVycyh0aGlzLmxsbUNvbmZpZ3VyYXRpb24ueEFwaUtleSwgdGhpcy5sbG1Db25maWd1cmF0aW9uLmFwcElkKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke3RoaXMubGxtQ29uZmlndXJhdGlvbi5zZXJ2aWNlVXJsfS9yZXdyaXRlYCwgcmVxdWVzdCwgeyByZXNwb25zZVR5cGU6IFwidGV4dFwiLCBoZWFkZXJzIH0pXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNhbmNlbFN1YmplY3QpKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbFJlcXVlc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbmNlbFN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5jYW5jZWxTdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmNhbmNlbFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UXVvdGFMb2NhbFN0b3JhZ2VVc2FnZShxdW90YUxvY2FsU3RvcmFnZUtleTogc3RyaW5nLCBkZWNyZWFzZT86IGJvb2xlYW4pOiBudW1iZXIge1xyXG4gICAgY29uc3QgdHJpYWxSZXF1ZXN0Q291bnQgPSAxNTtcclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZU9iaiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHF1b3RhTG9jYWxTdG9yYWdlS2V5KTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGxldCB0cmlhbFF1b3RhID0ge1xyXG4gICAgICByZW1haW5pbmdRdW90YTogdHJpYWxSZXF1ZXN0Q291bnQsXHJcbiAgICAgIGxhc3RVc2VkQXQ6IGN1cnJlbnREYXRlXHJcbiAgICB9O1xyXG4gIFxyXG4gICAgaWYgKGxvY2FsU3RvcmFnZU9iaikge1xyXG4gICAgICBjb25zdCBwYXJzZWRPYmogPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZU9iaik7XHJcbiAgICAgIHRyaWFsUXVvdGEgPSBwYXJzZWRPYmo7XHJcbiAgXHJcbiAgICAgIGNvbnN0IGxhc3RVc2VkRGF0ZSA9IG5ldyBEYXRlKHRyaWFsUXVvdGEubGFzdFVzZWRBdCk7XHJcbiAgXHJcbiAgICAgIC8vIENoZWNraW5nIGlmIHRoZSBsYXN0IHVzZWQgZGF0ZSBpcyBmcm9tIGEgZGlmZmVyZW50IGRheSB0aGFuIHRvZGF5XHJcbiAgICAgIGlmIChsYXN0VXNlZERhdGUuZ2V0RGF0ZSgpICE9PSBjdXJyZW50RGF0ZS5nZXREYXRlKCkgfHwgbGFzdFVzZWREYXRlLmdldE1vbnRoKCkgIT09IGN1cnJlbnREYXRlLmdldE1vbnRoKCkgfHwgbGFzdFVzZWREYXRlLmdldEZ1bGxZZWFyKCkgIT09IGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkpIHtcclxuICAgICAgICAvLyBSZXNldGluZyBxdW90YSBmb3IgdGhlIG5ldyBkYXlcclxuICAgICAgICB0cmlhbFF1b3RhLnJlbWFpbmluZ1F1b3RhID0gdHJpYWxSZXF1ZXN0Q291bnQ7ICBcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBpZiAoZGVjcmVhc2UpIHtcclxuICAgICAgICB0cmlhbFF1b3RhLnJlbWFpbmluZ1F1b3RhIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHRyaWFsUXVvdGEubGFzdFVzZWRBdCA9IGN1cnJlbnREYXRlO1xyXG5cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHF1b3RhTG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeSh0cmlhbFF1b3RhKSk7XHJcblxyXG4gICAgcmV0dXJuIHRyaWFsUXVvdGEucmVtYWluaW5nUXVvdGE7XHJcbiAgfVxyXG5cclxuICBnZXRSZWFjaGVkUXVvdGFNZXNzYWdlKCk6IE5vdGlmaWNhdGlvbk1lc3NhZ2Uge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IsXHJcbiAgICAgIGJvZHk6ICdMTE0uRVJST1JTLlFVT1RBX0xJTUlUX1JFQUNIRUQnLFxyXG4gICAgICBoaWRlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGhpZGVJY29uOiB0cnVlLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHtcclxuICAgICAgICBzdWJzY3JpcHRpb25Vcmw6IHRoaXMubGxtQ29uZmlndXJhdGlvbi5zdWJzY3JpcHRpb25VcmwsXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4268,13 +4268,15 @@ class LlmService {
4268
4268
  this.llmConfiguration = config;
4269
4269
  }
4270
4270
  summarize(request) {
4271
+ const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.llmConfiguration.xApiKey, this.llmConfiguration.appId);
4271
4272
  return this.http
4272
- .post(`${this.llmConfiguration.serviceUrl}/summarize`, request, { responseType: "text" })
4273
+ .post(`${this.llmConfiguration.serviceUrl}/summarize`, request, { responseType: "text", headers })
4273
4274
  .pipe(takeUntil(this.cancelSubject));
4274
4275
  }
4275
4276
  rephrase(request) {
4277
+ const headers = AuthHeadersHelper.getApiV2AuthHeaders(this.llmConfiguration.xApiKey, this.llmConfiguration.appId);
4276
4278
  return this.http
4277
- .post(`${this.llmConfiguration.serviceUrl}/rewrite`, request, { responseType: "text" })
4279
+ .post(`${this.llmConfiguration.serviceUrl}/rewrite`, request, { responseType: "text", headers })
4278
4280
  .pipe(takeUntil(this.cancelSubject));
4279
4281
  }
4280
4282
  cancelRequest() {
@@ -4414,6 +4416,7 @@ class RephraseTranslationComponent {
4414
4416
  .subscribe({
4415
4417
  next: (response) => {
4416
4418
  this.text = response;
4419
+ this.showErrorMessage = false;
4417
4420
  this.refreshQuota(true);
4418
4421
  },
4419
4422
  error: () => {
@@ -4425,6 +4428,10 @@ class RephraseTranslationComponent {
4425
4428
  this.llmService.cancelRequest();
4426
4429
  }
4427
4430
  refreshQuota(decrease) {
4431
+ if (this.llmService.llmConfiguration.isWebComponent) {
4432
+ this.rephraseQuotaLeft = this.llmService.setQuotaLocalStorageUsage(this.rephraseQuotaLocalStorageKey, decrease);
4433
+ return;
4434
+ }
4428
4435
  this.quotaService.getQuotaUsage().subscribe({
4429
4436
  next: (response) => {
4430
4437
  const quota = response.usage.find((item) => item.quotaType === QuotaType.LLM_CHARACTER_COUNT);
@@ -4437,11 +4444,11 @@ class RephraseTranslationComponent {
4437
4444
  });
4438
4445
  }
4439
4446
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RephraseTranslationComponent, deps: [{ token: LlmService }, { token: QuotaService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
4440
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RephraseTranslationComponent, selector: "lib-rephrase-translation", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-100 mt-3\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"d-flex align-items-center text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined ml-1 info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i2$2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
4447
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RephraseTranslationComponent, selector: "lib-rephrase-translation", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i2$2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
4441
4448
  }
4442
4449
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RephraseTranslationComponent, decorators: [{
4443
4450
  type: Component,
4444
- args: [{ selector: 'lib-rephrase-translation', template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-100 mt-3\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"d-flex align-items-center text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined ml-1 info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}\n"] }]
4451
+ args: [{ selector: 'lib-rephrase-translation', template: "<h1 mat-dialog-title>{{ \"LLM.REPHRASE_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.REPHRASE_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!rephraseQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <mat-form-field color=\"accent\" class=\"w-full llm-writing-style-select\" appearance=\"outline\">\r\n <mat-label>{{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.TITLE' | translate }}</mat-label>\r\n <mat-select [(value)]=\"selectedWritingStyle\">\r\n <mat-option *ngFor=\"let style of writingStyles\" [value]=\"style\">\r\n {{ 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (style | uppercase) | translate }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <p class=\"llm-writing-style text-m-semi-bold\">{{\r\n \"LLM.REPHRASE_MODAL.WRITING_STYLES.SPECIFIC_STYLE\" | translate : \r\n { style: 'LLM.REPHRASE_MODAL.WRITING_STYLES.' + (selectedWritingStyle | uppercase) | translate } \r\n }}\r\n <span\r\n class=\"material-icons-outlined info-icon\"\r\n matTooltipClass=\"multiline-tooltip\"\r\n matTooltipPosition=\"above\" \r\n [matTooltip]=\"'LLM.REPHRASE_MODAL.WRITING_STYLES.TOOLTIP' | translate\" \r\n >\r\n info\r\n </span>\r\n </p>\r\n\r\n <lib-llm-textarea [text]=\"text\" [disabled]=\"isLoading || !rephraseQuotaLeft\" [showErrorMessage]=\"showErrorMessage\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-rephrase-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.REPHRASE_MODAL.LIMIT' | translate: { limit: rephraseQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-rephrase-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.REPHRASE_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.REPHRASE_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"rephraseText()\"\r\n [disabled]=\"isLoading || !text || !rephraseQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.REPHRASE_MODAL.REPHRASING\"\r\n : \"LLM.REPHRASE_MODAL.REPHRASE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".info-icon{font-size:1rem;margin-left:5px}:host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}::ng-deep .multiline-tooltip{white-space:pre;min-width:-moz-fit-content;min-width:fit-content}::ng-deep .multiline-tooltip .mdc-tooltip__surface{max-width:none!important}.llm-writing-style-select{margin-top:1.25rem}.llm-writing-style{display:flex;align-items:center;margin-bottom:.25rem}.llm-rephrase-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}.llm-rephrase-actions{display:flex;justify-content:end}.w-full{width:100%}\n"] }]
4445
4452
  }], ctorParameters: function () { return [{ type: LlmService }, { type: QuotaService }, { type: undefined, decorators: [{
4446
4453
  type: Inject,
4447
4454
  args: [MAT_DIALOG_DATA]
@@ -4474,6 +4481,7 @@ class CreateSummaryComponent {
4474
4481
  .subscribe({
4475
4482
  next: (response) => {
4476
4483
  this.text = response;
4484
+ this.showErrorMessage = false;
4477
4485
  this.refreshQuota(true);
4478
4486
  },
4479
4487
  error: () => {
@@ -4485,6 +4493,10 @@ class CreateSummaryComponent {
4485
4493
  this.llmService.cancelRequest();
4486
4494
  }
4487
4495
  refreshQuota(decrease) {
4496
+ if (this.llmService.llmConfiguration.isWebComponent) {
4497
+ this.summaryQuotaLeft = this.llmService.setQuotaLocalStorageUsage(this.summaryQuotaLocalStorageKey, decrease);
4498
+ return;
4499
+ }
4488
4500
  this.quotaService.getQuotaUsage().subscribe({
4489
4501
  next: (response) => {
4490
4502
  const quota = response.usage.find((item) => item.quotaType === QuotaType.LLM_REQUESTS);
@@ -4497,11 +4509,11 @@ class CreateSummaryComponent {
4497
4509
  });
4498
4510
  }
4499
4511
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateSummaryComponent, deps: [{ token: LlmService }, { token: QuotaService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
4500
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateSummaryComponent, selector: "lib-create-summary", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
4512
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateSummaryComponent, selector: "lib-create-summary", ngImport: i0, template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1$3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: LlmTextareaComponent, selector: "lib-llm-textarea", inputs: ["text", "disabled", "showErrorMessage"], outputs: ["textEditEvent", "dislikeEvent"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
4501
4513
  }
4502
4514
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateSummaryComponent, decorators: [{
4503
4515
  type: Component,
4504
- args: [{ selector: 'lib-create-summary', template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"d-flex justify-content-between mx-3 mb-2\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-100]=\"!showRemainingQuotaMessage\" class=\"d-flex justify-content-end\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}\n"] }]
4516
+ args: [{ selector: 'lib-create-summary', template: "<h1 mat-dialog-title>{{ \"LLM.SUMMARY_MODAL.TITLE\" | translate }}</h1>\r\n<div mat-dialog-content>\r\n <p class=\"text-m\">{{ \"LLM.SUMMARY_MODAL.DESCRIPTION\" | translate }}</p>\r\n\r\n <lib-tld-notification-message *ngIf=\"!summaryQuotaLeft\" [message]=\"reachedQuotaMessage\"></lib-tld-notification-message>\r\n\r\n <lib-llm-textarea [showErrorMessage]=\"showErrorMessage\" [text]=\"text\" [disabled]=\"isLoading || !summaryQuotaLeft\" (textEditEvent)=\"text = $event\"></lib-llm-textarea>\r\n</div>\r\n<div class=\"llm-summary-actions-wrapper\" mat-dialog-actions>\r\n <div *ngIf=\"showRemainingQuotaMessage\" [innerHTML]=\"'LLM.SUMMARY_MODAL.LIMIT' | translate: { limit: summaryQuotaLeft, subscriptionUrl: subscriptionUrl }\"></div>\r\n\r\n <div [class.w-full]=\"!showRemainingQuotaMessage\" class=\"llm-summary-actions\">\r\n <button *ngIf=\"isLoading; else closeButton\" mat-button color=\"accent\" (click)=\"cancel()\">\r\n {{ \"LLM.SUMMARY_MODAL.CANCEL\" | translate }}\r\n </button>\r\n\r\n <ng-template #closeButton>\r\n <button mat-button color=\"accent\" [mat-dialog-close]=\"null\">\r\n {{ \"LLM.SUMMARY_MODAL.CLOSE\" | translate }}\r\n </button>\r\n </ng-template>\r\n \r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"createSummary()\"\r\n [disabled]=\"isLoading || !text || !summaryQuotaLeft\"\r\n >\r\n {{\r\n (isLoading\r\n ? \"LLM.SUMMARY_MODAL.CREATING\"\r\n : \"LLM.SUMMARY_MODAL.REGENERATE\"\r\n ) | translate\r\n }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep .message-body{font-size:14px}:host ::ng-deep .notification-message-container{margin:0 0 16px}:host ::ng-deep .items-container{margin-left:0!important}:host ::ng-deep .text-container{margin-right:0!important}.w-full{width:100%}.llm-summary-actions{display:flex;justify-content:end}.llm-summary-actions-wrapper{display:flex;justify-content:end;margin:0 1rem .5rem}\n"] }]
4505
4517
  }], ctorParameters: function () { return [{ type: LlmService }, { type: QuotaService }, { type: undefined, decorators: [{
4506
4518
  type: Inject,
4507
4519
  args: [MAT_DIALOG_DATA]