ngx-scandoc 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/core/components/scan/scan.component.d.ts +2 -0
  2. package/core/helpers/object-utils.d.ts +16 -0
  3. package/core/interfaces/config.d.ts +2 -0
  4. package/esm2020/core/components/camera-switch/camera-switch.component.mjs +4 -3
  5. package/esm2020/core/components/scan/scan.component.mjs +8 -6
  6. package/esm2020/core/components/scan-results/scan-results.component.mjs +4 -3
  7. package/esm2020/core/components/webcam/webcam/webcam.component.mjs +4 -2
  8. package/esm2020/core/helpers/object-utils.mjs +100 -0
  9. package/esm2020/core/interfaces/config.mjs +1 -1
  10. package/esm2020/dialogs/components/scan-profile/scan-profile.component.mjs +4 -3
  11. package/esm2020/dialogs/components/turn-document/turn-document.component.mjs +4 -3
  12. package/esm2020/providers/auth.provider.mjs +68 -17
  13. package/esm2020/providers/interceptor.provider.mjs +11 -5
  14. package/esm2020/providers/scan.form.mjs +32 -32
  15. package/esm2020/providers/translate-loader.provider.mjs +126 -0
  16. package/esm2020/providers/translation.provider.mjs +83 -8
  17. package/esm2020/public-api.mjs +3 -2
  18. package/fesm2015/ngx-scandoc.mjs +439 -84
  19. package/fesm2015/ngx-scandoc.mjs.map +1 -1
  20. package/fesm2020/ngx-scandoc.mjs +437 -84
  21. package/fesm2020/ngx-scandoc.mjs.map +1 -1
  22. package/package.json +1 -1
  23. package/providers/auth.provider.d.ts +9 -4
  24. package/providers/scan.form.d.ts +2 -2
  25. package/providers/translate-loader.provider.d.ts +28 -0
  26. package/providers/translation.provider.d.ts +21 -4
  27. package/public-api.d.ts +2 -1
  28. package/src/assets/i18n/de.json +110 -0
  29. package/src/assets/i18n/en.json +105 -0
  30. package/src/assets/i18n/hr.json +115 -0
  31. package/src/assets/i18n/it.json +115 -0
@@ -5,6 +5,7 @@ import * as i1 from "@angular/material/dialog";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "@angular/material/icon";
7
7
  import * as i4 from "@angular/material/button";
8
+ import * as i5 from "@ngx-translate/core";
8
9
  export class TurnDocumentComponent {
9
10
  constructor(dialogRef, data) {
10
11
  this.dialogRef = dialogRef;
@@ -19,12 +20,12 @@ export class TurnDocumentComponent {
19
20
  }
20
21
  }
21
22
  TurnDocumentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TurnDocumentComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
22
- TurnDocumentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TurnDocumentComponent, selector: "app-turndocuments", ngImport: i0, template: "<div class=\"inner\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <!-- <img\n style=\"height: 240px; margin: 34px 0px;display: none;\"\n [src]=\"'/assets/images/illustrations/' + images[type]\"\n /> -->\n <!-- <img style=\"width:60px;\" src=\"/assets/images/illustrations/door-lock.png\"> -->\n\n <mat-icon>360</mat-icon>\n <div class=\"text\">\n <ng-container *ngIf=\"data.idScan === 'BACK'\">\n Turn document and capture back image of document.\n\n </ng-container>\n <ng-container *ngIf=\"data.idScan === 'FRONT'\">\n Turn document and capture front image of document.\n </ng-container>\n </div>\n</div>\n\n<!-- -->\n\n<footer>\n <button (click)=\"close()\" mat-raised-button>Ok</button>\n</footer>\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%;width:100%}.inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px 0}.inner mat-icon{width:60px;height:60px;font-size:60px}.inner .text{margin:20px 0}footer{display:flex;flex-direction:row;align-items:center;justify-content:center;padding-bottom:20px}footer button{min-width:200px;box-shadow:none;border:1px solid #ccc}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
23
+ TurnDocumentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TurnDocumentComponent, selector: "app-turndocuments", ngImport: i0, template: "<div class=\"inner\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <!-- <img\n style=\"height: 240px; margin: 34px 0px;display: none;\"\n [src]=\"'/assets/images/illustrations/' + images[type]\"\n /> -->\n <!-- <img style=\"width:60px;\" src=\"/assets/images/illustrations/door-lock.png\"> -->\n\n <mat-icon>360</mat-icon>\n <div class=\"text\">\n <ng-container *ngIf=\"data.idScan === 'BACK'\">\n {{ \"scandoc.turnAndCapture.back\" | translate }}\n </ng-container>\n <ng-container *ngIf=\"data.idScan === 'FRONT'\">\n {{ \"scandoc.turnAndCapture.front\" | translate }}\n </ng-container>\n </div>\n</div>\n\n<!-- -->\n\n<footer>\n <button (click)=\"close()\" mat-raised-button>Ok</button>\n</footer>\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%;width:100%}.inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px 0}.inner mat-icon{width:60px;height:60px;font-size:60px}.inner .text{margin:20px 0}footer{display:flex;flex-direction:row;align-items:center;justify-content:center;padding-bottom:20px}footer button{min-width:200px;box-shadow:none;border:1px solid #ccc}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
23
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TurnDocumentComponent, decorators: [{
24
25
  type: Component,
25
- args: [{ selector: 'app-turndocuments', template: "<div class=\"inner\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <!-- <img\n style=\"height: 240px; margin: 34px 0px;display: none;\"\n [src]=\"'/assets/images/illustrations/' + images[type]\"\n /> -->\n <!-- <img style=\"width:60px;\" src=\"/assets/images/illustrations/door-lock.png\"> -->\n\n <mat-icon>360</mat-icon>\n <div class=\"text\">\n <ng-container *ngIf=\"data.idScan === 'BACK'\">\n Turn document and capture back image of document.\n\n </ng-container>\n <ng-container *ngIf=\"data.idScan === 'FRONT'\">\n Turn document and capture front image of document.\n </ng-container>\n </div>\n</div>\n\n<!-- -->\n\n<footer>\n <button (click)=\"close()\" mat-raised-button>Ok</button>\n</footer>\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%;width:100%}.inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px 0}.inner mat-icon{width:60px;height:60px;font-size:60px}.inner .text{margin:20px 0}footer{display:flex;flex-direction:row;align-items:center;justify-content:center;padding-bottom:20px}footer button{min-width:200px;box-shadow:none;border:1px solid #ccc}\n"] }]
26
+ args: [{ selector: 'app-turndocuments', template: "<div class=\"inner\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\n <!-- <img\n style=\"height: 240px; margin: 34px 0px;display: none;\"\n [src]=\"'/assets/images/illustrations/' + images[type]\"\n /> -->\n <!-- <img style=\"width:60px;\" src=\"/assets/images/illustrations/door-lock.png\"> -->\n\n <mat-icon>360</mat-icon>\n <div class=\"text\">\n <ng-container *ngIf=\"data.idScan === 'BACK'\">\n {{ \"scandoc.turnAndCapture.back\" | translate }}\n </ng-container>\n <ng-container *ngIf=\"data.idScan === 'FRONT'\">\n {{ \"scandoc.turnAndCapture.front\" | translate }}\n </ng-container>\n </div>\n</div>\n\n<!-- -->\n\n<footer>\n <button (click)=\"close()\" mat-raised-button>Ok</button>\n</footer>\n", styles: [":host{display:flex;flex-direction:column;flex:1;height:100%;width:100%}.inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px 0}.inner mat-icon{width:60px;height:60px;font-size:60px}.inner .text{margin:20px 0}footer{display:flex;flex-direction:row;align-items:center;justify-content:center;padding-bottom:20px}footer button{min-width:200px;box-shadow:none;border:1px solid #ccc}\n"] }]
26
27
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
27
28
  type: Inject,
28
29
  args: [MAT_DIALOG_DATA]
29
30
  }] }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVybi1kb2N1bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL3R1cm4tZG9jdW1lbnQvdHVybi1kb2N1bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL3R1cm4tZG9jdW1lbnQvdHVybi1kb2N1bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFDUyxTQUE4QyxFQUNyQixJQUFTO1FBRGxDLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQUs7SUFDeEMsQ0FBQztJQUVKLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7a0hBZlUscUJBQXFCLDhDQUt0QixlQUFlO3NHQUxkLHFCQUFxQix5RENSbEMsOHVCQXdCQTsyRkRoQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBUzFCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdHVybmRvY3VtZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90dXJuLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHVybi1kb2N1bWVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUdXJuRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFR1cm5Eb2N1bWVudENvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnlcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YSlcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZGlhbG9nUmVmKTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5uZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gIDwhLS0gPGltZ1xuICAgIHN0eWxlPVwiaGVpZ2h0OiAyNDBweDsgbWFyZ2luOiAzNHB4IDBweDtkaXNwbGF5OiBub25lO1wiXG4gICAgW3NyY109XCInL2Fzc2V0cy9pbWFnZXMvaWxsdXN0cmF0aW9ucy8nICsgaW1hZ2VzW3R5cGVdXCJcbiAgLz4gLS0+XG4gIDwhLS0gPGltZyBzdHlsZT1cIndpZHRoOjYwcHg7XCIgc3JjPVwiL2Fzc2V0cy9pbWFnZXMvaWxsdXN0cmF0aW9ucy9kb29yLWxvY2sucG5nXCI+IC0tPlxuXG4gIDxtYXQtaWNvbj4zNjA8L21hdC1pY29uPlxuICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmlkU2NhbiA9PT0gJ0JBQ0snXCI+XG4gICAgICBUdXJuIGRvY3VtZW50IGFuZCBjYXB0dXJlIGJhY2sgaW1hZ2Ugb2YgZG9jdW1lbnQuXG5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5pZFNjYW4gPT09ICdGUk9OVCdcIj5cbiAgICAgIFR1cm4gZG9jdW1lbnQgYW5kIGNhcHR1cmUgZnJvbnQgaW1hZ2Ugb2YgZG9jdW1lbnQuXG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gIC0tPlxuXG48Zm9vdGVyPlxuICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgbWF0LXJhaXNlZC1idXR0b24+T2s8L2J1dHRvbj5cbjwvZm9vdGVyPlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVybi1kb2N1bWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL3R1cm4tZG9jdW1lbnQvdHVybi1kb2N1bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvZGlhbG9ncy9jb21wb25lbnRzL3R1cm4tZG9jdW1lbnQvdHVybi1kb2N1bWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU96RSxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQ1MsU0FBOEMsRUFDckIsSUFBUztRQURsQyxjQUFTLEdBQVQsU0FBUyxDQUFxQztRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFLO0lBQ3hDLENBQUM7SUFFSixRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7O2tIQWZVLHFCQUFxQiw4Q0FLdEIsZUFBZTtzR0FMZCxxQkFBcUIseURDUmxDLDR1QkF1QkE7MkZEZmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBUzFCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdHVybmRvY3VtZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi90dXJuLWRvY3VtZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHVybi1kb2N1bWVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUdXJuRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFR1cm5Eb2N1bWVudENvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnlcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YSlcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZGlhbG9nUmVmKTtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5uZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gIDwhLS0gPGltZ1xuICAgIHN0eWxlPVwiaGVpZ2h0OiAyNDBweDsgbWFyZ2luOiAzNHB4IDBweDtkaXNwbGF5OiBub25lO1wiXG4gICAgW3NyY109XCInL2Fzc2V0cy9pbWFnZXMvaWxsdXN0cmF0aW9ucy8nICsgaW1hZ2VzW3R5cGVdXCJcbiAgLz4gLS0+XG4gIDwhLS0gPGltZyBzdHlsZT1cIndpZHRoOjYwcHg7XCIgc3JjPVwiL2Fzc2V0cy9pbWFnZXMvaWxsdXN0cmF0aW9ucy9kb29yLWxvY2sucG5nXCI+IC0tPlxuXG4gIDxtYXQtaWNvbj4zNjA8L21hdC1pY29uPlxuICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmlkU2NhbiA9PT0gJ0JBQ0snXCI+XG4gICAgICB7eyBcInNjYW5kb2MudHVybkFuZENhcHR1cmUuYmFja1wiIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuaWRTY2FuID09PSAnRlJPTlQnXCI+XG4gICAgICB7eyBcInNjYW5kb2MudHVybkFuZENhcHR1cmUuZnJvbnRcIiB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tICAtLT5cblxuPGZvb3Rlcj5cbiAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIG1hdC1yYWlzZWQtYnV0dG9uPk9rPC9idXR0b24+XG48L2Zvb3Rlcj5cbiJdfQ==
@@ -2,6 +2,7 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import jwt_decode from 'jwt-decode';
3
3
  import { of } from 'rxjs';
4
4
  import { map, tap } from 'rxjs/operators';
5
+ import moment from 'moment';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common/http";
7
8
  export class AuthProvider {
@@ -9,38 +10,88 @@ export class AuthProvider {
9
10
  this.http = http;
10
11
  this.config = config;
11
12
  this.token = '';
13
+ this.refresh_token = '';
12
14
  this.tokenTimestamps = {
13
- exp: 0,
14
- iat: 0,
15
+ Time: 0,
16
+ Client: 0,
17
+ SubClient: 0,
15
18
  };
16
19
  }
20
+ setSubClient(name) {
21
+ this.subClient = name;
22
+ }
17
23
  setConfig() { }
18
24
  get tokenExpired() {
19
- if (this.token == '' || this.tokenTimestamps.exp === 0) {
25
+ console.log(this.tokenTimestamps, this.token);
26
+ if (this.token == '' || this.tokenTimestamps.Time === 0) {
20
27
  console.log('EXPIRED');
21
28
  return true;
22
29
  }
23
- const { iat, exp } = this.tokenTimestamps;
24
- return iat + 20 > exp;
30
+ const { Time } = this.tokenTimestamps;
31
+ const tokenDate = moment(Time);
32
+ const isValid = moment(tokenDate).isBefore(moment().add(5, 'minutes'));
33
+ console.log('VALID', isValid);
34
+ return !isValid;
25
35
  }
26
36
  resetToken() {
27
- this.token = '';
37
+ // this.token = '';
28
38
  }
29
39
  get accesToken() {
30
- return this.tokenExpired ? this.getToken() : of(this.token);
40
+ console.log('AT');
41
+ return this.tokenExpired ? this.fetchToken() : of(this.token);
42
+ }
43
+ fetchToken() {
44
+ if (this.token && this.refresh_token) {
45
+ return this.refreshToken();
46
+ }
47
+ return this.getToken();
48
+ }
49
+ refreshToken() {
50
+ const { path, refresh } = this.config;
51
+ return this.http
52
+ .post(`${path}${refresh}`, {
53
+ refresh_token: this.refresh_token,
54
+ })
55
+ .pipe(tap((token) => {
56
+ // console.log(this.token);
57
+ this.token = token.access_token;
58
+ this.updateToken();
59
+ // this.token = token.access_token;
60
+ // console.log('TOKEN', this.token);
61
+ // this.refresh_token = token.refresh_token;
62
+ // const decoded: any = jwt_decode(this.token);
63
+ // console.log(decoded);
64
+ // const { Time, Client, SubClient } = decoded;
65
+ // this.tokenTimestamps = { Time, Client, SubClient };
66
+ }), map((data) => data.access_token));
67
+ }
68
+ get user_key() {
69
+ return this.config.clientId;
70
+ }
71
+ get sub_client() {
72
+ return this.config.tokenName ? this.config.tokenName : this.subClient;
73
+ }
74
+ updateToken() {
75
+ const decoded = jwt_decode(this.token);
76
+ console.log(decoded);
77
+ const { Time, Client, SubClient } = decoded;
78
+ this.tokenTimestamps = { Time, Client, SubClient };
31
79
  }
32
80
  getToken() {
81
+ console.log('GET');
82
+ const { path, login } = this.config;
33
83
  return this.http
34
- .post(this.config.path, {
35
- clientId: this.config.clientId,
36
- token: this.config.tokenName,
84
+ .post(`${path}${login}`, {
85
+ user_key: this.user_key,
86
+ sub_client: this.sub_client,
37
87
  })
38
- .pipe(map((data) => data.accessToken), tap((token) => {
39
- this.token = token;
40
- const decoded = jwt_decode(this.token);
41
- const { iat, exp } = decoded;
42
- this.tokenTimestamps = { iat, exp };
43
- }));
88
+ .pipe(tap((token) => {
89
+ console.log(this.token);
90
+ this.token = token.access_token;
91
+ console.log('TOKEN', this.token);
92
+ this.refresh_token = token.refresh_token;
93
+ this.updateToken();
94
+ }), map((data) => data.access_token));
44
95
  }
45
96
  }
46
97
  AuthProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AuthProvider, deps: [{ token: i1.HttpClient }, { token: 'configAuth' }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -54,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
54
105
  type: Inject,
55
106
  args: ['configAuth']
56
107
  }] }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9wcm92aWRlcnMvYXV0aC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFhLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRckQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxJQUFnQixFQUNLLE1BQWtCO1FBRHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBT2pELFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsb0JBQWUsR0FBRztZQUNoQixHQUFHLEVBQUUsQ0FBQztZQUNOLEdBQUcsRUFBRSxDQUFDO1NBQ1AsQ0FBQztJQVRGLENBQUM7SUFFRCxTQUFTLEtBQUksQ0FBQztJQVNkLElBQVksWUFBWTtRQUV0QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDMUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ08sUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1NBQzdCLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQ3BDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE1BQU0sT0FBTyxHQUFRLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7eUdBakRVLFlBQVksNENBR2IsWUFBWTs2R0FIWCxZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgand0X2RlY29kZSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzL2NvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnY29uZmlnQXV0aCcpIHB1YmxpYyBjb25maWc6IEF1dGhDb25maWdcbiAgKSB7XG5cbiAgfVxuXG4gIHNldENvbmZpZygpIHt9XG5cbiAgdG9rZW46IHN0cmluZyA9ICcnO1xuXG4gIHRva2VuVGltZXN0YW1wcyA9IHtcbiAgICBleHA6IDAsXG4gICAgaWF0OiAwLFxuICB9O1xuXG4gIHByaXZhdGUgZ2V0IHRva2VuRXhwaXJlZCgpOiBib29sZWFuIHtcblxuICAgIGlmICh0aGlzLnRva2VuPT0nJyB8fCB0aGlzLnRva2VuVGltZXN0YW1wcy5leHAgPT09IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKCdFWFBJUkVEJylcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHsgaWF0LCBleHAgfSA9IHRoaXMudG9rZW5UaW1lc3RhbXBzO1xuICAgIHJldHVybiBpYXQgKyAyMCA+IGV4cDtcbiAgfVxuXG4gIHJlc2V0VG9rZW4oKSB7XG4gICAgdGhpcy50b2tlbiA9ICcnO1xuICB9XG4gIGdldCBhY2Nlc1Rva2VuKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5FeHBpcmVkID8gdGhpcy5nZXRUb2tlbigpIDogb2YodGhpcy50b2tlbik7XG4gIH1cbiAgcHJpdmF0ZSBnZXRUb2tlbigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KHRoaXMuY29uZmlnLnBhdGgsIHtcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuY29uZmlnLmNsaWVudElkLFxuICAgICAgICB0b2tlbjogdGhpcy5jb25maWcudG9rZW5OYW1lLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4gZGF0YS5hY2Nlc3NUb2tlbiksXG4gICAgICAgIHRhcCgodG9rZW46IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkOiBhbnkgPSBqd3RfZGVjb2RlKHRoaXMudG9rZW4pO1xuICAgICAgICAgIGNvbnN0IHsgaWF0LCBleHAgfSA9IGRlY29kZWQ7XG4gICAgICAgICAgdGhpcy50b2tlblRpbWVzdGFtcHMgPSB7IGlhdCwgZXhwIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY2FuZG9jL3NyYy9wcm92aWRlcnMvYXV0aC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFhLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBUTVCLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQ1UsSUFBZ0IsRUFDSyxNQUFrQjtRQUR2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0ssV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQVFqRCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRTNCLG9CQUFlLEdBQVE7WUFDckIsSUFBSSxFQUFFLENBQUM7WUFDUCxNQUFNLEVBQUUsQ0FBQztZQUNULFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQztJQWZDLENBQUM7SUFFSixZQUFZLENBQUMsSUFBWTtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ0QsU0FBUyxLQUFJLENBQUM7SUFZZCxJQUFZLFlBQVk7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMs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LElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUN0QyxDQUFDO0lBQ04sQ0FBQzs7eUdBMUdVLFlBQVksNENBSWIsWUFBWTs2R0FKWCxZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgand0X2RlY29kZSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzL2NvbmZpZyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFByb3ZpZGVyIHtcbiAgc3ViQ2xpZW50ITogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnY29uZmlnQXV0aCcpIHB1YmxpYyBjb25maWc6IEF1dGhDb25maWdcbiAgKSB7fVxuXG4gIHNldFN1YkNsaWVudChuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN1YkNsaWVudCA9IG5hbWU7XG4gIH1cbiAgc2V0Q29uZmlnKCkge31cblxuICB0b2tlbjogc3RyaW5nID0gJyc7XG5cbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nID0gJyc7XG5cbiAgdG9rZW5UaW1lc3RhbXBzOiBhbnkgPSB7XG4gICAgVGltZTogMCxcbiAgICBDbGllbnQ6IDAsXG4gICAgU3ViQ2xpZW50OiAwLFxuICB9O1xuXG4gIHByaXZhdGUgZ2V0IHRva2VuRXhwaXJlZCgpOiBib29sZWFuIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnRva2VuVGltZXN0YW1wcywgdGhpcy50b2tlbik7XG4gICAgaWYgKHRoaXMudG9rZW4gPT0gJycgfHwgdGhpcy50b2tlblRpbWVzdGFtcHMuVGltZSA9PT0gMCkge1xuICAgICAgY29uc29sZS5sb2coJ0VYUElSRUQnKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHsgVGltZSB9ID0gdGhpcy50b2tlblRpbWVzdGFtcHM7XG4gICAgY29uc3QgdG9rZW5EYXRlID0gbW9tZW50KFRpbWUpO1xuICAgIGNvbnN0IGlzVmFsaWQgPSBtb21lbnQodG9rZW5EYXRlKS5pc0JlZm9yZShtb21lbnQoKS5hZGQoNSwgJ21pbnV0ZXMnKSk7XG4gICAgY29uc29sZS5sb2coJ1ZBTElEJywgaXNWYWxpZCk7XG4gICAgcmV0dXJuICFpc1ZhbGlkO1xuICB9XG5cbiAgcmVzZXRUb2tlbigpIHtcbiAgICAvLyB0aGlzLnRva2VuID0gJyc7XG4gIH1cbiAgZ2V0IGFjY2VzVG9rZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zb2xlLmxvZygnQVQnKTtcbiAgICByZXR1cm4gdGhpcy50b2tlbkV4cGlyZWQgPyB0aGlzLmZldGNoVG9rZW4oKSA6IG9mKHRoaXMudG9rZW4pO1xuICB9XG5cbiAgZmV0Y2hUb2tlbigpIHtcbiAgICBpZiAodGhpcy50b2tlbiAmJiB0aGlzLnJlZnJlc2hfdG9rZW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpO1xuICB9XG5cbiAgcmVmcmVzaFRva2VuKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgeyBwYXRoLCByZWZyZXNoIH0gPSB0aGlzLmNvbmZpZztcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChgJHtwYXRofSR7cmVmcmVzaH1gLCB7XG4gICAgICAgIHJlZnJlc2hfdG9rZW46IHRoaXMucmVmcmVzaF90b2tlbixcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50b2tlbik7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRva2VuKCk7XG4gICAgICAgICAgLy8gdGhpcy50b2tlbiA9IHRva2VuLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnVE9LRU4nLCB0aGlzLnRva2VuKTtcbiAgICAgICAgICAvLyB0aGlzLnJlZnJlc2hfdG9rZW4gPSB0b2tlbi5yZWZyZXNoX3Rva2VuO1xuICAgICAgICAgIC8vIGNvbnN0IGRlY29kZWQ6IGFueSA9IGp3dF9kZWNvZGUodGhpcy50b2tlbik7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coZGVjb2RlZCk7XG4gICAgICAgICAgLy8gY29uc3QgeyBUaW1lLCBDbGllbnQsIFN1YkNsaWVudCB9ID0gZGVjb2RlZDtcbiAgICAgICAgICAvLyB0aGlzLnRva2VuVGltZXN0YW1wcyA9IHsgVGltZSwgQ2xpZW50LCBTdWJDbGllbnQgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiBkYXRhLmFjY2Vzc190b2tlbilcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldCB1c2VyX2tleSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY2xpZW50SWQ7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgc3ViX2NsaWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudG9rZW5OYW1lID8gdGhpcy5jb25maWcudG9rZW5OYW1lIDogdGhpcy5zdWJDbGllbnQ7XG4gIH1cbiAgcHJpdmF0ZSB1cGRhdGVUb2tlbigpIHtcbiAgICBjb25zdCBkZWNvZGVkOiBhbnkgPSBqd3RfZGVjb2RlKHRoaXMudG9rZW4pO1xuICAgIGNvbnNvbGUubG9nKGRlY29kZWQpO1xuICAgIGNvbnN0IHsgVGltZSwgQ2xpZW50LCBTdWJDbGllbnQgfSA9IGRlY29kZWQ7XG4gICAgdGhpcy50b2tlblRpbWVzdGFtcHMgPSB7IFRpbWUsIENsaWVudCwgU3ViQ2xpZW50IH07XG4gIH1cbiAgcHJpdmF0ZSBnZXRUb2tlbigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnNvbGUubG9nKCdHRVQnKTtcblxuICAgIGNvbnN0IHsgcGF0aCwgbG9naW4gfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYCR7cGF0aH0ke2xvZ2lufWAsIHtcbiAgICAgICAgdXNlcl9rZXk6IHRoaXMudXNlcl9rZXksXG4gICAgICAgIHN1Yl9jbGllbnQ6IHRoaXMuc3ViX2NsaWVudCxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0b2tlbjogYW55KSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2codGhpcy50b2tlbik7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICBjb25zb2xlLmxvZygnVE9LRU4nLCB0aGlzLnRva2VuKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hfdG9rZW4gPSB0b2tlbi5yZWZyZXNoX3Rva2VuO1xuICAgICAgICAgIHRoaXMudXBkYXRlVG9rZW4oKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiBkYXRhLmFjY2Vzc190b2tlbilcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -10,7 +10,7 @@ export class HttpErrorInterceptor {
10
10
  }
11
11
  intercept(req, next) {
12
12
  //console.log(req.url);
13
- if (req.url.indexOf('auth') >= 0 || req.url.indexOf('/assets/') >= 0) {
13
+ if (req.url.indexOf('/ks/') >= 0 || req.url.indexOf('/assets/') >= 0) {
14
14
  return next.handle(req);
15
15
  }
16
16
  const authProvider = this.injector.get(AuthProvider);
@@ -24,6 +24,7 @@ export class HttpErrorInterceptor {
24
24
  return next.handle(req);
25
25
  }
26
26
  }
27
+ console.log('AUTH II');
27
28
  this.inflightAuthRequest = authProvider.accesToken;
28
29
  return this.inflightAuthRequest.pipe(share(), switchMap((token) => {
29
30
  // unset request inflight
@@ -40,9 +41,14 @@ export class HttpErrorInterceptor {
40
41
  tokenExpired = find ? true : false;
41
42
  }
42
43
  console.log(err);
43
- if (err.status === 401 || tokenExpired) {
44
- authProvider.resetToken();
45
- return this.intercept(req, next);
44
+ if (err.status === 401 || err.status === 403 || tokenExpired) {
45
+ return authProvider.refreshToken().pipe(switchMap((token) => {
46
+ const transaction = req.headers.get('TransactionID');
47
+ const authReq = req.clone({
48
+ headers: this.getHeaders(token, transaction || ''),
49
+ });
50
+ return next.handle(authReq);
51
+ }));
46
52
  }
47
53
  else {
48
54
  return throwError(() => new Error('' + (err && err.status ? ':' + err.status : '')));
@@ -68,4 +74,4 @@ HttpErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
68
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpErrorInterceptor, decorators: [{
69
75
  type: Injectable
70
76
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvcHJvdmlkZXJzL2ludGVyY2VwdG9yLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxXQUFXLEdBR1osTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFNBQVMsQ0FDUCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQix1QkFBdUI7UUFDdkIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJELElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDcEMsTUFBTSxLQUFLLEdBQ1QsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUM7aUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pCO1NBQ0Y7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUVuRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2xDLEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzFCLHlCQUF5QjtZQUN6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBRWhDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO2FBQ25ELENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0QixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNkLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUN6QixDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDakQsQ0FBQztnQkFDRixZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUNwQztZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFakIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUU7Z0JBQ3RDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxPQUFPLFVBQVUsQ0FDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ2xFLENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWEsRUFBRSxhQUFxQjtRQUNyRCxJQUFJLGFBQWEsRUFBRTtZQUNqQixPQUFPLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxhQUFhLEVBQUUsS0FBSztnQkFDcEIsYUFBYTthQUNkLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQTdFVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzaGFyZSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9hdXRoLnByb3ZpZGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgaW5mbGlnaHRBdXRoUmVxdWVzdCE6IE9ic2VydmFibGU8YW55PiB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgaW50ZXJjZXB0KFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgLy9jb25zb2xlLmxvZyhyZXEudXJsKTtcbiAgICBpZiAocmVxLnVybC5pbmRleE9mKCdhdXRoJykgPj0gMCB8fCByZXEudXJsLmluZGV4T2YoJy9hc3NldHMvJykgPj0gMCkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3QgYXV0aFByb3ZpZGVyID0gdGhpcy5pbmplY3Rvci5nZXQoQXV0aFByb3ZpZGVyKTtcblxuICAgIGlmIChhdXRoUHJvdmlkZXIuY29uZmlnLnZhbGlkRG9tYWlucykge1xuICAgICAgY29uc3QgdmFsaWQgPVxuICAgICAgICBhdXRoUHJvdmlkZXIuY29uZmlnLnZhbGlkRG9tYWluc1xuICAgICAgICAgIC5tYXAoKGRvbWFpbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJlcS51cmwuaW5kZXhPZihkb21haW4pID49IDA7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChtKSA9PiBtKS5sZW5ndGggPiAwO1xuICAgICAgaWYgKCF2YWxpZCkge1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmluZmxpZ2h0QXV0aFJlcXVlc3QgPSBhdXRoUHJvdmlkZXIuYWNjZXNUb2tlbjtcblxuICAgIHJldHVybiB0aGlzLmluZmxpZ2h0QXV0aFJlcXVlc3QucGlwZShcbiAgICAgIHNoYXJlKCksXG4gICAgICBzd2l0Y2hNYXAoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgLy8gdW5zZXQgcmVxdWVzdCBpbmZsaWdodFxuICAgICAgICB0aGlzLmluZmxpZ2h0QXV0aFJlcXVlc3QgPSBudWxsO1xuXG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gcmVxLmhlYWRlcnMuZ2V0KCdUcmFuc2FjdGlvbklEJyk7XG4gICAgICAgIGNvbnN0IGF1dGhSZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyh0b2tlbiwgdHJhbnNhY3Rpb24gfHwgJycpLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aFJlcSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgIGxldCB0b2tlbkV4cGlyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVyci5lcnJvcnMpIHtcbiAgICAgICAgICBjb25zdCBmaW5kID0gZXJyLmVycm9zLmZpbmQoXG4gICAgICAgICAgICAoZXM6IHN0cmluZykgPT4gZXMuaW5kZXhPZignSW52YWxpZCB0b2tlbicpID4gLTFcbiAgICAgICAgICApO1xuICAgICAgICAgIHRva2VuRXhwaXJlZCA9IGZpbmQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcblxuICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAxIHx8IHRva2VuRXhwaXJlZCkge1xuICAgICAgICAgIGF1dGhQcm92aWRlci5yZXNldFRva2VuKCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJjZXB0KHJlcSwgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAoKSA9PiBuZXcgRXJyb3IoJycgKyAoZXJyICYmIGVyci5zdGF0dXMgPyAnOicgKyBlcnIuc3RhdHVzIDogJycpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGVhZGVycyh0b2tlbjogc3RyaW5nLCBUcmFuc2FjdGlvbklEOiBzdHJpbmcpIHtcbiAgICBpZiAoVHJhbnNhY3Rpb25JRCkge1xuICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxuICAgICAgICBUcmFuc2FjdGlvbklELFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NhbmRvYy9zcmMvcHJvdmlkZXJzL2ludGVyY2VwdG9yLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxXQUFXLEdBR1osTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUcvQyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFNBQVMsQ0FDUCxHQUFxQixFQUNyQixJQUFpQjtRQUVqQix1QkFBdUI7UUFDdkIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJELElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDcEMsTUFBTSxLQUFLLEdBQ1QsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZCxPQUFPLEdB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QkFDbEMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLGFBQWE7YUFDZCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sSUFBSSxXQUFXLENBQUM7WUFDckIsY0FBYyxFQUFFLGtCQUFrQjtZQUNsQyxhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF0RlUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc2hhcmUsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gJy4vYXV0aC5wcm92aWRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGluZmxpZ2h0QXV0aFJlcXVlc3QhOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGludGVyY2VwdChcbiAgICByZXE6IEh0dHBSZXF1ZXN0PGFueT4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIC8vY29uc29sZS5sb2cocmVxLnVybCk7XG4gICAgaWYgKHJlcS51cmwuaW5kZXhPZignL2tzLycpID49IDAgfHwgcmVxLnVybC5pbmRleE9mKCcvYXNzZXRzLycpID49IDApIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIGNvbnN0IGF1dGhQcm92aWRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KEF1dGhQcm92aWRlcik7XG5cbiAgICBpZiAoYXV0aFByb3ZpZGVyLmNvbmZpZy52YWxpZERvbWFpbnMpIHtcbiAgICAgIGNvbnN0IHZhbGlkID1cbiAgICAgICAgYXV0aFByb3ZpZGVyLmNvbmZpZy52YWxpZERvbWFpbnNcbiAgICAgICAgICAubWFwKChkb21haW4pID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXEudXJsLmluZGV4T2YoZG9tYWluKSA+PSAwO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbHRlcigobSkgPT4gbSkubGVuZ3RoID4gMDtcbiAgICAgIGlmICghdmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coJ0FVVEggSUknKTtcbiAgICB0aGlzLmluZmxpZ2h0QXV0aFJlcXVlc3QgPSBhdXRoUHJvdmlkZXIuYWNjZXNUb2tlbjtcblxuICAgIHJldHVybiB0aGlzLmluZmxpZ2h0QXV0aFJlcXVlc3QucGlwZShcbiAgICAgIHNoYXJlKCksXG4gICAgICBzd2l0Y2hNYXAoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgLy8gdW5zZXQgcmVxdWVzdCBpbmZsaWdodFxuICAgICAgICB0aGlzLmluZmxpZ2h0QXV0aFJlcXVlc3QgPSBudWxsO1xuXG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gcmVxLmhlYWRlcnMuZ2V0KCdUcmFuc2FjdGlvbklEJyk7XG4gICAgICAgIGNvbnN0IGF1dGhSZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyh0b2tlbiwgdHJhbnNhY3Rpb24gfHwgJycpLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aFJlcSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgIGxldCB0b2tlbkV4cGlyZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVyci5lcnJvcnMpIHtcbiAgICAgICAgICBjb25zdCBmaW5kID0gZXJyLmVycm9zLmZpbmQoXG4gICAgICAgICAgICAoZXM6IHN0cmluZykgPT4gZXMuaW5kZXhPZignSW52YWxpZCB0b2tlbicpID4gLTFcbiAgICAgICAgICApO1xuICAgICAgICAgIHRva2VuRXhwaXJlZCA9IGZpbmQgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcblxuICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAxIHx8IGVyci5zdGF0dXMgPT09IDQwMyB8fCB0b2tlbkV4cGlyZWQpIHtcbiAgICAgICAgICByZXR1cm4gYXV0aFByb3ZpZGVyLnJlZnJlc2hUb2tlbigpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gcmVxLmhlYWRlcnMuZ2V0KCdUcmFuc2FjdGlvbklEJyk7XG4gICAgICAgICAgICAgIGNvbnN0IGF1dGhSZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZ2V0SGVhZGVycyh0b2tlbiwgdHJhbnNhY3Rpb24gfHwgJycpLFxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aFJlcSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAoKSA9PiBuZXcgRXJyb3IoJycgKyAoZXJyICYmIGVyci5zdGF0dXMgPyAnOicgKyBlcnIuc3RhdHVzIDogJycpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGVhZGVycyh0b2tlbjogc3RyaW5nLCBUcmFuc2FjdGlvbklEOiBzdHJpbmcpIHtcbiAgICBpZiAoVHJhbnNhY3Rpb25JRCkge1xuICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxuICAgICAgICBUcmFuc2FjdGlvbklELFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxuICAgIH0pO1xuICB9XG59XG4iXX0=