@stiunb/unb-lib-components 18.0.22 → 18.0.23

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 (39) hide show
  1. package/esm2022/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-form.mjs +34 -11
  2. package/esm2022/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-list.mjs +65 -47
  3. package/esm2022/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-form.mjs +102 -14
  4. package/esm2022/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-list.mjs +71 -55
  5. package/esm2022/lib/unb-pessoa/unb-pessoa-form/unb-pessoa-form.component.mjs +227 -42
  6. package/esm2022/lib/unb-pessoa/unb-pessoa-models/unb-pessoa-email.model.mjs +1 -1
  7. package/esm2022/lib/unb-pessoa/unb-pessoa-models/unb-pessoa-endereco.model.mjs +1 -1
  8. package/esm2022/lib/unb-pessoa/unb-pessoa-models/unb-pessoa.model.mjs +2 -1
  9. package/esm2022/lib/unb-pessoa/unb-pessoa-pesquisar/unb-pessoa-pesquisar.component.mjs +141 -8
  10. package/esm2022/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-form.mjs +62 -8
  11. package/esm2022/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-list.mjs +62 -32
  12. package/esm2022/lib/unb-pessoa/unb-pessoa.module.mjs +9 -1
  13. package/esm2022/lib/unb-pessoa/unb-pessoa.service.mjs +9 -9
  14. package/esm2022/lib/unb-pessoa/unb-tipo-pessoa.enum.mjs +1 -1
  15. package/esm2022/lib/unb-usuario/oidc-decoded-token.mjs +1 -1
  16. package/esm2022/lib/unb-usuario/oidc-user-data.mjs +1 -1
  17. package/esm2022/public-api.mjs +14 -13
  18. package/esm2022/stiunb-unb-lib-components.mjs +5 -0
  19. package/fesm2022/stiunb-unb-lib-components.mjs +2469 -0
  20. package/fesm2022/stiunb-unb-lib-components.mjs.map +1 -0
  21. package/index.d.ts +1 -1
  22. package/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-form.d.ts +3 -3
  23. package/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-list.d.ts +6 -5
  24. package/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-form.d.ts +6 -3
  25. package/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-list.d.ts +6 -5
  26. package/lib/unb-pessoa/unb-pessoa-form/unb-pessoa-form.component.d.ts +17 -5
  27. package/lib/unb-pessoa/unb-pessoa-models/unb-pessoa-email.model.d.ts +1 -0
  28. package/lib/unb-pessoa/unb-pessoa-models/unb-pessoa-endereco.model.d.ts +3 -2
  29. package/lib/unb-pessoa/unb-pessoa-models/unb-pessoa.model.d.ts +5 -4
  30. package/lib/unb-pessoa/unb-pessoa-pesquisar/unb-pessoa-pesquisar.component.d.ts +14 -1
  31. package/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-form.d.ts +2 -2
  32. package/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-list.d.ts +6 -5
  33. package/lib/unb-pessoa/unb-pessoa.module.d.ts +20 -18
  34. package/lib/unb-pessoa/unb-pessoa.service.d.ts +2 -1
  35. package/package.json +5 -5
  36. package/public-api.d.ts +10 -10
  37. package/esm2022/unb-lib-components.mjs +0 -5
  38. package/fesm2022/unb-lib-components.mjs +0 -1923
  39. package/fesm2022/unb-lib-components.mjs.map +0 -1
@@ -19,7 +19,7 @@ export class UnbPessoaTelefoneFormComponent {
19
19
  this.dialogRef = dialogRef;
20
20
  this.data = data;
21
21
  this.telefone = new UnbPessoaTelefone();
22
- this.listaTipoEndereco = [];
22
+ this.listaTipoTelefone = [];
23
23
  this.telefone = JSON.parse(JSON.stringify(data.telefone)); // O e-mail específico para edição
24
24
  // Verifique se a lista de e-mails foi passada e atribua-a
25
25
  if (data.telefonesList) {
@@ -36,7 +36,7 @@ export class UnbPessoaTelefoneFormComponent {
36
36
  this.tipoTelefone = this.service.getTipoTelefone();
37
37
  // Inscreve para guardar a lista em uma variável comum
38
38
  this.tipoTelefone.subscribe(lista => {
39
- this.listaTipoEndereco = lista;
39
+ this.listaTipoTelefone = lista;
40
40
  // Se já tiver tipoTelefoneCodigo, preenche o nome correspondente
41
41
  if (this.telefone.tipoTelefoneCodigo != null) {
42
42
  const tipoEncontrado = lista.find(t => t.codigo === this.telefone.tipoTelefoneCodigo);
@@ -57,6 +57,20 @@ export class UnbPessoaTelefoneFormComponent {
57
57
  this.openSnackBar('Existem erros no formulário, por favor, verificar.');
58
58
  return;
59
59
  }
60
+ // 1. Define o 'tipo' padrão (1) se não for preenchido (Conforme sua solicitação)
61
+ if (!this.telefone.tipoTelefoneCodigo) {
62
+ this.telefone.tipoTelefoneCodigo = 1; // 1 é geralmente 'Residencial' ou 'Principal'
63
+ }
64
+ // 2. Define a 'ordem' (que o back-end chama de 'ordemTelefone')
65
+ if (!this.telefone.ordem || this.telefone.ordem === 0) {
66
+ let maxOrdem = 0;
67
+ // Verifica se a lista de telefones já existe e tem itens
68
+ if (this.telefonesList && this.telefonesList.length > 0) {
69
+ maxOrdem = Math.max(...this.telefonesList.map(t => t.ordem || 0));
70
+ }
71
+ // Define a ordem do novo telefone como a maior ordem + 1
72
+ this.telefone.ordem = maxOrdem + 1;
73
+ }
60
74
  if (this.validar(this.telefone) == false)
61
75
  return;
62
76
  this.telefoneSalvo = this.telefone;
@@ -66,17 +80,57 @@ export class UnbPessoaTelefoneFormComponent {
66
80
  return t1 && t2 && t1 === t2;
67
81
  }
68
82
  onTipoSelecionado(codigoSelecionado) {
69
- const tipoSelecionado = this.listaTipoEndereco.find(t => t.codigo === codigoSelecionado);
83
+ const tipoSelecionado = this.listaTipoTelefone.find(t => t.codigo === codigoSelecionado); // <--- Renomeado de listaTipoEndereco
70
84
  if (tipoSelecionado) {
71
85
  this.telefone.tipo = tipoSelecionado.denominacao;
72
86
  }
73
87
  }
74
88
  /**
75
- * Valida o objeto de telefone.
89
+ * Valida o objeto de telefone com base nas regras do backend.
76
90
  * Retorna true se o telefone for válido, false caso contrário.
77
91
  */
78
92
  validar(telefoneToValidate) {
79
- return true; // Implementar a lógica de validação conforme necessário
93
+ // 1. Validação de Número (Obrigatório)
94
+ if (!telefoneToValidate.numero || telefoneToValidate.numero.trim() === '') {
95
+ this.openSnackBar("Número do telefone é um campo obrigatório.");
96
+ return false;
97
+ }
98
+ // 2. Validação de Número (Formato)
99
+ // que ele espera 8 ou 9 dígitos numéricos (padrão Brasil).
100
+ const numeroLimpo = telefoneToValidate.numero.replace(/\D/g, ''); // Remove não-dígitos
101
+ if (numeroLimpo.length !== 9) {
102
+ this.openSnackBar("Número do telefone deve conter exatamente 9 dígitos.");
103
+ return false;
104
+ }
105
+ // 3. Validação de DDD (Obrigatório - Boa prática, embora o Java não exija)
106
+ if (!telefoneToValidate.ddd || telefoneToValidate.ddd.trim() === '') {
107
+ this.openSnackBar("DDD é um campo obrigatório.");
108
+ return false;
109
+ }
110
+ // 4. Validação de DDD (Tamanho Máximo)
111
+ if (telefoneToValidate.ddd.trim().length > 3) {
112
+ this.openSnackBar("DDD deve ter no máximo 3 caracteres.");
113
+ return false;
114
+ }
115
+ // 5. Validação de DDI (Tamanho Máximo)
116
+ //
117
+ if (telefoneToValidate.ddi && telefoneToValidate.ddi.trim().length > 5) {
118
+ this.openSnackBar("DDI deve ter no máximo 5 caracteres.");
119
+ return false;
120
+ }
121
+ // 6. Validação de Ramal (Tamanho Máximo)
122
+ //
123
+ if (telefoneToValidate.ramal && telefoneToValidate.ramal.trim().length > 6) {
124
+ this.openSnackBar("Ramal deve ter no máximo 6 caracteres.");
125
+ return false;
126
+ }
127
+ // 7. Validação de NomeResponsavel (Tamanho Máximo)
128
+ //
129
+ if (telefoneToValidate.nomeResponsavel && telefoneToValidate.nomeResponsavel.trim().length > 100) {
130
+ this.openSnackBar("Nome do Responsável deve ter no máximo 100 caracteres.");
131
+ return false;
132
+ }
133
+ return true; // Passou em todas as validações!
80
134
  }
81
135
  close() {
82
136
  this.dialogRef.close(null);
@@ -90,13 +144,13 @@ export class UnbPessoaTelefoneFormComponent {
90
144
  });
91
145
  }
92
146
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneFormComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneFormComponent, selector: "lib-unb-pessoa-telefone-form", ngImport: i0, template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of tipoTelefone | async\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.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: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneFormComponent, selector: "lib-unb-pessoa-telefone-form", ngImport: i0, template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of tipoTelefone | async\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" maxlength=\"3\" required matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" required maxlength=\"9\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.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: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
94
148
  }
95
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneFormComponent, decorators: [{
96
150
  type: Component,
97
- args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-form', template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of tipoTelefone | async\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"] }]
151
+ args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-form', template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of tipoTelefone | async\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" maxlength=\"3\" required matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" required maxlength=\"9\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"] }]
98
152
  }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.UnBPessoaService }, { type: i3.MatDialogRef }, { type: undefined, decorators: [{
99
153
  type: Inject,
100
154
  args: [MAT_DIALOG_DATA]
101
155
  }] }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLGdEQUFnRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQVN6RSxNQUFNLE9BQU8sOEJBQThCO0lBT3pDLFlBQW9CLFFBQXFCLEVBQVUsT0FBeUIsRUFBUyxTQUF1RCxFQUFrQyxJQUFTO1FBQW5LLGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUs7UUFMdkwsYUFBUSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUduQyxzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBRzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1FBRTdGLDBEQUEwRDtRQUMxRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztRQUNsSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDLENBQUMsMkNBQTJDO1FBQ3RFLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuRCxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUUvQixpRUFBaUU7WUFDakUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM3QyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3RGLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUM7Z0JBQ2xELENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUN4RSxDQUFDO2dCQUNGLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsY0FBYyxDQUFDLE1BQU8sQ0FBQztnQkFDNUQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7WUFDeEUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUs7WUFBRSxPQUFPO1FBRWpELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFPLEVBQUUsRUFBTztRQUM1QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXlCO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLENBQUM7UUFDekYsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLGtCQUFxQztRQUMzQyxPQUFPLElBQUksQ0FBQyxDQUFDLHdEQUF3RDtJQUN2RSxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQy9CLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4RlUsOEJBQThCLHlHQU82RyxlQUFlO2tHQVAxSiw4QkFBOEIsb0VDZDNDLHUrQ0E4Qk87OzJGRGhCTSw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjs7MEJBV3VHLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lLCBVbmJQZXNzb2FUZWxlZm9uZVRpcG8gfSBmcm9tICcuLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLXRlbGVmb25lLm1vZGVsJztcclxuaW1wb3J0IHsgVW5CUGVzc29hU2VydmljZSB9IGZyb20gJy4uL3VuYi1wZXNzb2Euc2VydmljZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgc2VsZWN0b3I6ICdsaWItdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91bmItcGVzc29hLXRlbGVmb25lLWZvcm0uY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0ZWxlZm9uZVNhbHZvITogVW5iUGVzc29hVGVsZWZvbmU7XHJcbiAgdGVsZWZvbmUgPSBuZXcgVW5iUGVzc29hVGVsZWZvbmUoKTtcclxuICB0ZWxlZm9uZXNMaXN0OiBVbmJQZXNzb2FUZWxlZm9uZVtdO1xyXG4gIHRpcG9UZWxlZm9uZSE6IE9ic2VydmFibGU8VW5iUGVzc29hVGVsZWZvbmVUaXBvW10+O1xyXG4gIGxpc3RhVGlwb0VuZGVyZWNvOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG9bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhciwgcHJpdmF0ZSBzZXJ2aWNlOiBVbkJQZXNzb2FTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50PiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMudGVsZWZvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEudGVsZWZvbmUpKTsgLy8gTyBlLW1haWwgZXNwZWPDrWZpY28gcGFyYSBlZGnDp8Ojb1xyXG5cclxuICAgIC8vIFZlcmlmaXF1ZSBzZSBhIGxpc3RhIGRlIGUtbWFpbHMgZm9pIHBhc3NhZGEgZSBhdHJpYnVhLWFcclxuICAgIGlmIChkYXRhLnRlbGVmb25lc0xpc3QpIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZXNMaXN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhLnRlbGVmb25lc0xpc3QpKTsgLy8gRmHDp2EgdW1hIGPDs3BpYSBwcm9mdW5kYSBzZSBmb3IgbWFuaXB1bGFyXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRlbGVmb25lc0xpc3QgPSBbXTsgLy8gSW5pY2lhbGl6ZSBjb21vIHZhemlvIHNlIG7Do28gZm9yIHBhc3NhZGFcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMudGVsZWZvbmUpIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZSA9IG5ldyBVbmJQZXNzb2FUZWxlZm9uZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpcG9UZWxlZm9uZSA9IHRoaXMuc2VydmljZS5nZXRUaXBvVGVsZWZvbmUoKTtcclxuICAgIC8vIEluc2NyZXZlIHBhcmEgZ3VhcmRhciBhIGxpc3RhIGVtIHVtYSB2YXJpw6F2ZWwgY29tdW1cclxuICAgIHRoaXMudGlwb1RlbGVmb25lLnN1YnNjcmliZShsaXN0YSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdGFUaXBvRW5kZXJlY28gPSBsaXN0YTtcclxuXHJcbiAgICAgIC8vIFNlIGrDoSB0aXZlciB0aXBvVGVsZWZvbmVDb2RpZ28sIHByZWVuY2hlIG8gbm9tZSBjb3JyZXNwb25kZW50ZVxyXG4gICAgICBpZiAodGhpcy50ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ28gIT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IHRpcG9FbmNvbnRyYWRvID0gbGlzdGEuZmluZCh0ID0+IHQuY29kaWdvID09PSB0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyk7XHJcbiAgICAgICAgaWYgKHRpcG9FbmNvbnRyYWRvKSB7XHJcbiAgICAgICAgICB0aGlzLnRlbGVmb25lLnRpcG8gPSB0aXBvRW5jb250cmFkby5kZW5vbWluYWNhbztcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50ZWxlZm9uZS50aXBvKSB7XHJcbiAgICAgICAgY29uc3QgdGlwb0VuY29udHJhZG8gPSBsaXN0YS5maW5kKFxyXG4gICAgICAgICAgdCA9PiB0LmRlbm9taW5hY2FvPy50b0xvd2VyQ2FzZSgpID09PSB0aGlzLnRlbGVmb25lLnRpcG8/LnRvTG93ZXJDYXNlKClcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmICh0aXBvRW5jb250cmFkbykge1xyXG4gICAgICAgICAgdGhpcy50ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ28gPSB0aXBvRW5jb250cmFkby5jb2RpZ28hO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYWx2YXIoZm9ybTogTmdGb3JtKSB7XHJcbiAgICBpZiAoZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKCdFeGlzdGVtIGVycm9zIG5vIGZvcm11bMOhcmlvLCBwb3IgZmF2b3IsIHZlcmlmaWNhci4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsaWRhcih0aGlzLnRlbGVmb25lKSA9PSBmYWxzZSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMudGVsZWZvbmVTYWx2byA9IHRoaXMudGVsZWZvbmU7XHJcbiAgICB0aGlzLnNhbHZhcmNsb3NlKClcclxuICB9XHJcblxyXG4gIGNvbXBhcmFyVGlwb3ModDE6IGFueSwgdDI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHQxICYmIHQyICYmIHQxID09PSB0MjtcclxuICB9XHJcblxyXG4gIG9uVGlwb1NlbGVjaW9uYWRvKGNvZGlnb1NlbGVjaW9uYWRvOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHRpcG9TZWxlY2lvbmFkbyA9IHRoaXMubGlzdGFUaXBvRW5kZXJlY28uZmluZCh0ID0+IHQuY29kaWdvID09PSBjb2RpZ29TZWxlY2lvbmFkbyk7XHJcbiAgICBpZiAodGlwb1NlbGVjaW9uYWRvKSB7XHJcbiAgICAgIHRoaXMudGVsZWZvbmUudGlwbyA9IHRpcG9TZWxlY2lvbmFkby5kZW5vbWluYWNhbztcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYSBvIG9iamV0byBkZSB0ZWxlZm9uZS5cclxuICAgKiBSZXRvcm5hIHRydWUgc2UgbyB0ZWxlZm9uZSBmb3IgdsOhbGlkbywgZmFsc2UgY2FzbyBjb250csOhcmlvLlxyXG4gICAqL1xyXG4gIHZhbGlkYXIodGVsZWZvbmVUb1ZhbGlkYXRlOiBVbmJQZXNzb2FUZWxlZm9uZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7IC8vIEltcGxlbWVudGFyIGEgbMOzZ2ljYSBkZSB2YWxpZGHDp8OjbyBjb25mb3JtZSBuZWNlc3PDoXJpb1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKTtcclxuICB9XHJcblxyXG4gIHNhbHZhcmNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZWxlZm9uZVNhbHZvKTtcclxuICB9XHJcblxyXG4gIG9wZW5TbmFja0JhcihtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCAneCcsIHtcclxuICAgICAgZHVyYXRpb246IDUwMDAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59IiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+Q2FkYXN0cm8gZGUgVGVsZWZvbmU8L2gxPlxyXG48Zm9ybSAobmdTdWJtaXQpPVwic2FsdmFyKGZvcm0pXCIgI2Zvcm09XCJuZ0Zvcm1cIj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY29udGFpbmVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvcm0tMTAwXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkRERDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwidGVsZWZvbmUuZGRkXCIgbmFtZT1cImRkZFZhbHVlXCIgI2RkZFZhbHVlPVwibmdNb2RlbFwiIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IFxyXG4gICAgICBcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TsO6bWVybzwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IFsobmdNb2RlbCldPVwidGVsZWZvbmUubnVtZXJvXCIgbmFtZT1cInRlbGVmb25lVmFsdWVcIiAjdGVsZWZvbmVWYWx1ZT1cIm5nTW9kZWxcIiAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+VGlwbzwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwidGVsZWZvbmUudGlwb1RlbGVmb25lQ29kaWdvXCIgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmFyVGlwb3NcIiBuYW1lPVwidGlwb1RlbGVmb25lQ29kaWdvXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblRpcG9TZWxlY2lvbmFkbygkZXZlbnQudmFsdWUpXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdGlwbyBvZiB0aXBvVGVsZWZvbmUgfCBhc3luY1wiIFt2YWx1ZV09XCJ0aXBvLmNvZGlnb1wiPlxyXG4gICAgICAgICAgICB7e3RpcG8uZGVub21pbmFjYW99fVxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbiAgPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJjbG9zZSgpXCI+RmVjaGFyPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJwcmltYXJ5XCI+U2FsdmFyPC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjwvZm9ybT4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLGdEQUFnRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQVN6RSxNQUFNLE9BQU8sOEJBQThCO0lBT3pDLFlBQW9CLFFBQXFCLEVBQVUsT0FBeUIsRUFBUyxTQUF1RCxFQUFrQyxJQUFTO1FBQW5LLGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUs7UUFMdkwsYUFBUSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUduQyxzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBRzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1FBRTdGLDBEQUEwRDtRQUMxRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2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QUF3RCxDQUFDLENBQUM7WUFDNUUsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsQ0FBQyxpQ0FBaUM7SUFDaEQsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUMvQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBekpVLDhCQUE4Qix5R0FPNkcsZUFBZTtrR0FQMUosOEJBQThCLG9FQ2QzQyxxaERBNkJPOzsyRkRmTSw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjs7MEJBV3VHLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lLCBVbmJQZXNzb2FUZWxlZm9uZVRpcG8gfSBmcm9tICcuLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLXRlbGVmb25lLm1vZGVsJztcclxuaW1wb3J0IHsgVW5CUGVzc29hU2VydmljZSB9IGZyb20gJy4uL3VuYi1wZXNzb2Euc2VydmljZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgc2VsZWN0b3I6ICdsaWItdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91bmItcGVzc29hLXRlbGVmb25lLWZvcm0uY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0ZWxlZm9uZVNhbHZvITogVW5iUGVzc29hVGVsZWZvbmU7XHJcbiAgdGVsZWZvbmUgPSBuZXcgVW5iUGVzc29hVGVsZWZvbmUoKTtcclxuICB0ZWxlZm9uZXNMaXN0OiBVbmJQZXNzb2FUZWxlZm9uZVtdO1xyXG4gIHRpcG9UZWxlZm9uZSE6IE9ic2VydmFibGU8VW5iUGVzc29hVGVsZWZvbmVUaXBvW10+O1xyXG4gIGxpc3RhVGlwb1RlbGVmb25lOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG9bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhciwgcHJpdmF0ZSBzZXJ2aWNlOiBVbkJQZXNzb2FTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50PiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMudGVsZWZvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEudGVsZWZvbmUpKTsgLy8gTyBlLW1haWwgZXNwZWPDrWZpY28gcGFyYSBlZGnDp8Ojb1xyXG5cclxuICAgIC8vIFZlcmlmaXF1ZSBzZSBhIGxpc3RhIGRlIGUtbWFpbHMgZm9pIHBhc3NhZGEgZSBhdHJpYnVhLWFcclxuICAgIGlmIChkYXRhLnRlbGVmb25lc0xpc3QpIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZXNMaXN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhLnRlbGVmb25lc0xpc3QpKTsgLy8gRmHDp2EgdW1hIGPDs3BpYSBwcm9mdW5kYSBzZSBmb3IgbWFuaXB1bGFyXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRlbGVmb25lc0xpc3QgPSBbXTsgLy8gSW5pY2lhbGl6ZSBjb21vIHZhemlvIHNlIG7Do28gZm9yIHBhc3NhZGFcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMudGVsZWZvbmUpIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZSA9IG5ldyBVbmJQZXNzb2FUZWxlZm9uZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpcG9UZWxlZm9uZSA9IHRoaXMuc2VydmljZS5nZXRUaXBvVGVsZWZvbmUoKTtcclxuICAgIC8vIEluc2NyZXZlIHBhcmEgZ3VhcmRhciBhIGxpc3RhIGVtIHVtYSB2YXJpw6F2ZWwgY29tdW1cclxuICAgIHRoaXMudGlwb1RlbGVmb25lLnN1YnNjcmliZShsaXN0YSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdGFUaXBvVGVsZWZvbmUgPSBsaXN0YTtcclxuXHJcbiAgICAgIC8vIFNlIGrDoSB0aXZlciB0aXBvVGVsZWZvbmVDb2RpZ28sIHByZWVuY2hlIG8gbm9tZSBjb3JyZXNwb25kZW50ZVxyXG4gICAgICBpZiAodGhpcy50ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ28gIT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IHRpcG9FbmNvbnRyYWRvID0gbGlzdGEuZmluZCh0ID0+IHQuY29kaWdvID09PSB0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyk7XHJcbiAgICAgICAgaWYgKHRpcG9FbmNvbnRyYWRvKSB7XHJcbiAgICAgICAgICB0aGlzLnRlbGVmb25lLnRpcG8gPSB0aXBvRW5jb250cmFkby5kZW5vbWluYWNhbztcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50ZWxlZm9uZS50aXBvKSB7XHJcbiAgICAgICAgY29uc3QgdGlwb0VuY29udHJhZG8gPSBsaXN0YS5maW5kKFxyXG4gICAgICAgICAgdCA9PiB0LmRlbm9taW5hY2FvPy50b0xvd2VyQ2FzZSgpID09PSB0aGlzLnRlbGVmb25lLnRpcG8/LnRvTG93ZXJDYXNlKClcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmICh0aXBvRW5jb250cmFkbykge1xyXG4gICAgICAgICAgdGhpcy50ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ28gPSB0aXBvRW5jb250cmFkby5jb2RpZ28hO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYWx2YXIoZm9ybTogTmdGb3JtKSB7XHJcbiAgICBpZiAoZm9ybS5pbnZhbGlkICkge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcignRXhpc3RlbSBlcnJvcyBubyBmb3JtdWzDoXJpbywgcG9yIGZhdm9yLCB2ZXJpZmljYXIuJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIDEuIERlZmluZSBvICd0aXBvJyBwYWRyw6NvICgxKSBzZSBuw6NvIGZvciBwcmVlbmNoaWRvIChDb25mb3JtZSBzdWEgc29saWNpdGHDp8OjbylcclxuICAgIGlmICghdGhpcy50ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ28pIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ28gPSAxOyAvLyAxIMOpIGdlcmFsbWVudGUgJ1Jlc2lkZW5jaWFsJyBvdSAnUHJpbmNpcGFsJ1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIERlZmluZSBhICdvcmRlbScgKHF1ZSBvIGJhY2stZW5kIGNoYW1hIGRlICdvcmRlbVRlbGVmb25lJylcclxuICAgIGlmICghdGhpcy50ZWxlZm9uZS5vcmRlbSB8fCB0aGlzLnRlbGVmb25lLm9yZGVtID09PSAwKSB7XHJcbiAgICAgIGxldCBtYXhPcmRlbSA9IDA7XHJcblxyXG4gICAgICAvLyBWZXJpZmljYSBzZSBhIGxpc3RhIGRlIHRlbGVmb25lcyBqw6EgZXhpc3RlIGUgdGVtIGl0ZW5zXHJcbiAgICAgIGlmICh0aGlzLnRlbGVmb25lc0xpc3QgJiYgdGhpcy50ZWxlZm9uZXNMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBtYXhPcmRlbSA9IE1hdGgubWF4KC4uLnRoaXMudGVsZWZvbmVzTGlzdC5tYXAodCA9PiB0Lm9yZGVtIHx8IDApKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRGVmaW5lIGEgb3JkZW0gZG8gbm92byB0ZWxlZm9uZSBjb21vIGEgbWFpb3Igb3JkZW0gKyAxXHJcbiAgICAgIHRoaXMudGVsZWZvbmUub3JkZW0gPSBtYXhPcmRlbSArIDE7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWxpZGFyKHRoaXMudGVsZWZvbmUpID09IGZhbHNlKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy50ZWxlZm9uZVNhbHZvID0gdGhpcy50ZWxlZm9uZTtcclxuICAgIHRoaXMuc2FsdmFyY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGNvbXBhcmFyVGlwb3ModDE6IGFueSwgdDI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHQxICYmIHQyICYmIHQxID09PSB0MjtcclxuICB9XHJcblxyXG4gIG9uVGlwb1NlbGVjaW9uYWRvKGNvZGlnb1NlbGVjaW9uYWRvOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHRpcG9TZWxlY2lvbmFkbyA9IHRoaXMubGlzdGFUaXBvVGVsZWZvbmUuZmluZCh0ID0+IHQuY29kaWdvID09PSBjb2RpZ29TZWxlY2lvbmFkbyk7IC8vIDwtLS0gUmVub21lYWRvIGRlIGxpc3RhVGlwb0VuZGVyZWNvXHJcbiAgICBpZiAodGlwb1NlbGVjaW9uYWRvKSB7XHJcbiAgICAgIHRoaXMudGVsZWZvbmUudGlwbyA9IHRpcG9TZWxlY2lvbmFkby5kZW5vbWluYWNhbztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGEgbyBvYmpldG8gZGUgdGVsZWZvbmUgY29tIGJhc2UgbmFzIHJlZ3JhcyBkbyBiYWNrZW5kLlxyXG4gICAqIFJldG9ybmEgdHJ1ZSBzZSBvIHRlbGVmb25lIGZvciB2w6FsaWRvLCBmYWxzZSBjYXNvIGNvbnRyw6FyaW8uXHJcbiAgICovXHJcbiAgdmFsaWRhcih0ZWxlZm9uZVRvVmFsaWRhdGU6IFVuYlBlc3NvYVRlbGVmb25lKTogYm9vbGVhbiB7XHJcbiAgICBcclxuICAgIC8vIDEuIFZhbGlkYcOnw6NvIGRlIE7Dum1lcm8gKE9icmlnYXTDs3JpbylcclxuICAgIGlmICghdGVsZWZvbmVUb1ZhbGlkYXRlLm51bWVybyB8fCB0ZWxlZm9uZVRvVmFsaWRhdGUubnVtZXJvLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoXCJOw7ptZXJvIGRvIHRlbGVmb25lIMOpIHVtIGNhbXBvIG9icmlnYXTDs3Jpby5cIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAyLiBWYWxpZGHDp8OjbyBkZSBOw7ptZXJvIChGb3JtYXRvKVxyXG4gICAgLy8gcXVlIGVsZSBlc3BlcmEgOCBvdSA5IGTDrWdpdG9zIG51bcOpcmljb3MgKHBhZHLDo28gQnJhc2lsKS5cclxuICAgIGNvbnN0IG51bWVyb0xpbXBvID0gdGVsZWZvbmVUb1ZhbGlkYXRlLm51bWVyby5yZXBsYWNlKC9cXEQvZywgJycpOyAvLyBSZW1vdmUgbsOjby1kw61naXRvc1xyXG4gICAgaWYgKG51bWVyb0xpbXBvLmxlbmd0aCAhPT0gOSkge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIk7Dum1lcm8gZG8gdGVsZWZvbmUgZGV2ZSBjb250ZXIgZXhhdGFtZW50ZSA5IGTDrWdpdG9zLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyAzLiBWYWxpZGHDp8OjbyBkZSBEREQgKE9icmlnYXTDs3JpbyAtIEJvYSBwcsOhdGljYSwgZW1ib3JhIG8gSmF2YSBuw6NvIGV4aWphKVxyXG4gICAgaWYgKCF0ZWxlZm9uZVRvVmFsaWRhdGUuZGRkIHx8IHRlbGVmb25lVG9WYWxpZGF0ZS5kZGQudHJpbSgpID09PSAnJykge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIkRERCDDqSB1bSBjYW1wbyBvYnJpZ2F0w7NyaW8uXCIpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNC4gVmFsaWRhw6fDo28gZGUgREREIChUYW1hbmhvIE3DoXhpbW8pXHJcbiAgICBpZiAodGVsZWZvbmVUb1ZhbGlkYXRlLmRkZC50cmltKCkubGVuZ3RoID4gMykge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIkRERCBkZXZlIHRlciBubyBtw6F4aW1vIDMgY2FyYWN0ZXJlcy5cIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA1LiBWYWxpZGHDp8OjbyBkZSBEREkgKFRhbWFuaG8gTcOheGltbylcclxuICAgIC8vXHJcbiAgICBpZiAodGVsZWZvbmVUb1ZhbGlkYXRlLmRkaSAmJiB0ZWxlZm9uZVRvVmFsaWRhdGUuZGRpLnRyaW0oKS5sZW5ndGggPiA1KSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiRERJIGRldmUgdGVyIG5vIG3DoXhpbW8gNSBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDYuIFZhbGlkYcOnw6NvIGRlIFJhbWFsIChUYW1hbmhvIE3DoXhpbW8pXHJcbiAgICAvL1xyXG4gICAgaWYgKHRlbGVmb25lVG9WYWxpZGF0ZS5yYW1hbCAmJiB0ZWxlZm9uZVRvVmFsaWRhdGUucmFtYWwudHJpbSgpLmxlbmd0aCA+IDYpIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoXCJSYW1hbCBkZXZlIHRlciBubyBtw6F4aW1vIDYgY2FyYWN0ZXJlcy5cIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gNy4gVmFsaWRhw6fDo28gZGUgTm9tZVJlc3BvbnNhdmVsIChUYW1hbmhvIE3DoXhpbW8pXHJcbiAgICAvL1xyXG4gICAgaWYgKHRlbGVmb25lVG9WYWxpZGF0ZS5ub21lUmVzcG9uc2F2ZWwgJiYgdGVsZWZvbmVUb1ZhbGlkYXRlLm5vbWVSZXNwb25zYXZlbC50cmltKCkubGVuZ3RoID4gMTAwKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiTm9tZSBkbyBSZXNwb25zw6F2ZWwgZGV2ZSB0ZXIgbm8gbcOheGltbyAxMDAgY2FyYWN0ZXJlcy5cIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTsgLy8gUGFzc291IGVtIHRvZGFzIGFzIHZhbGlkYcOnw7VlcyFcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UobnVsbCk7XHJcbiAgfVxyXG5cclxuICBzYWx2YXJjbG9zZSgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMudGVsZWZvbmVTYWx2byk7XHJcbiAgfVxyXG5cclxuICBvcGVuU25hY2tCYXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgJ3gnLCB7XHJcbiAgICAgIGR1cmF0aW9uOiA1MDAwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufSIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPkNhZGFzdHJvIGRlIFRlbGVmb25lPC9oMT5cclxuPGZvcm0gKG5nU3VibWl0KT1cInNhbHZhcihmb3JtKVwiICNmb3JtPVwibmdGb3JtXCI+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmb3JtLTEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5UaXBvPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJ0ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ29cIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyYXJUaXBvc1wiIG5hbWU9XCJ0aXBvVGVsZWZvbmVDb2RpZ29cIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVGlwb1NlbGVjaW9uYWRvKCRldmVudC52YWx1ZSlcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0aXBvIG9mIHRpcG9UZWxlZm9uZSB8IGFzeW5jXCIgW3ZhbHVlXT1cInRpcG8uY29kaWdvXCI+XHJcbiAgICAgICAgICAgIHt7dGlwby5kZW5vbWluYWNhb319XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+REREPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiM1wiIHJlcXVpcmVkIG1hdElucHV0IFsobmdNb2RlbCldPVwidGVsZWZvbmUuZGRkXCIgbmFtZT1cImRkZFZhbHVlXCIgI2RkZFZhbHVlPVwibmdNb2RlbFwiIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IFxyXG4gICAgICBcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TsO6bWVybzwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkIG1heGxlbmd0aD1cIjlcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInRlbGVmb25lLm51bWVyb1wiIG5hbWU9XCJ0ZWxlZm9uZVZhbHVlXCIgI3RlbGVmb25lVmFsdWU9XCJuZ01vZGVsXCIgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImNsb3NlKClcIj5GZWNoYXI8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj5TYWx2YXI8L2J1dHRvbj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9mb3JtPiJdfQ==
@@ -1,12 +1,14 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { UnbPessoaTelefoneFormComponent } from './unb-pessoa-telefone-form';
3
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/material/snack-bar";
5
6
  import * as i2 from "../unb-pessoa.service";
6
7
  import * as i3 from "@angular/material/dialog";
7
8
  import * as i4 from "@angular/common";
8
9
  import * as i5 from "@angular/material/icon";
9
- import * as i6 from "@angular/material/button";
10
+ import * as i6 from "@angular/cdk/drag-drop";
11
+ import * as i7 from "@angular/material/button";
10
12
  export class UnbPessoaTelefoneListComponent {
11
13
  constructor(snackBar, service, dialog) {
12
14
  this.snackBar = snackBar;
@@ -19,29 +21,36 @@ export class UnbPessoaTelefoneListComponent {
19
21
  }
20
22
  ngOnInit() {
21
23
  this.tipoTelefone = this.service.getTipoTelefone();
22
- this.sortAndAssignOrder(); // organiza a lista de telefones. As vezes tem ordem duplicada ou faltando.
23
24
  }
24
- excluir(telefone) {
25
+ // tem que fazer isso pq no on init eu ainda nao tenho a lista de telefones
26
+ ngOnChanges(changes) {
27
+ // Verifica se a propriedade 'telefones' mudou
28
+ if (changes['telefones'] && this.telefones) {
29
+ // chamada quando os dados realmente chegarem
30
+ this.sortAndAssignOrder();
31
+ }
25
32
  }
26
- editar(telefone) {
27
- this.openFormDialog(telefone);
28
- }
29
- moverParaCima(index) {
30
- if (index <= 0)
31
- return;
32
- [this.telefones[index - 1], this.telefones[index]] = [this.telefones[index], this.telefones[index - 1]];
33
+ excluir(telefoneParaExcluir) {
34
+ if (telefoneParaExcluir.codigo) {
35
+ // Se tem código, remove por ele (mais seguro)
36
+ this.telefones = this.telefones.filter(t => t.codigo !== telefoneParaExcluir.codigo);
37
+ }
38
+ else {
39
+ // Se não tem código (novo item), remove pela ordem
40
+ this.telefones = this.telefones.filter(t => t.ordem !== telefoneParaExcluir.ordem);
41
+ }
42
+ // Chama função existente que re-calcula as ordens e emite a lista atualizada
33
43
  this.atualizarOrdem();
44
+ this.telefonesEmitted.emit(this.telefones);
34
45
  }
35
- moverParaBaixo(index) {
36
- if (index >= this.telefones.length - 1)
37
- return;
38
- [this.telefones[index], this.telefones[index + 1]] = [this.telefones[index + 1], this.telefones[index]];
39
- this.atualizarOrdem();
46
+ editar(telefone) {
47
+ this.openFormDialog(telefone);
40
48
  }
41
49
  atualizarOrdem() {
42
50
  this.telefones.forEach((telefone, idx) => {
43
51
  telefone.ordem = idx + 1;
44
52
  });
53
+ // reemite a lista atualizada, igual antes
45
54
  this.telefonesEmitted.emit(this.telefones);
46
55
  }
47
56
  openFormDialog(toEdit) {
@@ -49,26 +58,47 @@ export class UnbPessoaTelefoneListComponent {
49
58
  width: '900px',
50
59
  data: {
51
60
  telefone: toEdit, // E-mail a ser editado ou vazio para novo
52
- emailsList: this.telefones // A sua lista COMPLETA de e-mails
61
+ telefonesList: this.telefones // A sua lista COMPLETA de e-mails
53
62
  },
54
63
  });
55
64
  dialogRef.afterClosed().subscribe(result => {
56
- if (result) {
57
- const index = this.telefones.findIndex(e => e.codigo === result.codigo);
58
- if (result.codigo && index > -1) {
59
- // Atualiza e-mail existente
60
- this.telefones[index] = result;
61
- }
62
- else {
63
- // Adiciona novo e-mail (gera ordem automaticamente se quiser)
64
- result.ordem = this.telefones.length + 1;
65
- this.telefones.push(result);
66
- }
67
- // Emite lista atualizada
68
- this.telefonesEmitted.emit(this.telefones);
65
+ if (!result) {
66
+ return; // Usuário clicou em 'Fechar' ou 'Cancelar'
67
+ }
68
+ // 'result' é o objeto retornado pelo dialog (editado ou novo)
69
+ let index = -1;
70
+ // 1. Tenta encontrar pelo 'codigo' (para itens que já vieram do banco)
71
+ if (result.codigo) {
72
+ index = this.telefones.findIndex(t => t.codigo === result.codigo);
73
+ }
74
+ // 2. Se não achou pelo 'codigo', tenta pela 'ordem'.
75
+ // A 'ordem' é o nosso identificador único para itens que
76
+ // ainda não foram salvos no banco (criados/editados localmente).
77
+ if (index === -1 && result.ordem) {
78
+ index = this.telefones.findIndex(t => t.ordem === result.ordem);
79
+ }
80
+ if (index > -1) {
81
+ // ENCONTROU (pelo 'codigo' ou pela 'ordem'): Atualiza o item existente
82
+ this.telefones[index] = result;
69
83
  }
84
+ else {
85
+ // NÃO ENCONTROU: É um item 100% novo (não uma edição)
86
+ // O form (unb-pessoa-telefone-form) já cuidou de
87
+ // atribuir a 'ordem' correta (maxOrdem + 1)
88
+ this.telefones.push(result);
89
+ }
90
+ // vamos apenas re-ordenar a lista pela 'ordem' que já temos
91
+ // e depois emitir.
92
+ this.telefones.sort((a, b) => (a.ordem ?? 0) - (b.ordem ?? 0));
93
+ this.telefonesEmitted.emit(this.telefones);
70
94
  });
71
95
  }
96
+ moverTelefone(event) {
97
+ // troca a posição dentro do array
98
+ moveItemInArray(this.telefones, event.previousIndex, event.currentIndex);
99
+ // atualiza o campo 'ordem' em cada item
100
+ this.atualizarOrdem();
101
+ }
72
102
  sortAndAssignOrder() {
73
103
  // 1. Crie uma cópia da lista para não modificar a original durante a iteração inicial
74
104
  const tempEmails = [...this.telefones];
@@ -123,11 +153,11 @@ export class UnbPessoaTelefoneListComponent {
123
153
  this.telefones.sort((a, b) => (a.ordem ?? 0) - (b.ordem ?? 0));
124
154
  }
125
155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneListComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneListComponent, selector: "lib-unb-pessoa-telefone-list", inputs: { podeEditar: "podeEditar", telefones: "telefones", apiPessoaConfig: "apiPessoaConfig" }, outputs: { telefonesEmitted: "telefonesEmitted" }, ngImport: i0, template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"text-align: center;\" >Ordem</th>\r\n <th>DDD</th>\r\n <th>N\u00FAmero</th>\r\n <th style=\"text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\">\r\n <td style=\"width: 5%; text-align: center;\"> \r\n <button *ngIf=\"telefones.length > 1 && i > 0\" mat-icon-button aria-label=\"Mover para cima\"\r\n (click)=\"moverParaCima(i)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button *ngIf=\"telefones.length > 1 && i < telefones.length - 1\" mat-icon-button aria-label=\"Mover para baixo\"\r\n (click)=\"moverParaBaixo(i)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n </td>\r\n <td style=\"width: 20%;\">{{ valor.ddd }}</td>\r\n <td style=\"width: 60%;\">{{ valor.numero}}</td>\r\n <td style=\"width: 20%; text-align: center;\">\r\n <button mat-icon-button aria-label=\"Salvar\" color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button aria-label=\"Deletar\" color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneListComponent, selector: "lib-unb-pessoa-telefone-list", inputs: { podeEditar: "podeEditar", telefones: "telefones", apiPessoaConfig: "apiPessoaConfig" }, outputs: { telefonesEmitted: "telefonesEmitted" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
127
157
  }
128
158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneListComponent, decorators: [{
129
159
  type: Component,
130
- args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-list', template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"text-align: center;\" >Ordem</th>\r\n <th>DDD</th>\r\n <th>N\u00FAmero</th>\r\n <th style=\"text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\">\r\n <td style=\"width: 5%; text-align: center;\"> \r\n <button *ngIf=\"telefones.length > 1 && i > 0\" mat-icon-button aria-label=\"Mover para cima\"\r\n (click)=\"moverParaCima(i)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button *ngIf=\"telefones.length > 1 && i < telefones.length - 1\" mat-icon-button aria-label=\"Mover para baixo\"\r\n (click)=\"moverParaBaixo(i)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button>\r\n </td>\r\n <td style=\"width: 20%;\">{{ valor.ddd }}</td>\r\n <td style=\"width: 60%;\">{{ valor.numero}}</td>\r\n <td style=\"width: 20%; text-align: center;\">\r\n <button mat-icon-button aria-label=\"Salvar\" color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button mat-icon-button aria-label=\"Deletar\" color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}\n"] }]
160
+ args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-list', template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"] }]
131
161
  }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.UnBPessoaService }, { type: i3.MatDialog }], propDecorators: { podeEditar: [{
132
162
  type: Input
133
163
  }], telefones: [{
@@ -137,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
137
167
  }], telefonesEmitted: [{
138
168
  type: Output
139
169
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7QUFRNUUsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBbUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN4RSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQU1yRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVuRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLDJFQUEyRTtJQUN4RyxDQUFD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Q0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lLCBVbmJQZXNzb2FUZWxlZm9uZVRpcG8gfSBmcm9tICcuLi91bmItcGVzc29hLW1vZGVscy91bmItcGVzc29hLXRlbGVmb25lLm1vZGVsJztcclxuaW1wb3J0IHsgVW5CUGVzc29hU2VydmljZSB9IGZyb20gJy4uL3VuYi1wZXNzb2Euc2VydmljZSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcG9kZUVkaXRhciA9IHRydWU7XHJcbiAgQElucHV0KCkgdGVsZWZvbmVzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBhcGlQZXNzb2FDb25maWc6IHsgdXJsOiBzdHJpbmc7IHRva2VuOiBzdHJpbmcgfSA9IHsgdXJsOiAnJywgdG9rZW46ICcnIH07XHJcbiAgQE91dHB1dCgpIHRlbGVmb25lc0VtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFVuYlBlc3NvYVRlbGVmb25lW10+KCk7XHJcblxyXG4gIHRpcG9UZWxlZm9uZSE6IE9ic2VydmFibGU8VW5iUGVzc29hVGVsZWZvbmVUaXBvW10+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhciwgcHJpdmF0ZSBzZXJ2aWNlOiBVbkJQZXNzb2FTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGlwb1RlbGVmb25lID0gdGhpcy5zZXJ2aWNlLmdldFRpcG9UZWxlZm9uZSgpO1xyXG5cclxuICAgIHRoaXMuc29ydEFuZEFzc2lnbk9yZGVyKCk7IC8vIG9yZ2FuaXphIGEgbGlzdGEgZGUgdGVsZWZvbmVzLiBBcyB2ZXplcyB0ZW0gb3JkZW0gZHVwbGljYWRhIG91IGZhbHRhbmRvLlxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcih0ZWxlZm9uZTogVW5iUGVzc29hVGVsZWZvbmVUaXBvKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgZWRpdGFyKHRlbGVmb25lOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG8pIHtcclxuICAgIHRoaXMub3BlbkZvcm1EaWFsb2codGVsZWZvbmUpO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJQYXJhQ2ltYShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoaW5kZXggPD0gMCkgcmV0dXJuO1xyXG5cclxuICAgIFt0aGlzLnRlbGVmb25lc1tpbmRleCAtIDFdLCB0aGlzLnRlbGVmb25lc1tpbmRleF1dID0gW3RoaXMudGVsZWZvbmVzW2luZGV4XSwgdGhpcy50ZWxlZm9uZXNbaW5kZXggLSAxXV07XHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBtb3ZlclBhcmFCYWl4byhpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoaW5kZXggPj0gdGhpcy50ZWxlZm9uZXMubGVuZ3RoIC0gMSkgcmV0dXJuO1xyXG5cclxuICAgIFt0aGlzLnRlbGVmb25lc1tpbmRleF0sIHRoaXMudGVsZWZvbmVzW2luZGV4ICsgMV1dID0gW3RoaXMudGVsZWZvbmVzW2luZGV4ICsgMV0sIHRoaXMudGVsZWZvbmVzW2luZGV4XV07XHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBhdHVhbGl6YXJPcmRlbSgpIHtcclxuICAgIHRoaXMudGVsZWZvbmVzLmZvckVhY2goKHRlbGVmb25lLCBpZHgpID0+IHtcclxuICAgICAgdGVsZWZvbmUub3JkZW0gPSBpZHggKyAxO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2codG9FZGl0OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnOTAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdGVsZWZvbmU6IHRvRWRpdCwgLy8gRS1tYWlsIGEgc2VyIGVkaXRhZG8gb3UgdmF6aW8gcGFyYSBub3ZvXHJcbiAgICAgICAgZW1haWxzTGlzdDogdGhpcy50ZWxlZm9uZXMgLy8gQSBzdWEgbGlzdGEgQ09NUExFVEEgZGUgZS1tYWlsc1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleChlID0+IGUuY29kaWdvID09PSByZXN1bHQuY29kaWdvKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdC5jb2RpZ28gJiYgaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgLy8gQXR1YWxpemEgZS1tYWlsIGV4aXN0ZW50ZVxyXG4gICAgICAgICAgdGhpcy50ZWxlZm9uZXNbaW5kZXhdID0gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBBZGljaW9uYSBub3ZvIGUtbWFpbCAoZ2VyYSBvcmRlbSBhdXRvbWF0aWNhbWVudGUgc2UgcXVpc2VyKVxyXG4gICAgICAgICAgcmVzdWx0Lm9yZGVtID0gdGhpcy50ZWxlZm9uZXMubGVuZ3RoICsgMTtcclxuICAgICAgICAgIHRoaXMudGVsZWZvbmVzLnB1c2gocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRW1pdGUgbGlzdGEgYXR1YWxpemFkYVxyXG4gICAgICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YSBwYXJhIG7Do28gbW9kaWZpY2FyIGEgb3JpZ2luYWwgZHVyYW50ZSBhIGl0ZXJhw6fDo28gaW5pY2lhbFxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLnRlbGVmb25lc107XHJcblxyXG4gICAgLy8gMi4gTWFwZWllIGFzIG9yZGVucyBleGlzdGVudGVzIHBhcmEgaWRlbnRpZmljYXIgZHVwbGljYXRhcyBlIGF1c2VudGVzXHJcbiAgICBjb25zdCBvcmRlck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBVbmJQZXNzb2FUZWxlZm9uZVtdPigpO1xyXG4gICAgY29uc3QgZW1haWxzV2l0aG91dE9yZGVyOiBVbmJQZXNzb2FUZWxlZm9uZVtdID0gW107XHJcblxyXG4gICAgdGVtcEVtYWlscy5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgaWYgKHRlbGVmb25lLm9yZGVtICE9PSB1bmRlZmluZWQgJiYgdGVsZWZvbmUub3JkZW0gIT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIW9yZGVyTWFwLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIG9yZGVyTWFwLnNldCh0ZWxlZm9uZS5vcmRlbSwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvcmRlck1hcC5nZXQodGVsZWZvbmUub3JkZW0pPy5wdXNoKHRlbGVmb25lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbWFpbHNXaXRob3V0T3JkZXIucHVzaCh0ZWxlZm9uZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDMuIEluaWNpYWxpemUgdW0gU2V0IHBhcmEgcmFzdHJlYXIgdG9kYXMgYXMgb3JkZW5zIHF1ZSBzZXLDo28gdXNhZGFzIG5vIGZpbmFsXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIC8vIEluaWNpYWxpemUgbyBwcsOzeGltbyB2YWxvciBkZSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgbGV0IG5leHRBdmFpbGFibGVPcmRlciA9IDA7XHJcblxyXG4gICAgLy8gRnVuw6fDo28gYXV4aWxpYXIgcGFyYSBlbmNvbnRyYXIgYSBwcsOzeGltYSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSB0ZWxlZm9uZXMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgLy8gICAgLSBBIHByaW1laXJhIG9jb3Jyw6puY2lhIGRlIHVtYSBvcmRlbSBhIG1hbnTDqW0uXHJcbiAgICAvLyAgICAtIER1cGxpY2F0YXMgcmVjZWJlbSB1bWEgbm92YSBvcmRlbS5cclxuICAgIC8vICAgIC0gQWRpY2lvbmUgYXMgb3JkZW5zIHbDoWxpZGFzIGFvIGZpbmFsVXNlZE9yZGVycy5cclxuICAgIHRoaXMudGVsZWZvbmVzLmZvckVhY2godGVsZWZvbmUgPT4geyAvLyBJdGVyYXIgc29icmUgYSBsaXN0YSBvcmlnaW5hbCBwYXJhIG1vZGlmaWNhciBpbi1wbGFjZVxyXG4gICAgICBpZiAodGVsZWZvbmUub3JkZW0gIT09IHVuZGVmaW5lZCAmJiB0ZWxlZm9uZS5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIC8vIFNlIGEgb3JkZW0gYWluZGEgbsOjbyBmb2kgdXNhZGEsIHVzZS1hIGUgYWRpY2lvbmUgYW8gc2V0XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKHRlbGVmb25lLm9yZGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gU2UgYSBvcmRlbSBqw6EgZm9pIHVzYWRhICjDqSB1bWEgZHVwbGljYXRhKSwgYXRyaWJ1YSB1bWEgbm92YVxyXG4gICAgICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQodGVsZWZvbmUub3JkZW0pOyAvLyBBZGljaW9uYSBhIG5vdmEgb3JkZW0gYW8gc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA1LiBBdHJpYnVhIG9yZGVucyBwYXJhIHRlbGVmb25lcyBxdWUgbsOjbyB0aW5oYW0gb3JkZW0gZGVmaW5pZGFcclxuICAgIGVtYWlsc1dpdGhvdXRPcmRlci5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgZmluYWxVc2VkT3JkZXJzLmFkZCh0ZWxlZm9uZS5vcmRlbSk7IC8vIEFkaWNpb25hIGEgbm92YSBvcmRlbSBhbyBzZXRcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhIGNvbXBsZXRhIGNvbSBhcyBvcmRlbnMgYWdvcmEgw7puaWNhc1xyXG4gICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgfVxyXG59IiwiPGRpdiBjbGFzcz1cIm1lcy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lcy1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj5cclxuICAgICAgICAgICAgICAgIHt7IHRlbGVmb25lcz8ubGVuZ3RoID09PSAxID8gJ1RlbGVmb25lIENhZGFzdHJhZG8nIDogJ1RlbGVmb25lcyBDYWRhc3RyYWRvcycgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHVsb1wiPih7eyB0ZWxlZm9uZXM/Lmxlbmd0aCB8fCAwIH19KTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiBtYXRUb29sdGlwPVwiTm92byBUZWxlZm9uZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbkZvcm1EaWFsb2cobnVsbClcIj5cclxuICAgICAgICAgICAgQ2FkYXN0cmFyIE5vdm8gVGVsZWZvbmVcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRXhpYmUgYSB0YWJlbGEgZGUgZGVzcGVzYXMgc29tZW50ZSBzZSBob3V2ZXIgZGVzcGVzYXMgLS0+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJteS10YWJsZVwiICpuZ0lmPVwidGVsZWZvbmVzICYmIHRlbGVmb25lcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPHRyIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2U0ZTNlM2NjO1wiPlxyXG4gICAgICAgICAgICA8dGggc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7XCIgPk9yZGVtPC90aD5cclxuICAgICAgICAgICAgPHRoPkRERDwvdGg+XHJcbiAgICAgICAgICAgIDx0aD5Ow7ptZXJvPC90aD5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPkHDp8O1ZXM8L3RoPlxyXG4gICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgdmFsb3Igb2YgdGVsZWZvbmVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJteS10clwiPlxyXG4gICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogNSU7IHRleHQtYWxpZ246IGNlbnRlcjtcIj4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGVsZWZvbmVzLmxlbmd0aCA+IDEgJiYgaSA+IDBcIiBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIk1vdmVyIHBhcmEgY2ltYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVyUGFyYUNpbWEoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfdXB3YXJkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRlbGVmb25lcy5sZW5ndGggPiAxICYmIGkgPCB0ZWxlZm9uZXMubGVuZ3RoIC0gMVwiIG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiTW92ZXIgcGFyYSBiYWl4b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVyUGFyYUJhaXhvKGkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPnt7IHZhbG9yLmRkZCB9fTwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA2MCU7XCI+e3sgdmFsb3IubnVtZXJvfX08L3RkPlxyXG4gICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMjAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiU2FsdmFyXCIgY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImVkaXRhcih2YWxvcilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJEZWxldGFyXCIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImV4Y2x1aXIodmFsb3IpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+Il19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDhCQUE4QjtJQVN6QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBbUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN4RSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQU1yRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFD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QUN0QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sOERBQThEO29CQUM5RCxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsaUVBQWlFO1FBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNwQyxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7WUFDekMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzs4R0FwS1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIsOE9DZjNDLDZnRUErQ007OzJGRGhDTyw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjt1SUFNL0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgcG9kZUVkaXRhciA9IHRydWU7XHJcbiAgQElucHV0KCkgdGVsZWZvbmVzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBhcGlQZXNzb2FDb25maWc6IHsgdXJsOiBzdHJpbmc7IHRva2VuOiBzdHJpbmcgfSA9IHsgdXJsOiAnJywgdG9rZW46ICcnIH07XHJcbiAgQE91dHB1dCgpIHRlbGVmb25lc0VtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFVuYlBlc3NvYVRlbGVmb25lW10+KCk7XHJcblxyXG4gIHRpcG9UZWxlZm9uZSE6IE9ic2VydmFibGU8VW5iUGVzc29hVGVsZWZvbmVUaXBvW10+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0JhciwgcHJpdmF0ZSBzZXJ2aWNlOiBVbkJQZXNzb2FTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGlwb1RlbGVmb25lID0gdGhpcy5zZXJ2aWNlLmdldFRpcG9UZWxlZm9uZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gdGVtIHF1ZSBmYXplciBpc3NvIHBxIG5vIG9uIGluaXQgZXUgYWluZGEgbmFvIHRlbmhvIGEgbGlzdGEgZGUgdGVsZWZvbmVzXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gVmVyaWZpY2Egc2UgYSBwcm9wcmllZGFkZSAndGVsZWZvbmVzJyBtdWRvdVxyXG4gICAgaWYgKGNoYW5nZXNbJ3RlbGVmb25lcyddICYmIHRoaXMudGVsZWZvbmVzKSB7XHJcbiAgICAgIC8vIGNoYW1hZGEgcXVhbmRvIG9zIGRhZG9zIHJlYWxtZW50ZSBjaGVnYXJlbVxyXG4gICAgICB0aGlzLnNvcnRBbmRBc3NpZ25PcmRlcigpOyBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4Y2x1aXIodGVsZWZvbmVQYXJhRXhjbHVpcjogVW5iUGVzc29hVGVsZWZvbmUpIHtcclxuICAgIGlmICh0ZWxlZm9uZVBhcmFFeGNsdWlyLmNvZGlnbykge1xyXG4gICAgICAvLyBTZSB0ZW0gY8OzZGlnbywgcmVtb3ZlIHBvciBlbGUgKG1haXMgc2VndXJvKVxyXG4gICAgICB0aGlzLnRlbGVmb25lcyA9IHRoaXMudGVsZWZvbmVzLmZpbHRlcih0ID0+IHQuY29kaWdvICE9PSB0ZWxlZm9uZVBhcmFFeGNsdWlyLmNvZGlnbyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTZSBuw6NvIHRlbSBjw7NkaWdvIChub3ZvIGl0ZW0pLCByZW1vdmUgcGVsYSBvcmRlbVxyXG4gICAgICB0aGlzLnRlbGVmb25lcyA9IHRoaXMudGVsZWZvbmVzLmZpbHRlcih0ID0+IHQub3JkZW0gIT09IHRlbGVmb25lUGFyYUV4Y2x1aXIub3JkZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENoYW1hIGZ1bsOnw6NvIGV4aXN0ZW50ZSBxdWUgcmUtY2FsY3VsYSBhcyBvcmRlbnMgZSBlbWl0ZSBhIGxpc3RhIGF0dWFsaXphZGFcclxuICAgIHRoaXMuYXR1YWxpemFyT3JkZW0oKTtcclxuICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICB9XHJcblxyXG4gIGVkaXRhcih0ZWxlZm9uZTogVW5iUGVzc29hVGVsZWZvbmVUaXBvKSB7XHJcbiAgICB0aGlzLm9wZW5Gb3JtRGlhbG9nKHRlbGVmb25lKTtcclxuICB9XHJcblxyXG4gIGF0dWFsaXphck9yZGVtKCkge1xyXG4gICAgdGhpcy50ZWxlZm9uZXMuZm9yRWFjaCgodGVsZWZvbmUsIGlkeCkgPT4ge1xyXG4gICAgICB0ZWxlZm9uZS5vcmRlbSA9IGlkeCArIDE7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyByZWVtaXRlIGEgbGlzdGEgYXR1YWxpemFkYSwgaWd1YWwgYW50ZXNcclxuICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICB9XHJcblxyXG4gIG9wZW5Gb3JtRGlhbG9nKHRvRWRpdDogYW55KSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzkwMHB4JyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHRlbGVmb25lOiB0b0VkaXQsIC8vIEUtbWFpbCBhIHNlciBlZGl0YWRvIG91IHZhemlvIHBhcmEgbm92b1xyXG4gICAgICAgIHRlbGVmb25lc0xpc3Q6IHRoaXMudGVsZWZvbmVzIC8vIEEgc3VhIGxpc3RhIENPTVBMRVRBIGRlIGUtbWFpbHNcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAoIXJlc3VsdCkge1xyXG4gICAgICAgIHJldHVybjsgLy8gVXN1w6FyaW8gY2xpY291IGVtICdGZWNoYXInIG91ICdDYW5jZWxhcidcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gJ3Jlc3VsdCcgw6kgbyBvYmpldG8gcmV0b3JuYWRvIHBlbG8gZGlhbG9nIChlZGl0YWRvIG91IG5vdm8pXHJcbiAgICAgIGxldCBpbmRleCA9IC0xO1xyXG5cclxuICAgICAgLy8gMS4gVGVudGEgZW5jb250cmFyIHBlbG8gJ2NvZGlnbycgKHBhcmEgaXRlbnMgcXVlIGrDoSB2aWVyYW0gZG8gYmFuY28pXHJcbiAgICAgIGlmIChyZXN1bHQuY29kaWdvKSB7XHJcbiAgICAgICAgaW5kZXggPSB0aGlzLnRlbGVmb25lcy5maW5kSW5kZXgodCA9PiB0LmNvZGlnbyA9PT0gcmVzdWx0LmNvZGlnbyk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC8vIDIuIFNlIG7Do28gYWNob3UgcGVsbyAnY29kaWdvJywgdGVudGEgcGVsYSAnb3JkZW0nLlxyXG4gICAgICAvLyBBICdvcmRlbScgw6kgbyBub3NzbyBpZGVudGlmaWNhZG9yIMO6bmljbyBwYXJhIGl0ZW5zIHF1ZVxyXG4gICAgICAvLyBhaW5kYSBuw6NvIGZvcmFtIHNhbHZvcyBubyBiYW5jbyAoY3JpYWRvcy9lZGl0YWRvcyBsb2NhbG1lbnRlKS5cclxuICAgICAgaWYgKGluZGV4ID09PSAtMSAmJiByZXN1bHQub3JkZW0pIHtcclxuICAgICAgICAgaW5kZXggPSB0aGlzLnRlbGVmb25lcy5maW5kSW5kZXgodCA9PiB0Lm9yZGVtID09PSByZXN1bHQub3JkZW0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIC8vIEVOQ09OVFJPVSAocGVsbyAnY29kaWdvJyBvdSBwZWxhICdvcmRlbScpOiBBdHVhbGl6YSBvIGl0ZW0gZXhpc3RlbnRlXHJcbiAgICAgICAgdGhpcy50ZWxlZm9uZXNbaW5kZXhdID0gcmVzdWx0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIE7Dg08gRU5DT05UUk9VOiDDiSB1bSBpdGVtIDEwMCUgbm92byAobsOjbyB1bWEgZWRpw6fDo28pXHJcbiAgICAgICAgLy8gTyBmb3JtICh1bmItcGVzc29hLXRlbGVmb25lLWZvcm0pIGrDoSBjdWlkb3UgZGVcclxuICAgICAgICAvLyBhdHJpYnVpciBhICdvcmRlbScgY29ycmV0YSAobWF4T3JkZW0gKyAxKVxyXG4gICAgICAgIHRoaXMudGVsZWZvbmVzLnB1c2gocmVzdWx0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gdmFtb3MgYXBlbmFzIHJlLW9yZGVuYXIgYSBsaXN0YSBwZWxhICdvcmRlbScgcXVlIGrDoSB0ZW1vc1xyXG4gICAgICAvLyBlIGRlcG9pcyBlbWl0aXIuXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzLnNvcnQoKGEsIGIpID0+IChhLm9yZGVtID8/IDApIC0gKGIub3JkZW0gPz8gMCkpO1xyXG4gICAgICB0aGlzLnRlbGVmb25lc0VtaXR0ZWQuZW1pdCh0aGlzLnRlbGVmb25lcyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1vdmVyVGVsZWZvbmUoZXZlbnQ6IENka0RyYWdEcm9wPGFueVtdPikge1xyXG4gICAgLy8gdHJvY2EgYSBwb3Npw6fDo28gZGVudHJvIGRvIGFycmF5XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy50ZWxlZm9uZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcblxyXG4gICAgLy8gYXR1YWxpemEgbyBjYW1wbyAnb3JkZW0nIGVtIGNhZGEgaXRlbVxyXG4gICAgdGhpcy5hdHVhbGl6YXJPcmRlbSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0QW5kQXNzaWduT3JkZXIoKTogdm9pZCB7XHJcbiAgICAvLyAxLiBDcmllIHVtYSBjw7NwaWEgZGEgbGlzdGEgcGFyYSBuw6NvIG1vZGlmaWNhciBhIG9yaWdpbmFsIGR1cmFudGUgYSBpdGVyYcOnw6NvIGluaWNpYWxcclxuICAgIGNvbnN0IHRlbXBFbWFpbHMgPSBbLi4udGhpcy50ZWxlZm9uZXNdO1xyXG5cclxuICAgIC8vIDIuIE1hcGVpZSBhcyBvcmRlbnMgZXhpc3RlbnRlcyBwYXJhIGlkZW50aWZpY2FyIGR1cGxpY2F0YXMgZSBhdXNlbnRlc1xyXG4gICAgY29uc3Qgb3JkZXJNYXAgPSBuZXcgTWFwPG51bWJlciwgVW5iUGVzc29hVGVsZWZvbmVbXT4oKTtcclxuICAgIGNvbnN0IGVtYWlsc1dpdGhvdXRPcmRlcjogVW5iUGVzc29hVGVsZWZvbmVbXSA9IFtdO1xyXG5cclxuICAgIHRlbXBFbWFpbHMuZm9yRWFjaCh0ZWxlZm9uZSA9PiB7XHJcbiAgICAgIGlmICh0ZWxlZm9uZS5vcmRlbSAhPT0gdW5kZWZpbmVkICYmIHRlbGVmb25lLm9yZGVtICE9PSBudWxsKSB7XHJcbiAgICAgICAgaWYgKCFvcmRlck1hcC5oYXModGVsZWZvbmUub3JkZW0pKSB7XHJcbiAgICAgICAgICBvcmRlck1hcC5zZXQodGVsZWZvbmUub3JkZW0sIFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb3JkZXJNYXAuZ2V0KHRlbGVmb25lLm9yZGVtKT8ucHVzaCh0ZWxlZm9uZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZW1haWxzV2l0aG91dE9yZGVyLnB1c2godGVsZWZvbmUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyAzLiBJbmljaWFsaXplIHVtIFNldCBwYXJhIHJhc3RyZWFyIHRvZGFzIGFzIG9yZGVucyBxdWUgc2Vyw6NvIHVzYWRhcyBubyBmaW5hbFxyXG4gICAgY29uc3QgZmluYWxVc2VkT3JkZXJzID0gbmV3IFNldDxudW1iZXI+KCk7XHJcbiAgICAvLyBJbmljaWFsaXplIG8gcHLDs3hpbW8gdmFsb3IgZGUgb3JkZW0gZGlzcG9uw612ZWxcclxuICAgIGxldCBuZXh0QXZhaWxhYmxlT3JkZXIgPSAwO1xyXG5cclxuICAgIC8vIEZ1bsOnw6NvIGF1eGlsaWFyIHBhcmEgZW5jb250cmFyIGEgcHLDs3hpbWEgb3JkZW0gZGlzcG9uw612ZWxcclxuICAgIGNvbnN0IGdldE5leHRBdmFpbGFibGVPcmRlciA9ICgpID0+IHtcclxuICAgICAgd2hpbGUgKGZpbmFsVXNlZE9yZGVycy5oYXMobmV4dEF2YWlsYWJsZU9yZGVyKSkge1xyXG4gICAgICAgIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXh0QXZhaWxhYmxlT3JkZXIrKztcclxuICAgIH07XHJcblxyXG4gICAgLy8gNC4gUHJvY2Vzc2UgdGVsZWZvbmVzIGNvbSBvcmRlbSBkZWZpbmlkYTpcclxuICAgIC8vICAgIC0gQSBwcmltZWlyYSBvY29ycsOqbmNpYSBkZSB1bWEgb3JkZW0gYSBtYW50w6ltLlxyXG4gICAgLy8gICAgLSBEdXBsaWNhdGFzIHJlY2ViZW0gdW1hIG5vdmEgb3JkZW0uXHJcbiAgICAvLyAgICAtIEFkaWNpb25lIGFzIG9yZGVucyB2w6FsaWRhcyBhbyBmaW5hbFVzZWRPcmRlcnMuXHJcbiAgICB0aGlzLnRlbGVmb25lcy5mb3JFYWNoKHRlbGVmb25lID0+IHsgLy8gSXRlcmFyIHNvYnJlIGEgbGlzdGEgb3JpZ2luYWwgcGFyYSBtb2RpZmljYXIgaW4tcGxhY2VcclxuICAgICAgaWYgKHRlbGVmb25lLm9yZGVtICE9PSB1bmRlZmluZWQgJiYgdGVsZWZvbmUub3JkZW0gIT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIWZpbmFsVXNlZE9yZGVycy5oYXModGVsZWZvbmUub3JkZW0pKSB7XHJcbiAgICAgICAgICAvLyBTZSBhIG9yZGVtIGFpbmRhIG7Do28gZm9pIHVzYWRhLCB1c2UtYSBlIGFkaWNpb25lIGFvIHNldFxyXG4gICAgICAgICAgZmluYWxVc2VkT3JkZXJzLmFkZCh0ZWxlZm9uZS5vcmRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIFNlIGEgb3JkZW0gasOhIGZvaSB1c2FkYSAow6kgdW1hIGR1cGxpY2F0YSksIGF0cmlidWEgdW1hIG5vdmFcclxuICAgICAgICAgIHRlbGVmb25lLm9yZGVtID0gZ2V0TmV4dEF2YWlsYWJsZU9yZGVyKCk7XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKHRlbGVmb25lLm9yZGVtKTsgLy8gQWRpY2lvbmEgYSBub3ZhIG9yZGVtIGFvIHNldFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gNS4gQXRyaWJ1YSBvcmRlbnMgcGFyYSB0ZWxlZm9uZXMgcXVlIG7Do28gdGluaGFtIG9yZGVtIGRlZmluaWRhXHJcbiAgICBlbWFpbHNXaXRob3V0T3JkZXIuZm9yRWFjaCh0ZWxlZm9uZSA9PiB7XHJcbiAgICAgIHRlbGVmb25lLm9yZGVtID0gZ2V0TmV4dEF2YWlsYWJsZU9yZGVyKCk7XHJcbiAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQodGVsZWZvbmUub3JkZW0pOyAvLyBBZGljaW9uYSBhIG5vdmEgb3JkZW0gYW8gc2V0XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA2LiBGaW5hbG1lbnRlLCBvcmRlbmUgYSBsaXN0YSBjb21wbGV0YSBjb20gYXMgb3JkZW5zIGFnb3JhIMO6bmljYXNcclxuICAgIHRoaXMudGVsZWZvbmVzLnNvcnQoKGEsIGIpID0+IChhLm9yZGVtID8/IDApIC0gKGIub3JkZW0gPz8gMCkpO1xyXG4gIH1cclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwibWVzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHVsb1wiPlxyXG4gICAgICAgICAgICAgICAge3sgdGVsZWZvbmVzPy5sZW5ndGggPT09IDEgPyAnVGVsZWZvbmUgQ2FkYXN0cmFkbycgOiAnVGVsZWZvbmVzIENhZGFzdHJhZG9zJyB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0dWxvXCI+KHt7IHRlbGVmb25lcz8ubGVuZ3RoIHx8IDAgfX0pPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXRUb29sdGlwPVwiTm92byBUZWxlZm9uZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbkZvcm1EaWFsb2cobnVsbClcIj5cclxuICAgICAgICAgICAgQ2FkYXN0cmFyIE5vdm8gVGVsZWZvbmVcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8IS0tIEV4aWJlIGEgdGFiZWxhIGRlIGRlc3Blc2FzIHNvbWVudGUgc2UgaG91dmVyIGRlc3Blc2FzIC0tPlxyXG4gICA8dGFibGUgY2xhc3M9XCJteS10YWJsZVwiICpuZ0lmPVwidGVsZWZvbmVzICYmIHRlbGVmb25lcy5sZW5ndGggPiAwXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJtb3ZlclRlbGVmb25lKCRldmVudClcIj5cclxuICAgIDx0ciBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNlNGUzZTNjYztcIj5cclxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogNSU7IHRleHQtYWxpZ246IGNlbnRlcjtcIj5PcmRlbTwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDIwJTtcIj5EREQ8L3RoPlxyXG4gICAgICAgIDx0aD5Ow7ptZXJvPC90aD4gXHJcbiAgICAgICAgPHRoPlRpcG88L3RoPlxyXG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAxJTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPkHDp8O1ZXM8L3RoPlxyXG4gICAgPC90cj5cclxuXHJcbiAgICA8dHIgKm5nRm9yPVwibGV0IHZhbG9yIG9mIHRlbGVmb25lczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwibXktdHJcIiBjZGtEcmFnPlxyXG4gICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj4gXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWNlbGxcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGkgKyAxIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZD57eyB2YWxvci5kZGQgfX08L3RkPiBcclxuICAgICAgICA8dGQ+e3sgdmFsb3IubnVtZXJvIH19PC90ZD4gXHJcbiAgICAgICAgPHRkPnt7IHZhbG9yLnRpcG8/LnRvVXBwZXJDYXNlKCkgfX08L3RkPlxyXG4gICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImVkaXRhcih2YWxvcilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwiZXhjbHVpcih2YWxvcilcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuPC90YWJsZT5cclxuPC9kaXY+Il19
@@ -28,6 +28,8 @@ import { UnbPessoaEmailListComponent } from './unb-pessoa-email-form/unb-pessoa-
28
28
  import { MatDialogModule } from '@angular/material/dialog';
29
29
  import { UnbPessoaenderecoListComponent } from './unb-pessoa-endereco-form/unb-pessoa-endereco-list';
30
30
  import { UnbPessoaTelefoneListComponent } from './unb-pessoa-telefone-form/unb-pessoa-telefone-list';
31
+ import { UnbMensagemModule } from '../unb-mensagem/unb-mensagem.module';
32
+ import { DragDropModule } from '@angular/cdk/drag-drop';
31
33
  import * as i0 from "@angular/core";
32
34
  export class UnbPessoaModule {
33
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -35,9 +37,11 @@ export class UnbPessoaModule {
35
37
  FormsModule,
36
38
  BrowserModule,
37
39
  MatIconModule,
40
+ DragDropModule,
38
41
  MatListModule,
39
42
  MatButtonModule,
40
43
  UnbUsuarioModule,
44
+ UnbMensagemModule,
41
45
  MatCardModule,
42
46
  MatFormFieldModule,
43
47
  MatIconModule,
@@ -64,9 +68,11 @@ export class UnbPessoaModule {
64
68
  FormsModule,
65
69
  BrowserModule,
66
70
  MatIconModule,
71
+ DragDropModule,
67
72
  MatListModule,
68
73
  MatButtonModule,
69
74
  UnbUsuarioModule,
75
+ UnbMensagemModule,
70
76
  MatCardModule,
71
77
  MatFormFieldModule,
72
78
  MatIconModule,
@@ -95,9 +101,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
95
101
  FormsModule,
96
102
  BrowserModule,
97
103
  MatIconModule,
104
+ DragDropModule,
98
105
  MatListModule,
99
106
  MatButtonModule,
100
107
  UnbUsuarioModule,
108
+ UnbMensagemModule,
101
109
  MatCardModule,
102
110
  MatFormFieldModule,
103
111
  MatIconModule,
@@ -125,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
125
133
  ]
126
134
  }]
127
135
  }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7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QWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDM04sU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBVbmJVc3VhcmlvTW9kdWxlIH0gZnJvbSAnLi4vdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVuZGVyZWNvLWZvcm0vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1mb3JtL3VuYi1wZXNzb2EtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtcGVzcXVpc2FyL3VuYi1wZXNzb2EtcGVzcXVpc2FyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbWFpbC1mb3JtL3VuYi1wZXNzb2EtZW1haWwtbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtL3VuYi1wZXNzb2EtZW5kZXJlY28tbGlzdCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1VuYlBlc3NvYUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYVBlc3F1aXNhckNvbXBvbmVudCwgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUxpc3RDb21wb25lbnQsIFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbEZvcm1Db21wb25lbnQsIFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsIFxyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLCBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFVuYlVzdWFyaW9Nb2R1bGUsIFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSwgXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsICAgIFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLCBcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLCAgIFxyXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSwgICAgXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1VuYlBlc3NvYUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYVBlc3F1aXNhckNvbXBvbmVudCwgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUxpc3RDb21wb25lbnQsIFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbEZvcm1Db21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIERhdGVQaXBlLFxyXG4gICAgQ3VycmVuY3lQaXBlXHJcbiAgXSBcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYU1vZHVsZSB7IH1cclxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7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YixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDM04sU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBVbmJVc3VhcmlvTW9kdWxlIH0gZnJvbSAnLi4vdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVuZGVyZWNvLWZvcm0vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1mb3JtL3VuYi1wZXNzb2EtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtcGVzcXVpc2FyL3VuYi1wZXNzb2EtcGVzcXVpc2FyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbWFpbC1mb3JtL3VuYi1wZXNzb2EtZW1haWwtbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtL3VuYi1wZXNzb2EtZW5kZXJlY28tbGlzdCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCc7XHJcbmltcG9ydCB7IFVuYk1lbnNhZ2VtTW9kdWxlIH0gZnJvbSAnLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtVbmJQZXNzb2FGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQsIFVuYlBlc3NvYUVuZGVyZWNvRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVMaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FlbmRlcmVjb0xpc3RDb21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbExpc3RDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLCBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFVuYlVzdWFyaW9Nb2R1bGUsIFxyXG4gICAgVW5iTWVuc2FnZW1Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLCBcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgICAgXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsIFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsICAgXHJcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLCAgICBcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVW5iUGVzc29hRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hUGVzcXVpc2FyQ29tcG9uZW50LCBVbmJQZXNzb2FFbmRlcmVjb0Zvcm1Db21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCwgVW5iUGVzc29hZW5kZXJlY29MaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYUVtYWlsRm9ybUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBDdXJyZW5jeVBpcGVcclxuICBdIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hTW9kdWxlIHsgfVxyXG4iXX0=