@senior-agronegocio/angular-components 1.0.8 → 1.0.10

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 (141) hide show
  1. package/LLM_LIBRARY_GUIDES.md +9 -1
  2. package/README.md +5 -0
  3. package/agro-angular-components.module.d.ts +4 -6
  4. package/esm2022/agro-angular-components.module.mjs +21 -5
  5. package/esm2022/fields/lookups/config/lookup-host-project-config.mjs +10 -0
  6. package/esm2022/fields/lookups/config/lookup-runtime-context.mjs +12 -0
  7. package/esm2022/fields/lookups/core/agro-base-lookup-field.mjs +385 -0
  8. package/esm2022/fields/lookups/core/agro-branch-lookup.mjs +27 -0
  9. package/esm2022/fields/lookups/core/agro-company-lookup.mjs +25 -0
  10. package/esm2022/fields/lookups/core/agro-currency-lookup.mjs +24 -0
  11. package/esm2022/fields/lookups/core/agro-deposit-balance-lookup.mjs +25 -0
  12. package/esm2022/fields/lookups/core/agro-deposit-lookup.mjs +25 -0
  13. package/esm2022/fields/lookups/core/agro-driver-lookup.mjs +25 -0
  14. package/esm2022/fields/lookups/core/agro-e095-pes-lookup.mjs +25 -0
  15. package/esm2022/fields/lookups/core/agro-family-group-lookup.mjs +25 -0
  16. package/esm2022/fields/lookups/core/agro-family-lookup.mjs +25 -0
  17. package/esm2022/fields/lookups/core/agro-harvest-lookup.mjs +25 -0
  18. package/esm2022/fields/lookups/core/agro-increase-product-lookup.mjs +31 -0
  19. package/esm2022/fields/lookups/core/agro-lookup-base.mjs +39 -0
  20. package/esm2022/fields/lookups/core/agro-producer-lookup.mjs +25 -0
  21. package/esm2022/fields/lookups/core/agro-product-lookup.mjs +25 -0
  22. package/esm2022/fields/lookups/core/agro-product-variety-lookup.mjs +25 -0
  23. package/esm2022/fields/lookups/core/agro-romaneo-lookup.mjs +24 -0
  24. package/esm2022/fields/lookups/core/agro-rural-estate-lookup.mjs +25 -0
  25. package/esm2022/fields/lookups/core/agro-ticket-lookup.mjs +25 -0
  26. package/esm2022/fields/lookups/core/index.mjs +21 -0
  27. package/esm2022/fields/lookups/core/lookup-field.handlers.mjs +82 -0
  28. package/esm2022/fields/lookups/core/lookup-field.types.mjs +2 -0
  29. package/esm2022/fields/lookups/index.mjs +5 -0
  30. package/esm2022/fields/lookups/services/agro-lookup-entity.service.mjs +132 -0
  31. package/esm2022/fields/lookups/services/driver/agro-lookup-driver.service.mjs +34 -0
  32. package/esm2022/fields/lookups/services/driver/driver-dto.mjs +2 -0
  33. package/esm2022/fields/lookups/services/e-001-pes/agro-lookup-e001-pes.service.mjs +41 -0
  34. package/esm2022/fields/lookups/services/e-001-pes/e-001-pes-dto.mjs +2 -0
  35. package/esm2022/fields/lookups/services/e-012-fam/agro-lookup-e012-fam.service.mjs +34 -0
  36. package/esm2022/fields/lookups/services/e-012-fam/e-012-fam-dto.mjs +2 -0
  37. package/esm2022/fields/lookups/services/e-031-moe/agro-lookup-e031-moe.service.mjs +41 -0
  38. package/esm2022/fields/lookups/services/e-031-moe/e-031-moe-dto.mjs +2 -0
  39. package/esm2022/fields/lookups/services/e-070-emp/agro-lookup-e070-emp.service.mjs +41 -0
  40. package/esm2022/fields/lookups/services/e-070-emp/e-070-emp-dto.mjs +2 -0
  41. package/esm2022/fields/lookups/services/e-070-fil/agro-lookup-e070-fil.service.mjs +41 -0
  42. package/esm2022/fields/lookups/services/e-070-fil/e-070-fil-dto.mjs +2 -0
  43. package/esm2022/fields/lookups/services/e-075-der/agro-lookup-e075-der.service.mjs +41 -0
  44. package/esm2022/fields/lookups/services/e-075-der/e-075-der-dto.mjs +2 -0
  45. package/esm2022/fields/lookups/services/e-095-pes/agro-lookup-e095-pes.service.mjs +41 -0
  46. package/esm2022/fields/lookups/services/e-095-pes/e-095-pes-dto.mjs +2 -0
  47. package/esm2022/fields/lookups/services/e-113-saf/agro-lookup-e113-saf.service.mjs +41 -0
  48. package/esm2022/fields/lookups/services/e-113-saf/e-113-saf-dto.mjs +2 -0
  49. package/esm2022/fields/lookups/services/e-205-dep/agro-lookup-e205-dep.service.mjs +41 -0
  50. package/esm2022/fields/lookups/services/e-205-dep/e-205-dep-dto.mjs +2 -0
  51. package/esm2022/fields/lookups/services/e-210-dxp/agro-lookup-e210-dxp.service.mjs +41 -0
  52. package/esm2022/fields/lookups/services/e-210-dxp/e-210-dxp-dto.mjs +2 -0
  53. package/esm2022/fields/lookups/services/family-group/agro-lookup-family-group.service.mjs +41 -0
  54. package/esm2022/fields/lookups/services/family-group/family-group-dto.mjs +2 -0
  55. package/esm2022/fields/lookups/services/increase-product/agro-lookup-increase-product.service.mjs +41 -0
  56. package/esm2022/fields/lookups/services/increase-product/increase-product-dto.mjs +2 -0
  57. package/esm2022/fields/lookups/services/index.mjs +18 -0
  58. package/esm2022/fields/lookups/services/product-variety/agro-lookup-product-variety.service.mjs +41 -0
  59. package/esm2022/fields/lookups/services/product-variety/product-variety-dto.mjs +2 -0
  60. package/esm2022/fields/lookups/services/rural-estate/agro-lookup-rural-estate.service.mjs +41 -0
  61. package/esm2022/fields/lookups/services/rural-estate/rural-estate-dto.mjs +2 -0
  62. package/esm2022/fields/lookups/services/ticket/agro-lookup-ticket.service.mjs +34 -0
  63. package/esm2022/fields/lookups/services/ticket/ticket-dto.mjs +2 -0
  64. package/esm2022/fields/lookups/utils/agro-lookup-utils.mjs +303 -0
  65. package/esm2022/fields/lookups/utils/cpf-cnpj-formatter.mjs +23 -0
  66. package/esm2022/fields/lookups/utils/index.mjs +3 -0
  67. package/esm2022/lib-config.token.mjs +3 -0
  68. package/esm2022/public-api.mjs +3 -1
  69. package/esm2022/services/i18n/en-US.mjs +58 -1
  70. package/esm2022/services/i18n/es-CO.mjs +58 -1
  71. package/esm2022/services/i18n/pt-BR.mjs +58 -1
  72. package/fesm2022/senior-agronegocio-angular-components.mjs +2044 -6
  73. package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -1
  74. package/fields/lookups/config/lookup-host-project-config.d.ts +2 -0
  75. package/fields/lookups/config/lookup-runtime-context.d.ts +3 -0
  76. package/fields/lookups/core/agro-base-lookup-field.d.ts +30 -0
  77. package/fields/lookups/core/agro-branch-lookup.d.ts +7 -0
  78. package/fields/lookups/core/agro-company-lookup.d.ts +7 -0
  79. package/fields/lookups/core/agro-currency-lookup.d.ts +7 -0
  80. package/fields/lookups/core/agro-deposit-balance-lookup.d.ts +7 -0
  81. package/fields/lookups/core/agro-deposit-lookup.d.ts +7 -0
  82. package/fields/lookups/core/agro-driver-lookup.d.ts +7 -0
  83. package/fields/lookups/core/agro-e095-pes-lookup.d.ts +7 -0
  84. package/fields/lookups/core/agro-family-group-lookup.d.ts +7 -0
  85. package/fields/lookups/core/agro-family-lookup.d.ts +7 -0
  86. package/fields/lookups/core/agro-harvest-lookup.d.ts +7 -0
  87. package/fields/lookups/core/agro-increase-product-lookup.d.ts +7 -0
  88. package/fields/lookups/core/agro-lookup-base.d.ts +24 -0
  89. package/fields/lookups/core/agro-producer-lookup.d.ts +7 -0
  90. package/fields/lookups/core/agro-product-lookup.d.ts +7 -0
  91. package/fields/lookups/core/agro-product-variety-lookup.d.ts +7 -0
  92. package/fields/lookups/core/agro-romaneo-lookup.d.ts +7 -0
  93. package/fields/lookups/core/agro-rural-estate-lookup.d.ts +7 -0
  94. package/fields/lookups/core/agro-ticket-lookup.d.ts +7 -0
  95. package/fields/lookups/core/index.d.ts +22 -0
  96. package/fields/lookups/core/lookup-field.handlers.d.ts +12 -0
  97. package/fields/lookups/core/lookup-field.types.d.ts +45 -0
  98. package/fields/lookups/index.d.ts +5 -0
  99. package/fields/lookups/services/agro-lookup-entity.service.d.ts +42 -0
  100. package/fields/lookups/services/driver/agro-lookup-driver.service.d.ts +15 -0
  101. package/fields/lookups/services/driver/driver-dto.d.ts +10 -0
  102. package/fields/lookups/services/e-001-pes/agro-lookup-e001-pes.service.d.ts +16 -0
  103. package/fields/lookups/services/e-001-pes/e-001-pes-dto.d.ts +14 -0
  104. package/fields/lookups/services/e-012-fam/agro-lookup-e012-fam.service.d.ts +15 -0
  105. package/fields/lookups/services/e-012-fam/e-012-fam-dto.d.ts +11 -0
  106. package/fields/lookups/services/e-031-moe/agro-lookup-e031-moe.service.d.ts +16 -0
  107. package/fields/lookups/services/e-031-moe/e-031-moe-dto.d.ts +22 -0
  108. package/fields/lookups/services/e-070-emp/agro-lookup-e070-emp.service.d.ts +16 -0
  109. package/fields/lookups/services/e-070-emp/e-070-emp-dto.d.ts +12 -0
  110. package/fields/lookups/services/e-070-fil/agro-lookup-e070-fil.service.d.ts +16 -0
  111. package/fields/lookups/services/e-070-fil/e-070-fil-dto.d.ts +16 -0
  112. package/fields/lookups/services/e-075-der/agro-lookup-e075-der.service.d.ts +16 -0
  113. package/fields/lookups/services/e-075-der/e-075-der-dto.d.ts +14 -0
  114. package/fields/lookups/services/e-095-pes/agro-lookup-e095-pes.service.d.ts +16 -0
  115. package/fields/lookups/services/e-095-pes/e-095-pes-dto.d.ts +10 -0
  116. package/fields/lookups/services/e-113-saf/agro-lookup-e113-saf.service.d.ts +16 -0
  117. package/fields/lookups/services/e-113-saf/e-113-saf-dto.d.ts +15 -0
  118. package/fields/lookups/services/e-205-dep/agro-lookup-e205-dep.service.d.ts +16 -0
  119. package/fields/lookups/services/e-205-dep/e-205-dep-dto.d.ts +14 -0
  120. package/fields/lookups/services/e-210-dxp/agro-lookup-e210-dxp.service.d.ts +16 -0
  121. package/fields/lookups/services/e-210-dxp/e-210-dxp-dto.d.ts +13 -0
  122. package/fields/lookups/services/family-group/agro-lookup-family-group.service.d.ts +16 -0
  123. package/fields/lookups/services/family-group/family-group-dto.d.ts +14 -0
  124. package/fields/lookups/services/increase-product/agro-lookup-increase-product.service.d.ts +16 -0
  125. package/fields/lookups/services/increase-product/increase-product-dto.d.ts +16 -0
  126. package/fields/lookups/services/index.d.ts +34 -0
  127. package/fields/lookups/services/product-variety/agro-lookup-product-variety.service.d.ts +16 -0
  128. package/fields/lookups/services/product-variety/product-variety-dto.d.ts +14 -0
  129. package/fields/lookups/services/rural-estate/agro-lookup-rural-estate.service.d.ts +16 -0
  130. package/fields/lookups/services/rural-estate/rural-estate-dto.d.ts +28 -0
  131. package/fields/lookups/services/ticket/agro-lookup-ticket.service.d.ts +15 -0
  132. package/fields/lookups/services/ticket/ticket-dto.d.ts +15 -0
  133. package/fields/lookups/utils/agro-lookup-utils.d.ts +37 -0
  134. package/fields/lookups/utils/cpf-cnpj-formatter.d.ts +12 -0
  135. package/fields/lookups/utils/index.d.ts +2 -0
  136. package/lib-config.token.d.ts +6 -0
  137. package/package.json +5 -1
  138. package/public-api.d.ts +2 -0
  139. package/services/i18n/en-US.d.ts +57 -0
  140. package/services/i18n/es-CO.d.ts +57 -0
  141. package/services/i18n/pt-BR.d.ts +57 -0
@@ -0,0 +1,34 @@
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { LIB_CONFIG } from '../../../../lib-config.token';
3
+ import { resolveLookupHostProjectConfig } from '../../config/lookup-host-project-config';
4
+ import { AgroLookupEntityService } from '../agro-lookup-entity.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ import * as i2 from "primeng/api";
8
+ import * as i3 from "../../../../services/lib-translation.service";
9
+ export class AgroLookupTicketService extends AgroLookupEntityService {
10
+ http;
11
+ messageService;
12
+ translate;
13
+ constructor(http, messageService, translate, config) {
14
+ const resolved = resolveLookupHostProjectConfig(config, 'AgroLookupTicketService');
15
+ super(http, messageService, `${resolved.domain}/${resolved.service}/entities/ticket`, `${resolved.domain}/${resolved.service}/actions`, translate);
16
+ this.http = http;
17
+ this.messageService = messageService;
18
+ this.translate = translate;
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgroLookupTicketService, deps: [{ token: i1.HttpClient }, { token: i2.MessageService }, { token: i3.LibTranslationService }, { token: LIB_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgroLookupTicketService, providedIn: 'root' });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgroLookupTicketService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root',
27
+ }]
28
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.MessageService }, { type: i3.LibTranslationService }, { type: undefined, decorators: [{
29
+ type: Optional
30
+ }, {
31
+ type: Inject,
32
+ args: [LIB_CONFIG]
33
+ }] }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1sb29rdXAtdGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvc2VydmljZXMvdGlja2V0L2Fncm8tbG9va3VwLXRpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQXNCLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7OztBQU14RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQWtDO0lBRTNDO0lBQ0E7SUFDQTtJQUhoQyxZQUNnQyxJQUFnQixFQUNoQixjQUE4QixFQUM5QixTQUFnQyxFQUM1QixNQUEyQjtRQUUzRCxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUNuRixLQUFLLENBQ0QsSUFBSSxFQUNKLGNBQWMsRUFDZCxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE9BQU8sa0JBQWtCLEVBQ3hELEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxVQUFVLEVBQ2hELFNBQVMsQ0FDWixDQUFDO1FBWjBCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQXVCO0lBV2hFLENBQUM7d0dBZlEsdUJBQXVCLCtHQUtSLFVBQVU7NEdBTHpCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBIb3N0UHJvamVjdENvbmZpZ3MsIExJQl9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi8uLi9saWItY29uZmlnLnRva2VuJztcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbGliLXRyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyByZXNvbHZlTG9va3VwSG9zdFByb2plY3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvbG9va3VwLWhvc3QtcHJvamVjdC1jb25maWcnO1xyXG5pbXBvcnQgeyBBZ3JvTG9va3VwRW50aXR5U2VydmljZSB9IGZyb20gJy4uL2Fncm8tbG9va3VwLWVudGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGlja2V0RHRvIH0gZnJvbSAnLi90aWNrZXQtZHRvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFncm9Mb29rdXBUaWNrZXRTZXJ2aWNlIGV4dGVuZHMgQWdyb0xvb2t1cEVudGl0eVNlcnZpY2U8VGlja2V0RHRvPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSB0cmFuc2xhdGU6IExpYlRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExJQl9DT05GSUcpIGNvbmZpZz86IEhvc3RQcm9qZWN0Q29uZmlnc1xyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlTG9va3VwSG9zdFByb2plY3RDb25maWcoY29uZmlnLCAnQWdyb0xvb2t1cFRpY2tldFNlcnZpY2UnKTtcclxuICAgICAgICBzdXBlcihcclxuICAgICAgICAgICAgaHR0cCxcclxuICAgICAgICAgICAgbWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgIGAke3Jlc29sdmVkLmRvbWFpbn0vJHtyZXNvbHZlZC5zZXJ2aWNlfS9lbnRpdGllcy90aWNrZXRgLFxyXG4gICAgICAgICAgICBgJHtyZXNvbHZlZC5kb21haW59LyR7cmVzb2x2ZWQuc2VydmljZX0vYWN0aW9uc2AsXHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9maWVsZHMvbG9va3Vwcy9zZXJ2aWNlcy90aWNrZXQvdGlja2V0LWR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaWNrZXREdG8ge1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBudW1iZXI/OiBudW1iZXI7XHJcbiAgICBwYXJlbnQ/OiBudW1iZXI7XHJcbiAgICBiYWxhbmNlRW50cnlDb250cm9sPzogYW55O1xyXG4gICAgc3RhdHVzPzogYW55O1xyXG4gICAgdXNlckNhbmNlbGxhdGlvbj86IHN0cmluZztcclxuICAgIGRhdGVUaW1lQ2FuY2VsbGF0aW9uPzogRGF0ZTtcclxuICAgIGNyZWF0ZWRCeT86IHN0cmluZztcclxuICAgIGNyZWF0ZWREYXRlPzogRGF0ZTtcclxuICAgIGxhc3RNb2RpZmllZEJ5Pzogc3RyaW5nO1xyXG4gICAgbGFzdE1vZGlmaWVkRGF0ZT86IERhdGU7XHJcbiAgICBjdXN0b20/OiBhbnk7XHJcbiAgICBjb250cmFjdEF2YWlsYWJsZT86IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,303 @@
1
+ import moment from 'moment';
2
+ import { formatCPFCNPJWithMask } from './cpf-cnpj-formatter';
3
+ import { AgroStringUtils } from '../../../common/agro-string-utils.class';
4
+ const numberTypes = ['integer', 'double'];
5
+ const numberPattern = /^\d+\b$/;
6
+ const YYYY_MM_DD_FORMAT = 'YYYY-MM-DD';
7
+ const LOOKUP_DOCUMENT_FIELDS = ['cnpCpf', 'numCgc'];
8
+ export const mergeUnique = (array, otherArray) => array.concat(otherArray.filter((item) => !array.includes(item)));
9
+ export const getTypeInformation = (type, value) => {
10
+ switch (type) {
11
+ case 'time':
12
+ case 'date':
13
+ case 'localDateTime':
14
+ case 'dateTime':
15
+ return { isValidValue: false, typeExists: true };
16
+ case 'integer':
17
+ case 'double':
18
+ return {
19
+ isValidValue: value.match(numberPattern),
20
+ typeExists: numberTypes.includes(type),
21
+ };
22
+ default:
23
+ return {
24
+ isValidValue: false,
25
+ typeExists: false,
26
+ };
27
+ }
28
+ };
29
+ export const getSuggestionValue = (displayFields, ownerEntity, value, separator) => {
30
+ if (!displayFields || displayFields.length === 0) {
31
+ return '';
32
+ }
33
+ return displayFields
34
+ .map((field) => {
35
+ if (LOOKUP_DOCUMENT_FIELDS.includes(field)) {
36
+ return formatCPFCNPJWithMask(getProp(value, `${ownerEntity}.${field}`));
37
+ }
38
+ return getProp(value, `${ownerEntity}.${field}`);
39
+ })
40
+ .filter(f => {
41
+ return AgroStringUtils.isValid(String(f));
42
+ })
43
+ .join(separator);
44
+ };
45
+ const buildEnumClause = (name, selected) => `${name} eq '${selected}'`;
46
+ export const getEnumQuery = (name, value, multiple = false) => {
47
+ if (multiple) {
48
+ return `(${value.map((selected) => buildEnumClause(name, selected)).join(' or ')})`;
49
+ }
50
+ return `${name} eq '${value}'`;
51
+ };
52
+ export const createFilterString = (any, value) => {
53
+ const { name, type, multiple } = any;
54
+ if (typeof value == 'number') {
55
+ return `${name} eq ${value}`;
56
+ }
57
+ switch (type) {
58
+ case 'date':
59
+ return `${name} eq '${moment(value).format(YYYY_MM_DD_FORMAT)}'`;
60
+ case 'time':
61
+ return `${name} eq '${moment(value).format('HH:mm:ss')}'`;
62
+ case 'dateTime':
63
+ return `${name} eq '${moment(value).format()}'`;
64
+ case 'localDateTime':
65
+ return `${name} eq '${moment(value).format('YYYY-MM-DD[T]HH:mm:ss.SSS')}'`;
66
+ case 'enum':
67
+ return getEnumQuery(name, value, multiple);
68
+ case 'string':
69
+ return `upper(${name}) like upper('%${value.replace(/'/g, "'")}%')`;
70
+ case 'lookup':
71
+ return `${name} eq '${value.id}'`;
72
+ default:
73
+ return `${name} eq '${value}'`;
74
+ }
75
+ };
76
+ export const createFilterTokens = (any, value, translate) => {
77
+ const { name, type, label, searchFields, options } = any;
78
+ let labelValue = value;
79
+ switch (type) {
80
+ case 'date':
81
+ labelValue = moment(value).format('L');
82
+ break;
83
+ case 'time':
84
+ labelValue = moment(value).format('LTS');
85
+ break;
86
+ case 'localDateTime':
87
+ case 'dateTime':
88
+ labelValue = moment(value).format('L LTS');
89
+ break;
90
+ case 'lookup':
91
+ labelValue = searchFields.map((field) => getProp(value, field.name)).join(' - ');
92
+ break;
93
+ case 'enum':
94
+ labelValue = options.filter((option) => option.value === labelValue)[0].label;
95
+ break;
96
+ case 'boolean':
97
+ if (value) {
98
+ labelValue = translate.instant('agro.angular_components.lookup_list_grid_boolean_true');
99
+ }
100
+ else {
101
+ labelValue = translate.instant('agro.angular_components.lookup_list_grid_boolean_false');
102
+ }
103
+ break;
104
+ default:
105
+ break;
106
+ }
107
+ return { id: name, label: `${label}: ${labelValue}` };
108
+ };
109
+ export const resolveRefs = (payload) => {
110
+ const getDataFromRef = (ref, rootObj) => {
111
+ const regex = /\["(.*?)"\]/g;
112
+ const result = [];
113
+ let match;
114
+ while ((match = regex.exec(ref)) !== null) {
115
+ result.push(match[1]);
116
+ }
117
+ return result.reduce((acc, part) => acc?.[part], rootObj);
118
+ };
119
+ const resolve = (obj, rootObj, visited = new Set()) => {
120
+ if (obj === null || typeof obj !== 'object' || visited.has(obj)) {
121
+ return;
122
+ }
123
+ visited.add(obj);
124
+ if (Array.isArray(obj)) {
125
+ obj.forEach((item) => resolve(item, rootObj, visited));
126
+ }
127
+ else {
128
+ Object.keys(obj).forEach((key) => {
129
+ if (key === '$ref' && obj[key]) {
130
+ const refPath = obj[key];
131
+ Object.assign(obj, getDataFromRef(refPath, rootObj));
132
+ delete obj[key];
133
+ }
134
+ else {
135
+ resolve(obj[key], rootObj, visited);
136
+ }
137
+ });
138
+ }
139
+ };
140
+ resolve(payload, payload);
141
+ return payload;
142
+ };
143
+ export const applyRelationTransforms = (entity, originEntity, relations) => {
144
+ relations.forEach(({ origin, key, transform }) => {
145
+ if (originEntity !== origin && entity[key]) {
146
+ entity[key] = transform(entity[key]);
147
+ }
148
+ });
149
+ return entity;
150
+ };
151
+ const datePatternYYYYMMDD = /^\d{4}-\d{2}-\d{2}$/;
152
+ export const isValidFilter = (type, value) => {
153
+ const { isValidValue, typeExists } = getTypeInformation(type, value);
154
+ return !(typeExists && !isValidValue);
155
+ };
156
+ export const getProp = (obj, path, APPLY_CPFCNPJ_FILTER = false) => {
157
+ let r = path.split(".").reduce((result, prop) => (result[prop] === undefined ? "" : result[prop]), obj);
158
+ const normalizedPath = typeof path === 'string' ? path : '';
159
+ const fieldName = normalizedPath.split('.').pop() ?? normalizedPath;
160
+ if (datePatternYYYYMMDD.test(r)) {
161
+ r = moment(r, YYYY_MM_DD_FORMAT).format("DD/MM/YYYY");
162
+ }
163
+ if ((APPLY_CPFCNPJ_FILTER || LOOKUP_DOCUMENT_FIELDS.includes(fieldName)) && AgroStringUtils.isValid(r)) {
164
+ return formatCPFCNPJWithMask(r);
165
+ }
166
+ return r;
167
+ };
168
+ export const getLabelValueRequest = (contents, displayFields, APPLY_CPFCNPJ_FILTER = false) => {
169
+ const r = contents.map((item) => {
170
+ const numberPatternToTest = /^\d+(\.\d{1,2})?$/;
171
+ const formattedItem = { ...item };
172
+ // Format currency fields (vlrCot)
173
+ ["vlrCot"].forEach((field) => {
174
+ if (formattedItem[field] && numberPatternToTest.test(formattedItem[field])) {
175
+ formattedItem[field] = parseFloat(formattedItem[field]).toLocaleString("pt-BR", {
176
+ minimumFractionDigits: 2,
177
+ maximumFractionDigits: 2
178
+ });
179
+ }
180
+ });
181
+ LOOKUP_DOCUMENT_FIELDS.forEach((fieldName) => {
182
+ if (formattedItem[fieldName] !== null && formattedItem[fieldName] !== undefined && formattedItem[fieldName] !== '') {
183
+ formattedItem[fieldName] = formatCPFCNPJWithMask(String(formattedItem[fieldName]));
184
+ }
185
+ });
186
+ return {
187
+ ...formattedItem,
188
+ label: displayFields.map(field => getProp(formattedItem, field, APPLY_CPFCNPJ_FILTER)).join(" - ")
189
+ };
190
+ });
191
+ return r;
192
+ };
193
+ export function formatFilters(filters, value, statusFilter, columnName) {
194
+ return filters
195
+ .filter(({ type }) => isValidFilter(type, value))
196
+ .filter(({ name }) => name !== "status")
197
+ .map(({ name, type }) => {
198
+ return convertValueByType(name, value, type);
199
+ })
200
+ .join(" or ")
201
+ .concat(`and ${columnName} eq 'VA' `);
202
+ }
203
+ export function formatFiltersAdvanced(filters, filterData, statusFilter, columnName, e070empId) {
204
+ return filters
205
+ .filter(({ name }) => filterData[name] !== undefined && filterData[name] !== "")
206
+ .map(({ name, type }) => {
207
+ const value = filterData[name];
208
+ return convertValueByType(name, value, type);
209
+ })
210
+ .concat(statusFilter ? [`${columnName} eq 'VA' and e070emp eq '${e070empId}'`] : [])
211
+ .join(" and ");
212
+ }
213
+ export function convertValueByType(name, value, type) {
214
+ if (value == null) {
215
+ value = "";
216
+ }
217
+ if (typeof value == "number") {
218
+ return `${name} eq ${value}`;
219
+ }
220
+ else if (type === 'date') {
221
+ return `${name} eq '${moment(value).format(YYYY_MM_DD_FORMAT)}'`;
222
+ }
223
+ else if (type === 'time') {
224
+ return `${name} eq '${moment(value).format("HH:mm:ss")}'`;
225
+ }
226
+ else if (type === 'dateTime') {
227
+ return `${name} eq '${moment(value).format()}'`;
228
+ }
229
+ else if (type === 'string') {
230
+ return `containing(upper(${name}), upper('${String(value).replace(/'/g, "\\'")}'))`;
231
+ }
232
+ else {
233
+ return `${name} eq '${value}'`;
234
+ }
235
+ }
236
+ export function formatFiltersWithoutStatus(filters, value) {
237
+ return filters
238
+ .filter(({ type }) => isValidFilter(type, value))
239
+ .filter(({ name }) => name !== "status")
240
+ .map(({ name, type }) => {
241
+ if (typeof value == "number") {
242
+ return `${name} eq ${value}`;
243
+ }
244
+ else if (type === 'date') {
245
+ return `${name} eq '${moment(value).format(YYYY_MM_DD_FORMAT)}'`;
246
+ }
247
+ else if (type === 'time') {
248
+ return `${name} eq '${moment(value).format("HH:mm:ss")}'`;
249
+ }
250
+ else if (type === 'dateTime') {
251
+ return `${name} eq '${moment(value).format()}'`;
252
+ }
253
+ else if (type === 'string') {
254
+ return `containing(upper(${name}), upper('${value.replace(/'/g, "\\'")}'))`;
255
+ }
256
+ else {
257
+ return `${name} eq '${value}'`;
258
+ }
259
+ })
260
+ .join(" and ");
261
+ }
262
+ export function roundToThree(num) {
263
+ return Math.round(num * 1000) / 1000;
264
+ }
265
+ export function calculateAdjustedPercentagesAndWeights(total, maxPercentage, maxWeight) {
266
+ const calculatedPercentages = calculateAdjustedPercentages(total, maxPercentage);
267
+ const calculatedWeights = calculateAdjustedWeights(calculatedPercentages, maxWeight);
268
+ return { calculatedPercentages, calculatedWeights };
269
+ }
270
+ export function calculateAdjustedPercentages(total, maxPercentage) {
271
+ const basePercentage = roundToThree(maxPercentage / total);
272
+ const calculatedPercentages = Array(total).fill(basePercentage);
273
+ return adjustValuesIfNecessary(calculatedPercentages, maxPercentage);
274
+ }
275
+ export function calculateAdjustedWeights(calculatedPercentages, maxWeight) {
276
+ const totalPercentage = calculatedPercentages.reduce((sum, percentage) => sum + percentage, 0);
277
+ const calculatedWeights = calculatedPercentages.map(percentage => roundToThree((percentage / 100) * maxWeight));
278
+ if (roundToThree(totalPercentage) === 100) {
279
+ return adjustValuesIfNecessary(calculatedWeights, maxWeight);
280
+ }
281
+ return calculatedWeights;
282
+ }
283
+ export function adjustValuesIfNecessary(values, total) {
284
+ const adjustedValues = values.slice();
285
+ const currentTotal = adjustedValues.reduce((sum, value) => sum + value, 0);
286
+ const difference = roundToThree(total - currentTotal);
287
+ if (difference !== 0) {
288
+ adjustedValues[0] += difference;
289
+ }
290
+ return adjustedValues;
291
+ }
292
+ export function formatBrlCurrency(currencyPipe, value) {
293
+ if (!currencyPipe || !value) {
294
+ return null;
295
+ }
296
+ return currencyPipe
297
+ .transform(value, "BRL", "symbol", `1.2-2`)
298
+ ?.replace(".", "#")
299
+ .replace(",", ".")
300
+ .replace("#", ",")
301
+ .replace(/^(.{2})/, "$1 ");
302
+ }
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1sb29rdXAtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvdXRpbHMvYWdyby1sb29rdXAtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLFVBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVqSixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFVLEVBQUUsRUFBRTtJQUMzRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssZUFBZSxDQUFDO1FBQ3JCLEtBQUssVUFBVTtZQUNYLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNyRCxLQUFLLFNBQVMsQ0FBQztRQUNm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Q0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBZ0IsRUFBRSxLQUFhO0lBQ25FLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBRXRELElBQUksVUFBVSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25CLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sY0FBYyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsWUFBMEIsRUFBRSxLQUFhO0lBQ3ZFLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxZQUFZO1NBQ2QsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztRQUMzQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQ2xCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBmb3JtYXRDUEZDTlBKV2l0aE1hc2sgfSBmcm9tICcuL2NwZi1jbnBqLWZvcm1hdHRlcic7XHJcbmltcG9ydCB7IEFncm9TdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9hZ3JvLXN0cmluZy11dGlscy5jbGFzcyc7XHJcblxyXG5jb25zdCBudW1iZXJUeXBlcyA9IFsnaW50ZWdlcicsICdkb3VibGUnXTtcclxuY29uc3QgbnVtYmVyUGF0dGVybiA9IC9eXFxkK1xcYiQvO1xyXG5jb25zdCBZWVlZX01NX0REX0ZPUk1BVCA9ICdZWVlZLU1NLUREJztcclxuY29uc3QgTE9PS1VQX0RPQ1VNRU5UX0ZJRUxEUyA9IFsnY25wQ3BmJywgJ251bUNnYyddO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1lcmdlVW5pcXVlID0gKGFycmF5OiBBcnJheTxzdHJpbmc+LCBvdGhlckFycmF5OiBBcnJheTxzdHJpbmc+KSA9PiBhcnJheS5jb25jYXQob3RoZXJBcnJheS5maWx0ZXIoKGl0ZW0pID0+ICFhcnJheS5pbmNsdWRlcyhpdGVtKSkpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFR5cGVJbmZvcm1hdGlvbiA9ICh0eXBlOiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ3RpbWUnOlxyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgIGNhc2UgJ2xvY2FsRGF0ZVRpbWUnOlxyXG4gICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcclxuICAgICAgICAgICAgcmV0dXJuIHsgaXNWYWxpZFZhbHVlOiBmYWxzZSwgdHlwZUV4aXN0czogdHJ1ZSB9O1xyXG4gICAgICAgIGNhc2UgJ2ludGVnZXInOlxyXG4gICAgICAgIGNhc2UgJ2RvdWJsZSc6XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpc1ZhbGlkVmFsdWU6IHZhbHVlLm1hdGNoKG51bWJlclBhdHRlcm4pLFxyXG4gICAgICAgICAgICAgICAgdHlwZUV4aXN0czogbnVtYmVyVHlwZXMuaW5jbHVkZXModHlwZSksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWRWYWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB0eXBlRXhpc3RzOiBmYWxzZSxcclxuICAgICAgICAgICAgfTtcclxuICAgIH1cclxufTtcclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTdWdnZXN0aW9uVmFsdWUgPSAoZGlzcGxheUZpZWxkczogc3RyaW5nW10sIG93bmVyRW50aXR5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHNlcGFyYXRvcjogc3RyaW5nKSA9PiB7XHJcbiAgICBpZiAoIWRpc3BsYXlGaWVsZHMgfHwgZGlzcGxheUZpZWxkcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGlzcGxheUZpZWxkc1xyXG4gICAgICAgIC5tYXAoKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChMT09LVVBfRE9DVU1FTlRfRklFTERTLmluY2x1ZGVzKGZpZWxkKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdENQRkNOUEpXaXRoTWFzayhnZXRQcm9wKHZhbHVlLCBgJHtvd25lckVudGl0eX0uJHtmaWVsZH1gKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGdldFByb3AodmFsdWUsIGAke293bmVyRW50aXR5fS4ke2ZpZWxkfWApO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbHRlcihmID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIEFncm9TdHJpbmdVdGlscy5pc1ZhbGlkKFN0cmluZyhmKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuam9pbihzZXBhcmF0b3IpO1xyXG59O1xyXG5cclxuY29uc3QgYnVpbGRFbnVtQ2xhdXNlID0gKG5hbWU6IHN0cmluZywgc2VsZWN0ZWQ6IGFueSkgPT4gYCR7bmFtZX0gZXEgJyR7c2VsZWN0ZWR9J2A7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RW51bVF1ZXJ5ID0gKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgbXVsdGlwbGUgPSBmYWxzZSkgPT4ge1xyXG4gICAgaWYgKG11bHRpcGxlKSB7XHJcbiAgICAgICAgcmV0dXJuIGAoJHt2YWx1ZS5tYXAoKHNlbGVjdGVkOiBhbnkpID0+IGJ1aWxkRW51bUNsYXVzZShuYW1lLCBzZWxlY3RlZCkpLmpvaW4oJyBvciAnKX0pYDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVGaWx0ZXJTdHJpbmcgPSAoYW55OiBhbnksIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdHlwZSwgbXVsdGlwbGUgfSA9IGFueTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJHt2YWx1ZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoWVlZWV9NTV9ERF9GT1JNQVQpfSdgO1xyXG4gICAgICAgIGNhc2UgJ3RpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoJ0hIOm1tOnNzJyl9J2A7XHJcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcclxuICAgICAgICBjYXNlICdsb2NhbERhdGVUaW1lJzpcclxuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCdZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTJyl9J2A7XHJcbiAgICAgICAgY2FzZSAnZW51bSc6XHJcbiAgICAgICAgICAgIHJldHVybiBnZXRFbnVtUXVlcnkobmFtZSwgdmFsdWUsIG11bHRpcGxlKTtcclxuICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICByZXR1cm4gYHVwcGVyKCR7bmFtZX0pIGxpa2UgdXBwZXIoJyUke3ZhbHVlLnJlcGxhY2UoLycvZywgXCInXCIpfSUnKWA7XHJcbiAgICAgICAgY2FzZSAnbG9va3VwJzpcclxuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlLmlkfSdgO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxuICAgIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVGaWx0ZXJUb2tlbnMgPSAoYW55OiBhbnksIHZhbHVlOiBhbnksIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB0eXBlLCBsYWJlbCwgc2VhcmNoRmllbGRzLCBvcHRpb25zIH0gPSBhbnk7XHJcbiAgICBsZXQgbGFiZWxWYWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gbW9tZW50KHZhbHVlKS5mb3JtYXQoJ0wnKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndGltZSc6XHJcbiAgICAgICAgICAgIGxhYmVsVmFsdWUgPSBtb21lbnQodmFsdWUpLmZvcm1hdCgnTFRTJyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2xvY2FsRGF0ZVRpbWUnOlxyXG4gICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcclxuICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IG1vbWVudCh2YWx1ZSkuZm9ybWF0KCdMIExUUycpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdsb29rdXAnOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gc2VhcmNoRmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gZ2V0UHJvcCh2YWx1ZSwgZmllbGQubmFtZSkpLmpvaW4oJyAtICcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdlbnVtJzpcclxuICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IG9wdGlvbnMuZmlsdGVyKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnZhbHVlID09PSBsYWJlbFZhbHVlKVswXS5sYWJlbDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sb29rdXBfbGlzdF9ncmlkX2Jvb2xlYW5fdHJ1ZScpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sb29rdXBfbGlzdF9ncmlkX2Jvb2xlYW5fZmFsc2UnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyBpZDogbmFtZSwgbGFiZWw6IGAke2xhYmVsfTogJHtsYWJlbFZhbHVlfWAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByZXNvbHZlUmVmcyA9IChwYXlsb2FkOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGdldERhdGFGcm9tUmVmID0gKHJlZjogc3RyaW5nLCByb290T2JqOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCByZWdleCA9IC9cXFtcIiguKj8pXCJcXF0vZztcclxuICAgICAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgbGV0IG1hdGNoO1xyXG5cclxuICAgICAgICB3aGlsZSAoKG1hdGNoID0gcmVnZXguZXhlYyhyZWYpKSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaChtYXRjaFsxXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0LnJlZHVjZSgoYWNjLCBwYXJ0KSA9PiBhY2M/LltwYXJ0XSwgcm9vdE9iaik7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlc29sdmUgPSAob2JqOiBhbnksIHJvb3RPYmo6IGFueSwgdmlzaXRlZCA9IG5ldyBTZXQ8YW55PigpKSA9PiB7XHJcbiAgICAgICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCB2aXNpdGVkLmhhcyhvYmopKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmlzaXRlZC5hZGQob2JqKTtcclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgICAgICBvYmouZm9yRWFjaCgoaXRlbSkgPT4gcmVzb2x2ZShpdGVtLCByb290T2JqLCB2aXNpdGVkKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICckcmVmJyAmJiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZlBhdGggPSBvYmpba2V5XTtcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKG9iaiwgZ2V0RGF0YUZyb21SZWYocmVmUGF0aCwgcm9vdE9iaikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShvYmpba2V5XSwgcm9vdE9iaiwgdmlzaXRlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmVzb2x2ZShwYXlsb2FkLCBwYXlsb2FkKTtcclxuXHJcbiAgICByZXR1cm4gcGF5bG9hZDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbGF0aW9uVHJhbnNmb3JtQ29uZmlnID0ge1xyXG4gICAgb3JpZ2luOiBzdHJpbmc7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHRyYW5zZm9ybTogKHZhbHVlOiBhbnkpID0+IGFueTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBhcHBseVJlbGF0aW9uVHJhbnNmb3JtcyA9IChlbnRpdHk6IGFueSwgb3JpZ2luRW50aXR5OiBzdHJpbmcgfCB1bmRlZmluZWQsIHJlbGF0aW9uczogUmVsYXRpb25UcmFuc2Zvcm1Db25maWdbXSkgPT4ge1xyXG4gICAgcmVsYXRpb25zLmZvckVhY2goKHsgb3JpZ2luLCBrZXksIHRyYW5zZm9ybSB9KSA9PiB7XHJcbiAgICAgICAgaWYgKG9yaWdpbkVudGl0eSAhPT0gb3JpZ2luICYmIGVudGl0eVtrZXldKSB7XHJcbiAgICAgICAgICAgIGVudGl0eVtrZXldID0gdHJhbnNmb3JtKGVudGl0eVtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZW50aXR5O1xyXG59O1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmNvbnN0IGRhdGVQYXR0ZXJuWVlZWU1NREQgPSAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9JC87XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRGaWx0ZXIgPSAodHlwZTogYW55LCB2YWx1ZTogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IGlzVmFsaWRWYWx1ZSwgdHlwZUV4aXN0cyB9ID0gZ2V0VHlwZUluZm9ybWF0aW9uKHR5cGUsIHZhbHVlKTtcclxuICAgIHJldHVybiAhKHR5cGVFeGlzdHMgJiYgIWlzVmFsaWRWYWx1ZSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UHJvcCA9IChvYmo6IGFueSwgcGF0aDogYW55LCBBUFBMWV9DUEZDTlBKX0ZJTFRFUiA9IGZhbHNlKSA9PiB7XHJcbiAgICBsZXQgciA9IHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XHJcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJyA/IHBhdGggOiAnJztcclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KCcuJykucG9wKCkgPz8gbm9ybWFsaXplZFBhdGg7XHJcblxyXG4gICAgaWYgKGRhdGVQYXR0ZXJuWVlZWU1NREQudGVzdChyKSkge1xyXG4gICAgICAgIHIgPSBtb21lbnQociwgWVlZWV9NTV9ERF9GT1JNQVQpLmZvcm1hdChcIkREL01NL1lZWVlcIik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChBUFBMWV9DUEZDTlBKX0ZJTFRFUiB8fCBMT09LVVBfRE9DVU1FTlRfRklFTERTLmluY2x1ZGVzKGZpZWxkTmFtZSkpICYmIEFncm9TdHJpbmdVdGlscy5pc1ZhbGlkKHIpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdENQRkNOUEpXaXRoTWFzayhyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMYWJlbFZhbHVlUmVxdWVzdCA9IChjb250ZW50czogYW55W10sIGRpc3BsYXlGaWVsZHM6IGFueVtdLCBBUFBMWV9DUEZDTlBKX0ZJTFRFUiA9IGZhbHNlKSA9PiB7XHJcbiAgICBjb25zdCByID0gY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBudW1iZXJQYXR0ZXJuVG9UZXN0ID0gL15cXGQrKFxcLlxcZHsxLDJ9KT8kLztcclxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRJdGVtID0geyAuLi5pdGVtIH07XHJcblxyXG4gICAgICAgIC8vIEZvcm1hdCBjdXJyZW5jeSBmaWVsZHMgKHZsckNvdClcclxuICAgICAgICBbXCJ2bHJDb3RcIl0uZm9yRWFjaCgoZmllbGQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZm9ybWF0dGVkSXRlbVtmaWVsZF0gJiYgbnVtYmVyUGF0dGVyblRvVGVzdC50ZXN0KGZvcm1hdHRlZEl0ZW1bZmllbGRdKSkge1xyXG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkSXRlbVtmaWVsZF0gPSBwYXJzZUZsb2F0KGZvcm1hdHRlZEl0ZW1bZmllbGRdKS50b0xvY2FsZVN0cmluZyhcInB0LUJSXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBMT09LVVBfRE9DVU1FTlRfRklFTERTLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZm9ybWF0dGVkSXRlbVtmaWVsZE5hbWVdICE9PSBudWxsICYmIGZvcm1hdHRlZEl0ZW1bZmllbGROYW1lXSAhPT0gdW5kZWZpbmVkICYmIGZvcm1hdHRlZEl0ZW1bZmllbGROYW1lXSAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZEl0ZW1bZmllbGROYW1lXSA9IGZvcm1hdENQRkNOUEpXaXRoTWFzayhTdHJpbmcoZm9ybWF0dGVkSXRlbVtmaWVsZE5hbWVdKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uZm9ybWF0dGVkSXRlbSxcclxuICAgICAgICAgICAgbGFiZWw6IGRpc3BsYXlGaWVsZHMubWFwKGZpZWxkID0+IGdldFByb3AoZm9ybWF0dGVkSXRlbSwgZmllbGQsIEFQUExZX0NQRkNOUEpfRklMVEVSKSkuam9pbihcIiAtIFwiKVxyXG4gICAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RmlsdGVycyhmaWx0ZXJzOiBhbnlbXSwgdmFsdWU6IGFueSwgc3RhdHVzRmlsdGVyOiBib29sZWFuLCBjb2x1bW5OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBmaWx0ZXJzXHJcbiAgICAgICAgLmZpbHRlcigoeyB0eXBlIH0pID0+IGlzVmFsaWRGaWx0ZXIodHlwZSwgdmFsdWUpKVxyXG4gICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBuYW1lICE9PSBcInN0YXR1c1wiKVxyXG4gICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZSB9KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVCeVR5cGUobmFtZSwgdmFsdWUsIHR5cGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmpvaW4oXCIgb3IgXCIpXHJcbiAgICAgICAgLmNvbmNhdChgYW5kICR7Y29sdW1uTmFtZX0gZXEgJ1ZBJyBgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnNBZHZhbmNlZChcclxuICAgIGZpbHRlcnM6IGFueVtdLFxyXG4gICAgZmlsdGVyRGF0YTogYW55LFxyXG4gICAgc3RhdHVzRmlsdGVyOiBib29sZWFuLFxyXG4gICAgY29sdW1uTmFtZTogc3RyaW5nLFxyXG4gICAgZTA3MGVtcElkOiBzdHJpbmdcclxuKSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9PSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPT0gXCJcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogYW55ID0gZmlsdGVyRGF0YVtuYW1lXTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRWYWx1ZUJ5VHlwZShuYW1lLCB2YWx1ZSwgdHlwZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29uY2F0KHN0YXR1c0ZpbHRlciA/IFtgJHtjb2x1bW5OYW1lfSBlcSAnVkEnIGFuZCBlMDcwZW1wIGVxICcke2UwNzBlbXBJZH0nYF0gOiBbXSlcclxuICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFZhbHVlQnlUeXBlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgdHlwZTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICR7dmFsdWV9YDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFlZWVlfTU1fRERfRk9STUFUKX0nYDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RpbWUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlVGltZScpIHtcclxuICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcodXBwZXIoJHtuYW1lfSksIHVwcGVyKCcke1N0cmluZyh2YWx1ZSkucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnNXaXRob3V0U3RhdHVzKGZpbHRlcnM6IGFueVtdLCB2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgdHlwZSB9KSA9PiBpc1ZhbGlkRmlsdGVyKHR5cGUsIHZhbHVlKSlcclxuICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gbmFtZSAhPT0gXCJzdGF0dXNcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoWVlZWV9NTV9ERF9GT1JNQVQpfSdgO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCl9J2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyh1cHBlcigke25hbWV9KSwgdXBwZXIoJyR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5qb2luKFwiIGFuZCBcIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByb3VuZFRvVGhyZWUobnVtOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQobnVtICogMTAwMCkgLyAxMDAwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlc0FuZFdlaWdodHModG90YWw6IG51bWJlciwgbWF4UGVyY2VudGFnZTogbnVtYmVyLCBtYXhXZWlnaHQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFBlcmNlbnRhZ2VzID0gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlcyh0b3RhbCwgbWF4UGVyY2VudGFnZSk7XHJcbiAgICBjb25zdCBjYWxjdWxhdGVkV2VpZ2h0cyA9IGNhbGN1bGF0ZUFkanVzdGVkV2VpZ2h0cyhjYWxjdWxhdGVkUGVyY2VudGFnZXMsIG1heFdlaWdodCk7XHJcbiAgICByZXR1cm4geyBjYWxjdWxhdGVkUGVyY2VudGFnZXMsIGNhbGN1bGF0ZWRXZWlnaHRzIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVBZGp1c3RlZFBlcmNlbnRhZ2VzKHRvdGFsOiBudW1iZXIsIG1heFBlcmNlbnRhZ2U6IG51bWJlcikge1xyXG4gICAgY29uc3QgYmFzZVBlcmNlbnRhZ2UgPSByb3VuZFRvVGhyZWUobWF4UGVyY2VudGFnZSAvIHRvdGFsKTtcclxuICAgIGNvbnN0IGNhbGN1bGF0ZWRQZXJjZW50YWdlcyA9IEFycmF5KHRvdGFsKS5maWxsKGJhc2VQZXJjZW50YWdlKTtcclxuICAgIHJldHVybiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeShjYWxjdWxhdGVkUGVyY2VudGFnZXMsIG1heFBlcmNlbnRhZ2UpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRXZWlnaHRzKGNhbGN1bGF0ZWRQZXJjZW50YWdlczogbnVtYmVyW10sIG1heFdlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCB0b3RhbFBlcmNlbnRhZ2UgPSBjYWxjdWxhdGVkUGVyY2VudGFnZXMucmVkdWNlKChzdW0sIHBlcmNlbnRhZ2UpID0+IHN1bSArIHBlcmNlbnRhZ2UsIDApO1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFdlaWdodHMgPSBjYWxjdWxhdGVkUGVyY2VudGFnZXMubWFwKHBlcmNlbnRhZ2UgPT5cclxuICAgICAgICByb3VuZFRvVGhyZWUoKHBlcmNlbnRhZ2UgLyAxMDApICogbWF4V2VpZ2h0KVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocm91bmRUb1RocmVlKHRvdGFsUGVyY2VudGFnZSkgPT09IDEwMCkge1xyXG4gICAgICAgIHJldHVybiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeShjYWxjdWxhdGVkV2VpZ2h0cywgbWF4V2VpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2FsY3VsYXRlZFdlaWdodHM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeSh2YWx1ZXM6IG51bWJlcltdLCB0b3RhbDogbnVtYmVyKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgYWRqdXN0ZWRWYWx1ZXMgPSB2YWx1ZXMuc2xpY2UoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRUb3RhbCA9IGFkanVzdGVkVmFsdWVzLnJlZHVjZSgoc3VtLCB2YWx1ZSkgPT4gc3VtICsgdmFsdWUsIDApO1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHJvdW5kVG9UaHJlZSh0b3RhbCAtIGN1cnJlbnRUb3RhbCk7XHJcblxyXG4gICAgaWYgKGRpZmZlcmVuY2UgIT09IDApIHtcclxuICAgICAgICBhZGp1c3RlZFZhbHVlc1swXSArPSBkaWZmZXJlbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhZGp1c3RlZFZhbHVlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEJybEN1cnJlbmN5KGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLCB2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIWN1cnJlbmN5UGlwZSB8fCAhdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3VycmVuY3lQaXBlXHJcbiAgICAgICAgLnRyYW5zZm9ybSh2YWx1ZSwgXCJCUkxcIiwgXCJzeW1ib2xcIiwgYDEuMi0yYClcclxuICAgICAgICA/LnJlcGxhY2UoXCIuXCIsIFwiI1wiKVxyXG4gICAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIi5cIilcclxuICAgICAgICAucmVwbGFjZShcIiNcIiwgXCIsXCIpXHJcbiAgICAgICAgLnJlcGxhY2UoL14oLnsyfSkvLCBcIiQxIFwiKTtcclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { AgroStringUtils } from '../../../common/agro-string-utils.class';
2
+ import { AgroStringMasks } from '../../../enums/agro-string-masks.enum';
3
+ /**
4
+ * Formats CPF or CNPJ using AgroStringUtils.applyMask().
5
+ * Automatically detects whether the input is a valid CPF or CNPJ and applies the appropriate mask.
6
+ *
7
+ * @param value - The unformatted CPF/CNPJ string (digits only or with formatting)
8
+ * @returns Formatted string with CPF or CNPJ mask, or original value if validation fails
9
+ *
10
+ * @example
11
+ * formatCPFCNPJWithMask('12345678901') // Returns '123.456.789-01' (CPF)
12
+ * formatCPFCNPJWithMask('12345678901234') // Returns '12.345.678/0001-34' (CNPJ)
13
+ */
14
+ export function formatCPFCNPJWithMask(value) {
15
+ if (AgroStringUtils.validateCNPJ(value)) {
16
+ return AgroStringUtils.applyMask(value, AgroStringMasks.CNPJ);
17
+ }
18
+ if (AgroStringUtils.validateCPF(value)) {
19
+ return AgroStringUtils.applyMask(value, AgroStringMasks.CPF);
20
+ }
21
+ return value;
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLWNucGotZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2ZpZWxkcy9sb29rdXBzL3V0aWxzL2NwZi1jbnBqLWZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBYTtJQUMvQyxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZ3JvU3RyaW5nVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYWdyby1zdHJpbmctdXRpbHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBZ3JvU3RyaW5nTWFza3MgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9hZ3JvLXN0cmluZy1tYXNrcy5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiBGb3JtYXRzIENQRiBvciBDTlBKIHVzaW5nIEFncm9TdHJpbmdVdGlscy5hcHBseU1hc2soKS5cclxuICogQXV0b21hdGljYWxseSBkZXRlY3RzIHdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgQ1BGIG9yIENOUEogYW5kIGFwcGxpZXMgdGhlIGFwcHJvcHJpYXRlIG1hc2suXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB1bmZvcm1hdHRlZCBDUEYvQ05QSiBzdHJpbmcgKGRpZ2l0cyBvbmx5IG9yIHdpdGggZm9ybWF0dGluZylcclxuICogQHJldHVybnMgRm9ybWF0dGVkIHN0cmluZyB3aXRoIENQRiBvciBDTlBKIG1hc2ssIG9yIG9yaWdpbmFsIHZhbHVlIGlmIHZhbGlkYXRpb24gZmFpbHNcclxuICpcclxuICogQGV4YW1wbGVcclxuICogZm9ybWF0Q1BGQ05QSldpdGhNYXNrKCcxMjM0NTY3ODkwMScpICAgICAvLyBSZXR1cm5zICcxMjMuNDU2Ljc4OS0wMScgKENQRilcclxuICogZm9ybWF0Q1BGQ05QSldpdGhNYXNrKCcxMjM0NTY3ODkwMTIzNCcpICAvLyBSZXR1cm5zICcxMi4zNDUuNjc4LzAwMDEtMzQnIChDTlBKKVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdENQRkNOUEpXaXRoTWFzayh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChBZ3JvU3RyaW5nVXRpbHMudmFsaWRhdGVDTlBKKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBBZ3JvU3RyaW5nVXRpbHMuYXBwbHlNYXNrKHZhbHVlLCBBZ3JvU3RyaW5nTWFza3MuQ05QSik7XHJcbiAgICB9XHJcbiAgICBpZiAoQWdyb1N0cmluZ1V0aWxzLnZhbGlkYXRlQ1BGKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBBZ3JvU3RyaW5nVXRpbHMuYXBwbHlNYXNrKHZhbHVlLCBBZ3JvU3RyaW5nTWFza3MuQ1BGKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { formatCPFCNPJWithMask } from './cpf-cnpj-formatter';
2
+ export { mergeUnique, getTypeInformation, getSuggestionValue, getEnumQuery, createFilterString, createFilterTokens, resolveRefs, applyRelationTransforms, isValidFilter, getProp, getLabelValueRequest, formatFilters, formatFiltersAdvanced, convertValueByType, formatFiltersWithoutStatus, roundToThree, calculateAdjustedPercentagesAndWeights, calculateAdjustedPercentages, calculateAdjustedWeights, adjustValuesIfNecessary, formatBrlCurrency, } from './agro-lookup-utils';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUNILFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLE9BQU8sRUFDUCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLFlBQVksRUFDWixzQ0FBc0MsRUFDdEMsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ3BCLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBmb3JtYXRDUEZDTlBKV2l0aE1hc2sgfSBmcm9tICcuL2NwZi1jbnBqLWZvcm1hdHRlcic7XHJcbmV4cG9ydCB7XHJcbiAgICBtZXJnZVVuaXF1ZSxcclxuICAgIGdldFR5cGVJbmZvcm1hdGlvbixcclxuICAgIGdldFN1Z2dlc3Rpb25WYWx1ZSxcclxuICAgIGdldEVudW1RdWVyeSxcclxuICAgIGNyZWF0ZUZpbHRlclN0cmluZyxcclxuICAgIGNyZWF0ZUZpbHRlclRva2VucyxcclxuICAgIHJlc29sdmVSZWZzLFxyXG4gICAgYXBwbHlSZWxhdGlvblRyYW5zZm9ybXMsXHJcbiAgICBpc1ZhbGlkRmlsdGVyLFxyXG4gICAgZ2V0UHJvcCxcclxuICAgIGdldExhYmVsVmFsdWVSZXF1ZXN0LFxyXG4gICAgZm9ybWF0RmlsdGVycyxcclxuICAgIGZvcm1hdEZpbHRlcnNBZHZhbmNlZCxcclxuICAgIGNvbnZlcnRWYWx1ZUJ5VHlwZSxcclxuICAgIGZvcm1hdEZpbHRlcnNXaXRob3V0U3RhdHVzLFxyXG4gICAgcm91bmRUb1RocmVlLFxyXG4gICAgY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlc0FuZFdlaWdodHMsXHJcbiAgICBjYWxjdWxhdGVBZGp1c3RlZFBlcmNlbnRhZ2VzLFxyXG4gICAgY2FsY3VsYXRlQWRqdXN0ZWRXZWlnaHRzLFxyXG4gICAgYWRqdXN0VmFsdWVzSWZOZWNlc3NhcnksXHJcbiAgICBmb3JtYXRCcmxDdXJyZW5jeSxcclxufSBmcm9tICcuL2Fncm8tbG9va3VwLXV0aWxzJztcclxuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const LIB_CONFIG = new InjectionToken('AgroAngularComponentsConfig');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbmZpZy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9saWItY29uZmlnLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFxQiw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSG9zdFByb2plY3RDb25maWdzIHtcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgc2VydmljZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTElCX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIb3N0UHJvamVjdENvbmZpZ3M+KCdBZ3JvQW5ndWxhckNvbXBvbmVudHNDb25maWcnKTtcclxuIl19
@@ -5,7 +5,9 @@ export * from './enums/index';
5
5
  export * from './form-validator/index';
6
6
  export * from './pipe/index';
7
7
  export * from './services/index';
8
+ export * from './fields/lookups/index';
9
+ export * from './lib-config.token';
8
10
  // Re-export additional modules
9
11
  export { LibTranslationModule } from "./lib-translation.module";
10
12
  export { AgroAngularComponentsModule, LIB_CONFIG } from "./agro-angular-components.module";
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNYWluIGVudHJ5IHBvaW50IC0gZXhwb3J0cyBldmVyeXRoaW5nIG9yZ2FuaXplZCBieSBjYXRlZ29yeVxyXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdmFsaWRhdG9yL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbmRleCc7XHJcblxyXG4vLyBSZS1leHBvcnQgYWRkaXRpb25hbCBtb2R1bGVzXHJcbmV4cG9ydCB7IExpYlRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSBcIi4vbGliLXRyYW5zbGF0aW9uLm1vZHVsZVwiO1xyXG5leHBvcnQgeyBBZ3JvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIExJQl9DT05GSUcgfSBmcm9tIFwiLi9hZ3JvLWFuZ3VsYXItY29tcG9uZW50cy5tb2R1bGVcIjtcclxuZXhwb3J0IHR5cGUgeyBIb3N0UHJvamVjdENvbmZpZ3MgfSBmcm9tIFwiLi9hZ3JvLWFuZ3VsYXItY29tcG9uZW50cy5tb2R1bGVcIjtcclxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQywrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWFpbiBlbnRyeSBwb2ludCAtIGV4cG9ydHMgZXZlcnl0aGluZyBvcmdhbml6ZWQgYnkgY2F0ZWdvcnlcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW1zL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXZhbGlkYXRvci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkcy9sb29rdXBzL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWItY29uZmlnLnRva2VuJztcclxuXHJcbi8vIFJlLWV4cG9ydCBhZGRpdGlvbmFsIG1vZHVsZXNcclxuZXhwb3J0IHsgTGliVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tIFwiLi9saWItdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcbmV4cG9ydCB7IEFncm9Bbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgTElCX0NPTkZJRyB9IGZyb20gXCIuL2Fncm8tYW5ndWxhci1jb21wb25lbnRzLm1vZHVsZVwiO1xyXG5leHBvcnQgdHlwZSB7IEhvc3RQcm9qZWN0Q29uZmlncyB9IGZyb20gXCIuL2Fncm8tYW5ndWxhci1jb21wb25lbnRzLm1vZHVsZVwiO1xyXG4iXX0=