techlify-inventory-common 18.0.1 → 18.2.0

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 (59) hide show
  1. package/esm2022/lib/inventory-common/inventory-common-routing.module.mjs +11 -1
  2. package/esm2022/lib/inventory-common/inventory-common.module.mjs +8 -4
  3. package/esm2022/lib/inventory-common/inventory-dashboard-page/inventory-dashboard-page.component.mjs +10 -8
  4. package/esm2022/lib/inventory-common/inventory-value-report.service.mjs +21 -0
  5. package/esm2022/lib/inventory-common/low-stock-report.service.mjs +23 -0
  6. package/esm2022/lib/inventory-common/product/low-stock-products-widget/low-stock-products-widget.component.mjs +9 -7
  7. package/esm2022/lib/inventory-common/product/product-list/product-list.component.mjs +30 -40
  8. package/esm2022/lib/inventory-common/product/product-quick-search/product-quick-search.component.mjs +92 -0
  9. package/esm2022/lib/inventory-common/product/product.module.mjs +7 -4
  10. package/esm2022/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.mjs +18 -0
  11. package/esm2022/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.mjs +170 -0
  12. package/esm2022/lib/inventory-common/reports/low-stock-report/low-stock-report.component.mjs +165 -0
  13. package/esm2022/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.mjs +64 -0
  14. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.mjs +43 -0
  15. package/esm2022/lib/inventory-common/supplier/supplier-form/supplier-form.component.mjs +9 -10
  16. package/esm2022/lib/inventory-common/supplier/supplier.module.mjs +15 -3
  17. package/esm2022/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.mjs +65 -165
  18. package/fesm2022/{techlify-inventory-common-category.module-Stn6e73V.mjs → techlify-inventory-common-category.module-BKEBFEeZ.mjs} +9 -9
  19. package/fesm2022/{techlify-inventory-common-category.module-Stn6e73V.mjs.map → techlify-inventory-common-category.module-BKEBFEeZ.mjs.map} +1 -1
  20. package/fesm2022/{techlify-inventory-common-measure.module-CirswKXn.mjs → techlify-inventory-common-measure.module-CZHhYoQd.mjs} +9 -9
  21. package/fesm2022/{techlify-inventory-common-measure.module-CirswKXn.mjs.map → techlify-inventory-common-measure.module-CZHhYoQd.mjs.map} +1 -1
  22. package/fesm2022/{techlify-inventory-common-stock-issuances.module-Dm9i2kcf.mjs → techlify-inventory-common-stock-issuances.module-BjPbzqUW.mjs} +2 -4
  23. package/fesm2022/{techlify-inventory-common-stock-issuances.module-Dm9i2kcf.mjs.map → techlify-inventory-common-stock-issuances.module-BjPbzqUW.mjs.map} +1 -1
  24. package/fesm2022/{techlify-inventory-common-supplier.module-gzHesNtQ.mjs → techlify-inventory-common-supplier.module-CFDwJ-TS.mjs} +268 -292
  25. package/fesm2022/techlify-inventory-common-supplier.module-CFDwJ-TS.mjs.map +1 -0
  26. package/fesm2022/techlify-inventory-common-techlify-inventory-common-CYiCJfk9.mjs +3143 -0
  27. package/fesm2022/techlify-inventory-common-techlify-inventory-common-CYiCJfk9.mjs.map +1 -0
  28. package/fesm2022/techlify-inventory-common.mjs +1 -1
  29. package/lib/inventory-common/inventory-common.module.d.ts +2 -1
  30. package/lib/inventory-common/inventory-value-report.service.d.ts +9 -0
  31. package/lib/inventory-common/low-stock-report.service.d.ts +10 -0
  32. package/lib/inventory-common/product/product-list/product-list.component.d.ts +5 -7
  33. package/lib/inventory-common/product/product-quick-search/product-quick-search.component.d.ts +15 -0
  34. package/lib/inventory-common/product/product.module.d.ts +1 -1
  35. package/lib/inventory-common/product/widgets/product-category-badges/product-category-badges.component.d.ts +6 -0
  36. package/lib/inventory-common/reports/inventory-value-report/inventory-value-report.component.d.ts +26 -0
  37. package/lib/inventory-common/reports/low-stock-report/low-stock-report.component.d.ts +26 -0
  38. package/lib/inventory-common/supplier/supplier-delete-button/supplier-delete-button.component.d.ts +18 -0
  39. package/lib/inventory-common/supplier/supplier-form/supplier-form-button/supplier-form-button.component.d.ts +13 -0
  40. package/lib/inventory-common/supplier/supplier.module.d.ts +4 -1
  41. package/lib/inventory-common/supplier/suppliers-list/suppliers-list.component.d.ts +14 -32
  42. package/package.json +1 -1
  43. package/esm2022/lib/inventory-common/supplier/supplier-type.service.mjs +0 -25
  44. package/fesm2022/techlify-inventory-common-product.module-qdeafFV5.mjs +0 -1172
  45. package/fesm2022/techlify-inventory-common-product.module-qdeafFV5.mjs.map +0 -1
  46. package/fesm2022/techlify-inventory-common-stock-issuances-list.module-CyFDxARk.mjs +0 -436
  47. package/fesm2022/techlify-inventory-common-stock-issuances-list.module-CyFDxARk.mjs.map +0 -1
  48. package/fesm2022/techlify-inventory-common-stock-receipt-form.module-BZDrN7la.mjs +0 -302
  49. package/fesm2022/techlify-inventory-common-stock-receipt-form.module-BZDrN7la.mjs.map +0 -1
  50. package/fesm2022/techlify-inventory-common-stock-receipts.module-CUPdWteR.mjs +0 -253
  51. package/fesm2022/techlify-inventory-common-stock-receipts.module-CUPdWteR.mjs.map +0 -1
  52. package/fesm2022/techlify-inventory-common-supplier-form.component-CHmMG7O8.mjs +0 -178
  53. package/fesm2022/techlify-inventory-common-supplier-form.component-CHmMG7O8.mjs.map +0 -1
  54. package/fesm2022/techlify-inventory-common-supplier.module-gzHesNtQ.mjs.map +0 -1
  55. package/fesm2022/techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs +0 -14
  56. package/fesm2022/techlify-inventory-common-techlify-form-service-CiVfwYTS.mjs.map +0 -1
  57. package/fesm2022/techlify-inventory-common-techlify-inventory-common-Czyc0jLI.mjs +0 -495
  58. package/fesm2022/techlify-inventory-common-techlify-inventory-common-Czyc0jLI.mjs.map +0 -1
  59. package/lib/inventory-common/supplier/supplier-type.service.d.ts +0 -13
@@ -0,0 +1,64 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { MaterialModule } from '../../material.module';
4
+ import { ActionPopupComponent } from 'ngx-techlify-core';
5
+ import { lastValueFrom } from 'rxjs';
6
+ import { NgxPermissionsModule } from 'ngx-permissions';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/dialog";
9
+ import * as i2 from "ngx-techlify-core";
10
+ import * as i3 from "../supplier.service";
11
+ import * as i4 from "@angular/material/icon";
12
+ import * as i5 from "ngx-permissions";
13
+ export class SupplierDeleteButtonComponent {
14
+ dialog;
15
+ alertService;
16
+ errorHandler;
17
+ supplierService;
18
+ supplier;
19
+ onDelete = new EventEmitter();
20
+ constructor(dialog, alertService, errorHandler, supplierService) {
21
+ this.dialog = dialog;
22
+ this.alertService = alertService;
23
+ this.errorHandler = errorHandler;
24
+ this.supplierService = supplierService;
25
+ }
26
+ ngOnInit() {
27
+ }
28
+ openDialog() {
29
+ this.dialog.open(ActionPopupComponent, {
30
+ width: '400px',
31
+ data: {
32
+ title: 'Delete Supplier',
33
+ message: 'Are you sure you want to delete the Supplier?',
34
+ },
35
+ autoFocus: false,
36
+ }).afterClosed().subscribe(async (result) => {
37
+ if (result) {
38
+ try {
39
+ await lastValueFrom(this.supplierService.destroy(this.supplier.id));
40
+ this.alertService.addAlert('Successfully deleted the Supplier', 'success');
41
+ this.onDelete.emit(this.supplier);
42
+ }
43
+ catch (error) {
44
+ this.errorHandler.handleError(error);
45
+ }
46
+ }
47
+ });
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierDeleteButtonComponent, deps: [{ token: i1.MatDialog }, { token: i2.AlertService }, { token: i2.ErrorHandlerService }, { token: i3.SupplierService }], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierDeleteButtonComponent, isStandalone: true, selector: "app-supplier-delete-button", inputs: { supplier: "supplier" }, outputs: { onDelete: "onDelete" }, ngImport: i0, template: "<mat-icon class=\"cursor-pointer\" *ngxPermissionsOnly=\"['supplier.delete']\" (click)=\"openDialog()\">\n delete\n</mat-icon>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: NgxPermissionsModule }, { kind: "directive", type: i5.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }], preserveWhitespaces: true });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierDeleteButtonComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'app-supplier-delete-button', standalone: true, imports: [
55
+ CommonModule,
56
+ MaterialModule,
57
+ NgxPermissionsModule
58
+ ], template: "<mat-icon class=\"cursor-pointer\" *ngxPermissionsOnly=\"['supplier.delete']\" (click)=\"openDialog()\">\n delete\n</mat-icon>" }]
59
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.AlertService }, { type: i2.ErrorHandlerService }, { type: i3.SupplierService }], propDecorators: { supplier: [{
60
+ type: Input
61
+ }], onDelete: [{
62
+ type: Output
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1kZWxldGUtYnV0dG9uL3N1cHBsaWVyLWRlbGV0ZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZGVsZXRlLWJ1dHRvbi9zdXBwbGllci1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWUsb0JBQW9CLEVBQXFDLE1BQU0sbUJBQW1CLENBQUM7QUFFekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQWF2RCxNQUFNLE9BQU8sNkJBQTZCO0lBS3BCO0lBQ1Y7SUFDQTtJQUNBO0lBTkQsUUFBUSxDQUFLO0lBQ1osUUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFBO0lBRS9ELFlBQW9CLE1BQWlCLEVBQzNCLFlBQTBCLEVBQzFCLFlBQWlDLEVBQ2pDLGVBQWdDO1FBSHRCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN0QyxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDckMsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQWU7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLE9BQU8sRUFBRSwrQ0FBK0M7YUFDekQ7WUFDRCxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQztvQkFDSCxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ25FLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ25DLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBakNVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLDJKQ3BCMUMsaUlBRVcseUREYVAsWUFBWSw4QkFDWixjQUFjLG1MQUNkLG9CQUFvQjs7NEZBR1gsNkJBQTZCO2tCQVh6QyxTQUFTOytCQUNFLDRCQUE0QixjQUcxQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLG9CQUFvQjtxQkFDckI7eUtBSVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IEFjdGlvblBvcHVwLCBBY3Rpb25Qb3B1cENvbXBvbmVudCwgQWxlcnRTZXJ2aWNlLCBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1cHBsaWVyU2VydmljZSB9IGZyb20gJy4uL3N1cHBsaWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd4UGVybWlzc2lvbnNNb2R1bGUgfSBmcm9tICduZ3gtcGVybWlzc2lvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc3VwcGxpZXItZGVsZXRlLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdXBwbGllci1kZWxldGUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3VwcGxpZXItZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgTmd4UGVybWlzc2lvbnNNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJEZWxldGVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHN1cHBsaWVyOiBhbnlcbiAgQE91dHB1dCgpIG9uRGVsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3VwcGxpZXJTZXJ2aWNlOiBTdXBwbGllclNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG9wZW5EaWFsb2coKSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiA8QWN0aW9uUG9wdXA+e1xuICAgICAgICB0aXRsZTogJ0RlbGV0ZSBTdXBwbGllcicsXG4gICAgICAgIG1lc3NhZ2U6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZSBTdXBwbGllcj8nLFxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5zdXBwbGllclNlcnZpY2UuZGVzdHJveSh0aGlzLnN1cHBsaWVyLmlkKSlcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgdGhlIFN1cHBsaWVyJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICB0aGlzLm9uRGVsZXRlLmVtaXQodGhpcy5zdXBwbGllcilcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8bWF0LWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ3N1cHBsaWVyLmRlbGV0ZSddXCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiPlxuICBkZWxldGVcbjwvbWF0LWljb24+Il19
@@ -0,0 +1,43 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { MaterialModule } from '../../../material.module';
4
+ import { SupplierFormComponent } from '../supplier-form.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/material/icon";
8
+ export class SupplierFormButtonComponent {
9
+ matDialog;
10
+ supplier;
11
+ onSaved = new EventEmitter();
12
+ constructor(matDialog) {
13
+ this.matDialog = matDialog;
14
+ }
15
+ ngOnInit() {
16
+ }
17
+ openDialog() {
18
+ this.matDialog.open(SupplierFormComponent, {
19
+ width: '600px',
20
+ data: {
21
+ details: this.supplier
22
+ },
23
+ }).afterClosed().subscribe((result) => {
24
+ if (result) {
25
+ this.onSaved.emit(result);
26
+ }
27
+ });
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormButtonComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierFormButtonComponent, isStandalone: true, selector: "app-supplier-form-button", inputs: { supplier: "supplier" }, outputs: { onSaved: "onSaved" }, ngImport: i0, template: "<mat-icon color=\"primary\" class=\"cursor-pointer\" [class.text-secondary]=\"supplier\" (click)=\"openDialog()\">\n {{ supplier ? \"edit\" : \"add\" }}\n</mat-icon>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], preserveWhitespaces: true });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormButtonComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'app-supplier-form-button', standalone: true, imports: [
35
+ CommonModule,
36
+ MaterialModule
37
+ ], template: "<mat-icon color=\"primary\" class=\"cursor-pointer\" [class.text-secondary]=\"supplier\" (click)=\"openDialog()\">\n {{ supplier ? \"edit\" : \"add\" }}\n</mat-icon>" }]
38
+ }], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { supplier: [{
39
+ type: Input
40
+ }], onSaved: [{
41
+ type: Output
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZm9ybS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLWJ1dHRvbi9zdXBwbGllci1mb3JtLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1mb3JtL3N1cHBsaWVyLWZvcm0tYnV0dG9uL3N1cHBsaWVyLWZvcm0tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVluRSxNQUFNLE9BQU8sMkJBQTJCO0lBS2xCO0lBSFgsUUFBUSxDQUFLO0lBQ1osT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFBO0lBRTlELFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBSSxDQUFDO0lBRTdDLFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ3pDLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTthQUN2QjtTQUNGLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN6QyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBckJVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLHVKQ2hCeEMsd0tBRVcseUREVVAsWUFBWSw4QkFDWixjQUFjOzs0RkFHTCwyQkFBMkI7a0JBVnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBR3hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2Y7OEVBSVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBTdXBwbGllckZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9zdXBwbGllci1mb3JtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zdXBwbGllci1mb3JtLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdXBwbGllci1mb3JtLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N1cHBsaWVyLWZvcm0tYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTdXBwbGllckZvcm1CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHN1cHBsaWVyOiBhbnlcbiAgQE91dHB1dCgpIG9uU2F2ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1hdERpYWxvZzogTWF0RGlhbG9nKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG9wZW5EaWFsb2coKSB7XG4gICAgdGhpcy5tYXREaWFsb2cub3BlbihTdXBwbGllckZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNjAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICBkZXRhaWxzOiB0aGlzLnN1cHBsaWVyXG4gICAgICB9LFxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLm9uU2F2ZWQuZW1pdChyZXN1bHQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgW2NsYXNzLnRleHQtc2Vjb25kYXJ5XT1cInN1cHBsaWVyXCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiPlxuICB7eyBzdXBwbGllciA/IFwiZWRpdFwiIDogXCJhZGRcIiB9fVxuPC9tYXQtaWNvbj4iXX0=
@@ -13,7 +13,6 @@ import * as i6 from "@angular/common";
13
13
  import * as i7 from "@angular/material/button";
14
14
  import * as i8 from "@angular/material/form-field";
15
15
  import * as i9 from "@angular/material/input";
16
- import * as i10 from "@angular/flex-layout";
17
16
  export class SupplierFormComponent extends TechlifyFormComponentInterface {
18
17
  fb;
19
18
  alertService;
@@ -59,13 +58,13 @@ export class SupplierFormComponent extends TechlifyFormComponentInterface {
59
58
  this.supplierService = supplierService;
60
59
  this.supplierForm = this.fb.group({
61
60
  id: [""],
62
- contact_name: ["", Validators.compose([Validators.required])],
61
+ contact_name: [""],
63
62
  company_name: ["", Validators.compose([Validators.required])],
64
- details: ["", Validators.compose([Validators.required])],
65
- address: ["", Validators.compose([Validators.required])],
66
- phone: ["", Validators.compose([Validators.required])],
67
- email: ["", Validators.compose([Validators.required])],
68
- supplier_type_id: ["", Validators.compose([Validators.required])],
63
+ details: [""],
64
+ address: [""],
65
+ phone: [""],
66
+ email: [""],
67
+ supplier_type_id: ["",],
69
68
  });
70
69
  }
71
70
  ngOnInit() {
@@ -106,13 +105,13 @@ export class SupplierFormComponent extends TechlifyFormComponentInterface {
106
105
  return this.formValidatorService.getErrorMessage(field, this.supplierForm, this.errorMessages);
107
106
  }
108
107
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.NgxSpinnerService }, { token: i4.MatDialogRef }, { token: i2.ErrorHandlerService }, { token: MAT_DIALOG_DATA }, { token: i5.SupplierService }], target: i0.ɵɵFactoryTarget.Component });
109
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierFormComponent, selector: "app-supplier-form", usesInheritance: true, ngImport: i0, template: "<form\n [formGroup]=\"supplierForm\"\n (ngSubmit)=\"submit()\"\n class=\"mat-typography p-3\"\n>\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Supplier</div>\n </div>\n\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\n <mat-form-field fxFlex=\"50%\">\n <input\n matInput\n formControlName=\"company_name\"\n placeholder=\"Company Name\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('company_name')\">\n {{ getErrorMessage(\"company_name\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50%\">\n <input\n matInput\n formControlName=\"contact_name\"\n placeholder=\"Contact Name\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('contact_name')\">\n {{ getErrorMessage(\"contact_name\") }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\n <mat-form-field fxFlex=\"50%\">\n <mat-label>Types</mat-label>\n <app-searchable-selector\n titleField=\"title\"\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_id\"\n >\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('supplier_type_id')\">\n {{ getErrorMessage(\"supplier_type_id\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50%\">\n <input\n matInput\n formControlName=\"phone\"\n placeholder=\"Phone\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('phone')\">\n {{ getErrorMessage(\"phone\") }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div fxLayout=\"row wrap\">\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input\n matInput\n formControlName=\"email\"\n placeholder=\"Email\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('email')\">\n {{ getErrorMessage(\"email\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input\n matInput\n formControlName=\"address\"\n placeholder=\"Address\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('address')\">\n {{ getErrorMessage(\"address\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input\n matInput\n formControlName=\"details\"\n placeholder=\"Details\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('details')\">\n {{ getErrorMessage(\"details\") }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div fxLayout=\"row\">\n <div\n class=\"my-2\"\n fxLayout=\"row\"\n fxLayoutGap=\"30px\"\n fxLayoutAlign=\"end\"\n fxFlex=\"100%\"\n >\n <button\n [disabled]=\"isWorking\"\n mat-flat-button\n type=\"button\"\n (click)=\"dialogRef.close()\"\n >\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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"] }], preserveWhitespaces: true });
108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SupplierFormComponent, selector: "app-supplier-form", usesInheritance: true, ngImport: i0, template: "<form\n (ngSubmit)=\"submit()\"\n [formGroup]=\"supplierForm\"\n class=\"mat-typography\"\n>\n <div class=\"d-flex flex-column justify-content-start gap-2\" mat-dialog-content>\n <h2 class=\"mb-2\">{{ isUpdateMode ? 'Edit' : 'Create' }} Supplier</h2>\n <mat-form-field>\n <mat-label>Company Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"company_name\"\n matInput\n placeholder=\"Company Name\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('company_name')\">\n {{ getErrorMessage(\"company_name\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Contact Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"contact_name\"\n matInput\n placeholder=\"Contact Name\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Types</mat-label>\n <app-searchable-selector\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_id\"\n titleField=\"title\"\n >\n </app-searchable-selector>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Phone</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"phone\"\n matInput\n placeholder=\"Phone\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"email\"\n matInput\n placeholder=\"Email\"\n type=\"email\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Address</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"address\"\n matInput\n placeholder=\"Address\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Details</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"details\"\n matInput\n placeholder=\"Details\"\n />\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button\n (click)=\"dialogRef.close()\"\n [disabled]=\"isWorking\"\n mat-flat-button\n type=\"button\"\n >\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n color=\"primary\"\n mat-raised-button\n type=\"submit\"\n >\n Save\n </button>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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"] }], preserveWhitespaces: true });
110
109
  }
111
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierFormComponent, decorators: [{
112
111
  type: Component,
113
- args: [{ selector: "app-supplier-form", template: "<form\n [formGroup]=\"supplierForm\"\n (ngSubmit)=\"submit()\"\n class=\"mat-typography p-3\"\n>\n <div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>Supplier</div>\n </div>\n\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\n <mat-form-field fxFlex=\"50%\">\n <input\n matInput\n formControlName=\"company_name\"\n placeholder=\"Company Name\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('company_name')\">\n {{ getErrorMessage(\"company_name\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50%\">\n <input\n matInput\n formControlName=\"contact_name\"\n placeholder=\"Contact Name\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('contact_name')\">\n {{ getErrorMessage(\"contact_name\") }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div fxLayout=\"row\" fxLayoutGap=\"10px\">\n <mat-form-field fxFlex=\"50%\">\n <mat-label>Types</mat-label>\n <app-searchable-selector\n titleField=\"title\"\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_id\"\n >\n </app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('supplier_type_id')\">\n {{ getErrorMessage(\"supplier_type_id\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50%\">\n <input\n matInput\n formControlName=\"phone\"\n placeholder=\"Phone\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('phone')\">\n {{ getErrorMessage(\"phone\") }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div fxLayout=\"row wrap\">\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input\n matInput\n formControlName=\"email\"\n placeholder=\"Email\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('email')\">\n {{ getErrorMessage(\"email\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input\n matInput\n formControlName=\"address\"\n placeholder=\"Address\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('address')\">\n {{ getErrorMessage(\"address\") }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"mt-1\">\n <input\n matInput\n formControlName=\"details\"\n placeholder=\"Details\"\n autocomplete=\"off\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('details')\">\n {{ getErrorMessage(\"details\") }}\n </mat-error>\n </mat-form-field>\n </div>\n\n <div fxLayout=\"row\">\n <div\n class=\"my-2\"\n fxLayout=\"row\"\n fxLayoutGap=\"30px\"\n fxLayoutAlign=\"end\"\n fxFlex=\"100%\"\n >\n <button\n [disabled]=\"isWorking\"\n mat-flat-button\n type=\"button\"\n (click)=\"dialogRef.close()\"\n >\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n mat-raised-button\n type=\"submit\"\n color=\"primary\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n</form>\n" }]
112
+ args: [{ selector: "app-supplier-form", template: "<form\n (ngSubmit)=\"submit()\"\n [formGroup]=\"supplierForm\"\n class=\"mat-typography\"\n>\n <div class=\"d-flex flex-column justify-content-start gap-2\" mat-dialog-content>\n <h2 class=\"mb-2\">{{ isUpdateMode ? 'Edit' : 'Create' }} Supplier</h2>\n <mat-form-field>\n <mat-label>Company Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"company_name\"\n matInput\n placeholder=\"Company Name\"\n required\n />\n <mat-error *ngIf=\"isFieldValid('company_name')\">\n {{ getErrorMessage(\"company_name\") }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Contact Name</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"contact_name\"\n matInput\n placeholder=\"Contact Name\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Types</mat-label>\n <app-searchable-selector\n apiUrl=\"api/supplier-types\"\n formControlName=\"supplier_type_id\"\n titleField=\"title\"\n >\n </app-searchable-selector>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Phone</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"phone\"\n matInput\n placeholder=\"Phone\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"email\"\n matInput\n placeholder=\"Email\"\n type=\"email\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Address</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"address\"\n matInput\n placeholder=\"Address\"\n />\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Details</mat-label>\n <input\n autocomplete=\"off\"\n formControlName=\"details\"\n matInput\n placeholder=\"Details\"\n />\n </mat-form-field>\n\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button\n (click)=\"dialogRef.close()\"\n [disabled]=\"isWorking\"\n mat-flat-button\n type=\"button\"\n >\n Cancel\n </button>\n <button\n [disabled]=\"isWorking\"\n color=\"primary\"\n mat-raised-button\n type=\"submit\"\n >\n Save\n </button>\n </div>\n </div>\n</form>\n" }]
114
113
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.NgxSpinnerService }, { type: i4.MatDialogRef }, { type: i2.ErrorHandlerService }, { type: undefined, decorators: [{
115
114
  type: Inject,
116
115
  args: [MAT_DIALOG_DATA]
117
116
  }] }, { type: i5.SupplierService }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1mb3JtL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBSUwsOEJBQThCLEdBQy9CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBTXJDLE1BQU0sT0FBTyxxQkFDWCxTQUFRLDhCQUE4QjtJQWdDNUI7SUFFQTtJQUNBO0lBQ0Q7SUFDQztJQUN3QjtJQUN4QjtJQXBDRCxhQUFhLEdBQVE7UUFDNUIsWUFBWSxFQUFFO1lBQ1osUUFBUSxFQUFFLDBCQUEwQjtTQUNyQztRQUNELFlBQVksRUFBRTtZQUNaLFFBQVEsRUFBRSwwQkFBMEI7U0FDckM7UUFDRCxPQUFPLEVBQUU7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1NBQ2hDO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QjtRQUNELE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEM7UUFDRCxLQUFL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QUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxtQ0FBbUM7SUFDMUIsWUFBWSxDQUFDLEtBQWE7UUFDakMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELHdDQUF3QztJQUMvQixlQUFlLENBQUMsS0FBYTtRQUNwQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQzlDLEtBQUssRUFDTCxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFDO0lBQ0osQ0FBQzt3R0FqR1UscUJBQXFCLDZNQXVDdEIsZUFBZTs0RkF2Q2QscUJBQXFCLGdGQ2pCbEMsNm1IQXFJQTs7NEZEcEhhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUI7OzBCQTBDMUIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VwcGxpZXJTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vc3VwcGxpZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSBcIm5neC1zcGlubmVyXCI7XG5pbXBvcnQge1xuICBBbGVydFNlcnZpY2UsXG4gIEVycm9ySGFuZGxlclNlcnZpY2UsXG4gIEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICBUZWNobGlmeUZvcm1Db21wb25lbnRJbnRlcmZhY2UsXG59IGZyb20gXCJuZ3gtdGVjaGxpZnktY29yZVwiO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc3VwcGxpZXItZm9ybVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJGb3JtQ29tcG9uZW50XG4gIGV4dGVuZHMgVGVjaGxpZnlGb3JtQ29tcG9uZW50SW50ZXJmYWNlXG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIG92ZXJyaWRlIGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgICBjb250YWN0X25hbWU6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkNvbnRhY3QgTmFtZSBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgY29tcGFueV9uYW1lOiB7XG4gICAgICByZXF1aXJlZDogXCJDb21wYW55IE5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGFkZHJlc3M6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkFkZHJlc3MgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIHBob25lOiB7XG4gICAgICByZXF1aXJlZDogXCJQaG9uZSBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgZGV0YWlsczoge1xuICAgICAgcmVxdWlyZWQ6IFwiRGV0YWlscyBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgZW1haWw6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkVtYWlsIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgICBzdXBwbGllcl90eXBlX2lkOiB7XG4gICAgICByZXF1aXJlZDogXCJTdXBwbGllciBUeXBlIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgfTtcblxuICBpc1dvcmtpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNVcGRhdGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIHN1cHBsaWVyRm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3Bpbm5lclNlcnZpY2U6IE5neFNwaW5uZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTdXBwbGllckZvcm1Db21wb25lbnQ+LFxuICAgIHByaXZhdGUgZXJyb3JTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgc3VwcGxpZXJTZXJ2aWNlOiBTdXBwbGllclNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVZhbGlkYXRvclNlcnZpY2UpO1xuICAgIHRoaXMuc3VwcGxpZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBpZDogW1wiXCJdLFxuICAgICAgY29udGFjdF9uYW1lOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgY29tcGFueV9uYW1lOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgZGV0YWlsczogW1wiXCIsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgIGFkZHJlc3M6IFtcIlwiLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXG4gICAgICBwaG9uZTogW1wiXCIsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgIGVtYWlsOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgc3VwcGxpZXJfdHlwZV9pZDogW1wiXCIsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmRhdGEuZGV0YWlscykge1xuICAgICAgdGhpcy5pc1VwZGF0ZU1vZGUgPSB0cnVlO1xuICAgICAgdGhpcy5zdXBwbGllckZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmRhdGEuZGV0YWlscyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc3VibWl0KCkge1xuICAgIGlmICghdGhpcy5zdXBwbGllckZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFwiUGxlYXNlIEZpbGwgQWxsIFJlcXVpcmVkIEZpZWxkc1wiLCBcIndhcm5cIik7XG4gICAgICB0aGlzLnN1cHBsaWVyRm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHN1cHBsaWVyID0gdGhpcy5zdXBwbGllckZvcm0udmFsdWU7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuaXNVcGRhdGVNb2RlXG4gICAgICAgID8gYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLnN1cHBsaWVyU2VydmljZS51cGRhdGUoc3VwcGxpZXIpKVxuICAgICAgICA6IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5zdXBwbGllclNlcnZpY2Uuc3RvcmUoc3VwcGxpZXIpKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKk1ldGhvZCB0byBldmFsdWF0ZSBmb3JtIGZpZWxkcyovXG4gIG92ZXJyaWRlIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLnN1cHBsaWVyRm9ybSk7XG4gIH1cblxuICAvKipNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXG4gIG92ZXJyaWRlIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKFxuICAgICAgZmllbGQsXG4gICAgICB0aGlzLnN1cHBsaWVyRm9ybSxcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc1xuICAgICk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwic3VwcGxpZXJGb3JtXCJcbiAgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCJcbiAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBwLTNcIlxuPlxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgIDxkaXY+U3VwcGxpZXI8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCI1MCVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55X25hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29tcGFueSBOYW1lXCJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2NvbXBhbnlfbmFtZScpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiY29tcGFueV9uYW1lXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCI1MCVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0X25hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udGFjdCBOYW1lXCJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ2NvbnRhY3RfbmFtZScpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiY29udGFjdF9uYW1lXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCI1MCVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5UeXBlczwvbWF0LWxhYmVsPlxuICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgICB0aXRsZUZpZWxkPVwidGl0bGVcIlxuICAgICAgICAgIGFwaVVybD1cImFwaS9zdXBwbGllci10eXBlc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3VwcGxpZXJfdHlwZV9pZFwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnc3VwcGxpZXJfdHlwZV9pZCcpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwic3VwcGxpZXJfdHlwZV9pZFwiKSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiNTAlXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiUGhvbmVcIlxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgncGhvbmUnKVwiPlxuICAgICAgICAgIHt7IGdldEVycm9yTWVzc2FnZShcInBob25lXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbWFpbFwiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdlbWFpbCcpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiZW1haWxcIikgfX1cbiAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiIGNsYXNzPVwibXQtMVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQWRkcmVzc1wiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdhZGRyZXNzJylcIj5cbiAgICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoXCJhZGRyZXNzXCIpIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIiBjbGFzcz1cIm10LTFcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXRhaWxzXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRldGFpbHNcIlxuICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZGV0YWlscycpXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKFwiZGV0YWlsc1wiKSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibXktMlwiXG4gICAgICAgIGZ4TGF5b3V0PVwicm93XCJcbiAgICAgICAgZnhMYXlvdXRHYXA9XCIzMHB4XCJcbiAgICAgICAgZnhMYXlvdXRBbGlnbj1cImVuZFwiXG4gICAgICAgIGZ4RmxleD1cIjEwMCVcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzV29ya2luZ1wiXG4gICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImRpYWxvZ1JlZi5jbG9zZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIENhbmNlbFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgPlxuICAgICAgICAgIFNhdmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZlbnRvcnktY29tbW9uL3NyYy9saWIvaW52ZW50b3J5LWNvbW1vbi9zdXBwbGllci9zdXBwbGllci1mb3JtL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBSUwsOEJBQThCLEdBQy9CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7QUFNckMsTUFBTSxPQUFPLHFCQUNYLFNBQVEsOEJBQThCO0lBZ0M1QjtJQUVBO0lBQ0E7SUFDRDtJQUNDO0lBQ3dCO0lBQ3hCO0lBcENELGFBQWEsR0FBUTtRQUM1QixZQUFZLEVBQUU7WUFDWixRQUFRLEVBQUUsMEJBQTBCO1NBQ3JDO1FBQ0QsWUFBWSxFQUFFO1lBQ1osUUFBUSxFQUFFLDBCQUEwQjtTQUNyQztRQUNELE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEM7UUFDRCxLQUFLLEVBQUU7WUFDTCxRQUFRLEVBQUUsbUJBQW1CO1NBQzlCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsUUFBUSxFQUFFLHFCQUFxQjtTQUNoQztRQUNELEtBQUss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RUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsbUNBQW1DO0lBQzFCLFlBQVksQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx3Q0FBd0M7SUFDL0IsZUFBZSxDQUFDLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUM5QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQztJQUNKLENBQUM7d0dBakdVLHFCQUFxQiw2TUF1Q3RCLGVBQWU7NEZBdkNkLHFCQUFxQixnRkNqQmxDLG0rRUFvR0E7OzRGRG5GYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkEwQzFCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1cHBsaWVyU2VydmljZSB9IGZyb20gXCIuLy4uL3N1cHBsaWVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ3hTcGlubmVyU2VydmljZSB9IGZyb20gXCJuZ3gtc3Bpbm5lclwiO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgVGVjaGxpZnlGb3JtQ29tcG9uZW50SW50ZXJmYWNlLFxufSBmcm9tIFwibmd4LXRlY2hsaWZ5LWNvcmVcIjtcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXN1cHBsaWVyLWZvcm1cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdXBwbGllci1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFN1cHBsaWVyRm9ybUNvbXBvbmVudFxuICBleHRlbmRzIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudEludGVyZmFjZVxuICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICBvdmVycmlkZSBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XG4gICAgY29udGFjdF9uYW1lOiB7XG4gICAgICByZXF1aXJlZDogXCJDb250YWN0IE5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGNvbXBhbnlfbmFtZToge1xuICAgICAgcmVxdWlyZWQ6IFwiQ29tcGFueSBOYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgICBhZGRyZXNzOiB7XG4gICAgICByZXF1aXJlZDogXCJBZGRyZXNzIGlzIHJlcXVpcmVkXCIsXG4gICAgfSxcbiAgICBwaG9uZToge1xuICAgICAgcmVxdWlyZWQ6IFwiUGhvbmUgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGRldGFpbHM6IHtcbiAgICAgIHJlcXVpcmVkOiBcIkRldGFpbHMgaXMgcmVxdWlyZWRcIixcbiAgICB9LFxuICAgIGVtYWlsOiB7XG4gICAgICByZXF1aXJlZDogXCJFbWFpbCBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gICAgc3VwcGxpZXJfdHlwZV9pZDoge1xuICAgICAgcmVxdWlyZWQ6IFwiU3VwcGxpZXIgVHlwZSBpcyByZXF1aXJlZFwiLFxuICAgIH0sXG4gIH07XG5cbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzVXBkYXRlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzdXBwbGllckZvcm06IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBOZ3hTcGlubmVyU2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U3VwcGxpZXJGb3JtQ29tcG9uZW50PixcbiAgICBwcml2YXRlIGVycm9yU2VydmljZTogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIHN1cHBsaWVyU2VydmljZTogU3VwcGxpZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGZvcm1WYWxpZGF0b3JTZXJ2aWNlKTtcbiAgICB0aGlzLnN1cHBsaWVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWQ6IFtcIlwiXSxcbiAgICAgIGNvbnRhY3RfbmFtZTogW1wiXCJdLFxuICAgICAgY29tcGFueV9uYW1lOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgZGV0YWlsczogW1wiXCJdLFxuICAgICAgYWRkcmVzczogW1wiXCJdLFxuICAgICAgcGhvbmU6IFtcIlwiXSxcbiAgICAgIGVtYWlsOiBbXCJcIl0sXG4gICAgICBzdXBwbGllcl90eXBlX2lkOiBbXCJcIixdLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZGF0YS5kZXRhaWxzKSB7XG4gICAgICB0aGlzLmlzVXBkYXRlTW9kZSA9IHRydWU7XG4gICAgICB0aGlzLnN1cHBsaWVyRm9ybS5wYXRjaFZhbHVlKHRoaXMuZGF0YS5kZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzdWJtaXQoKSB7XG4gICAgaWYgKCF0aGlzLnN1cHBsaWVyRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXCJQbGVhc2UgRmlsbCBBbGwgUmVxdWlyZWQgRmllbGRzXCIsIFwid2FyblwiKTtcbiAgICAgIHRoaXMuc3VwcGxpZXJGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc3VwcGxpZXIgPSB0aGlzLnN1cHBsaWVyRm9ybS52YWx1ZTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICBsZXQgcmVzdWx0ID0gdGhpcy5pc1VwZGF0ZU1vZGVcbiAgICAgICAgPyBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuc3VwcGxpZXJTZXJ2aWNlLnVwZGF0ZShzdXBwbGllcikpXG4gICAgICAgIDogYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLnN1cHBsaWVyU2VydmljZS5zdG9yZShzdXBwbGllcikpO1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5lcnJvclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cbiAgb3ZlcnJpZGUgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIHRoaXMuc3VwcGxpZXJGb3JtKTtcbiAgfVxuXG4gIC8qKk1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgb3ZlcnJpZGUgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoXG4gICAgICBmaWVsZCxcbiAgICAgIHRoaXMuc3VwcGxpZXJGb3JtLFxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgKTtcbiAgfVxufVxuIiwiPGZvcm1cbiAgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCJcbiAgW2Zvcm1Hcm91cF09XCJzdXBwbGllckZvcm1cIlxuICBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCJcbj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgZ2FwLTJcIiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGgyIGNsYXNzPVwibWItMlwiPnt7IGlzVXBkYXRlTW9kZSA/ICdFZGl0JyA6ICdDcmVhdGUnIH19IFN1cHBsaWVyPC9oMj5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPkNvbXBhbnkgTmFtZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlfbmFtZVwiXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQ29tcGFueSBOYW1lXCJcbiAgICAgICAgcmVxdWlyZWRcbiAgICAgIC8+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdjb21wYW55X25hbWUnKVwiPlxuICAgICAgICB7eyBnZXRFcnJvck1lc3NhZ2UoXCJjb21wYW55X25hbWVcIikgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5Db250YWN0IE5hbWU8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0X25hbWVcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkNvbnRhY3QgTmFtZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPlR5cGVzPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgYXBpVXJsPVwiYXBpL3N1cHBsaWVyLXR5cGVzXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3VwcGxpZXJfdHlwZV9pZFwiXG4gICAgICAgIHRpdGxlRmllbGQ9XCJ0aXRsZVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5QaG9uZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBob25lXCJcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJQaG9uZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWxhYmVsPkVtYWlsPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsXCJcbiAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+QWRkcmVzczwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFkZHJlc3NcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIlxuICAgICAgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5EZXRhaWxzPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGV0YWlsc1wiXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiRGV0YWlsc1wiXG4gICAgICAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1dvcmtpbmdcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgID5cbiAgICAgICAgU2F2ZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -11,6 +11,9 @@ import { FlexModule } from "@angular/flex-layout";
11
11
  import { ReactiveFormsModule } from "@angular/forms";
12
12
  import { InfiniteScrollModule } from "ngx-infinite-scroll";
13
13
  import { MaterialModule } from '../material.module';
14
+ import { NgxPermissionsModule } from 'ngx-permissions';
15
+ import { SupplierFormButtonComponent } from './supplier-form/supplier-form-button/supplier-form-button.component';
16
+ import { SupplierDeleteButtonComponent } from './supplier-delete-button/supplier-delete-button.component';
14
17
  import * as i0 from "@angular/core";
15
18
  export class SupplierModule {
16
19
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -26,7 +29,10 @@ export class SupplierModule {
26
29
  NoteModule,
27
30
  FlexModule,
28
31
  ReactiveFormsModule,
29
- InfiniteScrollModule] });
32
+ InfiniteScrollModule,
33
+ NgxPermissionsModule,
34
+ SupplierFormButtonComponent,
35
+ SupplierDeleteButtonComponent] });
30
36
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, imports: [CommonModule,
31
37
  SupplierRoutingModule,
32
38
  MaterialModule,
@@ -35,7 +41,10 @@ export class SupplierModule {
35
41
  NoteModule,
36
42
  FlexModule,
37
43
  ReactiveFormsModule,
38
- InfiniteScrollModule] });
44
+ InfiniteScrollModule,
45
+ NgxPermissionsModule,
46
+ SupplierFormButtonComponent,
47
+ SupplierDeleteButtonComponent] });
39
48
  }
40
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SupplierModule, decorators: [{
41
50
  type: NgModule,
@@ -57,7 +66,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
57
66
  FlexModule,
58
67
  ReactiveFormsModule,
59
68
  InfiniteScrollModule,
69
+ NgxPermissionsModule,
70
+ SupplierFormButtonComponent,
71
+ SupplierDeleteButtonComponent
60
72
  ],
61
73
  }]
62
74
  }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLHdCQUF3QixHQUN6QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBc0JwRCxNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjO3lHQUFkLGNBQWMsaUJBbEJ2QixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsNEJBQTRCLGFBRzVCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsb0JBQW9CO3lHQUdYLGNBQWMsWUFYdkIsWUFBWTtZQUNaLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixVQUFVO1lBQ1YsVUFBVTtZQUNWLG1CQUFtQjtZQUNuQixvQkFBb0I7OzRGQUdYLGNBQWM7a0JBcEIxQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsbUJBQW1CO3dCQUNuQixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXVkaXRMb2dGb3JNb2RlbE1vZHVsZSxcbiAgTm90ZU1vZHVsZSxcbiAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxufSBmcm9tIFwibmd4LXRlY2hsaWZ5LWNvcmVcIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgU3VwcGxpZXJSb3V0aW5nTW9kdWxlIH0gZnJvbSBcIi4vc3VwcGxpZXItcm91dGluZy5tb2R1bGVcIjtcbmltcG9ydCB7IFN1cHBsaWVyQ29tcG9uZW50IH0gZnJvbSBcIi4vc3VwcGxpZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdXBwbGllclZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi9zdXBwbGllci12aWV3L3N1cHBsaWVyLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdXBwbGllcnNMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4vc3VwcGxpZXJzLWxpc3Qvc3VwcGxpZXJzLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdXBwbGllckZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9zdXBwbGllci1mb3JtL3N1cHBsaWVyLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdXBwbGllckluZm9ybWF0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vc3VwcGxpZXItaW5mb3JtYXRpb24vc3VwcGxpZXItaW5mb3JtYXRpb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGbGV4TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gXCJuZ3gtaW5maW5pdGUtc2Nyb2xsXCI7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN1cHBsaWVyQ29tcG9uZW50LFxuICAgIFN1cHBsaWVyVmlld0NvbXBvbmVudCxcbiAgICBTdXBwbGllcnNMaXN0Q29tcG9uZW50LFxuICAgIFN1cHBsaWVyRm9ybUNvbXBvbmVudCxcbiAgICBTdXBwbGllckluZm9ybWF0aW9uQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN1cHBsaWVyUm91dGluZ01vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG4gICAgQXVkaXRMb2dGb3JNb2RlbE1vZHVsZSxcbiAgICBOb3RlTW9kdWxlLFxuICAgIEZsZXhNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VwcGxpZXJNb2R1bGUge31cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcGxpZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52ZW50b3J5LWNvbW1vbi9zcmMvbGliL2ludmVudG9yeS1jb21tb24vc3VwcGxpZXIvc3VwcGxpZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLHdCQUF3QixHQUN6QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDbEgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7O0FBeUIxRyxNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjO3lHQUFkLGNBQWMsaUJBckJ2QixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsNEJBQTRCLGFBRzVCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQiwyQkFBMkI7WUFDM0IsNkJBQTZCO3lHQUdwQixjQUFjLFlBZHZCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsVUFBVTtZQUNWLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQiwyQkFBMkI7WUFDM0IsNkJBQTZCOzs0RkFHcEIsY0FBYztrQkF2QjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixzQkFBc0I7d0JBQ3RCLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdWRpdExvZ0Zvck1vZGVsTW9kdWxlLFxuICBOb3RlTW9kdWxlLFxuICBTZWFyY2hhYmxlU2VsZWN0b3JNb2R1bGUsXG59IGZyb20gXCJuZ3gtdGVjaGxpZnktY29yZVwiO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBTdXBwbGllclJvdXRpbmdNb2R1bGUgfSBmcm9tIFwiLi9zdXBwbGllci1yb3V0aW5nLm1vZHVsZVwiO1xuaW1wb3J0IHsgU3VwcGxpZXJDb21wb25lbnQgfSBmcm9tIFwiLi9zdXBwbGllci5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1cHBsaWVyVmlld0NvbXBvbmVudCB9IGZyb20gXCIuL3N1cHBsaWVyLXZpZXcvc3VwcGxpZXItdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1cHBsaWVyc0xpc3RDb21wb25lbnQgfSBmcm9tIFwiLi9zdXBwbGllcnMtbGlzdC9zdXBwbGllcnMtbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1cHBsaWVyRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3N1cHBsaWVyLWZvcm0vc3VwcGxpZXItZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN1cHBsaWVySW5mb3JtYXRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9zdXBwbGllci1pbmZvcm1hdGlvbi9zdXBwbGllci1pbmZvcm1hdGlvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZsZXhNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZmxleC1sYXlvdXRcIjtcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSBcIm5neC1pbmZpbml0ZS1zY3JvbGxcIjtcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IE5neFBlcm1pc3Npb25zTW9kdWxlIH0gZnJvbSAnbmd4LXBlcm1pc3Npb25zJztcbmltcG9ydCB7IFN1cHBsaWVyRm9ybUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vc3VwcGxpZXItZm9ybS9zdXBwbGllci1mb3JtLWJ1dHRvbi9zdXBwbGllci1mb3JtLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VwcGxpZXJEZWxldGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3N1cHBsaWVyLWRlbGV0ZS1idXR0b24vc3VwcGxpZXItZGVsZXRlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTdXBwbGllckNvbXBvbmVudCxcbiAgICBTdXBwbGllclZpZXdDb21wb25lbnQsXG4gICAgU3VwcGxpZXJzTGlzdENvbXBvbmVudCxcbiAgICBTdXBwbGllckZvcm1Db21wb25lbnQsXG4gICAgU3VwcGxpZXJJbmZvcm1hdGlvbkNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTdXBwbGllclJvdXRpbmdNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgU2VhcmNoYWJsZVNlbGVjdG9yTW9kdWxlLFxuICAgIEF1ZGl0TG9nRm9yTW9kZWxNb2R1bGUsXG4gICAgTm90ZU1vZHVsZSxcbiAgICBGbGV4TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgTmd4UGVybWlzc2lvbnNNb2R1bGUsXG4gICAgU3VwcGxpZXJGb3JtQnV0dG9uQ29tcG9uZW50LFxuICAgIFN1cHBsaWVyRGVsZXRlQnV0dG9uQ29tcG9uZW50XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFN1cHBsaWVyTW9kdWxlIHt9XG4iXX0=