aril 1.0.39 → 1.0.41

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/http/src/serviceStateMethods.mjs +6 -2
  2. package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +211 -0
  3. package/esm2022/theme/layout/app/favorite-pages/favorite-pages.service.mjs +55 -0
  4. package/esm2022/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.mjs +129 -0
  5. package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +128 -0
  6. package/esm2022/theme/layout/app/history/history.service.mjs +146 -0
  7. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +9 -3
  8. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +100 -8
  9. package/esm2022/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.mjs +142 -0
  10. package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +123 -0
  11. package/esm2022/theme/layout/app/profileSidebar/profile.service.mjs +42 -0
  12. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +161 -0
  13. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +23 -5
  14. package/esm2022/theme/layout/service/app.layout.service.mjs +13 -1
  15. package/fesm2022/aril-http.mjs +5 -1
  16. package/fesm2022/aril-http.mjs.map +1 -1
  17. package/fesm2022/aril-theme-layout.mjs +1197 -75
  18. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  19. package/package.json +84 -83
  20. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.d.ts +42 -0
  21. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +106 -0
  22. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.scss +181 -0
  23. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +253 -0
  24. package/theme/layout/app/favorite-pages/favorite-pages.service.d.ts +54 -0
  25. package/theme/layout/app/favorite-pages/favorite-pages.service.ts +87 -0
  26. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.d.ts +36 -0
  27. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.html +27 -0
  28. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.ts +165 -0
  29. package/theme/layout/app/history/history-sidebar.component.d.ts +30 -0
  30. package/theme/layout/app/history/history-sidebar.component.html +88 -0
  31. package/theme/layout/app/history/history-sidebar.component.scss +191 -0
  32. package/theme/layout/app/history/history-sidebar.component.ts +139 -0
  33. package/theme/layout/app/history/history.service.d.ts +36 -0
  34. package/theme/layout/app/history/history.service.ts +182 -0
  35. package/theme/layout/app/layout/app.layout.component.html +3 -0
  36. package/theme/layout/app/layout/app.layout.component.ts +7 -1
  37. package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +17 -2
  38. package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +107 -135
  39. package/theme/layout/app/profileSidebar/app.profilesidebar.component.scss +152 -0
  40. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +114 -7
  41. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.d.ts +30 -0
  42. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.html +46 -0
  43. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.scss +28 -0
  44. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.ts +178 -0
  45. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.d.ts +27 -0
  46. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.html +76 -0
  47. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.ts +141 -0
  48. package/theme/layout/app/profileSidebar/profile.service.d.ts +67 -0
  49. package/theme/layout/app/profileSidebar/profile.service.ts +89 -0
  50. package/theme/layout/app/site-map/site-map-sidebar.component.d.ts +37 -0
  51. package/theme/layout/app/site-map/site-map-sidebar.component.html +118 -0
  52. package/theme/layout/app/site-map/site-map-sidebar.component.scss +189 -0
  53. package/theme/layout/app/site-map/site-map-sidebar.component.ts +189 -0
  54. package/theme/layout/app/topbar/app.topbar.component.d.ts +7 -1
  55. package/theme/layout/app/topbar/app.topbar.component.html +37 -17
  56. package/theme/layout/app/topbar/app.topbar.component.scss +188 -12
  57. package/theme/layout/app/topbar/app.topbar.component.ts +29 -7
  58. package/theme/layout/service/app.layout.service.d.ts +6 -0
  59. package/theme/layout/service/app.layout.service.ts +19 -1
@@ -0,0 +1,142 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, effect } from '@angular/core';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { PasswordModule } from 'primeng/password';
6
+ import { TooltipModule } from 'primeng/tooltip';
7
+ import { TranslocoModule } from '@ngneat/transloco';
8
+ import { Subject, switchMap } from 'rxjs';
9
+ import { ButtonComponent } from 'aril/ui/button';
10
+ import { FieldComponent } from 'aril/ui/field';
11
+ import { ARiLFormModule } from 'aril/ui/form';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/forms";
14
+ import * as i2 from "primeng/dynamicdialog";
15
+ import * as i3 from "../../profile.service";
16
+ import * as i4 from "@ngneat/transloco";
17
+ import * as i5 from "primeng/api";
18
+ import * as i6 from "aril/ui/form";
19
+ import * as i7 from "primeng/password";
20
+ import * as i8 from "primeng/tooltip";
21
+ export class PasswordValidators {
22
+ static { this.passwordMatchValidator = (passwordFormGroup) => {
23
+ return (control) => {
24
+ if (!control.value || !passwordFormGroup) {
25
+ return null;
26
+ }
27
+ const passwordControl = passwordFormGroup.get('newPassword');
28
+ const confirmPasswordValue = control.value;
29
+ if (!passwordControl || !confirmPasswordValue) {
30
+ return null;
31
+ }
32
+ const passwordsMatch = passwordControl.value === confirmPasswordValue;
33
+ return passwordsMatch ? null : ({
34
+ passwordMismatch: 'Şifreler eşleşmiyor. Lütfen aynı şifreyi giriniz.'
35
+ });
36
+ };
37
+ }; }
38
+ static minLength(length) {
39
+ return (control) => {
40
+ if (!control.value || control.value.length >= length) {
41
+ return null;
42
+ }
43
+ return { minlength: `Şifre en az ${length} karakter olmalıdır.` };
44
+ };
45
+ }
46
+ static required(control) {
47
+ if (!control.value || control.value.trim() === '') {
48
+ return { required: 'Bu alan zorunludur.' };
49
+ }
50
+ return null;
51
+ }
52
+ }
53
+ export class ChangePasswordModalComponent {
54
+ constructor(formBuilder, dialogRef, dialogConfig, profileService, translocoService, messageService) {
55
+ this.formBuilder = formBuilder;
56
+ this.dialogRef = dialogRef;
57
+ this.dialogConfig = dialogConfig;
58
+ this.profileService = profileService;
59
+ this.translocoService = translocoService;
60
+ this.messageService = messageService;
61
+ this.subjects = {
62
+ resetPassword: new Subject()
63
+ };
64
+ this.resetPasswordService = toSignal(this.subjects.resetPassword.pipe(switchMap((data) => this.profileService.resetPassword(data))));
65
+ this.userId = this.dialogConfig.data?.userId;
66
+ effect(() => {
67
+ const service = this.resetPasswordService();
68
+ if (service?.response) {
69
+ this.messageService.add({
70
+ severity: 'success',
71
+ summary: this.translocoService.translate('profileSidebar.changePasswordSuccess'),
72
+ detail: this.translocoService.translate('profileSidebar.changePasswordSuccessDetail'),
73
+ key: 'toast-root'
74
+ });
75
+ this.dialogRef.close({ status: 'success' });
76
+ }
77
+ }, { allowSignalWrites: true });
78
+ this.initializeForm();
79
+ if (!this.userId) {
80
+ this.dialogRef.close('error');
81
+ }
82
+ }
83
+ initializeForm() {
84
+ this.passwordForm = this.formBuilder.group({
85
+ newPassword: new FormControl('', [PasswordValidators.required, PasswordValidators.minLength(6)]),
86
+ confirmPassword: new FormControl('', [PasswordValidators.required])
87
+ });
88
+ const confirmPasswordControl = this.passwordForm.get('confirmPassword');
89
+ if (confirmPasswordControl) {
90
+ confirmPasswordControl.setValidators([
91
+ PasswordValidators.required,
92
+ PasswordValidators.passwordMatchValidator(this.passwordForm)
93
+ ]);
94
+ }
95
+ this.passwordForm.get('newPassword')?.valueChanges.subscribe(() => {
96
+ confirmPasswordControl?.updateValueAndValidity({ emitEvent: false });
97
+ });
98
+ }
99
+ getErrorMessage(controlName) {
100
+ const control = this.passwordForm.get(controlName);
101
+ if (control?.errors) {
102
+ const errors = control.errors;
103
+ const errorKeys = Object.keys(errors);
104
+ if (errorKeys.length > 0) {
105
+ return errors[errorKeys[0]];
106
+ }
107
+ }
108
+ return '';
109
+ }
110
+ submit() {
111
+ if (this.passwordForm.invalid) {
112
+ this.passwordForm.markAllAsTouched();
113
+ return;
114
+ }
115
+ const formValue = this.passwordForm.value;
116
+ const resetRequest = {
117
+ userId: this.userId,
118
+ password: formValue.newPassword
119
+ };
120
+ this.subjects.resetPassword.next(resetRequest);
121
+ }
122
+ cancel() {
123
+ this.dialogRef.close('cancel');
124
+ }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChangePasswordModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.ProfileService }, { token: i4.TranslocoService }, { token: i5.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ChangePasswordModalComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"change-password-modal\" *transloco=\"let t; read: 'profileSidebar'\">\r\n\t<aril-form [formGroup]=\"passwordForm\">\r\n\t\t<aril-field [label]=\"t('newPassword')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<p-password \r\n\t\t\t\tformControlName=\"newPassword\"\r\n\t\t\t\t[placeholder]=\"t('newPassword')\"\r\n\t\t\t\t[feedback]=\"false\"\r\n\t\t\t\t[toggleMask]=\"true\"\r\n\t\t\t\tstyleClass=\"w-full\"\r\n\t\t\t\t[pTooltip]=\"passwordForm.get('newPassword')?.invalid && passwordForm.get('newPassword')?.touched ? getErrorMessage('newPassword') : ''\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\ttooltipStyleClass=\"tooltipErrorMessage\">\r\n\t\t\t</p-password>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('confirmPassword')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<p-password \r\n\t\t\t\tformControlName=\"confirmPassword\"\r\n\t\t\t\t[placeholder]=\"t('confirmPassword')\"\r\n\t\t\t\t[feedback]=\"false\"\r\n\t\t\t\t[toggleMask]=\"true\"\r\n\t\t\t\tstyleClass=\"w-full\"\r\n\t\t\t\t[pTooltip]=\"passwordForm.get('confirmPassword')?.invalid && passwordForm.get('confirmPassword')?.touched ? getErrorMessage('confirmPassword') : ''\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\ttooltipStyleClass=\"tooltipErrorMessage\">\r\n\t\t\t</p-password>\r\n\t\t</aril-field>\r\n\r\n\t\t<div class=\"col-12 flex justify-content-end mt-4 gap-2\">\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t[label]=\"t('cancel')\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t(clickEvent)=\"cancel()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"success\"\r\n\t\t\t\t[label]=\"t('save')\"\r\n\t\t\t\t[raised]=\"false\"\r\n\t\t\t\ticon=\"CHECK\"\r\n\t\t\t\t(clickEvent)=\"submit()\">\r\n\t\t\t</aril-button>\r\n\t\t</div>\r\n\t</aril-form>\r\n</div>\r\n", styles: [".change-password-modal :host ::ng-deep .p-password.ng-invalid.ng-touched .p-inputtext{border-color:var(--red-500, #ef4444);box-shadow:0 0 0 1px var(--red-500, #ef4444)}.change-password-modal :host ::ng-deep .p-password.ng-valid.ng-touched .p-inputtext{border-color:var(--green-500, #22c55e);box-shadow:0 0 0 1px var(--green-500, #22c55e)}.change-password-modal :host ::ng-deep .tooltipErrorMessage{background-color:var(--red-500, #ef4444)!important;color:#fff!important;font-size:.75rem!important;font-weight:500!important;border-radius:4px!important;padding:.5rem .75rem!important;box-shadow:0 2px 4px #0000001a!important}.change-password-modal :host ::ng-deep .tooltipErrorMessage .p-tooltip-arrow{border-top-color:var(--red-500, #ef4444)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ARiLFormModule }, { kind: "component", type: i6.FormComponent, selector: "aril-form", inputs: ["formGroup"] }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i7.Password, selector: "p-password", inputs: ["ariaLabel", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }] }); }
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChangePasswordModalComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ standalone: true, imports: [
131
+ CommonModule,
132
+ ReactiveFormsModule,
133
+ FormsModule,
134
+ ARiLFormModule,
135
+ FieldComponent,
136
+ ButtonComponent,
137
+ PasswordModule,
138
+ TooltipModule,
139
+ TranslocoModule
140
+ ], template: "<div class=\"change-password-modal\" *transloco=\"let t; read: 'profileSidebar'\">\r\n\t<aril-form [formGroup]=\"passwordForm\">\r\n\t\t<aril-field [label]=\"t('newPassword')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<p-password \r\n\t\t\t\tformControlName=\"newPassword\"\r\n\t\t\t\t[placeholder]=\"t('newPassword')\"\r\n\t\t\t\t[feedback]=\"false\"\r\n\t\t\t\t[toggleMask]=\"true\"\r\n\t\t\t\tstyleClass=\"w-full\"\r\n\t\t\t\t[pTooltip]=\"passwordForm.get('newPassword')?.invalid && passwordForm.get('newPassword')?.touched ? getErrorMessage('newPassword') : ''\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\ttooltipStyleClass=\"tooltipErrorMessage\">\r\n\t\t\t</p-password>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('confirmPassword')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<p-password \r\n\t\t\t\tformControlName=\"confirmPassword\"\r\n\t\t\t\t[placeholder]=\"t('confirmPassword')\"\r\n\t\t\t\t[feedback]=\"false\"\r\n\t\t\t\t[toggleMask]=\"true\"\r\n\t\t\t\tstyleClass=\"w-full\"\r\n\t\t\t\t[pTooltip]=\"passwordForm.get('confirmPassword')?.invalid && passwordForm.get('confirmPassword')?.touched ? getErrorMessage('confirmPassword') : ''\"\r\n\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\ttooltipStyleClass=\"tooltipErrorMessage\">\r\n\t\t\t</p-password>\r\n\t\t</aril-field>\r\n\r\n\t\t<div class=\"col-12 flex justify-content-end mt-4 gap-2\">\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t[label]=\"t('cancel')\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t(clickEvent)=\"cancel()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"success\"\r\n\t\t\t\t[label]=\"t('save')\"\r\n\t\t\t\t[raised]=\"false\"\r\n\t\t\t\ticon=\"CHECK\"\r\n\t\t\t\t(clickEvent)=\"submit()\">\r\n\t\t\t</aril-button>\r\n\t\t</div>\r\n\t</aril-form>\r\n</div>\r\n", styles: [".change-password-modal :host ::ng-deep .p-password.ng-invalid.ng-touched .p-inputtext{border-color:var(--red-500, #ef4444);box-shadow:0 0 0 1px var(--red-500, #ef4444)}.change-password-modal :host ::ng-deep .p-password.ng-valid.ng-touched .p-inputtext{border-color:var(--green-500, #22c55e);box-shadow:0 0 0 1px var(--green-500, #22c55e)}.change-password-modal :host ::ng-deep .tooltipErrorMessage{background-color:var(--red-500, #ef4444)!important;color:#fff!important;font-size:.75rem!important;font-weight:500!important;border-radius:4px!important;padding:.5rem .75rem!important;box-shadow:0 2px 4px #0000001a!important}.change-password-modal :host ::ng-deep .tooltipErrorMessage .p-tooltip-arrow{border-top-color:var(--red-500, #ef4444)!important}\n"] }]
141
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: i3.ProfileService }, { type: i4.TranslocoService }, { type: i5.MessageService }] });
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXBhc3N3b3JkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdGhlbWUvbGF5b3V0L2FwcC9wcm9maWxlU2lkZWJhci9tb2RhbHMvY2hhbmdlLXBhc3N3b3JkLW1vZGFsL2NoYW5nZS1wYXNzd29yZC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvcHJvZmlsZVNpZGViYXIvbW9kYWxzL2NoYW5nZS1wYXNzd29yZC1tb2RhbC9jaGFuZ2UtcGFzc3dvcmQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBR04sV0FBVyxFQUVYLFdBQVcsRUFDWCxtQkFBbUIsRUFFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztBQUk5QyxNQUFNLE9BQU8sa0JBQWtCO2FBQ3ZCLDJCQUFzQixHQUFHLENBQUMsaUJBQTRCLEVBQUUsRUFBRTtRQUNoRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO1lBQ2IsQ0FBQztZQUVELE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFFM0MsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQy9DLE9BQU8sSUFBSSxDQUFDO1lBQ2IsQ0FBQztZQUVELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxLQUFLLEtBQUssb0JBQW9CLENBQUM7WUFDdEUsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDN0I7Z0JBQ0MsZ0JBQWdCLEVBQUUsbURBQW1EO2FBQ3JFLENBQ0QsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBYztRQUM5QixPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtZQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDdEQsT0FBTyxJQUFJLENBQUM7WUFDYixDQUFDO1lBQ0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLE1BQU0sc0JBQXNCLEVBQUUsQ0FBQztRQUNuRSxDQUFDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUF3QjtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDOztBQW1CRixNQUFNLE9BQU8sNEJBQTRCO0lBWXhDLFlBQ2tCLFdBQXdCLEVBQ3hCLFNBQTJCLEVBQzNCLFlBQWlDLEVBQ2pDLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxjQUE4QjtRQUw5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBZHhDLGFBQVEsR0FBRztZQUNsQixhQUFhLEVBQUUsSUFBSSxPQUFPLEVBQTJCO1NBQ3JELENBQUM7UUFFRix5QkFBb0IsR0FBRyxRQUFRLENBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDOUYsQ0FBQztRQVVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBRTdDLE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QyxJQUFJLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRSxTQUFTO29CQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxzQ0FBc0MsQ0FBQztvQkFDaEYsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsNENBQTRDLENBQUM7b0JBQ3JGLEdBQUcsRUFBRSxZQUFZO2lCQUNqQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0YsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzNCLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0YsQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzFDLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEcsZUFBZSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25FLENBQUMsQ0FBQztRQUVILE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSxJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFDNUIsc0JBQXNCLENBQUMsYUFBYSxDQUFDO2dCQUNwQyxrQkFBa0IsQ0FBQyxRQUFRO2dCQUMzQixrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzVELENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUFtQjtRQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRCxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNyQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEMsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0YsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU07UUFDTCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDUixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQTRCO1lBQzdDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsU0FBUyxDQUFDLFdBQVc7U0FDL0IsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTTtRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBN0ZXLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHdFQ25GekMsZzNEQThDQSwweUJEd0JFLFlBQVksOEJBQ1osbUJBQW1CLG1sQkFDbkIsV0FBVyw4QkFDWCxjQUFjLDRIQUNkLGNBQWMsaUtBQ2QsZUFBZSwrTEFDZixjQUFjLDZnQkFDZCxhQUFhLHFYQUNiLGVBQWU7OzJGQUtKLDRCQUE0QjtrQkFoQnhDLFNBQVM7aUNBQ0csSUFBSSxXQUNQO3dCQUNSLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7XHJcblx0QWJzdHJhY3RDb250cm9sLFxyXG5cdEZvcm1CdWlsZGVyLFxyXG5cdEZvcm1Db250cm9sLFxyXG5cdEZvcm1Hcm91cCxcclxuXHRGb3Jtc01vZHVsZSxcclxuXHRSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG5cdFZhbGlkYXRpb25FcnJvcnNcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFBhc3N3b3JkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYXNzd29yZCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2ZpZWxkJztcclxuaW1wb3J0IHsgQVJpTEZvcm1Nb2R1bGUgfSBmcm9tICdhcmlsL3VpL2Zvcm0nO1xyXG5cclxuaW1wb3J0IHsgUHJvZmlsZVNlcnZpY2UsIFJlc2V0UGFzc3dvcmRSZXF1ZXN0RFRPIH0gZnJvbSAnLi4vLi4vcHJvZmlsZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFZhbGlkYXRvcnMge1xyXG5cdHN0YXRpYyBwYXNzd29yZE1hdGNoVmFsaWRhdG9yID0gKHBhc3N3b3JkRm9ybUdyb3VwOiBGb3JtR3JvdXApID0+IHtcclxuXHRcdHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG5cdFx0XHRpZiAoIWNvbnRyb2wudmFsdWUgfHwgIXBhc3N3b3JkRm9ybUdyb3VwKSB7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGNvbnN0IHBhc3N3b3JkQ29udHJvbCA9IHBhc3N3b3JkRm9ybUdyb3VwLmdldCgnbmV3UGFzc3dvcmQnKTtcclxuXHRcdFx0Y29uc3QgY29uZmlybVBhc3N3b3JkVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG5cclxuXHRcdFx0aWYgKCFwYXNzd29yZENvbnRyb2wgfHwgIWNvbmZpcm1QYXNzd29yZFZhbHVlKSB7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGNvbnN0IHBhc3N3b3Jkc01hdGNoID0gcGFzc3dvcmRDb250cm9sLnZhbHVlID09PSBjb25maXJtUGFzc3dvcmRWYWx1ZTtcclxuXHRcdFx0cmV0dXJuIHBhc3N3b3Jkc01hdGNoID8gbnVsbCA6IChcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0cGFzc3dvcmRNaXNtYXRjaDogJ8WeaWZyZWxlciBlxZ9sZcWfbWl5b3IuIEzDvHRmZW4gYXluxLEgxZ9pZnJleWkgZ2lyaW5pei4nXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdH07XHJcblx0fTtcclxuXHJcblx0c3RhdGljIG1pbkxlbmd0aChsZW5ndGg6IG51bWJlcikge1xyXG5cdFx0cmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcblx0XHRcdGlmICghY29udHJvbC52YWx1ZSB8fCBjb250cm9sLnZhbHVlLmxlbmd0aCA+PSBsZW5ndGgpIHtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4geyBtaW5sZW5ndGg6IGDFnmlmcmUgZW4gYXogJHtsZW5ndGh9IGthcmFrdGVyIG9sbWFsxLFkxLFyLmAgfTtcclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgcmVxdWlyZWQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG5cdFx0aWYgKCFjb250cm9sLnZhbHVlIHx8IGNvbnRyb2wudmFsdWUudHJpbSgpID09PSAnJykge1xyXG5cdFx0XHRyZXR1cm4geyByZXF1aXJlZDogJ0J1IGFsYW4gem9ydW5sdWR1ci4nIH07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gbnVsbDtcclxuXHR9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0UmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0QVJpTEZvcm1Nb2R1bGUsXHJcblx0XHRGaWVsZENvbXBvbmVudCxcclxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcclxuXHRcdFBhc3N3b3JkTW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZSxcclxuXHRcdFRyYW5zbG9jb01vZHVsZVxyXG5cdF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NoYW5nZS1wYXNzd29yZC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vY2hhbmdlLXBhc3N3b3JkLW1vZGFsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENoYW5nZVBhc3N3b3JkTW9kYWxDb21wb25lbnQge1xyXG5cdHBhc3N3b3JkRm9ybSE6IEZvcm1Hcm91cDtcclxuXHR1c2VySWQ6IHN0cmluZztcclxuXHJcblx0cHJpdmF0ZSBzdWJqZWN0cyA9IHtcclxuXHRcdHJlc2V0UGFzc3dvcmQ6IG5ldyBTdWJqZWN0PFJlc2V0UGFzc3dvcmRSZXF1ZXN0RFRPPigpXHJcblx0fTtcclxuXHJcblx0cmVzZXRQYXNzd29yZFNlcnZpY2UgPSB0b1NpZ25hbChcclxuXHRcdHRoaXMuc3ViamVjdHMucmVzZXRQYXNzd29yZC5waXBlKHN3aXRjaE1hcCgoZGF0YSkgPT4gdGhpcy5wcm9maWxlU2VydmljZS5yZXNldFBhc3N3b3JkKGRhdGEpKSlcclxuXHQpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMudXNlcklkID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YT8udXNlcklkO1xyXG5cclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNlcnZpY2UgPSB0aGlzLnJlc2V0UGFzc3dvcmRTZXJ2aWNlKCk7XHJcblx0XHRcdFx0aWYgKHNlcnZpY2U/LnJlc3BvbnNlKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRcdHNldmVyaXR5OiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3Byb2ZpbGVTaWRlYmFyLmNoYW5nZVBhc3N3b3JkU3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0XHRkZXRhaWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3Byb2ZpbGVTaWRlYmFyLmNoYW5nZVBhc3N3b3JkU3VjY2Vzc0RldGFpbCcpLFxyXG5cdFx0XHRcdFx0XHRrZXk6ICd0b2FzdC1yb290J1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IHN0YXR1czogJ3N1Y2Nlc3MnIH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuaW5pdGlhbGl6ZUZvcm0oKTtcclxuXHJcblx0XHRpZiAoIXRoaXMudXNlcklkKSB7XHJcblx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdlcnJvcicpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5pdGlhbGl6ZUZvcm0oKTogdm9pZCB7XHJcblx0XHR0aGlzLnBhc3N3b3JkRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG5cdFx0XHRuZXdQYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnLCBbUGFzc3dvcmRWYWxpZGF0b3JzLnJlcXVpcmVkLCBQYXNzd29yZFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXSksXHJcblx0XHRcdGNvbmZpcm1QYXNzd29yZDogbmV3IEZvcm1Db250cm9sKCcnLCBbUGFzc3dvcmRWYWxpZGF0b3JzLnJlcXVpcmVkXSlcclxuXHRcdH0pO1xyXG5cclxuXHRcdGNvbnN0IGNvbmZpcm1QYXNzd29yZENvbnRyb2wgPSB0aGlzLnBhc3N3b3JkRm9ybS5nZXQoJ2NvbmZpcm1QYXNzd29yZCcpO1xyXG5cdFx0aWYgKGNvbmZpcm1QYXNzd29yZENvbnRyb2wpIHtcclxuXHRcdFx0Y29uZmlybVBhc3N3b3JkQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtcclxuXHRcdFx0XHRQYXNzd29yZFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcblx0XHRcdFx0UGFzc3dvcmRWYWxpZGF0b3JzLnBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IodGhpcy5wYXNzd29yZEZvcm0pXHJcblx0XHRcdF0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMucGFzc3dvcmRGb3JtLmdldCgnbmV3UGFzc3dvcmQnKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdGNvbmZpcm1QYXNzd29yZENvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRnZXRFcnJvck1lc3NhZ2UoY29udHJvbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBjb250cm9sID0gdGhpcy5wYXNzd29yZEZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcclxuXHRcdGlmIChjb250cm9sPy5lcnJvcnMpIHtcclxuXHRcdFx0Y29uc3QgZXJyb3JzID0gY29udHJvbC5lcnJvcnM7XHJcblx0XHRcdGNvbnN0IGVycm9yS2V5cyA9IE9iamVjdC5rZXlzKGVycm9ycyk7XHJcblx0XHRcdGlmIChlcnJvcktleXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdHJldHVybiBlcnJvcnNbZXJyb3JLZXlzWzBdXTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICcnO1xyXG5cdH1cclxuXHJcblx0c3VibWl0KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMucGFzc3dvcmRGb3JtLmludmFsaWQpIHtcclxuXHRcdFx0dGhpcy5wYXNzd29yZEZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgZm9ybVZhbHVlID0gdGhpcy5wYXNzd29yZEZvcm0udmFsdWU7XHJcblx0XHRjb25zdCByZXNldFJlcXVlc3Q6IFJlc2V0UGFzc3dvcmRSZXF1ZXN0RFRPID0ge1xyXG5cdFx0XHR1c2VySWQ6IHRoaXMudXNlcklkLFxyXG5cdFx0XHRwYXNzd29yZDogZm9ybVZhbHVlLm5ld1Bhc3N3b3JkXHJcblx0XHR9O1xyXG5cclxuXHRcdHRoaXMuc3ViamVjdHMucmVzZXRQYXNzd29yZC5uZXh0KHJlc2V0UmVxdWVzdCk7XHJcblx0fVxyXG5cclxuXHRjYW5jZWwoKTogdm9pZCB7XHJcblx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnY2FuY2VsJyk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjaGFuZ2UtcGFzc3dvcmQtbW9kYWxcIiAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6ICdwcm9maWxlU2lkZWJhcidcIj5cclxuXHQ8YXJpbC1mb3JtIFtmb3JtR3JvdXBdPVwicGFzc3dvcmRGb3JtXCI+XHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgnbmV3UGFzc3dvcmQnKVwiIFtjb2xzXT1cInsgeGw6IDEyLCBsZzogMTIsIG1kOiAxMiwgc206IDEyIH1cIiBbbWFya0FzUmVxdWlyZWRdPVwidHJ1ZVwiPlxyXG5cdFx0XHQ8cC1wYXNzd29yZCBcclxuXHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJuZXdQYXNzd29yZFwiXHJcblx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cInQoJ25ld1Bhc3N3b3JkJylcIlxyXG5cdFx0XHRcdFtmZWVkYmFja109XCJmYWxzZVwiXHJcblx0XHRcdFx0W3RvZ2dsZU1hc2tdPVwidHJ1ZVwiXHJcblx0XHRcdFx0c3R5bGVDbGFzcz1cInctZnVsbFwiXHJcblx0XHRcdFx0W3BUb29sdGlwXT1cInBhc3N3b3JkRm9ybS5nZXQoJ25ld1Bhc3N3b3JkJyk/LmludmFsaWQgJiYgcGFzc3dvcmRGb3JtLmdldCgnbmV3UGFzc3dvcmQnKT8udG91Y2hlZCA/IGdldEVycm9yTWVzc2FnZSgnbmV3UGFzc3dvcmQnKSA6ICcnXCJcclxuXHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdHRvb2x0aXBTdHlsZUNsYXNzPVwidG9vbHRpcEVycm9yTWVzc2FnZVwiPlxyXG5cdFx0XHQ8L3AtcGFzc3dvcmQ+XHJcblx0XHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdFx0PGFyaWwtZmllbGQgW2xhYmVsXT1cInQoJ2NvbmZpcm1QYXNzd29yZCcpXCIgW2NvbHNdPVwieyB4bDogMTIsIGxnOiAxMiwgbWQ6IDEyLCBzbTogMTIgfVwiIFttYXJrQXNSZXF1aXJlZF09XCJ0cnVlXCI+XHJcblx0XHRcdDxwLXBhc3N3b3JkIFxyXG5cdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cImNvbmZpcm1QYXNzd29yZFwiXHJcblx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cInQoJ2NvbmZpcm1QYXNzd29yZCcpXCJcclxuXHRcdFx0XHRbZmVlZGJhY2tdPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFt0b2dnbGVNYXNrXT1cInRydWVcIlxyXG5cdFx0XHRcdHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxyXG5cdFx0XHRcdFtwVG9vbHRpcF09XCJwYXNzd29yZEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8uaW52YWxpZCAmJiBwYXNzd29yZEZvcm0uZ2V0KCdjb25maXJtUGFzc3dvcmQnKT8udG91Y2hlZCA/IGdldEVycm9yTWVzc2FnZSgnY29uZmlybVBhc3N3b3JkJykgOiAnJ1wiXHJcblx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHR0b29sdGlwU3R5bGVDbGFzcz1cInRvb2x0aXBFcnJvck1lc3NhZ2VcIj5cclxuXHRcdFx0PC9wLXBhc3N3b3JkPlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTQgZ2FwLTJcIj5cclxuXHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0Y29sb3I9XCJkYW5nZXJcIlxyXG5cdFx0XHRcdFtsYWJlbF09XCJ0KCdjYW5jZWwnKVwiXHJcblx0XHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRcdGljb249XCJUSU1FU1wiXHJcblx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIj5cclxuXHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0Y29sb3I9XCJzdWNjZXNzXCJcclxuXHRcdFx0XHRbbGFiZWxdPVwidCgnc2F2ZScpXCJcclxuXHRcdFx0XHRbcmFpc2VkXT1cImZhbHNlXCJcclxuXHRcdFx0XHRpY29uPVwiQ0hFQ0tcIlxyXG5cdFx0XHRcdChjbGlja0V2ZW50KT1cInN1Ym1pdCgpXCI+XHJcblx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2FyaWwtZm9ybT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,123 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, effect } from '@angular/core';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { FormControl, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
5
+ import { TranslocoModule } from '@ngneat/transloco';
6
+ import { Subject, switchMap } from 'rxjs';
7
+ import { ButtonComponent } from 'aril/ui/button';
8
+ import { CheckboxComponent } from 'aril/ui/checkbox';
9
+ import { FieldComponent } from 'aril/ui/field';
10
+ import { ARiLFormModule } from 'aril/ui/form';
11
+ import { MaskComponent } from 'aril/ui/mask';
12
+ import { TextComponent } from 'aril/ui/text';
13
+ import { TextAreaComponent } from 'aril/ui/textArea';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/forms";
16
+ import * as i2 from "primeng/dynamicdialog";
17
+ import * as i3 from "../../profile.service";
18
+ import * as i4 from "@ngneat/transloco";
19
+ import * as i5 from "primeng/api";
20
+ import * as i6 from "aril/ui/form";
21
+ export class EditProfileModalComponent {
22
+ constructor(formBuilder, dialogRef, dialogConfig, profileService, translocoService, messageService) {
23
+ this.formBuilder = formBuilder;
24
+ this.dialogRef = dialogRef;
25
+ this.dialogConfig = dialogConfig;
26
+ this.profileService = profileService;
27
+ this.translocoService = translocoService;
28
+ this.messageService = messageService;
29
+ this.subjects = {
30
+ updateUser: new Subject()
31
+ };
32
+ this.updateUserService = toSignal(this.subjects.updateUser.pipe(switchMap((data) => this.profileService.updateUser(data))));
33
+ this.userProfile = this.dialogConfig.data?.userProfile;
34
+ this.initializeEffects();
35
+ this.initializeForm();
36
+ }
37
+ ngOnInit() {
38
+ if (!this.userProfile) {
39
+ this.dialogRef.close('error');
40
+ }
41
+ }
42
+ initializeEffects() {
43
+ effect(() => {
44
+ const service = this.updateUserService();
45
+ if (service?.response) {
46
+ this.messageService.add({
47
+ severity: 'success',
48
+ summary: this.translocoService.translate('profileSidebar.updateSuccess'),
49
+ detail: this.translocoService.translate('profileSidebar.updateSuccessDetail'),
50
+ key: 'toast-root'
51
+ });
52
+ this.dialogRef.close({ status: 'success', data: service.response });
53
+ }
54
+ }, { allowSignalWrites: true });
55
+ }
56
+ initializeForm() {
57
+ this.profileForm = this.formBuilder.group({
58
+ id: new FormControl(this.userProfile?.id || null),
59
+ systemUser: new FormControl({ value: this.userProfile?.systemUser ?? true, disabled: true }),
60
+ clientOfSystemUser: new FormControl({ value: this.userProfile?.clientOfSystemUser || '', disabled: true }),
61
+ userTypeId: new FormControl({ value: this.userProfile?.userTypeId || null, disabled: true }),
62
+ regions: new FormControl({ value: this.userProfile?.regions || '', disabled: true }),
63
+ userName: new FormControl({ value: this.userProfile?.userName || '', disabled: true }, [Validators.required]),
64
+ firstName: new FormControl(this.userProfile?.firstName || '', [Validators.required]),
65
+ lastName: new FormControl(this.userProfile?.lastName || ''),
66
+ email: new FormControl(this.userProfile?.email || '', [Validators.email, Validators.required]),
67
+ phone: new FormControl(Array.isArray(this.userProfile?.phone) ? this.userProfile.phone[0] || '' : this.userProfile?.phone || ''),
68
+ tckn: new FormControl(Array.isArray(this.userProfile?.tckn) ? this.userProfile.tckn[0] || '' : '', [
69
+ Validators.required
70
+ ]),
71
+ photoUrl: new FormControl(this.userProfile?.photoUrl || ''),
72
+ enabled: new FormControl({ value: this.userProfile?.enabled ?? true, disabled: true }),
73
+ emailVerified: new FormControl({ value: this.userProfile?.emailVerified ?? true, disabled: true }),
74
+ notes: new FormControl(this.userProfile?.notes || '')
75
+ });
76
+ }
77
+ submit() {
78
+ if (this.profileForm.invalid) {
79
+ return;
80
+ }
81
+ const rawValue = this.profileForm.getRawValue();
82
+ const updateRequest = {
83
+ id: this.userProfile.id,
84
+ firstName: rawValue.firstName,
85
+ lastName: rawValue.lastName,
86
+ email: rawValue.email,
87
+ phone: Array.isArray(rawValue.phone) ? rawValue.phone : [rawValue.phone],
88
+ tckn: Array.isArray(rawValue.tckn) ? rawValue.tckn : [rawValue.tckn],
89
+ photoUrl: Array.isArray(rawValue.photoUrl) ? rawValue.photoUrl : [rawValue.photoUrl],
90
+ notes: Array.isArray(rawValue.notes) ? rawValue.notes : [rawValue.notes],
91
+ password: null,
92
+ enabled: rawValue.enabled,
93
+ emailVerified: rawValue.emailVerified,
94
+ systemUser: rawValue.systemUser,
95
+ clientOfSystemUser: rawValue.clientOfSystemUser,
96
+ userTypeId: rawValue.userTypeId || null,
97
+ regions: rawValue.regions
98
+ };
99
+ this.subjects.updateUser.next(updateRequest);
100
+ }
101
+ cancel() {
102
+ this.dialogRef.close('cancel');
103
+ }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EditProfileModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.ProfileService }, { token: i4.TranslocoService }, { token: i5.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: EditProfileModalComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div *transloco=\"let t; read: 'profileSidebar'\">\r\n\t<aril-form [formGroup]=\"profileForm\">\r\n\t\t<aril-field [label]=\"t('systemUser')\" [cols]=\"{ xl: 6, lg: 6, md: 12, sm: 12 }\">\r\n\t\t\t<aril-checkbox [label]=\"' '\" formControlName=\"systemUser\" [disabled]=\"true\"></aril-checkbox>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('systemUserApp')\" [cols]=\"{ xl: 6, lg: 6, md: 12, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"clientOfSystemUser\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<!-- <aril-field [label]=\"t('userType')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"userTypeId\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('responsibleRegions')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"regions\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field> -->\r\n\r\n\t\t<aril-field [label]=\"t('username')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"userName\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('firstName')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"firstName\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('lastName')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"lastName\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('email')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"email\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('phone')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-mask mask=\"(999) 999 99 99\" [placeholder]=\"t('phoneExample')\" formControlName=\"phone\"></aril-mask>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('tcNumber')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-mask mask=\"99999999999\" formControlName=\"tckn\"></aril-mask>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('photoUrl')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"photoUrl\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('active')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-checkbox [label]=\"' '\" formControlName=\"enabled\" [disabled]=\"true\"></aril-checkbox>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('emailVerified')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-checkbox [label]=\"' '\" formControlName=\"emailVerified\" [disabled]=\"true\"></aril-checkbox>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('notes')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\">\r\n\t\t\t<aril-text-area [rows]=\"3\" [cols]=\"40\" formControlName=\"notes\"></aril-text-area>\r\n\t\t</aril-field>\r\n\r\n\t\t<div class=\"col-12 flex justify-content-end mt-4 gap-2\">\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t[label]=\"t('cancel')\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t(clickEvent)=\"cancel()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"success\"\r\n\t\t\t\t[label]=\"t('save')\"\r\n\t\t\t\t[raised]=\"false\"\r\n\t\t\t\ticon=\"CHECK\"\r\n\t\t\t\t(clickEvent)=\"submit()\">\r\n\t\t\t</aril-button>\r\n\t\t</div>\r\n\t</aril-form>\r\n</div> ", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ARiLFormModule }, { kind: "component", type: i6.FormComponent, selector: "aril-form", inputs: ["formGroup"] }, { kind: "component", type: FieldComponent, selector: "aril-field", inputs: ["label", "color", "labelWidth", "valueWidth", "labelPos", "markAsRequired", "cols", "infoData"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "component", type: TextAreaComponent, selector: "aril-text-area[ngModel], aril-text-area[formControl], aril-text-area[formControlName]", inputs: ["rows", "cols", "isAutoResize", "tabindex", "placeholder"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "outlined", "badge", "size", "icon", "color"], outputs: ["clickEvent"] }, { kind: "component", type: MaskComponent, selector: "aril-mask[ngModel], aril-mask[formControl], aril-mask[formControlName]", inputs: ["mask", "slotChar", "placeholder", "maxlength", "usageInGrid", "tabindex"] }, { kind: "component", type: CheckboxComponent, selector: "aril-checkbox[ngModel], aril-checkbox[formControl], aril-checkbox[formControlName]", inputs: ["label", "tabindex"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }] }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EditProfileModalComponent, decorators: [{
108
+ type: Component,
109
+ args: [{ standalone: true, imports: [
110
+ CommonModule,
111
+ ReactiveFormsModule,
112
+ FormsModule,
113
+ ARiLFormModule,
114
+ FieldComponent,
115
+ TextComponent,
116
+ TextAreaComponent,
117
+ ButtonComponent,
118
+ MaskComponent,
119
+ CheckboxComponent,
120
+ TranslocoModule
121
+ ], template: "<div *transloco=\"let t; read: 'profileSidebar'\">\r\n\t<aril-form [formGroup]=\"profileForm\">\r\n\t\t<aril-field [label]=\"t('systemUser')\" [cols]=\"{ xl: 6, lg: 6, md: 12, sm: 12 }\">\r\n\t\t\t<aril-checkbox [label]=\"' '\" formControlName=\"systemUser\" [disabled]=\"true\"></aril-checkbox>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('systemUserApp')\" [cols]=\"{ xl: 6, lg: 6, md: 12, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"clientOfSystemUser\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<!-- <aril-field [label]=\"t('userType')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"userTypeId\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('responsibleRegions')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"regions\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field> -->\r\n\r\n\t\t<aril-field [label]=\"t('username')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"userName\" [disabled]=\"true\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('firstName')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"firstName\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('lastName')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"lastName\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('email')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-text formControlName=\"email\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('phone')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-mask mask=\"(999) 999 99 99\" [placeholder]=\"t('phoneExample')\" formControlName=\"phone\"></aril-mask>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('tcNumber')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\" [markAsRequired]=\"true\">\r\n\t\t\t<aril-mask mask=\"99999999999\" formControlName=\"tckn\"></aril-mask>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('photoUrl')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-text formControlName=\"photoUrl\"></aril-text>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('active')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-checkbox [label]=\"' '\" formControlName=\"enabled\" [disabled]=\"true\"></aril-checkbox>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('emailVerified')\" [cols]=\"{ xl: 6, lg: 6, md: 6, sm: 12 }\">\r\n\t\t\t<aril-checkbox [label]=\"' '\" formControlName=\"emailVerified\" [disabled]=\"true\"></aril-checkbox>\r\n\t\t</aril-field>\r\n\r\n\t\t<aril-field [label]=\"t('notes')\" [cols]=\"{ xl: 12, lg: 12, md: 12, sm: 12 }\">\r\n\t\t\t<aril-text-area [rows]=\"3\" [cols]=\"40\" formControlName=\"notes\"></aril-text-area>\r\n\t\t</aril-field>\r\n\r\n\t\t<div class=\"col-12 flex justify-content-end mt-4 gap-2\">\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"danger\"\r\n\t\t\t\t[label]=\"t('cancel')\"\r\n\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t(clickEvent)=\"cancel()\">\r\n\t\t\t</aril-button>\r\n\t\t\t<aril-button\r\n\t\t\t\tcolor=\"success\"\r\n\t\t\t\t[label]=\"t('save')\"\r\n\t\t\t\t[raised]=\"false\"\r\n\t\t\t\ticon=\"CHECK\"\r\n\t\t\t\t(clickEvent)=\"submit()\">\r\n\t\t\t</aril-button>\r\n\t\t</div>\r\n\t</aril-form>\r\n</div> " }]
122
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: i3.ProfileService }, { type: i4.TranslocoService }, { type: i5.MessageService }] });
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1wcm9maWxlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdGhlbWUvbGF5b3V0L2FwcC9wcm9maWxlU2lkZWJhci9tb2RhbHMvZWRpdC1wcm9maWxlLW1vZGFsL2VkaXQtcHJvZmlsZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvcHJvZmlsZVNpZGViYXIvbW9kYWxzL2VkaXQtcHJvZmlsZS1tb2RhbC9lZGl0LXByb2ZpbGUtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQWUsV0FBVyxFQUFhLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtuSCxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUs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UUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVGLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BGLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdHLFNBQVMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEYsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMzRCxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUYsS0FBSyxFQUFFLElBQUksV0FBVyxDQUNyQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUN4RztZQUNELElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENB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ZUFBZTs7MkZBSUoseUJBQXlCO2tCQWpCckMsU0FBUztpQ0FDRyxJQUFJLFdBQ1A7d0JBQ1IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2ZpZWxkJztcclxuaW1wb3J0IHsgQVJpTEZvcm1Nb2R1bGUgfSBmcm9tICdhcmlsL3VpL2Zvcm0nO1xyXG5pbXBvcnQgeyBNYXNrQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9tYXNrJztcclxuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvdGV4dCc7XHJcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS90ZXh0QXJlYSc7XHJcblxyXG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSwgVXBkYXRlVXNlclJlcXVlc3REVE8sIFVzZXJSZXNwb25zZURUTyB9IGZyb20gJy4uLy4uL3Byb2ZpbGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcblx0XHRGb3Jtc01vZHVsZSxcclxuXHRcdEFSaUxGb3JtTW9kdWxlLFxyXG5cdFx0RmllbGRDb21wb25lbnQsXHJcblx0XHRUZXh0Q29tcG9uZW50LFxyXG5cdFx0VGV4dEFyZWFDb21wb25lbnQsXHJcblx0XHRCdXR0b25Db21wb25lbnQsXHJcblx0XHRNYXNrQ29tcG9uZW50LFxyXG5cdFx0Q2hlY2tib3hDb21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGVcclxuXHRdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9lZGl0LXByb2ZpbGUtbW9kYWwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0UHJvZmlsZU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRwcm9maWxlRm9ybSE6IEZvcm1Hcm91cDtcclxuXHR1c2VyUHJvZmlsZTogVXNlclJlc3BvbnNlRFRPO1xyXG5cclxuXHRwcml2YXRlIHN1YmplY3RzID0ge1xyXG5cdFx0dXBkYXRlVXNlcjogbmV3IFN1YmplY3Q8VXBkYXRlVXNlclJlcXVlc3REVE8+KClcclxuXHR9O1xyXG5cclxuXHR1cGRhdGVVc2VyU2VydmljZSA9IHRvU2lnbmFsKFxyXG5cdFx0dGhpcy5zdWJqZWN0cy51cGRhdGVVc2VyLnBpcGUoc3dpdGNoTWFwKChkYXRhKSA9PiB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVwZGF0ZVVzZXIoZGF0YSkpKVxyXG5cdCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy51c2VyUHJvZmlsZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGE/LnVzZXJQcm9maWxlO1xyXG5cdFx0dGhpcy5pbml0aWFsaXplRWZmZWN0cygpO1xyXG5cdFx0dGhpcy5pbml0aWFsaXplRm9ybSgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMudXNlclByb2ZpbGUpIHtcclxuXHRcdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoJ2Vycm9yJyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRpYWxpemVFZmZlY3RzKCk6IHZvaWQge1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgc2VydmljZSA9IHRoaXMudXBkYXRlVXNlclNlcnZpY2UoKTtcclxuXHRcdFx0XHRpZiAoc2VydmljZT8ucmVzcG9uc2UpIHtcclxuXHRcdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuXHRcdFx0XHRcdFx0c2V2ZXJpdHk6ICdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgncHJvZmlsZVNpZGViYXIudXBkYXRlU3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0XHRkZXRhaWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3Byb2ZpbGVTaWRlYmFyLnVwZGF0ZVN1Y2Nlc3NEZXRhaWwnKSxcclxuXHRcdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0dGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBzdGF0dXM6ICdzdWNjZXNzJywgZGF0YTogc2VydmljZS5yZXNwb25zZSB9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZUZvcm0oKTogdm9pZCB7XHJcblx0XHR0aGlzLnByb2ZpbGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcblx0XHRcdGlkOiBuZXcgRm9ybUNvbnRyb2wodGhpcy51c2VyUHJvZmlsZT8uaWQgfHwgbnVsbCksXHJcblx0XHRcdHN5c3RlbVVzZXI6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnVzZXJQcm9maWxlPy5zeXN0ZW1Vc2VyID8/IHRydWUsIGRpc2FibGVkOiB0cnVlIH0pLFxyXG5cdFx0XHRjbGllbnRPZlN5c3RlbVVzZXI6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnVzZXJQcm9maWxlPy5jbGllbnRPZlN5c3RlbVVzZXIgfHwgJycsIGRpc2FibGVkOiB0cnVlIH0pLFxyXG5cdFx0XHR1c2VyVHlwZUlkOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogdGhpcy51c2VyUHJvZmlsZT8udXNlclR5cGVJZCB8fCBudWxsLCBkaXNhYmxlZDogdHJ1ZSB9KSxcclxuXHRcdFx0cmVnaW9uczogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMudXNlclByb2ZpbGU/LnJlZ2lvbnMgfHwgJycsIGRpc2FibGVkOiB0cnVlIH0pLFxyXG5cdFx0XHR1c2VyTmFtZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMudXNlclByb2ZpbGU/LnVzZXJOYW1lIHx8ICcnLCBkaXNhYmxlZDogdHJ1ZSB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG5cdFx0XHRmaXJzdE5hbWU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLnVzZXJQcm9maWxlPy5maXJzdE5hbWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcblx0XHRcdGxhc3ROYW1lOiBuZXcgRm9ybUNvbnRyb2wodGhpcy51c2VyUHJvZmlsZT8ubGFzdE5hbWUgfHwgJycpLFxyXG5cdFx0XHRlbWFpbDogbmV3IEZvcm1Db250cm9sKHRoaXMudXNlclByb2ZpbGU/LmVtYWlsIHx8ICcnLCBbVmFsaWRhdG9ycy5lbWFpbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG5cdFx0XHRwaG9uZTogbmV3IEZvcm1Db250cm9sKFxyXG5cdFx0XHRcdEFycmF5LmlzQXJyYXkodGhpcy51c2VyUHJvZmlsZT8ucGhvbmUpID8gdGhpcy51c2VyUHJvZmlsZS5waG9uZVswXSB8fCAnJyA6IHRoaXMudXNlclByb2ZpbGU/LnBob25lIHx8ICcnXHJcblx0XHRcdCksXHJcblx0XHRcdHRja246IG5ldyBGb3JtQ29udHJvbChBcnJheS5pc0FycmF5KHRoaXMudXNlclByb2ZpbGU/LnRja24pID8gdGhpcy51c2VyUHJvZmlsZS50Y2tuWzBdIHx8ICcnIDogJycsIFtcclxuXHRcdFx0XHRWYWxpZGF0b3JzLnJlcXVpcmVkXHJcblx0XHRcdF0pLFxyXG5cdFx0XHRwaG90b1VybDogbmV3IEZvcm1Db250cm9sKHRoaXMudXNlclByb2ZpbGU/LnBob3RvVXJsIHx8ICcnKSxcclxuXHRcdFx0ZW5hYmxlZDogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMudXNlclByb2ZpbGU/LmVuYWJsZWQgPz8gdHJ1ZSwgZGlzYWJsZWQ6IHRydWUgfSksXHJcblx0XHRcdGVtYWlsVmVyaWZpZWQ6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnVzZXJQcm9maWxlPy5lbWFpbFZlcmlmaWVkID8/IHRydWUsIGRpc2FibGVkOiB0cnVlIH0pLFxyXG5cdFx0XHRub3RlczogbmV3IEZvcm1Db250cm9sKHRoaXMudXNlclByb2ZpbGU/Lm5vdGVzIHx8ICcnKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRzdWJtaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5wcm9maWxlRm9ybS5pbnZhbGlkKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHJhd1ZhbHVlID0gdGhpcy5wcm9maWxlRm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG5cdFx0Y29uc3QgdXBkYXRlUmVxdWVzdDogVXBkYXRlVXNlclJlcXVlc3REVE8gPSB7XHJcblx0XHRcdGlkOiB0aGlzLnVzZXJQcm9maWxlLmlkLFxyXG5cdFx0XHRmaXJzdE5hbWU6IHJhd1ZhbHVlLmZpcnN0TmFtZSxcclxuXHRcdFx0bGFzdE5hbWU6IHJhd1ZhbHVlLmxhc3ROYW1lLFxyXG5cdFx0XHRlbWFpbDogcmF3VmFsdWUuZW1haWwsXHJcblx0XHRcdHBob25lOiBBcnJheS5pc0FycmF5KHJhd1ZhbHVlLnBob25lKSA/IHJhd1ZhbHVlLnBob25lIDogW3Jhd1ZhbHVlLnBob25lXSxcclxuXHRcdFx0dGNrbjogQXJyYXkuaXNBcnJheShyYXdWYWx1ZS50Y2tuKSA/IHJhd1ZhbHVlLnRja24gOiBbcmF3VmFsdWUudGNrbl0sXHJcblx0XHRcdHBob3RvVXJsOiBBcnJheS5pc0FycmF5KHJhd1ZhbHVlLnBob3RvVXJsKSA/IHJhd1ZhbHVlLnBob3RvVXJsIDogW3Jhd1ZhbHVlLnBob3RvVXJsXSxcclxuXHRcdFx0bm90ZXM6IEFycmF5LmlzQXJyYXkocmF3VmFsdWUubm90ZXMpID8gcmF3VmFsdWUubm90ZXMgOiBbcmF3VmFsdWUubm90ZXNdLFxyXG5cdFx0XHRwYXNzd29yZDogbnVsbCxcclxuXHRcdFx0ZW5hYmxlZDogcmF3VmFsdWUuZW5hYmxlZCxcclxuXHRcdFx0ZW1haWxWZXJpZmllZDogcmF3VmFsdWUuZW1haWxWZXJpZmllZCxcclxuXHRcdFx0c3lzdGVtVXNlcjogcmF3VmFsdWUuc3lzdGVtVXNlcixcclxuXHRcdFx0Y2xpZW50T2ZTeXN0ZW1Vc2VyOiByYXdWYWx1ZS5jbGllbnRPZlN5c3RlbVVzZXIsXHJcblx0XHRcdHVzZXJUeXBlSWQ6IHJhd1ZhbHVlLnVzZXJUeXBlSWQgfHwgbnVsbCxcclxuXHRcdFx0cmVnaW9uczogcmF3VmFsdWUucmVnaW9uc1xyXG5cdFx0fTtcclxuXHJcblx0XHR0aGlzLnN1YmplY3RzLnVwZGF0ZVVzZXIubmV4dCh1cGRhdGVSZXF1ZXN0KTtcclxuXHR9XHJcblxyXG5cdGNhbmNlbCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdjYW5jZWwnKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiAgKnRyYW5zbG9jbz1cImxldCB0OyByZWFkOiAncHJvZmlsZVNpZGViYXInXCI+XHJcblx0PGFyaWwtZm9ybSBbZm9ybUdyb3VwXT1cInByb2ZpbGVGb3JtXCI+XHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgnc3lzdGVtVXNlcicpXCIgW2NvbHNdPVwieyB4bDogNiwgbGc6IDYsIG1kOiAxMiwgc206IDEyIH1cIj5cclxuXHRcdFx0PGFyaWwtY2hlY2tib3ggW2xhYmVsXT1cIicgJ1wiIGZvcm1Db250cm9sTmFtZT1cInN5c3RlbVVzZXJcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvYXJpbC1jaGVja2JveD5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgnc3lzdGVtVXNlckFwcCcpXCIgW2NvbHNdPVwieyB4bDogNiwgbGc6IDYsIG1kOiAxMiwgc206IDEyIH1cIj5cclxuXHRcdFx0PGFyaWwtdGV4dCBmb3JtQ29udHJvbE5hbWU9XCJjbGllbnRPZlN5c3RlbVVzZXJcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvYXJpbC10ZXh0PlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDwhLS0gPGFyaWwtZmllbGQgW2xhYmVsXT1cInQoJ3VzZXJUeXBlJylcIiBbY29sc109XCJ7IHhsOiA2LCBsZzogNiwgbWQ6IDYsIHNtOiAxMiB9XCI+XHJcblx0XHRcdDxhcmlsLXRleHQgZm9ybUNvbnRyb2xOYW1lPVwidXNlclR5cGVJZFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9hcmlsLXRleHQ+XHJcblx0XHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdFx0PGFyaWwtZmllbGQgW2xhYmVsXT1cInQoJ3Jlc3BvbnNpYmxlUmVnaW9ucycpXCIgW2NvbHNdPVwieyB4bDogNiwgbGc6IDYsIG1kOiA2LCBzbTogMTIgfVwiPlxyXG5cdFx0XHQ8YXJpbC10ZXh0IGZvcm1Db250cm9sTmFtZT1cInJlZ2lvbnNcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvYXJpbC10ZXh0PlxyXG5cdFx0PC9hcmlsLWZpZWxkPiAtLT5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgndXNlcm5hbWUnKVwiIFtjb2xzXT1cInsgeGw6IDYsIGxnOiA2LCBtZDogNiwgc206IDEyIH1cIiBbbWFya0FzUmVxdWlyZWRdPVwidHJ1ZVwiPlxyXG5cdFx0XHQ8YXJpbC10ZXh0IGZvcm1Db250cm9sTmFtZT1cInVzZXJOYW1lXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L2FyaWwtdGV4dD5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgnZmlyc3ROYW1lJylcIiBbY29sc109XCJ7IHhsOiA2LCBsZzogNiwgbWQ6IDYsIHNtOiAxMiB9XCIgW21hcmtBc1JlcXVpcmVkXT1cInRydWVcIj5cclxuXHRcdFx0PGFyaWwtdGV4dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIj48L2FyaWwtdGV4dD5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgnbGFzdE5hbWUnKVwiIFtjb2xzXT1cInsgeGw6IDYsIGxnOiA2LCBtZDogNiwgc206IDEyIH1cIj5cclxuXHRcdFx0PGFyaWwtdGV4dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiPjwvYXJpbC10ZXh0PlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCJ0KCdlbWFpbCcpXCIgW2NvbHNdPVwieyB4bDogNiwgbGc6IDYsIG1kOiA2LCBzbTogMTIgfVwiIFttYXJrQXNSZXF1aXJlZF09XCJ0cnVlXCI+XHJcblx0XHRcdDxhcmlsLXRleHQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj48L2FyaWwtdGV4dD5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgncGhvbmUnKVwiIFtjb2xzXT1cInsgeGw6IDYsIGxnOiA2LCBtZDogNiwgc206IDEyIH1cIj5cclxuXHRcdFx0PGFyaWwtbWFzayBtYXNrPVwiKDk5OSkgOTk5IDk5IDk5XCIgW3BsYWNlaG9sZGVyXT1cInQoJ3Bob25lRXhhbXBsZScpXCIgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIj48L2FyaWwtbWFzaz5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgndGNOdW1iZXInKVwiIFtjb2xzXT1cInsgeGw6IDYsIGxnOiA2LCBtZDogNiwgc206IDEyIH1cIiBbbWFya0FzUmVxdWlyZWRdPVwidHJ1ZVwiPlxyXG5cdFx0XHQ8YXJpbC1tYXNrIG1hc2s9XCI5OTk5OTk5OTk5OVwiIGZvcm1Db250cm9sTmFtZT1cInRja25cIj48L2FyaWwtbWFzaz5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgncGhvdG9VcmwnKVwiIFtjb2xzXT1cInsgeGw6IDYsIGxnOiA2LCBtZDogNiwgc206IDEyIH1cIj5cclxuXHRcdFx0PGFyaWwtdGV4dCBmb3JtQ29udHJvbE5hbWU9XCJwaG90b1VybFwiPjwvYXJpbC10ZXh0PlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCJ0KCdhY3RpdmUnKVwiIFtjb2xzXT1cInsgeGw6IDYsIGxnOiA2LCBtZDogNiwgc206IDEyIH1cIj5cclxuXHRcdFx0PGFyaWwtY2hlY2tib3ggW2xhYmVsXT1cIicgJ1wiIGZvcm1Db250cm9sTmFtZT1cImVuYWJsZWRcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvYXJpbC1jaGVja2JveD5cclxuXHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwidCgnZW1haWxWZXJpZmllZCcpXCIgW2NvbHNdPVwieyB4bDogNiwgbGc6IDYsIG1kOiA2LCBzbTogMTIgfVwiPlxyXG5cdFx0XHQ8YXJpbC1jaGVja2JveCBbbGFiZWxdPVwiJyAnXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxWZXJpZmllZFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9hcmlsLWNoZWNrYm94PlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxhcmlsLWZpZWxkIFtsYWJlbF09XCJ0KCdub3RlcycpXCIgW2NvbHNdPVwieyB4bDogMTIsIGxnOiAxMiwgbWQ6IDEyLCBzbTogMTIgfVwiPlxyXG5cdFx0XHQ8YXJpbC10ZXh0LWFyZWEgW3Jvd3NdPVwiM1wiIFtjb2xzXT1cIjQwXCIgZm9ybUNvbnRyb2xOYW1lPVwibm90ZXNcIj48L2FyaWwtdGV4dC1hcmVhPlxyXG5cdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTQgZ2FwLTJcIj5cclxuXHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0Y29sb3I9XCJkYW5nZXJcIlxyXG5cdFx0XHRcdFtsYWJlbF09XCJ0KCdjYW5jZWwnKVwiXHJcblx0XHRcdFx0W291dGxpbmVkXT1cInRydWVcIlxyXG5cdFx0XHRcdGljb249XCJUSU1FU1wiXHJcblx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIj5cclxuXHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0Y29sb3I9XCJzdWNjZXNzXCJcclxuXHRcdFx0XHRbbGFiZWxdPVwidCgnc2F2ZScpXCJcclxuXHRcdFx0XHRbcmFpc2VkXT1cImZhbHNlXCJcclxuXHRcdFx0XHRpY29uPVwiQ0hFQ0tcIlxyXG5cdFx0XHRcdChjbGlja0V2ZW50KT1cInN1Ym1pdCgpXCI+XHJcblx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2FyaWwtZm9ybT5cclxuPC9kaXY+ICJdfQ==
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { Apps } from 'aril/boot/config/apps';
5
+ import { HTTPMethods, ProxyTypes, RestClient, ServiceCall } from 'aril/http';
6
+ import * as i0 from "@angular/core";
7
+ export const profileEndpoints = {
8
+ getUser: 'user-management/users/get',
9
+ updateUser: 'user-management/users/update',
10
+ resetPassword: 'user-management/users/reset-password'
11
+ };
12
+ export class ProfileService extends RestClient {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.states = {};
16
+ }
17
+ getUser(post) {
18
+ return new Observable();
19
+ }
20
+ updateUser(post) {
21
+ return new Observable();
22
+ }
23
+ resetPassword(post) {
24
+ return new Observable();
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ProfileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ProfileService, providedIn: 'root' }); }
28
+ }
29
+ __decorate([
30
+ ServiceCall(HTTPMethods.POST, ProxyTypes.ClientSide, profileEndpoints.getUser, {}, Apps.MW)
31
+ ], ProfileService.prototype, "getUser", null);
32
+ __decorate([
33
+ ServiceCall(HTTPMethods.POST, ProxyTypes.ClientSide, profileEndpoints.updateUser, {}, Apps.MW)
34
+ ], ProfileService.prototype, "updateUser", null);
35
+ __decorate([
36
+ ServiceCall(HTTPMethods.POST, ProxyTypes.ClientSide, profileEndpoints.resetPassword, {}, Apps.MW)
37
+ ], ProfileService.prototype, "resetPassword", null);
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ProfileService, decorators: [{
39
+ type: Injectable,
40
+ args: [{ providedIn: 'root' }]
41
+ }], propDecorators: { getUser: [], updateUser: [], resetPassword: [] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL3Byb2ZpbGVTaWRlYmFyL3Byb2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUF3QyxNQUFNLFdBQVcsQ0FBQzs7QUEyRG5ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQy9CLE9BQU8sRUFBRSwyQkFBMkI7SUFDcEMsVUFBVSxFQUFFLDhCQUE4QjtJQUMxQyxhQUFhLEVBQUUsc0NBQXNDO0NBQ3JELENBQUM7QUFHRixNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFEOUM7O1FBRVUsV0FBTSxHQUF3QyxFQUFFLENBQUM7S0FnQjFEO0lBYkEsT0FBTyxDQUFDLElBQXVCO1FBQzlCLE9BQU8sSUFBSSxVQUFVLEVBQW9DLENBQUM7SUFDM0QsQ0FBQztJQUdELFVBQVUsQ0FBQyxJQUEwQjtRQUNwQyxPQUFPLElBQUksVUFBVSxFQUFvQyxDQUFDO0lBQzNELENBQUM7SUFHRCxhQUFhLENBQUMsSUFBNkI7UUFDMUMsT0FBTyxJQUFJLFVBQVUsRUFBd0IsQ0FBQztJQUMvQyxDQUFDOzhHQWhCVyxjQUFjO2tIQUFkLGNBQWMsY0FERCxNQUFNOztBQUsvQjtJQURDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDOzZDQUczRjtBQUdEO0lBREMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7Z0RBRzlGO0FBR0Q7SUFEQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQzttREFHakc7MkZBaEJXLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzhCQUtqQyxPQUFPLE1BS1AsVUFBVSxNQUtWLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBBcHBzIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcHBzJztcclxuaW1wb3J0IHsgSFRUUE1ldGhvZHMsIFByb3h5VHlwZXMsIFJlc3RDbGllbnQsIFNlcnZpY2VDYWxsLCBTZXJ2aWNlQ2FsbFN0YXRlTWFwLCBTZXJ2aWNlUmVzcG9uc2UgfSBmcm9tICdhcmlsL2h0dHAnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZXRVc2VyUmVxdWVzdERUTyB7XHJcblx0aWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVVc2VyUmVxdWVzdERUTyB7XHJcblx0aWQ6IHN0cmluZztcclxuXHRmaXJzdE5hbWU/OiBzdHJpbmc7XHJcblx0bGFzdE5hbWU/OiBzdHJpbmc7XHJcblx0ZW1haWw/OiBzdHJpbmc7XHJcblx0ZW5hYmxlZD86IGJvb2xlYW47XHJcblx0ZW1haWxWZXJpZmllZD86IGJvb2xlYW47XHJcblx0cGhvbmU/OiBzdHJpbmdbXTtcclxuXHR0Y2tuPzogc3RyaW5nW107XHJcblx0cmVnaW9ucz86IEFycmF5PHtcclxuXHRcdHN0YXJ0TGV2ZWw6IHN0cmluZztcclxuXHRcdGVuZExldmVsOiBzdHJpbmc7XHJcblx0fT47XHJcblx0cGhvdG9Vcmw/OiBzdHJpbmdbXTtcclxuXHRub3Rlcz86IHN0cmluZ1tdO1xyXG5cdHVzZXJUeXBlSWQ/OiBzdHJpbmc7XHJcblx0Y2xpZW50T2ZTeXN0ZW1Vc2VyPzogc3RyaW5nO1xyXG5cdHN5c3RlbVVzZXI/OiBib29sZWFuO1xyXG5cdHBhc3N3b3JkPzogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkUmVxdWVzdERUTyB7XHJcblx0dXNlcklkOiBzdHJpbmc7XHJcblx0cGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyUmVzcG9uc2VEVE8ge1xyXG5cdGlkOiBzdHJpbmc7XHJcblx0dXNlck5hbWU6IHN0cmluZztcclxuXHRlbWFpbDogc3RyaW5nO1xyXG5cdGZpcnN0TmFtZTogc3RyaW5nO1xyXG5cdGxhc3ROYW1lOiBzdHJpbmc7XHJcblx0ZW5hYmxlZDogYm9vbGVhbjtcclxuXHRwaG9uZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG5cdHJvbGVzPzogc3RyaW5nW107XHJcblx0dXNlclR5cGVzPzogc3RyaW5nW107XHJcblx0cGhvdG9Vcmw/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuXHRjcmVhdGVkVGltZXN0YW1wPzogbnVtYmVyO1xyXG5cdGVtYWlsVmVyaWZpZWQ/OiBib29sZWFuO1xyXG5cdGxhc3RTZXNzaW9uPzogbnVtYmVyO1xyXG5cdHRja24/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuXHRub3Rlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG5cdHN5c3RlbVVzZXI/OiBib29sZWFuO1xyXG5cdGNsaWVudE9mU3lzdGVtVXNlcj86IHN0cmluZztcclxuXHR1c2VyVHlwZUlkPzogc3RyaW5nO1xyXG5cdHJlZ2lvbnM/OlxyXG5cdFx0fCBzdHJpbmdbXVxyXG5cdFx0fCBBcnJheTx7XHJcblx0XHRcdFx0c3RhcnRMZXZlbDogc3RyaW5nO1xyXG5cdFx0XHRcdGVuZExldmVsOiBzdHJpbmc7XHJcblx0XHQgIH0+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcHJvZmlsZUVuZHBvaW50cyA9IHtcclxuXHRnZXRVc2VyOiAndXNlci1tYW5hZ2VtZW50L3VzZXJzL2dldCcsXHJcblx0dXBkYXRlVXNlcjogJ3VzZXItbWFuYWdlbWVudC91c2Vycy91cGRhdGUnLFxyXG5cdHJlc2V0UGFzc3dvcmQ6ICd1c2VyLW1hbmFnZW1lbnQvdXNlcnMvcmVzZXQtcGFzc3dvcmQnXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2UgZXh0ZW5kcyBSZXN0Q2xpZW50IHtcclxuXHRvdmVycmlkZSBzdGF0ZXM6IFNlcnZpY2VDYWxsU3RhdGVNYXA8UHJvZmlsZVNlcnZpY2U+ID0ge307XHJcblxyXG5cdEBTZXJ2aWNlQ2FsbChIVFRQTWV0aG9kcy5QT1NULCBQcm94eVR5cGVzLkNsaWVudFNpZGUsIHByb2ZpbGVFbmRwb2ludHMuZ2V0VXNlciwge30sIEFwcHMuTVcpXHJcblx0Z2V0VXNlcihwb3N0OiBHZXRVc2VyUmVxdWVzdERUTykge1xyXG5cdFx0cmV0dXJuIG5ldyBPYnNlcnZhYmxlPFNlcnZpY2VSZXNwb25zZTxVc2VyUmVzcG9uc2VEVE8+PigpO1xyXG5cdH1cclxuXHJcblx0QFNlcnZpY2VDYWxsKEhUVFBNZXRob2RzLlBPU1QsIFByb3h5VHlwZXMuQ2xpZW50U2lkZSwgcHJvZmlsZUVuZHBvaW50cy51cGRhdGVVc2VyLCB7fSwgQXBwcy5NVylcclxuXHR1cGRhdGVVc2VyKHBvc3Q6IFVwZGF0ZVVzZXJSZXF1ZXN0RFRPKSB7XHJcblx0XHRyZXR1cm4gbmV3IE9ic2VydmFibGU8U2VydmljZVJlc3BvbnNlPFVzZXJSZXNwb25zZURUTz4+KCk7XHJcblx0fVxyXG5cclxuXHRAU2VydmljZUNhbGwoSFRUUE1ldGhvZHMuUE9TVCwgUHJveHlUeXBlcy5DbGllbnRTaWRlLCBwcm9maWxlRW5kcG9pbnRzLnJlc2V0UGFzc3dvcmQsIHt9LCBBcHBzLk1XKVxyXG5cdHJlc2V0UGFzc3dvcmQocG9zdDogUmVzZXRQYXNzd29yZFJlcXVlc3REVE8pIHtcclxuXHRcdHJldHVybiBuZXcgT2JzZXJ2YWJsZTxTZXJ2aWNlUmVzcG9uc2U8YW55Pj4oKTtcclxuXHR9XHJcbn1cclxuIl19