ngx-sp-auth 0.0.0-watch

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 (108) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/auth.module.mjs +87 -0
  3. package/esm2022/lib/auth.service.mjs +306 -0
  4. package/esm2022/lib/components/login/login.component.mjs +326 -0
  5. package/esm2022/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.mjs +68 -0
  6. package/esm2022/lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component.mjs +32 -0
  7. package/esm2022/lib/components/menu-lateral/menu/list-estab.service.mjs +55 -0
  8. package/esm2022/lib/components/menu-lateral/menu/menu-lateral.component.mjs +235 -0
  9. package/esm2022/lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component.mjs +200 -0
  10. package/esm2022/lib/components/menu-lateral/menu-services.service.mjs +151 -0
  11. package/esm2022/lib/components/menu-lateral/model/iestabelecimento.model.mjs +2 -0
  12. package/esm2022/lib/components/menu-lateral/model/imenu-item-structure.model.mjs +2 -0
  13. package/esm2022/lib/components/menu-lateral/model/imenu.model.mjs +12 -0
  14. package/esm2022/lib/components/menu-lateral/model/infrausuarioimg.mjs +12 -0
  15. package/esm2022/lib/components/menu-lateral/model/isubmenu-item-structure.model.mjs +2 -0
  16. package/esm2022/lib/components/menu-lateral/model/ret-estabelecimento-session.mjs +10 -0
  17. package/esm2022/lib/components/menu-lateral/model/ret-infrausuarioemail.mjs +8 -0
  18. package/esm2022/lib/components/menu-lateral/model/ret-infrausuarioimg.mjs +11 -0
  19. package/esm2022/lib/components/menu-lateral/model/usuario-img.mjs +8 -0
  20. package/esm2022/lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component.mjs +54 -0
  21. package/esm2022/lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component.mjs +14 -0
  22. package/esm2022/lib/components/nova-senha/nova-senhacomponent.mjs +191 -0
  23. package/esm2022/lib/custom/custom-login.service.mjs +52 -0
  24. package/esm2022/lib/custom/custom-menu.service.mjs +88 -0
  25. package/esm2022/lib/custom/menu-config.service.mjs +70 -0
  26. package/esm2022/lib/custom/models/icustom-login-service.mjs +2 -0
  27. package/esm2022/lib/custom/models/icustom-menu-service.mjs +2 -0
  28. package/esm2022/lib/custom/models/imenu-config.mjs +2 -0
  29. package/esm2022/lib/environments/environments.service.mjs +21 -0
  30. package/esm2022/lib/environments/models/ienvironments.mjs +2 -0
  31. package/esm2022/lib/guards/auth-guard.mjs +34 -0
  32. package/esm2022/lib/guards/external-login-guard.mjs +88 -0
  33. package/esm2022/lib/guards/login-guard.mjs +35 -0
  34. package/esm2022/lib/interceptors/auth-aplic.interceptor.mjs +41 -0
  35. package/esm2022/lib/interceptors/auth-infra.interceptor.mjs +30 -0
  36. package/esm2022/lib/models/code-2fa.mjs +2 -0
  37. package/esm2022/lib/models/custom-propriedades-login.mjs +3 -0
  38. package/esm2022/lib/models/forgotten-password-form.mjs +2 -0
  39. package/esm2022/lib/models/login-form.mjs +2 -0
  40. package/esm2022/lib/models/login.mjs +2 -0
  41. package/esm2022/lib/models/nova-senha-form.mjs +2 -0
  42. package/esm2022/lib/models/password-recup.mjs +2 -0
  43. package/esm2022/lib/models/payload.mjs +2 -0
  44. package/esm2022/lib/models/ret-login.mjs +21 -0
  45. package/esm2022/lib/models/ret-token.mjs +8 -0
  46. package/esm2022/lib/models/token.mjs +2 -0
  47. package/esm2022/lib/server/ret-server-config.mjs +9 -0
  48. package/esm2022/lib/server/server.service.mjs +38 -0
  49. package/esm2022/lib/storage/auth-storage.service.mjs +409 -0
  50. package/esm2022/ngx-sp-auth.mjs +5 -0
  51. package/esm2022/public-api.mjs +37 -0
  52. package/fesm2022/ngx-sp-auth.mjs +2520 -0
  53. package/fesm2022/ngx-sp-auth.mjs.map +1 -0
  54. package/index.d.ts +5 -0
  55. package/lib/auth.module.d.ts +21 -0
  56. package/lib/auth.service.d.ts +42 -0
  57. package/lib/components/login/login.component.d.ts +67 -0
  58. package/lib/components/menu-lateral/dropdown/primary-dropdown/primary-dropdown.component.d.ts +20 -0
  59. package/lib/components/menu-lateral/dropdown/secondary-dropdown/secondary-dropdown.component.d.ts +12 -0
  60. package/lib/components/menu-lateral/menu/list-estab.service.d.ts +19 -0
  61. package/lib/components/menu-lateral/menu/menu-lateral.component.d.ts +74 -0
  62. package/lib/components/menu-lateral/menu/selecao-estabelecimentos-modal/selecao-estabelecimentos-modal.component.d.ts +71 -0
  63. package/lib/components/menu-lateral/menu-services.service.d.ts +31 -0
  64. package/lib/components/menu-lateral/model/iestabelecimento.model.d.ts +4 -0
  65. package/lib/components/menu-lateral/model/imenu-item-structure.model.d.ts +12 -0
  66. package/lib/components/menu-lateral/model/imenu.model.d.ts +40 -0
  67. package/lib/components/menu-lateral/model/infrausuarioimg.d.ts +9 -0
  68. package/lib/components/menu-lateral/model/isubmenu-item-structure.model.d.ts +9 -0
  69. package/lib/components/menu-lateral/model/ret-estabelecimento-session.d.ts +8 -0
  70. package/lib/components/menu-lateral/model/ret-infrausuarioemail.d.ts +6 -0
  71. package/lib/components/menu-lateral/model/ret-infrausuarioimg.d.ts +9 -0
  72. package/lib/components/menu-lateral/model/usuario-img.d.ts +5 -0
  73. package/lib/components/menu-lateral/submenus/dynamic-menu/dynamic-menu.component.d.ts +25 -0
  74. package/lib/components/menu-lateral/submenus/notif-submenu/notif-submenu.component.d.ts +8 -0
  75. package/lib/components/nova-senha/nova-senhacomponent.d.ts +48 -0
  76. package/lib/custom/custom-login.service.d.ts +38 -0
  77. package/lib/custom/custom-menu.service.d.ts +48 -0
  78. package/lib/custom/menu-config.service.d.ts +32 -0
  79. package/lib/custom/models/icustom-login-service.d.ts +13 -0
  80. package/lib/custom/models/icustom-menu-service.d.ts +10 -0
  81. package/lib/custom/models/imenu-config.d.ts +7 -0
  82. package/lib/environments/environments.service.d.ts +11 -0
  83. package/lib/environments/models/ienvironments.d.ts +4 -0
  84. package/lib/guards/auth-guard.d.ts +14 -0
  85. package/lib/guards/external-login-guard.d.ts +21 -0
  86. package/lib/guards/login-guard.d.ts +24 -0
  87. package/lib/interceptors/auth-aplic.interceptor.d.ts +22 -0
  88. package/lib/interceptors/auth-infra.interceptor.d.ts +16 -0
  89. package/lib/models/code-2fa.d.ts +4 -0
  90. package/lib/models/custom-propriedades-login.d.ts +11 -0
  91. package/lib/models/forgotten-password-form.d.ts +5 -0
  92. package/lib/models/login-form.d.ts +5 -0
  93. package/lib/models/login.d.ts +4 -0
  94. package/lib/models/nova-senha-form.d.ts +5 -0
  95. package/lib/models/password-recup.d.ts +5 -0
  96. package/lib/models/payload.d.ts +9 -0
  97. package/lib/models/ret-login.d.ts +20 -0
  98. package/lib/models/ret-token.d.ts +6 -0
  99. package/lib/models/token.d.ts +8 -0
  100. package/lib/server/ret-server-config.d.ts +7 -0
  101. package/lib/server/server.service.d.ts +14 -0
  102. package/lib/storage/auth-storage.service.d.ts +90 -0
  103. package/package.json +25 -0
  104. package/public-api.d.ts +36 -0
  105. package/src/assets/imgs/Property1-cadeado.png +0 -0
  106. package/src/assets/imgs/Property1-calendariofino.png +0 -0
  107. package/src/assets/imgs/Property1-mao.png +0 -0
  108. package/src/assets/styles/styles.novo.scss +0 -0
@@ -0,0 +1,54 @@
1
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@angular/common";
5
+ export class DynamicMenuComponent {
6
+ constructor(router) {
7
+ this.router = router;
8
+ this.selectTemplate = new EventEmitter;
9
+ this.titleSubmenu = "";
10
+ this.submenuList = [];
11
+ this.menuList = [];
12
+ this.menuStatic = [];
13
+ this.selectedMenuItem = [];
14
+ this.selectedItem = -1;
15
+ }
16
+ ngOnInit() { }
17
+ onClickedOutside(e, ref) {
18
+ ref.classList.remove("opened-sub");
19
+ this.submenuList = [];
20
+ this.indicateSelectedMenuItem();
21
+ }
22
+ indicateSelectedMenuItem() {
23
+ if (this.selectedMenuItem.length) {
24
+ this.selectedItem = this.selectedMenuItem[0];
25
+ }
26
+ }
27
+ changeStar(ref, id) {
28
+ ref.classList.toggle("star");
29
+ ref.classList.toggle("yellow-star");
30
+ }
31
+ getExternalUrl(url) {
32
+ return `https://siscandesv6.sispro.com.br/SisproErpCloud/${url}`;
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicMenuComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DynamicMenuComponent, selector: "app-dynamic-menu", inputs: { submenuRef: "submenuRef", recebeParam: "recebeParam", titleSubmenu: "titleSubmenu", submenuList: "submenuList" }, outputs: { selectTemplate: "selectTemplate" }, queries: [{ propertyName: "desiredContent", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div #submenu class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\r\n <div class=\"itens-list\">\r\n <ul style=\"width: 100%\">\r\n \r\n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \r\n class=\"d-flex justify-content-between align-items-center\"\r\n [class]=\"i == 0 ? 'mt-1' : ''\">\r\n \r\n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\r\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(itemList.route)\"\r\n target=\"_blank\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n </ng-template>\r\n\r\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicMenuComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'app-dynamic-menu', template: "<div #submenu class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">{{ titleSubmenu }}</h1>\r\n <div class=\"itens-list\">\r\n <ul style=\"width: 100%\">\r\n \r\n <li *ngFor=\"let itemList of submenuList; let i = index\" [id]=\"itemList!.id\" \r\n class=\"d-flex justify-content-between align-items-center\"\r\n [class]=\"i == 0 ? 'mt-1' : ''\">\r\n \r\n <a *ngIf=\"!itemList.isExternal; else externalMenu\"\r\n [routerLink]=\"itemList!.route != null ? ['/' + itemList!.route] : null\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n \r\n <ng-template #externalMenu>\r\n <a [href]=\"getExternalUrl(itemList.route)\"\r\n target=\"_blank\" \r\n (click)=\"recebeParam($event, submenuRef)\">\r\n <span>{{ itemList!.label }}</span>\r\n </a>\r\n </ng-template>\r\n\r\n <!-- <button class=\"star favoritos\" #star (click)=\"changeStar(star, itemList)\"></button> -->\r\n </li>\r\n\r\n </ul>\r\n </div>\r\n</div>", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:16px;padding-bottom:18px}ul li span:hover{font-weight:700}a{text-decoration:none}.itens-list{display:flex;align-items:center}.itens-list .favoritos,.itens-list span{cursor:pointer}.footer-menu{display:flex;flex-direction:column;justify-content:center;padding-bottom:16px}.footer-menu .footer-components{border-top:1px solid #3265ee;padding-top:16px;padding-left:17px;white-space:nowrap}.footer-menu button{position:relative;left:35%;border:none;background-color:transparent}.footer-menu .photo-profile{width:32px;height:32px;border-radius:50%;margin:0 15px 0 0}.footer-components{display:flex;justify-content:center;align-items:center}button{position:relative;border:none;background-color:transparent}.photo-profile{width:32px;height:32px;border-radius:50%;margin:0}.submenu.opened-sub{z-index:1;display:flex;position:absolute;left:100%;height:100vh;justify-content:space-between}.submenu-footer{display:flex;flex-direction:row;justify-content:center;align-content:center;margin-bottom:14px;border-top:1px solid #2847a0}.submenu-footer .subfooter-components{padding-top:16px}.submenu-footer span{font-weight:700;padding-left:10px}.star{width:24px;height:24px;background-repeat:no-repeat}.yellow-star{width:26px;height:24px;background-repeat:no-repeat}\n"] }]
40
+ }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { selectTemplate: [{
41
+ type: Output
42
+ }], submenuRef: [{
43
+ type: Input
44
+ }], recebeParam: [{
45
+ type: Input
46
+ }], titleSubmenu: [{
47
+ type: Input
48
+ }], submenuList: [{
49
+ type: Input
50
+ }], desiredContent: [{
51
+ type: ContentChild,
52
+ args: [TemplateRef]
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWxhdGVyYWwvc3VibWVudXMvZHluYW1pYy1tZW51L2R5bmFtaWMtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL3N1Ym1lbnVzL2R5bmFtaWMtbWVudS9keW5hbWljLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFHLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEJ2QixtQkFBYyxHQUFzQixJQUFJLFlBQVksQ0FBQztRQU10RCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVsQixnQkFBVyxHQUEwQixFQUFFLENBQUM7UUFFakQsYUFBUSxHQUF5QixFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUF5QixFQUFFLENBQUM7UUFFdEMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDLENBQUM7SUFNdEIsQ0FBQztJQUVMLFFBQVEsS0FBVyxDQUFDO0lBRXBCLGdCQUFnQixDQUFDLENBQVEsRUFBRSxHQUFtQjtRQUM1QyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQXNCLEVBQUUsRUFBa0M7UUFDbkUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxHQUFXO1FBQy9CLE9BQU8sb0RBQW9ELEdBQUcsRUFBRSxDQUFDO0lBQ25FLENBQUM7K0dBL0NVLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtRQW9CakIsV0FBVyxnREM5QjNCLDBtQ0E0Qk07OzRGRGxCTyxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCOzJFQU9sQixjQUFjO3NCQUF2QixNQUFNO2dCQUVFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBVXFCLGNBQWM7c0JBQXhDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSU1lbnVJdGVtU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vbW9kZWwvaW1lbnUtaXRlbS1zdHJ1Y3R1cmUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RUZW1wbGF0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xyXG5cclxuICBASW5wdXQoKSBzdWJtZW51UmVmITogSFRNTERpdkVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIHJlY2ViZVBhcmFtITogRnVuY3Rpb247XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlU3VibWVudSA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpIHN1Ym1lbnVMaXN0PzogSU1lbnVJdGVtU3RydWN0dXJlW10gPSBbXTtcclxuXHJcbiAgbWVudUxpc3Q6IElNZW51SXRlbVN0cnVjdHVyZVtdID0gW107XHJcblxyXG4gIG1lbnVTdGF0aWM6IElNZW51SXRlbVN0cnVjdHVyZVtdID0gW107XHJcblxyXG4gIHNlbGVjdGVkTWVudUl0ZW06IG51bWJlcltdID0gW107XHJcblxyXG4gIHNlbGVjdGVkSXRlbTogbnVtYmVyID0gLTE7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGRlc2lyZWRDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyLFxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxyXG5cclxuICBvbkNsaWNrZWRPdXRzaWRlKGU6IEV2ZW50LCByZWY6IEhUTUxEaXZFbGVtZW50KSB7XHJcbiAgICByZWYuY2xhc3NMaXN0LnJlbW92ZShcIm9wZW5lZC1zdWJcIik7XHJcbiAgICB0aGlzLnN1Ym1lbnVMaXN0ID0gW107XHJcbiAgICB0aGlzLmluZGljYXRlU2VsZWN0ZWRNZW51SXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgaW5kaWNhdGVTZWxlY3RlZE1lbnVJdGVtKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNZW51SXRlbS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkTWVudUl0ZW1bMF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTdGFyKHJlZjogSFRNTEJ1dHRvbkVsZW1lbnQsIGlkOiBJTWVudUl0ZW1TdHJ1Y3R1cmUgfCB1bmRlZmluZWQpIHtcclxuICAgIHJlZi5jbGFzc0xpc3QudG9nZ2xlKFwic3RhclwiKTtcclxuICAgIHJlZi5jbGFzc0xpc3QudG9nZ2xlKFwieWVsbG93LXN0YXJcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RXh0ZXJuYWxVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly9zaXNjYW5kZXN2Ni5zaXNwcm8uY29tLmJyL1Npc3Byb0VycENsb3VkLyR7dXJsfWA7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICNzdWJtZW51IGNsYXNzPVwiaGVhZGVyLXN1Ym1lbnVcIj5cclxuICA8aDEgY2xhc3M9XCJ0aXR1bG8gcGItMyBwdC00XCI+e3sgdGl0bGVTdWJtZW51IH19PC9oMT5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbnMtbGlzdFwiPlxyXG4gICAgPHVsIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cclxuICBcclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtTGlzdCBvZiBzdWJtZW51TGlzdDsgbGV0IGkgPSBpbmRleFwiIFtpZF09XCJpdGVtTGlzdCEuaWRcIiBcclxuICAgICAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgIFtjbGFzc109XCJpID09IDAgPyAnbXQtMScgOiAnJ1wiPlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgPGEgKm5nSWY9XCIhaXRlbUxpc3QuaXNFeHRlcm5hbDsgZWxzZSBleHRlcm5hbE1lbnVcIlxyXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbUxpc3QhLnJvdXRlICE9IG51bGwgPyBbJy8nICsgaXRlbUxpc3QhLnJvdXRlXSA6IG51bGxcIiBcclxuICAgICAgICAgIChjbGljayk9XCJyZWNlYmVQYXJhbSgkZXZlbnQsIHN1Ym1lbnVSZWYpXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBpdGVtTGlzdCEubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZXh0ZXJuYWxNZW51PlxyXG4gICAgICAgICAgPGEgW2hyZWZdPVwiZ2V0RXh0ZXJuYWxVcmwoaXRlbUxpc3Qucm91dGUpXCJcclxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCIgXHJcbiAgICAgICAgICAgIChjbGljayk9XCJyZWNlYmVQYXJhbSgkZXZlbnQsIHN1Ym1lbnVSZWYpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW1MaXN0IS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8IS0tIDxidXR0b24gY2xhc3M9XCJzdGFyIGZhdm9yaXRvc1wiICNzdGFyIChjbGljayk9XCJjaGFuZ2VTdGFyKHN0YXIsIGl0ZW1MaXN0KVwiPjwvYnV0dG9uPiAtLT5cclxuICAgICAgPC9saT5cclxuXHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NotifSubmenuComponent {
4
+ constructor() { }
5
+ ngOnInit() {
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifSubmenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NotifSubmenuComponent, selector: "app-notif-submenu", ngImport: i0, template: "<div class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">Notifica\u00E7\u00F5es</h1>\r\n</div>\r\n<div class=\"body-notif\">\r\n <div class=\"new-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Novas (2)</p><p>Marcar todas como Lidas</p>\r\n </div>\r\n <div class=\"scroll\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"read-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Lidas</p>\r\n </div>\r\n <div class=\"scroll-second\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:4px;background:transparent}::-webkit-scrollbar-thumb{background:#fff;border-radius:16px}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}button{position:relative;border:none;background-color:transparent}.session-header{display:flex;justify-content:space-between;background-color:#2847a0}.session-header .session-h-item{font-weight:700}.session{border-bottom:1px solid #fff;overflow:auto;height:100%}.session:last-child{border-bottom:none}.session-start{display:flex}.item-end{display:flex;justify-content:space-between}.scroll{margin-right:2px;overflow:auto;max-height:300px}.scroll-second{margin-right:2px;overflow:auto;max-height:481px}\n"] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NotifSubmenuComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'app-notif-submenu', template: "<div class=\"header-submenu\">\r\n <h1 class=\"titulo pb-3 pt-4\">Notifica\u00E7\u00F5es</h1>\r\n</div>\r\n<div class=\"body-notif\">\r\n <div class=\"new-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Novas (2)</p><p>Marcar todas como Lidas</p>\r\n </div>\r\n <div class=\"scroll\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"read-notif\">\r\n <div class=\"session-header p-2\">\r\n <p class=\"session-h-item\">Lidas</p>\r\n </div>\r\n <div class=\"scroll-second\">\r\n <div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n <div class=\"session mb-3 pb-3\">\r\n <div class=\"session-start mt-3 ms-3\">\r\n <img src=\"assets/icons/file-text.svg\" alt=\"\"><p>Contratos</p>\r\n </div>\r\n <div class=\"m-4\">\r\n <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has </p>\r\n </div>\r\n <div class=\"item-end ms-4 mx-4\">\r\n <button>Marcar como lida</button>\r\n <p>2h atr\u00E1s</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["*{padding:0;margin:0;font-family:Open sans,Arial,Helvetica,sans-serif;color:#fff}ul{list-style:none;padding-left:0;display:inline;white-space:nowrap}::-webkit-scrollbar{width:4px;background:transparent}::-webkit-scrollbar-thumb{background:#fff;border-radius:16px}.titulo{font-size:20px;font-weight:700;display:flex;justify-content:center;border-bottom:1px solid #2847a0}ul{display:flex;flex-direction:column;margin:25px 26px 0 24px}ul li{font-size:20px;font-weight:600;line-height:22px;padding-bottom:18px}button{position:relative;border:none;background-color:transparent}.session-header{display:flex;justify-content:space-between;background-color:#2847a0}.session-header .session-h-item{font-weight:700}.session{border-bottom:1px solid #fff;overflow:auto;height:100%}.session:last-child{border-bottom:none}.session-start{display:flex}.item-end{display:flex;justify-content:space-between}.scroll{margin-right:2px;overflow:auto;max-height:300px}.scroll-second{margin-right:2px;overflow:auto;max-height:481px}\n"] }]
13
+ }], ctorParameters: () => [] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWYtc3VibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL3N1Ym1lbnVzL25vdGlmLXN1Ym1lbnUvbm90aWYtc3VibWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1sYXRlcmFsL3N1Ym1lbnVzL25vdGlmLXN1Ym1lbnUvbm90aWYtc3VibWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQU9sRCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFFUixDQUFDOytHQU5VLHFCQUFxQjttR0FBckIscUJBQXFCLHlEQ1BsQyxxc1NBb0xBOzs0RkQ3S2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RpZi1zdWJtZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWYtc3VibWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWYtc3VibWVudS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZTdWJtZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyLXN1Ym1lbnVcIj5cclxuICAgIDxoMSBjbGFzcz1cInRpdHVsbyBwYi0zIHB0LTRcIj5Ob3RpZmljYcOnw7VlczwvaDE+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiYm9keS1ub3RpZlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5ldy1ub3RpZlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXNzaW9uLWhlYWRlciBwLTJcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzZXNzaW9uLWgtaXRlbVwiPk5vdmFzICgyKTwvcD48cD5NYXJjYXIgdG9kYXMgY29tbyBMaWRhczwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cInJlYWQtbm90aWZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1oZWFkZXIgcC0yXCI+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwic2Vzc2lvbi1oLWl0ZW1cIj5MaWRhczwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsLXNlY29uZFwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Npb24gbWItMyBwYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Npb24tc3RhcnQgbXQtMyBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL2ZpbGUtdGV4dC5zdmdcIiBhbHQ9XCJcIj48cD5Db250cmF0b3M8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Mb3JlbSBJcHN1bSBpcyBzaW1wbHkgZHVtbXkgdGV4dCBvZiB0aGUgcHJpbnRpbmcgYW5kIHR5cGVzZXR0aW5nIGluZHVzdHJ5LiBMb3JlbSBJcHN1bSBoYXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbiBtYi0zIHBiLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Vzc2lvbi1zdGFydCBtdC0zIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvZmlsZS10ZXh0LnN2Z1wiIGFsdD1cIlwiPjxwPkNvbnRyYXRvczwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvcmVtIElwc3VtIGlzIHNpbXBseSBkdW1teSB0ZXh0IG9mIHRoZSBwcmludGluZyBhbmQgdHlwZXNldHRpbmcgaW5kdXN0cnkuIExvcmVtIElwc3VtIGhhcyA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tZW5kIG1zLTQgbXgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uPk1hcmNhciBjb21vIGxpZGE8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+MmggYXRyw6FzPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,191 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormGroup, Validators } from '@angular/forms';
3
+ import { FormUtils } from 'ngx-sp-infra';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "ngx-sp-infra";
7
+ import * as i3 from "../../server/server.service";
8
+ import * as i4 from "../../auth.service";
9
+ import * as i5 from "../../storage/auth-storage.service";
10
+ import * as i6 from "@angular/platform-browser";
11
+ import * as i7 from "@angular/router";
12
+ export class NovaSenhaComponent {
13
+ constructor(_formBuilder, _messageService, _serverService, _authService, _authStorageService, _title, _router, _route) {
14
+ this._formBuilder = _formBuilder;
15
+ this._messageService = _messageService;
16
+ this._serverService = _serverService;
17
+ this._authService = _authService;
18
+ this._authStorageService = _authStorageService;
19
+ this._title = _title;
20
+ this._router = _router;
21
+ this._route = _route;
22
+ // #region ==========> PROPERTIES <==========
23
+ // #region PRIVATE
24
+ this.domain = "";
25
+ this.user = "";
26
+ this.createPassword = false;
27
+ this.esqueceuSenhaText = "Enviamos um código para o seu e-mail.<br>Insira-o abaixo para redefinir sua senha.";
28
+ this.primeiroAcessoText = "Este é o seu primeiro acesso. Por favor,<br>Insira abaixo o código enviado pare seu<br>e-mail para definir sua senha.";
29
+ this.senhaExpiradaText = "Sua senha expirou e precisa ser atualizada.<br>Enviamos um código para o seu e-mail.<br>Insira-o abaixo para definir sua senha.";
30
+ this.cadeadoImg = 'assets/imgs/Property1-cadeado.png';
31
+ this.maoImg = 'assets/imgs/Property1-mao.png';
32
+ this.calendarioImg = 'assets/imgs/Property1-calendariofino.png';
33
+ // #region PRIVATE
34
+ // #region PUBLIC
35
+ // #region ==========> FORM BUILDER <==========
36
+ this.form = new FormGroup({});
37
+ this.passwordLabel = "";
38
+ this.statusSenha = 0;
39
+ }
40
+ ngOnInit() {
41
+ this._title.setTitle("Nova Senha");
42
+ this.createForm();
43
+ this.getParmsFromRoute();
44
+ this.form.get('password')?.disable();
45
+ this.form.get('confirmPassword')?.disable();
46
+ this.form.get('code')?.setValue('');
47
+ this.form.get('code')?.valueChanges.subscribe(value => {
48
+ if (value && value.length === 6) {
49
+ this.form.get('password')?.enable();
50
+ this.form.get('confirmPassword')?.enable();
51
+ }
52
+ else {
53
+ this.form.get('password')?.disable();
54
+ this.form.get('confirmPassword')?.disable();
55
+ }
56
+ });
57
+ }
58
+ // Propriedade necessário para que a classe static FormUtils possa ser utilizada no Html
59
+ get FormUtils() {
60
+ return FormUtils;
61
+ }
62
+ // #region FORM DATA
63
+ // Variáveis específicas para funcionalidades padrões dos formulários
64
+ get code() {
65
+ return this.form.get('code')?.value;
66
+ }
67
+ get password() {
68
+ return this.form.get('password')?.value;
69
+ }
70
+ get confirmPassword() {
71
+ return this.form.get('confirmPassword')?.value;
72
+ }
73
+ // #endregion FORM DATA
74
+ // #region FORM VALIDATORS
75
+ // #region PUBLIC
76
+ // Método para configuração dos campos de edição do formulário
77
+ createForm() {
78
+ this.form = this._formBuilder.group({
79
+ code: ['', [Validators.required, Validators.maxLength(6)]],
80
+ password: ['', [Validators.required, Validators.maxLength(100)]],
81
+ confirmPassword: ['', [Validators.required, Validators.maxLength(100)]]
82
+ });
83
+ this.form.get('code')?.setValue('');
84
+ this.form.get('password')?.setValue('');
85
+ this.form.get('confirmPassword')?.setValue('');
86
+ }
87
+ // #endregion FORM VALIDATORS
88
+ // #endregion ==========> FORM BUILDER <==========
89
+ // #region ==========> SERVICE METHODS <==========
90
+ // #region GET
91
+ /**
92
+ * Puxa o nome do servidor salvo na configuração da máquina
93
+ */
94
+ getServer() {
95
+ if (this.form.valid) {
96
+ this._serverService.getServer().subscribe({
97
+ next: response => {
98
+ },
99
+ error: (error) => {
100
+ //this._projectUtilservice.showHttpError(error);
101
+ this._messageService.showAlertDanger(error);
102
+ throw new Error(error);
103
+ },
104
+ });
105
+ }
106
+ else {
107
+ FormUtils.validateFields(this.form);
108
+ }
109
+ }
110
+ // #endregion GET
111
+ // #region POST
112
+ // Envia requisição para recuperar de senha
113
+ sendPassword() {
114
+ if (this.form.valid) {
115
+ this._serverService.getServer().subscribe({
116
+ next: response => {
117
+ this.updatePassword();
118
+ },
119
+ error: (error) => {
120
+ //this._projectUtilservice.showHttpError(error);
121
+ },
122
+ });
123
+ }
124
+ else {
125
+ FormUtils.validateFields(this.form);
126
+ }
127
+ }
128
+ // Recuperar senha
129
+ updatePassword() {
130
+ if (this.createPassword) {
131
+ this._authService.createPassword(this.domain, this.user, this.form.value).subscribe({
132
+ next: (response) => {
133
+ this._messageService.showAlertSuccess('Você definiu sua senha com sucesso. Preencha suas novas credenciais para acessar o sistema.');
134
+ this.cancelar();
135
+ },
136
+ error: (error) => {
137
+ //this._projectUtilservice.showHttpError(error);
138
+ this._messageService.showAlertDanger(error);
139
+ throw new Error(error);
140
+ },
141
+ });
142
+ }
143
+ else {
144
+ this._authService.recoverPassword(this.domain, this.user, this.form.value).subscribe({
145
+ next: (response) => {
146
+ this._messageService.showAlertSuccess('Você redefiniu sua senha com sucesso. Preencha suas novas credenciais para acessar o sistema.');
147
+ this.cancelar();
148
+ },
149
+ error: (error) => {
150
+ //this._projectUtilservice.showHttpError(error);
151
+ this._messageService.showAlertDanger(error);
152
+ throw new Error(error);
153
+ },
154
+ });
155
+ }
156
+ }
157
+ // #endregion POST
158
+ // #region UTILIDADES
159
+ getParmsFromRoute() {
160
+ if (this._route.snapshot.paramMap.get('param') != null) {
161
+ let param = atob(this._route.snapshot.paramMap.get('param'));
162
+ var params = param.split('$');
163
+ let numero = +params[params.length - 1].slice(-1);
164
+ this.statusSenha = numero;
165
+ this.createPassword = (params[0] == 'true' ? true : false);
166
+ this.domain = params[1];
167
+ this.user = params[2];
168
+ this.passwordLabel = (this.createPassword ? "Escolha sua nova senha" : "Digite uma nova Senha");
169
+ if (params[3] != null) {
170
+ this.form.get('code')?.setValue(params[3]);
171
+ }
172
+ }
173
+ else {
174
+ this.createPassword = false;
175
+ this.domain = "";
176
+ this.user = "";
177
+ }
178
+ }
179
+ // Retorno para o login
180
+ cancelar() {
181
+ this._authStorageService.logout();
182
+ this._router.navigate(["/auth/login"]);
183
+ }
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovaSenhaComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MessageService }, { token: i3.ServerService }, { token: i4.AuthService }, { token: i5.AuthStorageService }, { token: i6.Title }, { token: i7.Router }, { token: i7.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
185
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NovaSenhaComponent, selector: "app-nova-senha", ngImport: i0, template: "<body>\r\n\t<div id=\"main-container\">\r\n\t\t<!-- #region MAIN CONTENT -->\r\n\t\t<div class=\"glb-main-container password-container\">\r\n\t\t\t<div class=\"password-info-container\">\r\n\t\t\t\t<div class=\"img mb-3\">\r\n\t\t\t\t\t<img [src]=\"statusSenha == 2 ? calendarioImg : statusSenha == 1 ? maoImg : statusSenha == 3 ? cadeadoImg : '' \" width=\"125.69\" height=\"122\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"text\">\r\n\t\t\t\t\t<h4>{{statusSenha == 2 ? 'Senha expirada' : statusSenha == 1 ? 'Primeiro acesso' : statusSenha == 3 ? 'Esqueceu sua senha?' : ''}}</h4>\r\n\t\t\t\t\t<p [innerHTML]=\"statusSenha == 2 ? senhaExpiradaText : statusSenha == 1 ? primeiroAcessoText : statusSenha == 3 ? esqueceuSenhaText : '' \"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<form [formGroup]=\"form\">\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputCode\" class=\"form-label\"> C\u00F3digo de valida\u00E7\u00E3o <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"Insira seu c\u00F3digo aqui...\" id=\"inputCode\" class=\"form-control\" formControlName=\"code\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('code'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('code')\" label=\"C\u00F3digo de valida\u00E7\u00E3o\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputPassword\" class=\"form-label\"> Digite uma nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite sua nova senha...\" id=\"inputPassword\" class=\"form-control\" formControlName=\"password\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('password'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('password')\" label=\"{{ passwordLabel }}\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputConfirmPassword\" class=\"form-label\"> Confirme sua nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite a senha novamente...\" id=\"inputConfirmPassword\" class=\"form-control\" formControlName=\"confirmPassword\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('confirmPassword'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('confirmPassword')\" label=\"Confirme sua Senha\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendPassword()\">\r\n\t\t\t\t\t\t\t<span> Redefinir senha </span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn modal-button cancelar-btn\" (click)=\"cancelar()\">\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<span><span class=\"icon\"><lib-icon iconName=\"p-seta-esquerda\" [iconSize]=\"20\"/></span>Voltar para a tela de login</span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</div>\r\n\t\t<!-- #endregion MAIN CONTENT -->\r\n\t</div>\r\n\t</body>\r\n\t", styles: ["body{background-color:#f5f5f5;height:100%!important;margin:0!important;padding:0!important}#main-container{display:flex;align-items:center;justify-content:center;height:100%}.password-container{padding:30px;width:37%;border:none;box-shadow:0 2px -1px #0000001a}.img{width:26%}.text{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto}.text h4{font-weight:700}.text p{text-align:start}.password-info-container{display:flex;gap:15px}.btns{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}button{width:100%;padding:10px;border:none}button .cancelar-btn{background-color:none}.cancelar-btn span{color:#6c757d;font-weight:700}input{padding:10px}input::placeholder{color:#8d8d8d;font-size:15px}.icon{margin-right:5px;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.FieldErrorMessageComponent, selector: "app-field-error-message, lib-error-message", inputs: ["customMessage", "control", "label"] }, { kind: "component", type: i2.LibIconsComponent, selector: "lib-icon", inputs: ["iconName", "iconColor", "iconSize", "iconFill"] }], preserveWhitespaces: true }); }
186
+ }
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NovaSenhaComponent, decorators: [{
188
+ type: Component,
189
+ args: [{ selector: 'app-nova-senha', preserveWhitespaces: true, template: "<body>\r\n\t<div id=\"main-container\">\r\n\t\t<!-- #region MAIN CONTENT -->\r\n\t\t<div class=\"glb-main-container password-container\">\r\n\t\t\t<div class=\"password-info-container\">\r\n\t\t\t\t<div class=\"img mb-3\">\r\n\t\t\t\t\t<img [src]=\"statusSenha == 2 ? calendarioImg : statusSenha == 1 ? maoImg : statusSenha == 3 ? cadeadoImg : '' \" width=\"125.69\" height=\"122\">\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"text\">\r\n\t\t\t\t\t<h4>{{statusSenha == 2 ? 'Senha expirada' : statusSenha == 1 ? 'Primeiro acesso' : statusSenha == 3 ? 'Esqueceu sua senha?' : ''}}</h4>\r\n\t\t\t\t\t<p [innerHTML]=\"statusSenha == 2 ? senhaExpiradaText : statusSenha == 1 ? primeiroAcessoText : statusSenha == 3 ? esqueceuSenhaText : '' \"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<form [formGroup]=\"form\">\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputCode\" class=\"form-label\"> C\u00F3digo de valida\u00E7\u00E3o <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"text\" placeholder=\"Insira seu c\u00F3digo aqui...\" id=\"inputCode\" class=\"form-control\" formControlName=\"code\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('code'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('code')\" label=\"C\u00F3digo de valida\u00E7\u00E3o\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputPassword\" class=\"form-label\"> Digite uma nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite sua nova senha...\" id=\"inputPassword\" class=\"form-control\" formControlName=\"password\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('password'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('password')\" label=\"{{ passwordLabel }}\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t\t\t\t<label for=\"inputConfirmPassword\" class=\"form-label\"> Confirme sua nova Senha <span class=\"text-danger\">*</span></label>\r\n\t\t\t\t\t\t<input type=\"password\" placeholder=\"Digite a senha novamente...\" id=\"inputConfirmPassword\" class=\"form-control\" formControlName=\"confirmPassword\"\r\n\t\t\t\t\t\t\t[class.is-invalid]=\"FormUtils.isInvalidField(form.get('confirmPassword'))\">\r\n\t\t\t\t\t\t<app-field-error-message [control]=\"form.get('confirmPassword')\" label=\"Confirme sua Senha\"></app-field-error-message>\t\t\t\t\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-primary modal-button\" (click)=\"sendPassword()\">\r\n\t\t\t\t\t\t\t<span> Redefinir senha </span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<button type=\"button\" class=\"btn modal-button cancelar-btn\" (click)=\"cancelar()\">\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<span><span class=\"icon\"><lib-icon iconName=\"p-seta-esquerda\" [iconSize]=\"20\"/></span>Voltar para a tela de login</span>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</div>\r\n\t\t<!-- #endregion MAIN CONTENT -->\r\n\t</div>\r\n\t</body>\r\n\t", styles: ["body{background-color:#f5f5f5;height:100%!important;margin:0!important;padding:0!important}#main-container{display:flex;align-items:center;justify-content:center;height:100%}.password-container{padding:30px;width:37%;border:none;box-shadow:0 2px -1px #0000001a}.img{width:26%}.text{display:flex;flex-direction:column;align-items:flex-start;margin-left:auto}.text h4{font-weight:700}.text p{text-align:start}.password-info-container{display:flex;gap:15px}.btns{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}button{width:100%;padding:10px;border:none}button .cancelar-btn{background-color:none}.cancelar-btn span{color:#6c757d;font-weight:700}input{padding:10px}input::placeholder{color:#8d8d8d;font-size:15px}.icon{margin-right:5px;font-weight:700}\n"] }]
190
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MessageService }, { type: i3.ServerService }, { type: i4.AuthService }, { type: i5.AuthStorageService }, { type: i6.Title }, { type: i7.Router }, { type: i7.ActivatedRoute }] });
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm92YS1zZW5oYWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zcC1hdXRoL3NyYy9saWIvY29tcG9uZW50cy9ub3ZhLXNlbmhhL25vdmEtc2VuaGFjb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2NvbXBvbmVudHMvbm92YS1zZW5oYS9ub3ZhLXNlbmhhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFlLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0FBV3pELE1BQU0sT0FBTyxrQkFBa0I7SUFFOUIsWUFDUyxZQUF5QixFQUN6QixlQUErQixFQUMvQixjQUE2QixFQUM3QixZQUF5QixFQUN6QixtQkFBdUMsRUFDdkMsTUFBYSxFQUNiLE9BQWUsRUFDZixNQUFzQjtRQVB0QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBMkIvQiw2Q0FBNkM7UUFFN0Msa0JBQWtCO1FBQ1YsV0FBTSxHQUFrQixFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFrQixFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFakMsc0JBQWlCLEdBQVcsb0ZBQW9G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LE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBRWhHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUVGLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUVGLENBQUM7SUFFRCx1QkFBdUI7SUFDaEIsUUFBUTtRQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0EvTlcsa0JBQWtCO21HQUFsQixrQkFBa0Isc0RDaEIvQixzekdBc0RDOzs0RkR0Q1ksa0JBQWtCO2tCQU45QixTQUFTOytCQUNDLGdCQUFnQix1QkFHTCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBGb3JtVXRpbHMsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LXNwLWluZnJhJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmVyL3NlcnZlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3RvcmFnZS9hdXRoLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1ub3ZhLXNlbmhhJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbm92YS1zZW5oYS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbm92YS1zZW5oYS5jb21wb25lbnQuc2NzcyddLFxyXG5cdHByZXNlcnZlV2hpdGVzcGFjZXM6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3ZhU2VuaGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuXHRcdHByaXZhdGUgX21lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3NlcnZlclNlcnZpY2U6IFNlcnZlclNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9hdXRoU3RvcmFnZVNlcnZpY2U6IEF1dGhTdG9yYWdlU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3RpdGxlOiBUaXRsZSxcclxuXHRcdHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcblx0KSB7IH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG5cdFx0dGhpcy5fdGl0bGUuc2V0VGl0bGUoXCJOb3ZhIFNlbmhhXCIpO1xyXG5cclxuXHRcdHRoaXMuY3JlYXRlRm9ybSgpO1xyXG5cclxuXHRcdHRoaXMuZ2V0UGFybXNGcm9tUm91dGUoKTtcclxuXHJcblx0XHR0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpPy5kaXNhYmxlKCk7XHJcblx0XHR0aGlzLmZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8uZGlzYWJsZSgpO1xyXG5cclxuXHRcdHRoaXMuZm9ybS5nZXQoJ2NvZGUnKT8uc2V0VmFsdWUoJycpO1xyXG5cclxuXHRcdHRoaXMuZm9ybS5nZXQoJ2NvZGUnKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcblx0XHRcdGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPT09IDYpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZ2V0KCdwYXNzd29yZCcpPy5lbmFibGUoKTtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8uZW5hYmxlKCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKT8uZGlzYWJsZSgpO1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5kaXNhYmxlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Ly8gI3JlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XHJcblxyXG5cdC8vICNyZWdpb24gUFJJVkFURVxyXG5cdHByaXZhdGUgZG9tYWluOiBzdHJpbmcgfCBudWxsID0gXCJcIjtcclxuXHRwcml2YXRlIHVzZXI6IHN0cmluZyB8IG51bGwgPSBcIlwiO1xyXG5cdHByaXZhdGUgY3JlYXRlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0cHVibGljIGVzcXVlY2V1U2VuaGFUZXh0OiBzdHJpbmcgPSBcIkVudmlhbW9zIHVtIGPDs2RpZ28gcGFyYSBvIHNldSBlLW1haWwuPGJyPkluc2lyYS1vIGFiYWl4byBwYXJhIHJlZGVmaW5pciBzdWEgc2VuaGEuXCJcclxuXHRwdWJsaWMgcHJpbWVpcm9BY2Vzc29UZXh0OiBzdHJpbmcgPSBcIkVzdGUgw6kgbyBzZXUgcHJpbWVpcm8gYWNlc3NvLiBQb3IgZmF2b3IsPGJyPkluc2lyYSBhYmFpeG8gbyBjw7NkaWdvIGVudmlhZG8gcGFyZSBzZXU8YnI+ZS1tYWlsIHBhcmEgZGVmaW5pciBzdWEgc2VuaGEuXCJcclxuXHRwdWJsaWMgc2VuaGFFeHBpcmFkYVRleHQ6IHN0cmluZyA9IFwiU3VhIHNlbmhhIGV4cGlyb3UgZSBwcmVjaXNhIHNlciBhdHVhbGl6YWRhLjxicj5FbnZpYW1vcyB1bSBjw7NkaWdvIHBhcmEgbyBzZXUgZS1tYWlsLjxicj5JbnNpcmEtbyBhYmFpeG8gcGFyYSBkZWZpbmlyIHN1YSBzZW5oYS5cIlxyXG5cclxuXHRwdWJsaWMgY2FkZWFkb0ltZyA9ICdhc3NldHMvaW1ncy9Qcm9wZXJ0eTEtY2FkZWFkby5wbmcnO1xyXG5cdHB1YmxpYyBtYW9JbWcgPSAnYXNzZXRzL2ltZ3MvUHJvcGVydHkxLW1hby5wbmcnO1xyXG5cdHB1YmxpYyBjYWxlbmRhcmlvSW1nID0gJ2Fzc2V0cy9pbWdzL1Byb3BlcnR5MS1jYWxlbmRhcmlvZmluby5wbmcnO1xyXG5cclxuXHQvLyAjcmVnaW9uIFBSSVZBVEVcclxuXHJcblx0Ly8gI3JlZ2lvbiBQVUJMSUNcclxuXHJcblx0Ly8gI3JlZ2lvbiA9PT09PT09PT09PiBGT1JNIEJVSUxERVIgPD09PT09PT09PT1cclxuXHRwdWJsaWMgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG5cdC8vICBQcm9wcmllZGFkZSBuZWNlc3PDoXJpbyBwYXJhIHF1ZSBhIGNsYXNzZSBzdGF0aWMgRm9ybVV0aWxzIHBvc3NhIHNlciB1dGlsaXphZGEgbm8gSHRtbFxyXG5cdHB1YmxpYyBnZXQgRm9ybVV0aWxzKCk6IHR5cGVvZiBGb3JtVXRpbHMge1xyXG5cdFx0cmV0dXJuIEZvcm1VdGlscztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBwYXNzd29yZExhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuXHRwdWJsaWMgc3RhdHVzU2VuaGE6IG51bWJlciA9IDA7XHJcblxyXG5cdC8vICNyZWdpb24gRk9STSBEQVRBXHJcblxyXG5cdC8vICBWYXJpw6F2ZWlzIGVzcGVjw61maWNhcyBwYXJhIGZ1bmNpb25hbGlkYWRlcyBwYWRyw7VlcyBkb3MgZm9ybXVsw6FyaW9zXHJcblx0cHVibGljIGdldCBjb2RlKCk6IHN0cmluZyB8IG51bGwge1xyXG5cdFx0cmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2NvZGUnKT8udmFsdWU7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IHBhc3N3b3JkKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5mb3JtLmdldCgncGFzc3dvcmQnKT8udmFsdWU7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IGNvbmZpcm1QYXNzd29yZCgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy52YWx1ZTtcclxuXHR9XHJcblxyXG5cdC8vICNlbmRyZWdpb24gRk9STSBEQVRBXHJcblxyXG5cdC8vICNyZWdpb24gRk9STSBWQUxJREFUT1JTXHJcblxyXG5cdC8vICNyZWdpb24gUFVCTElDXHJcblxyXG5cdC8vICBNw6l0b2RvIHBhcmEgY29uZmlndXJhw6fDo28gZG9zIGNhbXBvcyBkZSBlZGnDp8OjbyBkbyBmb3JtdWzDoXJpb1xyXG5cdHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcclxuXHJcblx0XHR0aGlzLmZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cCh7XHJcblx0XHRcdGNvZGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDYpXV0sXHJcblx0XHRcdHBhc3N3b3JkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXV0sXHJcblx0XHRcdGNvbmZpcm1QYXNzd29yZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV1dXHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmZvcm0uZ2V0KCdjb2RlJyk/LnNldFZhbHVlKCcnKTtcclxuXHRcdHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJyk/LnNldFZhbHVlKCcnKTtcclxuXHRcdHRoaXMuZm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpPy5zZXRWYWx1ZSgnJyk7XHJcblx0fVxyXG5cclxuXHQvLyAjZW5kcmVnaW9uIEZPUk0gVkFMSURBVE9SU1xyXG5cclxuXHQvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IEZPUk0gQlVJTERFUiA8PT09PT09PT09PVxyXG5cclxuXHQvLyAjcmVnaW9uID09PT09PT09PT0+IFNFUlZJQ0UgTUVUSE9EUyA8PT09PT09PT09PVxyXG5cclxuXHJcblx0Ly8gI3JlZ2lvbiBHRVRcclxuXHJcblx0LyoqXHJcblx0ICogUHV4YSBvIG5vbWUgZG8gc2Vydmlkb3Igc2Fsdm8gbmEgY29uZmlndXJhw6fDo28gZGEgbcOhcXVpbmFcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0U2VydmVyKCk6IHZvaWQge1xyXG5cclxuXHRcdGlmICh0aGlzLmZvcm0udmFsaWQpIHtcclxuXHRcdFx0dGhpcy5fc2VydmVyU2VydmljZS5nZXRTZXJ2ZXIoKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdG5leHQ6IHJlc3BvbnNlID0+IHtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGVycm9yOiAoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdC8vdGhpcy5fcHJvamVjdFV0aWxzZXJ2aWNlLnNob3dIdHRwRXJyb3IoZXJyb3IpO1xyXG5cdFx0XHRcdFx0dGhpcy5fbWVzc2FnZVNlcnZpY2Uuc2hvd0FsZXJ0RGFuZ2VyKGVycm9yKTtcclxuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihlcnJvcilcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Rm9ybVV0aWxzLnZhbGlkYXRlRmllbGRzKHRoaXMuZm9ybSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8vICNlbmRyZWdpb24gR0VUXHJcblxyXG5cdC8vICNyZWdpb24gUE9TVFxyXG5cclxuXHQvLyBFbnZpYSByZXF1aXNpw6fDo28gcGFyYSByZWN1cGVyYXIgZGUgc2VuaGFcclxuXHRwdWJsaWMgc2VuZFBhc3N3b3JkKCk6IHZvaWQge1xyXG5cclxuXHRcdGlmICh0aGlzLmZvcm0udmFsaWQpIHtcclxuXHRcdFx0dGhpcy5fc2VydmVyU2VydmljZS5nZXRTZXJ2ZXIoKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdG5leHQ6IHJlc3BvbnNlID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudXBkYXRlUGFzc3dvcmQoKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGVycm9yOiAoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdC8vdGhpcy5fcHJvamVjdFV0aWxzZXJ2aWNlLnNob3dIdHRwRXJyb3IoZXJyb3IpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdH0pXHJcblxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Rm9ybVV0aWxzLnZhbGlkYXRlRmllbGRzKHRoaXMuZm9ybSk7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0Ly8gUmVjdXBlcmFyIHNlbmhhXHJcblx0cHVibGljIHVwZGF0ZVBhc3N3b3JkKCk6IHZvaWQge1xyXG5cclxuXHRcdGlmICh0aGlzLmNyZWF0ZVBhc3N3b3JkKSB7XHJcblx0XHRcdHRoaXMuX2F1dGhTZXJ2aWNlLmNyZWF0ZVBhc3N3b3JkKHRoaXMuZG9tYWluISwgdGhpcy51c2VyISwgdGhpcy5mb3JtLnZhbHVlKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5fbWVzc2FnZVNlcnZpY2Uuc2hvd0FsZXJ0U3VjY2VzcygnVm9jw6ogZGVmaW5pdSBzdWEgc2VuaGEgY29tIHN1Y2Vzc28uIFByZWVuY2hhIHN1YXMgbm92YXMgY3JlZGVuY2lhaXMgcGFyYSBhY2Vzc2FyIG8gc2lzdGVtYS4nKTtcclxuXHJcblx0XHRcdFx0XHR0aGlzLmNhbmNlbGFyKCk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnJvcjogKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHQvL3RoaXMuX3Byb2plY3RVdGlsc2VydmljZS5zaG93SHR0cEVycm9yKGVycm9yKTtcclxuXHRcdFx0XHRcdHRoaXMuX21lc3NhZ2VTZXJ2aWNlLnNob3dBbGVydERhbmdlcihlcnJvcik7XHJcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoZXJyb3IpXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5fYXV0aFNlcnZpY2UucmVjb3ZlclBhc3N3b3JkKHRoaXMuZG9tYWluISwgdGhpcy51c2VyISwgdGhpcy5mb3JtLnZhbHVlKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5fbWVzc2FnZVNlcnZpY2Uuc2hvd0FsZXJ0U3VjY2VzcygnVm9jw6ogcmVkZWZpbml1IHN1YSBzZW5oYSBjb20gc3VjZXNzby4gUHJlZW5jaGEgc3VhcyBub3ZhcyBjcmVkZW5jaWFpcyBwYXJhIGFjZXNzYXIgbyBzaXN0ZW1hLicpO1xyXG5cclxuXHRcdFx0XHRcdHRoaXMuY2FuY2VsYXIoKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGVycm9yOiAoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdC8vdGhpcy5fcHJvamVjdFV0aWxzZXJ2aWNlLnNob3dIdHRwRXJyb3IoZXJyb3IpO1xyXG5cdFx0XHRcdFx0dGhpcy5fbWVzc2FnZVNlcnZpY2Uuc2hvd0FsZXJ0RGFuZ2VyKGVycm9yKTtcclxuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihlcnJvcilcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHQvLyAjZW5kcmVnaW9uIFBPU1RcclxuXHJcblx0Ly8gI3JlZ2lvbiBVVElMSURBREVTXHJcblx0cHJpdmF0ZSBnZXRQYXJtc0Zyb21Sb3V0ZSgpOiB2b2lkIHtcclxuXHJcblx0XHRpZiAodGhpcy5fcm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdwYXJhbScpICE9IG51bGwpIHtcclxuXHRcdFx0bGV0IHBhcmFtOiBzdHJpbmcgPSBhdG9iKHRoaXMuX3JvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgncGFyYW0nKSEpO1xyXG5cclxuXHRcdFx0dmFyIHBhcmFtcyA9IHBhcmFtLnNwbGl0KCckJyk7XHJcblxyXG5cdFx0XHRsZXQgbnVtZXJvOiBudW1iZXIgPSArcGFyYW1zW3BhcmFtcy5sZW5ndGggLSAxXS5zbGljZSgtMSlcclxuXHRcdFx0dGhpcy5zdGF0dXNTZW5oYSA9IG51bWVybztcclxuXHJcblx0XHRcdHRoaXMuY3JlYXRlUGFzc3dvcmQgPSAocGFyYW1zWzBdID09ICd0cnVlJyA/IHRydWUgOiBmYWxzZSk7XHJcblx0XHRcdHRoaXMuZG9tYWluID0gcGFyYW1zWzFdO1xyXG5cdFx0XHR0aGlzLnVzZXIgPSBwYXJhbXNbMl07XHJcblx0XHRcdHRoaXMucGFzc3dvcmRMYWJlbCA9ICh0aGlzLmNyZWF0ZVBhc3N3b3JkID8gXCJFc2NvbGhhIHN1YSBub3ZhIHNlbmhhXCIgOiBcIkRpZ2l0ZSB1bWEgbm92YSBTZW5oYVwiKTtcclxuXHJcblx0XHRcdGlmIChwYXJhbXNbM10gIT0gbnVsbCkge1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5nZXQoJ2NvZGUnKT8uc2V0VmFsdWUocGFyYW1zWzNdKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY3JlYXRlUGFzc3dvcmQgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5kb21haW4gPSBcIlwiO1xyXG5cdFx0XHR0aGlzLnVzZXIgPSBcIlwiO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdC8vIFJldG9ybm8gcGFyYSBvIGxvZ2luXHJcblx0cHVibGljIGNhbmNlbGFyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fYXV0aFN0b3JhZ2VTZXJ2aWNlLmxvZ291dCgpO1xyXG5cclxuXHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbXCIvYXV0aC9sb2dpblwiXSk7XHJcblx0fVxyXG5cclxuXHQvLyAjZW5kcmVnaW9uIFVUSUxJREFERVNcclxuXHJcblx0Ly8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBTRVJWSUNFIE1FVEhPRFMgPD09PT09PT09PT1cclxuXHJcblx0Ly8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cclxuXHJcbn1cclxuIiwiPGJvZHk+XHJcblx0PGRpdiBpZD1cIm1haW4tY29udGFpbmVyXCI+XHJcblx0XHQ8IS0tICNyZWdpb24gTUFJTiBDT05URU5UIC0tPlxyXG5cdFx0PGRpdiBjbGFzcz1cImdsYi1tYWluLWNvbnRhaW5lciBwYXNzd29yZC1jb250YWluZXJcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInBhc3N3b3JkLWluZm8tY29udGFpbmVyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImltZyBtYi0zXCI+XHJcblx0XHRcdFx0XHQ8aW1nIFtzcmNdPVwic3RhdHVzU2VuaGEgPT0gMiA/IGNhbGVuZGFyaW9JbWcgOiBzdGF0dXNTZW5oYSA9PSAxID8gbWFvSW1nIDogc3RhdHVzU2VuaGEgPT0gMyA/IGNhZGVhZG9JbWcgOiAnJyBcIiB3aWR0aD1cIjEyNS42OVwiIGhlaWdodD1cIjEyMlwiPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdFx0XHQ8aDQ+e3tzdGF0dXNTZW5oYSA9PSAyID8gJ1NlbmhhIGV4cGlyYWRhJyA6IHN0YXR1c1NlbmhhID09IDEgPyAnUHJpbWVpcm8gYWNlc3NvJyA6IHN0YXR1c1NlbmhhID09IDMgPyAnRXNxdWVjZXUgc3VhIHNlbmhhPycgOiAnJ319PC9oND5cclxuXHRcdFx0XHRcdDxwIFtpbm5lckhUTUxdPVwic3RhdHVzU2VuaGEgPT0gMiA/IHNlbmhhRXhwaXJhZGFUZXh0IDogc3RhdHVzU2VuaGEgPT0gMSA/IHByaW1laXJvQWNlc3NvVGV4dCA6IHN0YXR1c1NlbmhhID09IDMgPyBlc3F1ZWNldVNlbmhhVGV4dCA6ICcnIFwiPjwvcD5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItM1wiPlxyXG5cdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwiaW5wdXRDb2RlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+IEPDs2RpZ28gZGUgdmFsaWRhw6fDo28gPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPio8L3NwYW4+PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJJbnNpcmEgc2V1IGPDs2RpZ28gYXF1aS4uLlwiIGlkPVwiaW5wdXRDb2RlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJjb2RlXCJcclxuXHRcdFx0XHRcdFx0XHRbY2xhc3MuaXMtaW52YWxpZF09XCJGb3JtVXRpbHMuaXNJbnZhbGlkRmllbGQoZm9ybS5nZXQoJ2NvZGUnKSlcIj5cclxuXHRcdFx0XHRcdFx0PGFwcC1maWVsZC1lcnJvci1tZXNzYWdlIFtjb250cm9sXT1cImZvcm0uZ2V0KCdjb2RlJylcIiBsYWJlbD1cIkPDs2RpZ28gZGUgdmFsaWRhw6fDo29cIj48L2FwcC1maWVsZC1lcnJvci1tZXNzYWdlPlx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTNcIj5cclxuXHRcdFx0XHRcdFx0PGxhYmVsIGZvcj1cImlucHV0UGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj4gRGlnaXRlIHVtYSBub3ZhIFNlbmhhIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPjwvbGFiZWw+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIkRpZ2l0ZSBzdWEgbm92YSBzZW5oYS4uLlwiIGlkPVwiaW5wdXRQYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIlxyXG5cdFx0XHRcdFx0XHRcdFtjbGFzcy5pcy1pbnZhbGlkXT1cIkZvcm1VdGlscy5pc0ludmFsaWRGaWVsZChmb3JtLmdldCgncGFzc3dvcmQnKSlcIj5cclxuXHRcdFx0XHRcdFx0PGFwcC1maWVsZC1lcnJvci1tZXNzYWdlIFtjb250cm9sXT1cImZvcm0uZ2V0KCdwYXNzd29yZCcpXCIgbGFiZWw9XCJ7eyBwYXNzd29yZExhYmVsIH19XCI+PC9hcHAtZmllbGQtZXJyb3ItbWVzc2FnZT5cdFx0XHRcdFxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC0xMiBtYi0zXCI+XHJcblx0XHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJpbnB1dENvbmZpcm1QYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPiBDb25maXJtZSBzdWEgbm92YSBTZW5oYSA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCJEaWdpdGUgYSBzZW5oYSBub3ZhbWVudGUuLi5cIiBpZD1cImlucHV0Q29uZmlybVBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJjb25maXJtUGFzc3dvcmRcIlxyXG5cdFx0XHRcdFx0XHRcdFtjbGFzcy5pcy1pbnZhbGlkXT1cIkZvcm1VdGlscy5pc0ludmFsaWRGaWVsZChmb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJykpXCI+XHJcblx0XHRcdFx0XHRcdDxhcHAtZmllbGQtZXJyb3ItbWVzc2FnZSBbY29udHJvbF09XCJmb3JtLmdldCgnY29uZmlybVBhc3N3b3JkJylcIiBsYWJlbD1cIkNvbmZpcm1lIHN1YSBTZW5oYVwiPjwvYXBwLWZpZWxkLWVycm9yLW1lc3NhZ2U+XHRcdFx0XHRcclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bnNcIj5cclxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbW9kYWwtYnV0dG9uXCIgKGNsaWNrKT1cInNlbmRQYXNzd29yZCgpXCI+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4+IFJlZGVmaW5pciBzZW5oYSA8L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBtb2RhbC1idXR0b24gY2FuY2VsYXItYnRuXCIgKGNsaWNrKT1cImNhbmNlbGFyKClcIj5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuPjxzcGFuIGNsYXNzPVwiaWNvblwiPjxsaWItaWNvbiBpY29uTmFtZT1cInAtc2V0YS1lc3F1ZXJkYVwiIFtpY29uU2l6ZV09XCIyMFwiLz48L3NwYW4+Vm9sdGFyIHBhcmEgYSB0ZWxhIGRlIGxvZ2luPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Zvcm0+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDwhLS0gI2VuZHJlZ2lvbiBNQUlOIENPTlRFTlQgLS0+XHJcblx0PC9kaXY+XHJcblx0PC9ib2R5PlxyXG5cdCJdfQ==
@@ -0,0 +1,52 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LibCustomLoginService {
4
+ constructor() { }
5
+ // #endregion Propriedade Customizadas para o Componente login.component.ts
6
+ // #region Métodos Customizadas para o Componente auth.service.ts
7
+ /**
8
+ * Método executado no auth.service.ts - método: login ()
9
+ * Utilizado para inicializações diversas
10
+ */
11
+ authLogin() {
12
+ this.storedAuthLogin;
13
+ }
14
+ /**
15
+ * Método executado no auth.service.ts - método: logout ()
16
+ * Utilizado para inicializações diversas
17
+ */
18
+ authLogout() {
19
+ this.storedAuthLogout;
20
+ }
21
+ /**
22
+ * Método executado no auth.service.ts - método: login ()
23
+ * Utilizado para informar o redirecionamento para a tela inicial após o login ok
24
+ *
25
+ * @param router Objeto de Router que será utilizado
26
+ */
27
+ authNavigateToPage(router) {
28
+ router.navigate(["/home"]);
29
+ }
30
+ ConfigurarCustomLogin(customLoginService) {
31
+ //passando propriedades do produto para a lib
32
+ this.loginTitle = customLoginService.loginTitle;
33
+ this.loginSubtitle = customLoginService.loginSubtitle;
34
+ this.loginBackground = customLoginService.loginBackground;
35
+ this.loginLogotipo = customLoginService.loginLogotipo;
36
+ this.loginAltLogotipo = customLoginService.loginAltLogotipo;
37
+ this.loginPageTitle = customLoginService.loginPageTitle;
38
+ this.loginDesenvDomain = customLoginService.loginDesenvDomain;
39
+ this.loginDesenvUser = customLoginService.loginDesenvUser;
40
+ this.loginDesenvPassword = customLoginService.loginDesenvPassword;
41
+ //passando implementação dos métodos do produto para a lib
42
+ this.storedAuthLogin = customLoginService.authLogin;
43
+ this.storedAuthLogout = customLoginService.authLogout;
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomLoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomLoginService, providedIn: 'root' }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibCustomLoginService, decorators: [{
49
+ type: Injectable,
50
+ args: [{ providedIn: 'root' }]
51
+ }], ctorParameters: () => [] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWxvZ2luLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtYXV0aC9zcmMvbGliL2N1c3RvbS9jdXN0b20tbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLGdCQUFnQixDQUFDO0lBWWpCLDJFQUEyRTtJQUUzRSxpRUFBaUU7SUFFakU7OztPQUdHO0lBQ0ksU0FBUztRQUNaLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUE7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksa0JBQWtCLENBQUMsTUFBYztRQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBU00scUJBQXFCLENBQUMsa0JBQXVDO1FBRWhFLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQTtRQUUvQyxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQTtRQUVyRCxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDLGVBQWUsQ0FBQTtRQUV6RCxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQTtRQUVyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUE7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUE7UUFFdkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDLGlCQUFpQixDQUFBO1FBRTdELElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsZUFBZSxDQUFBO1FBRXpELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQTtRQUVqRSwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUMxRCxDQUFDOytHQTFFUSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZoQixNQUFNOzs0RkFFWCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQ1AsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJQ3VzdG9tTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi9tb2RlbHMvaWN1c3RvbS1sb2dpbi1zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKFxyXG4gICAgeyBwcm92aWRlZEluOiAncm9vdCcgfVxyXG4pXHJcbmV4cG9ydCBjbGFzcyBMaWJDdXN0b21Mb2dpblNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICAvLyAjcmVnaW9uIFByb3ByaWVkYWRlIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBsb2dpbi5jb21wb25lbnQudHNcclxuICAgIGxvZ2luVGl0bGUhOiBzdHJpbmc7XHJcbiAgICBsb2dpblN1YnRpdGxlITogc3RyaW5nO1xyXG4gICAgbG9naW5CYWNrZ3JvdW5kITogc3RyaW5nO1xyXG4gICAgbG9naW5Mb2dvdGlwbyE6IHN0cmluZztcclxuICAgIGxvZ2luQWx0TG9nb3RpcG8hOiBzdHJpbmc7XHJcbiAgICBsb2dpblBhZ2VUaXRsZSE6IHN0cmluZztcclxuICAgIGxvZ2luRGVzZW52RG9tYWluITogc3RyaW5nO1xyXG4gICAgbG9naW5EZXNlbnZVc2VyITogc3RyaW5nO1xyXG4gICAgbG9naW5EZXNlbnZQYXNzd29yZCE6IHN0cmluZztcclxuICAgIC8vICNlbmRyZWdpb24gUHJvcHJpZWRhZGUgQ3VzdG9taXphZGFzIHBhcmEgbyBDb21wb25lbnRlIGxvZ2luLmNvbXBvbmVudC50c1xyXG5cclxuICAgIC8vICNyZWdpb24gTcOpdG9kb3MgQ3VzdG9taXphZGFzIHBhcmEgbyBDb21wb25lbnRlIGF1dGguc2VydmljZS50c1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTcOpdG9kbyBleGVjdXRhZG8gbm8gYXV0aC5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogbG9naW4gKClcclxuICAgICAqIFV0aWxpemFkbyBwYXJhIGluaWNpYWxpemHDp8O1ZXMgZGl2ZXJzYXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGF1dGhMb2dpbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0b3JlZEF1dGhMb2dpblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTcOpdG9kbyBleGVjdXRhZG8gbm8gYXV0aC5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogbG9nb3V0ICgpXHJcbiAgICAgKiBVdGlsaXphZG8gcGFyYSBpbmljaWFsaXphw6fDtWVzIGRpdmVyc2FzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhdXRoTG9nb3V0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RvcmVkQXV0aExvZ291dFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTcOpdG9kbyBleGVjdXRhZG8gbm8gYXV0aC5zZXJ2aWNlLnRzIC0gbcOpdG9kbzogbG9naW4gKClcclxuICAgICAqIFV0aWxpemFkbyBwYXJhIGluZm9ybWFyIG8gcmVkaXJlY2lvbmFtZW50byBwYXJhIGEgdGVsYSBpbmljaWFsIGFww7NzIG8gbG9naW4gb2tcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHJvdXRlciBPYmpldG8gZGUgUm91dGVyIHF1ZSBzZXLDoSB1dGlsaXphZG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGF1dGhOYXZpZ2F0ZVRvUGFnZShyb3V0ZXI6IFJvdXRlcik6IHZvaWQge1xyXG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbXCIvaG9tZVwiXSk7XHJcbiAgICB9XHJcbiAgICAvLyAjZW5kcmVnaW9uIE3DqXRvZG9zIEN1c3RvbWl6YWRhcyBwYXJhIG8gQ29tcG9uZW50ZSBhdXRoLnNlcnZpY2UudHNcclxuXHJcbiAgICAvLyAjcmVnaW9uIFVUSUxTXHJcblxyXG4gICAgcHVibGljIHN0b3JlZEF1dGhMb2dpbiE6ICgpID0+IHZvaWQ7XHJcbiAgICBwdWJsaWMgc3RvcmVkQXV0aExvZ291dCE6ICgpID0+IHZvaWQ7XHJcbiAgICBwdWJsaWMgc3RvcmVkQXV0aE5hdmlnYXRlVG9QYWdlITogKHJvdXRlcjogUm91dGVyKSA9PiB2b2lkO1xyXG5cclxuICAgIHB1YmxpYyBDb25maWd1cmFyQ3VzdG9tTG9naW4oY3VzdG9tTG9naW5TZXJ2aWNlOiBJQ3VzdG9tTG9naW5TZXJ2aWNlKTogdm9pZCB7XHJcblxyXG4gICAgICAgIC8vcGFzc2FuZG8gcHJvcHJpZWRhZGVzIGRvIHByb2R1dG8gcGFyYSBhIGxpYlxyXG4gICAgICAgIHRoaXMubG9naW5UaXRsZSA9IGN1c3RvbUxvZ2luU2VydmljZS5sb2dpblRpdGxlXHJcblxyXG4gICAgICAgIHRoaXMubG9naW5TdWJ0aXRsZSA9IGN1c3RvbUxvZ2luU2VydmljZS5sb2dpblN1YnRpdGxlXHJcblxyXG4gICAgICAgIHRoaXMubG9naW5CYWNrZ3JvdW5kID0gY3VzdG9tTG9naW5TZXJ2aWNlLmxvZ2luQmFja2dyb3VuZFxyXG5cclxuICAgICAgICB0aGlzLmxvZ2luTG9nb3RpcG8gPSBjdXN0b21Mb2dpblNlcnZpY2UubG9naW5Mb2dvdGlwb1xyXG5cclxuICAgICAgICB0aGlzLmxvZ2luQWx0TG9nb3RpcG8gPSBjdXN0b21Mb2dpblNlcnZpY2UubG9naW5BbHRMb2dvdGlwb1xyXG5cclxuICAgICAgICB0aGlzLmxvZ2luUGFnZVRpdGxlID0gY3VzdG9tTG9naW5TZXJ2aWNlLmxvZ2luUGFnZVRpdGxlXHJcblxyXG4gICAgICAgIHRoaXMubG9naW5EZXNlbnZEb21haW4gPSBjdXN0b21Mb2dpblNlcnZpY2UubG9naW5EZXNlbnZEb21haW5cclxuXHJcbiAgICAgICAgdGhpcy5sb2dpbkRlc2VudlVzZXIgPSBjdXN0b21Mb2dpblNlcnZpY2UubG9naW5EZXNlbnZVc2VyXHJcblxyXG4gICAgICAgIHRoaXMubG9naW5EZXNlbnZQYXNzd29yZCA9IGN1c3RvbUxvZ2luU2VydmljZS5sb2dpbkRlc2VudlBhc3N3b3JkXHJcblxyXG4gICAgICAgIC8vcGFzc2FuZG8gaW1wbGVtZW50YcOnw6NvIGRvcyBtw6l0b2RvcyBkbyBwcm9kdXRvIHBhcmEgYSBsaWJcclxuICAgICAgICB0aGlzLnN0b3JlZEF1dGhMb2dpbiA9IGN1c3RvbUxvZ2luU2VydmljZS5hdXRoTG9naW47XHJcbiAgICAgICAgdGhpcy5zdG9yZWRBdXRoTG9nb3V0ID0gY3VzdG9tTG9naW5TZXJ2aWNlLmF1dGhMb2dvdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gI2VuZHJlZ2lvbiBVVElMU1xyXG59XHJcbiJdfQ==