@seniorsistemas/yms-integration 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-yms-integration.umd.js +2922 -1185
- package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
- package/esm2015/index.js +9 -1
- package/esm2015/seniorsistemas-yms-integration.js +48 -38
- package/esm2015/src/devices/balancas/balancas.service.js +4 -1
- package/esm2015/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.js +8 -25
- package/esm2015/src/devices/balancas/weightScale.js +1 -1
- package/esm2015/src/devices/cancelas/cancelas.service.js +5 -1
- package/esm2015/src/devices/cancelas/controlador-cancela/controlador-cancela.component.js +91 -21
- package/esm2015/src/devices/cancelas/gate.js +1 -1
- package/esm2015/src/devices/dock/dock.module.js +12 -0
- package/esm2015/src/devices/dock/dock.service.js +22 -0
- package/esm2015/src/erp-senior/components/nota-form/nota-form.component.js +24 -9
- package/esm2015/src/erp-senior/core/entities/agenda/agenda.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/cidade/cidade.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/contrato-compra/contrato-compra.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/contrato-compra-item/contrato-compra-item.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/derivacao/derivacao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/devolucao/devolucao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/empresa/empresa.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/estado/estado.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/expedicao/expedicao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/familia-produto/familia-produto.js +5 -7
- package/esm2015/src/erp-senior/core/entities/familia-produto/familia-produto.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/filial/filial.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/log-integracao/log-integracao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/motorista/motorista.js +1 -1
- package/esm2015/src/erp-senior/core/entities/ordem-compra/ordem-compra.module.js +7 -2
- package/esm2015/src/erp-senior/core/entities/pais/pais.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pedido-venda/pedido-venda.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pedido-venda-item/pedido-venda-item.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa/pessoa.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.js +1 -5
- package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.js +1 -7
- package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa-fisica/pessoa-fisica.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa-juridica/pessoa-juridica.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/processo-avulso/processo-avulso.module.js +7 -2
- package/esm2015/src/erp-senior/core/entities/produto/produto.js +1 -9
- package/esm2015/src/erp-senior/core/entities/produto/produto.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/recebimento-contrato/recebimento.module.js +7 -2
- package/esm2015/src/erp-senior/core/entities/recebimento-ordem-compra/recebimento-ordem-compra.module.js +11 -12
- package/esm2015/src/erp-senior/core/entities/royalty/royalty.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/safra/safra.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/transgenia/transgenia.js +1 -1
- package/esm2015/src/erp-senior/core/entities/transportadora/transportadora.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/unidade-medida/unidade-medida.module.js +2 -2
- package/esm2015/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.js +9 -1
- package/esm2015/src/erp-senior/devolucao/form/devolucao-form.component.js +12 -7
- package/esm2015/src/erp-senior/expedicao/form/expedicao-form.component.js +15 -21
- package/esm2015/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +7 -2
- package/esm2015/src/erp-senior/recebimento/contrato-form/contrato-form.component.js +20 -4
- package/esm2015/src/erp-senior/recebimento/form/recebimento-form.component.js +242 -199
- package/esm2015/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +29 -20
- package/esm2015/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.js +13 -4
- package/esm2015/src/sam-senior/components/credencial-form/credencial-form.component.js +126 -0
- package/esm2015/src/sam-senior/components/scheduling/lobby.service.js +22 -0
- package/esm2015/src/sam-senior/components/scheduling/scheduling.component.js +191 -0
- package/esm2015/src/sam-senior/components/scheduling/shechuling.service.js +40 -0
- package/esm2015/src/sam-senior/components/visited-info/visited-info.component.js +59 -0
- package/esm2015/src/sam-senior/components/visited-info/visited-info.service.js +26 -0
- package/esm2015/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.js +84 -0
- package/esm2015/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js +364 -0
- package/esm2015/src/sam-senior/components/visitor-list/visitor-list.component.js +64 -0
- package/esm2015/src/sam-senior/components/visitor-list/visitor-list.service.js +26 -0
- package/esm2015/src/sam-senior/components/visitor-list.module.js +36 -0
- package/esm2015/src/sam-senior/core/entity-service.js +102 -0
- package/esm2015/src/sam-senior/core/lookup.js +184 -0
- package/esm2015/src/sam-senior/core/utils.js +26 -0
- package/esm2015/src/sam-senior/entities/credential-card-dto.js +9 -0
- package/esm2015/src/sam-senior/entities/lobby-dto.js +3 -0
- package/esm2015/src/sam-senior/entities/scheduling-dto.js +3 -0
- package/esm2015/src/sam-senior/entities/scheduling-visitors.js +3 -0
- package/esm2015/src/sam-senior/entities/scheduling.js +26 -0
- package/esm2015/src/sam-senior/entities/visited.js +3 -0
- package/esm2015/src/sam-senior/entities/visitor-credentials-dto.js +6 -0
- package/esm2015/src/sam-senior/entities/visitor-dto.js +1 -0
- package/esm2015/src/sam-senior/entities/visitor-situation.js +10 -0
- package/esm2015/src/sam-senior/form/form-sam.component.js +61 -0
- package/esm2015/src/sam-senior/models/card-credential.js +7 -0
- package/esm2015/src/sam-senior/models/visit-situation.js +8 -0
- package/esm2015/src/sam-senior/models/visitor-situation.js +10 -0
- package/esm2015/src/sam-senior/models/visitor.js +23 -0
- package/esm2015/src/sam-senior/sam-senior.module.js +75 -0
- package/esm2015/src/utils/build-form-field.js +28 -0
- package/esm5/index.js +9 -1
- package/esm5/seniorsistemas-yms-integration.js +48 -38
- package/esm5/src/devices/balancas/balancas.service.js +4 -1
- package/esm5/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.js +8 -25
- package/esm5/src/devices/balancas/weightScale.js +1 -1
- package/esm5/src/devices/cancelas/cancelas.service.js +5 -1
- package/esm5/src/devices/cancelas/controlador-cancela/controlador-cancela.component.js +94 -21
- package/esm5/src/devices/cancelas/gate.js +1 -1
- package/esm5/src/devices/dock/dock.module.js +15 -0
- package/esm5/src/devices/dock/dock.service.js +25 -0
- package/esm5/src/erp-senior/components/nota-form/nota-form.component.js +24 -9
- package/esm5/src/erp-senior/core/entities/agenda/agenda.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/cidade/cidade.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/contrato-compra/contrato-compra.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/contrato-compra-item/contrato-compra-item.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/derivacao/derivacao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/devolucao/devolucao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/empresa/empresa.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/estado/estado.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/expedicao/expedicao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/familia-produto/familia-produto.js +5 -7
- package/esm5/src/erp-senior/core/entities/familia-produto/familia-produto.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/filial/filial.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/log-integracao/log-integracao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/motorista/motorista.js +1 -1
- package/esm5/src/erp-senior/core/entities/ordem-compra/ordem-compra.module.js +7 -2
- package/esm5/src/erp-senior/core/entities/pais/pais.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pedido-venda/pedido-venda.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pedido-venda-item/pedido-venda-item.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa/pessoa.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.js +1 -5
- package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.js +1 -7
- package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa-fisica/pessoa-fisica.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa-juridica/pessoa-juridica.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/processo-avulso/processo-avulso.module.js +7 -2
- package/esm5/src/erp-senior/core/entities/produto/produto.js +1 -9
- package/esm5/src/erp-senior/core/entities/produto/produto.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/recebimento-contrato/recebimento.module.js +7 -2
- package/esm5/src/erp-senior/core/entities/recebimento-ordem-compra/recebimento-ordem-compra.module.js +11 -12
- package/esm5/src/erp-senior/core/entities/royalty/royalty.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/safra/safra.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/transgenia/transgenia.js +1 -1
- package/esm5/src/erp-senior/core/entities/transportadora/transportadora.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/unidade-medida/unidade-medida.module.js +2 -2
- package/esm5/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.js +9 -1
- package/esm5/src/erp-senior/devolucao/form/devolucao-form.component.js +12 -7
- package/esm5/src/erp-senior/expedicao/form/expedicao-form.component.js +15 -21
- package/esm5/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +7 -2
- package/esm5/src/erp-senior/recebimento/contrato-form/contrato-form.component.js +21 -4
- package/esm5/src/erp-senior/recebimento/form/recebimento-form.component.js +244 -203
- package/esm5/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +29 -20
- package/esm5/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.js +14 -4
- package/esm5/src/sam-senior/components/credencial-form/credencial-form.component.js +144 -0
- package/esm5/src/sam-senior/components/scheduling/lobby.service.js +25 -0
- package/esm5/src/sam-senior/components/scheduling/scheduling.component.js +199 -0
- package/esm5/src/sam-senior/components/scheduling/shechuling.service.js +43 -0
- package/esm5/src/sam-senior/components/visited-info/visited-info.component.js +56 -0
- package/esm5/src/sam-senior/components/visited-info/visited-info.service.js +29 -0
- package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.js +87 -0
- package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js +384 -0
- package/esm5/src/sam-senior/components/visitor-list/visitor-list.component.js +82 -0
- package/esm5/src/sam-senior/components/visitor-list/visitor-list.service.js +29 -0
- package/esm5/src/sam-senior/components/visitor-list.module.js +37 -0
- package/esm5/src/sam-senior/core/entity-service.js +107 -0
- package/esm5/src/sam-senior/core/lookup.js +229 -0
- package/esm5/src/sam-senior/core/utils.js +28 -0
- package/esm5/src/sam-senior/entities/credential-card-dto.js +13 -0
- package/esm5/src/sam-senior/entities/lobby-dto.js +7 -0
- package/esm5/src/sam-senior/entities/scheduling-dto.js +7 -0
- package/esm5/src/sam-senior/entities/scheduling-visitors.js +7 -0
- package/esm5/src/sam-senior/entities/scheduling.js +30 -0
- package/esm5/src/sam-senior/entities/visited.js +7 -0
- package/esm5/src/sam-senior/entities/visitor-credentials-dto.js +8 -0
- package/esm5/src/sam-senior/entities/visitor-dto.js +1 -0
- package/esm5/src/sam-senior/entities/visitor-situation.js +10 -0
- package/esm5/src/sam-senior/form/form-sam.component.js +64 -0
- package/esm5/src/sam-senior/models/card-credential.js +7 -0
- package/esm5/src/sam-senior/models/visit-situation.js +8 -0
- package/esm5/src/sam-senior/models/visitor-situation.js +10 -0
- package/esm5/src/sam-senior/models/visitor.js +32 -0
- package/esm5/src/sam-senior/sam-senior.module.js +76 -0
- package/esm5/src/utils/build-form-field.js +29 -0
- package/fesm2015/seniorsistemas-yms-integration.js +2763 -1193
- package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
- package/fesm5/seniorsistemas-yms-integration.js +2888 -1169
- package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
- package/index.d.ts +7 -0
- package/package.json +3 -3
- package/seniorsistemas-yms-integration.d.ts +47 -37
- package/seniorsistemas-yms-integration.metadata.json +1 -1
- package/src/devices/balancas/balancas.service.d.ts +1 -0
- package/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.d.ts +2 -11
- package/src/devices/balancas/weightScale.d.ts +2 -2
- package/src/devices/cancelas/cancelas.service.d.ts +1 -0
- package/src/devices/cancelas/controlador-cancela/controlador-cancela.component.d.ts +12 -8
- package/src/devices/cancelas/gate.d.ts +2 -0
- package/src/devices/dock/dock.module.d.ts +2 -0
- package/src/devices/dock/dock.service.d.ts +10 -0
- package/src/erp-senior/components/nota-form/nota-form.component.d.ts +7 -1
- package/src/erp-senior/core/entities/motorista/motorista.d.ts +3 -0
- package/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.d.ts +2 -0
- package/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.d.ts +2 -0
- package/src/erp-senior/core/entities/transgenia/transgenia.d.ts +2 -0
- package/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.d.ts +2 -0
- package/src/erp-senior/devolucao/form/devolucao-form.component.d.ts +2 -0
- package/src/erp-senior/processo-avulso/form/processo-avulso-form.component.d.ts +2 -0
- package/src/erp-senior/recebimento/contrato-form/contrato-form.component.d.ts +10 -4
- package/src/erp-senior/recebimento/form/recebimento-form.component.d.ts +25 -10
- package/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.d.ts +4 -2
- package/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.d.ts +6 -2
- package/src/sam-senior/components/credencial-form/credencial-form.component.d.ts +29 -0
- package/src/sam-senior/components/scheduling/lobby.service.d.ts +9 -0
- package/src/sam-senior/components/scheduling/scheduling.component.d.ts +43 -0
- package/src/sam-senior/components/scheduling/shechuling.service.d.ts +14 -0
- package/src/sam-senior/components/visited-info/visited-info.component.d.ts +15 -0
- package/src/sam-senior/components/visited-info/visited-info.service.d.ts +10 -0
- package/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.d.ts +22 -0
- package/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.d.ts +56 -0
- package/src/sam-senior/components/visitor-list/visitor-list.component.d.ts +16 -0
- package/src/sam-senior/components/visitor-list/visitor-list.service.d.ts +10 -0
- package/src/sam-senior/components/visitor-list.module.d.ts +5 -0
- package/src/sam-senior/core/entity-service.d.ts +35 -0
- package/src/sam-senior/core/lookup.d.ts +38 -0
- package/src/sam-senior/core/utils.d.ts +18 -0
- package/src/sam-senior/entities/credential-card-dto.d.ts +12 -0
- package/src/sam-senior/entities/lobby-dto.d.ts +5 -0
- package/src/sam-senior/entities/scheduling-dto.d.ts +11 -0
- package/src/sam-senior/entities/scheduling-visitors.d.ts +6 -0
- package/src/sam-senior/entities/scheduling.d.ts +12 -0
- package/src/sam-senior/entities/visited.d.ts +4 -0
- package/src/sam-senior/entities/visitor-credentials-dto.d.ts +6 -0
- package/src/sam-senior/entities/visitor-dto.d.ts +10 -0
- package/src/sam-senior/entities/visitor-situation.d.ts +8 -0
- package/src/sam-senior/form/form-sam.component.d.ts +18 -0
- package/src/sam-senior/models/card-credential.d.ts +16 -0
- package/src/sam-senior/models/visit-situation.d.ts +6 -0
- package/src/sam-senior/models/visitor-situation.d.ts +8 -0
- package/src/sam-senior/models/visitor.d.ts +24 -0
- package/src/sam-senior/sam-senior.module.d.ts +6 -0
- package/src/utils/build-form-field.d.ts +9 -0
package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js
ADDED
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { VisitorCredentialsDto } from '../../../entities/visitor-credentials-dto';
|
|
3
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
4
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
5
|
+
import { Subject, empty } from "rxjs";
|
|
6
|
+
import { CardTechnology, } from "../../../models/card-credential";
|
|
7
|
+
import { filter, takeUntil, mergeMap } from "rxjs/operators";
|
|
8
|
+
import { VisitorSituation } from "../../../models/visitor-situation";
|
|
9
|
+
import { DialogService } from "primeng/api";
|
|
10
|
+
import { CredencialFormComponent } from "../../credencial-form/credencial-form.component";
|
|
11
|
+
import { VisitanteFormComponent } from "../visitor-edit-form/visitante-form/visitor-edit-form.component";
|
|
12
|
+
import { dialogConfig } from "../../../../utils/utils";
|
|
13
|
+
import { IntegrationEventsCallback } from "@seniorsistemas/yms-routines";
|
|
14
|
+
var VisitanteComponent = /** @class */ (function () {
|
|
15
|
+
function VisitanteComponent(translate, dialogService, integrationCallback) {
|
|
16
|
+
this.translate = translate;
|
|
17
|
+
this.dialogService = dialogService;
|
|
18
|
+
this.integrationCallback = integrationCallback;
|
|
19
|
+
this.visitors = [];
|
|
20
|
+
this.visitorsChange = new EventEmitter();
|
|
21
|
+
this.hasChange = new EventEmitter();
|
|
22
|
+
this.ngUnsubscribe = new Subject();
|
|
23
|
+
this.unsubscribe$ = new Subject();
|
|
24
|
+
this._integrationCallback = integrationCallback;
|
|
25
|
+
}
|
|
26
|
+
VisitanteComponent.prototype.ngOnInit = function () {
|
|
27
|
+
this.constroiCamposTabelaVistante();
|
|
28
|
+
this.visitanteTotalRecords = 0;
|
|
29
|
+
};
|
|
30
|
+
VisitanteComponent.prototype.ngAfterContentInit = function () {
|
|
31
|
+
var _this = this;
|
|
32
|
+
this.visitanteGridLoading = false;
|
|
33
|
+
this.adicionaVisitantesGrid();
|
|
34
|
+
this._integrationCallback
|
|
35
|
+
.onAgendamentoMotoristaChanged()
|
|
36
|
+
.pipe(takeUntil(this.unsubscribe$), mergeMap(function (motorista) {
|
|
37
|
+
_this.atualizaMotorista(motorista);
|
|
38
|
+
return empty();
|
|
39
|
+
}))
|
|
40
|
+
.subscribe();
|
|
41
|
+
};
|
|
42
|
+
VisitanteComponent.prototype.atualizaMotorista = function (mot) {
|
|
43
|
+
var motoristaVisitante = this.visitanteGridData.find(function (item) { return item.driver; });
|
|
44
|
+
if (motoristaVisitante && motoristaVisitante.documentType === this.getDocumentType() && motoristaVisitante.document === mot.cpf) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (this.visitanteGridData.length > 0) {
|
|
48
|
+
this.visitanteGridData[0] = {
|
|
49
|
+
name: mot.nome,
|
|
50
|
+
document: mot.cpf,
|
|
51
|
+
contact: this.getContatoMotorista(mot),
|
|
52
|
+
visitorSituation: VisitorSituation.CHECK_IN_PENDING,
|
|
53
|
+
documentType: this.getDocumentType(),
|
|
54
|
+
driver: true
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.visitanteGridData.push({
|
|
59
|
+
name: mot.nome,
|
|
60
|
+
document: mot.cpf,
|
|
61
|
+
contact: this.getContatoMotorista(mot),
|
|
62
|
+
visitorSituation: VisitorSituation.CHECK_IN_PENDING,
|
|
63
|
+
documentType: this.getDocumentType(),
|
|
64
|
+
driver: true
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
VisitanteComponent.prototype.adicionaVisitantesGrid = function () {
|
|
69
|
+
var _this = this;
|
|
70
|
+
if (this.visitors.length) {
|
|
71
|
+
this.visitanteGridData = [];
|
|
72
|
+
this.adicionaMotoristaNoVisitanteGridData();
|
|
73
|
+
this.visitors.forEach(function (visitor) {
|
|
74
|
+
if (_this.motorista.cpf !== visitor.visitor.document) {
|
|
75
|
+
_this.visitanteGridData.push({
|
|
76
|
+
id: visitor.visitor.id,
|
|
77
|
+
name: visitor.visitor.name,
|
|
78
|
+
document: visitor.visitor.document,
|
|
79
|
+
contact: visitor.visitor.contact,
|
|
80
|
+
visitorSituation: _this.getVisitorSituation(visitor.visitor.visitorSituation),
|
|
81
|
+
documentType: _this.getDocumentType(),
|
|
82
|
+
driver: true
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
_this.visitanteTotalRecords = _this.visitors.length;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.visitanteGridData = [];
|
|
90
|
+
var novo_visitante_1 = new VisitorCredentialsDto();
|
|
91
|
+
novo_visitante_1.visitor = {
|
|
92
|
+
name: this.motorista.nome,
|
|
93
|
+
document: this.motorista.cpf,
|
|
94
|
+
contact: this.getContatoMotorista(this.motorista),
|
|
95
|
+
documentType: this.getDocumentType(),
|
|
96
|
+
visitorSituation: VisitorSituation.CHECK_IN_PENDING,
|
|
97
|
+
driver: true
|
|
98
|
+
};
|
|
99
|
+
var visitanteBuscando = this.visitanteGridData.find(function (visitanteNaLista) { return novo_visitante_1.visitor.document === visitanteNaLista.document; });
|
|
100
|
+
if (visitanteBuscando === undefined) {
|
|
101
|
+
this.visitanteGridData.push(novo_visitante_1.visitor);
|
|
102
|
+
this.visitors.push(novo_visitante_1);
|
|
103
|
+
this.visitanteTotalRecords = 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
this.visitanteGridLoading = false;
|
|
107
|
+
};
|
|
108
|
+
VisitanteComponent.prototype.isCredentialCardsEmpty = function (visitor) {
|
|
109
|
+
var visitantesEncontrados = this.visitors.find(function (visitorWithCredentials) {
|
|
110
|
+
return visitorWithCredentials.visitor.document === visitor.document;
|
|
111
|
+
});
|
|
112
|
+
if (visitantesEncontrados === undefined) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return visitantesEncontrados.credentialCards.filter(function (credentialCard) {
|
|
116
|
+
return Object.keys(credentialCard).length !== 0;
|
|
117
|
+
}).length > 0
|
|
118
|
+
? true
|
|
119
|
+
: false;
|
|
120
|
+
};
|
|
121
|
+
VisitanteComponent.prototype.adicionaMotoristaNoVisitanteGridData = function () {
|
|
122
|
+
var _this = this;
|
|
123
|
+
var motoristaVisitante = this.visitors.find(function (visitor) { return _this.motorista.cpf === visitor.visitor.document; });
|
|
124
|
+
if (motoristaVisitante === undefined) {
|
|
125
|
+
this.visitanteGridData.push({
|
|
126
|
+
name: this.motorista.nome,
|
|
127
|
+
document: this.motorista.cpf,
|
|
128
|
+
contact: this.getContatoMotorista(this.motorista),
|
|
129
|
+
visitorSituation: VisitorSituation.CHECK_IN_PENDING,
|
|
130
|
+
documentType: this.getDocumentType(),
|
|
131
|
+
driver: true,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this.visitanteGridData.push({
|
|
136
|
+
id: motoristaVisitante.visitor.id,
|
|
137
|
+
name: motoristaVisitante.visitor.name,
|
|
138
|
+
document: motoristaVisitante.visitor.document,
|
|
139
|
+
contact: this.getContatoMotorista(this.motorista),
|
|
140
|
+
visitorSituation: this.getVisitorSituation(motoristaVisitante.visitor.visitorSituation),
|
|
141
|
+
documentType: this.getDocumentType(),
|
|
142
|
+
driver: true,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
VisitanteComponent.prototype.criarOuAtualizarVisitante = function (visitor) {
|
|
147
|
+
var _this = this;
|
|
148
|
+
this.dialogService
|
|
149
|
+
.open(VisitanteFormComponent, tslib_1.__assign({ header: this.translate.instant("yms.patio.motorista_adicionar_visitante") }, dialogConfig, this.constroiVisitante(visitor)))
|
|
150
|
+
.onClose.pipe(takeUntil(this.ngUnsubscribe), filter(function (value) { return !!value; }))
|
|
151
|
+
.subscribe(function (visitante) { return _this.adicionaVisitanteParaSalvar(visitante); });
|
|
152
|
+
};
|
|
153
|
+
VisitanteComponent.prototype.adicionaVisitanteParaSalvar = function (visitante) {
|
|
154
|
+
var _this = this;
|
|
155
|
+
this.visitanteGridData.forEach(function (visitor) {
|
|
156
|
+
if (visitor.document === visitante.document) {
|
|
157
|
+
visitor.contact = visitante.contact;
|
|
158
|
+
visitor.name = visitante.name;
|
|
159
|
+
_this.visitorFound = true;
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
if (this.visitorFound) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
this.visitanteGridLoading = true;
|
|
166
|
+
visitante.documentType = this.getDocumentType();
|
|
167
|
+
if (visitante.visitorSituation === undefined) {
|
|
168
|
+
visitante.visitorSituation = VisitorSituation.CHECK_IN_PENDING;
|
|
169
|
+
}
|
|
170
|
+
this.addVisitanteNaTabela(visitante);
|
|
171
|
+
this.visitanteTotalRecords++;
|
|
172
|
+
this.visitanteGridLoading = false;
|
|
173
|
+
var novo_visitante = new VisitorCredentialsDto();
|
|
174
|
+
novo_visitante.visitor = {
|
|
175
|
+
name: visitante.name,
|
|
176
|
+
document: visitante.document,
|
|
177
|
+
contact: visitante.contact,
|
|
178
|
+
documentType: visitante.documentType,
|
|
179
|
+
visitorSituation: visitante.visitorSituation,
|
|
180
|
+
driver: false
|
|
181
|
+
};
|
|
182
|
+
this.visitors.push(novo_visitante);
|
|
183
|
+
this.visitorsChange.emit(this.visitors);
|
|
184
|
+
this.hasChange.emit(true);
|
|
185
|
+
};
|
|
186
|
+
VisitanteComponent.prototype.model = function (visitante) {
|
|
187
|
+
var _this = this;
|
|
188
|
+
var isDriver = visitante.document === this.motorista.cpf;
|
|
189
|
+
var findVisitor = this.visitors.find(function (visitorWithCredentials) {
|
|
190
|
+
return visitorWithCredentials.visitor.document === visitante.document;
|
|
191
|
+
});
|
|
192
|
+
return [
|
|
193
|
+
{
|
|
194
|
+
label: this.translate.instant('yms.patio.motorista_editar_visitante'),
|
|
195
|
+
command: function () { return _this.editarVisitante(visitante); },
|
|
196
|
+
visible: !isDriver
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
label: this.translate.instant('yms.patio.delete'),
|
|
200
|
+
command: function () { return _this.deletarVisitante(visitante); },
|
|
201
|
+
visible: !isDriver
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
label: this.translate.instant('yms.patio.motorista_visitante_entregar_credencial'),
|
|
205
|
+
command: function () { return _this.entregarCredencial(visitante); },
|
|
206
|
+
visible: isDriver || !isDriver
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
label: this.translate.instant('yms.patio.remover_credenciais'),
|
|
210
|
+
command: function () { return _this.deletarCredenciais(findVisitor); },
|
|
211
|
+
visible: findVisitor != null && findVisitor.credentialCards != null && findVisitor.credentialCards.length > 0
|
|
212
|
+
},
|
|
213
|
+
];
|
|
214
|
+
};
|
|
215
|
+
VisitanteComponent.prototype.addVisitanteNaTabela = function (visitante) {
|
|
216
|
+
if (visitante.id !== undefined) {
|
|
217
|
+
this.visitanteGridData = this.visitanteGridData.map(function (visitanteGrid) {
|
|
218
|
+
if (visitanteGrid.id === visitante.id) {
|
|
219
|
+
return visitante;
|
|
220
|
+
}
|
|
221
|
+
return visitanteGrid;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
this.visitanteGridData.push(visitante);
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
VisitanteComponent.prototype.entregarCredencial = function (visitante) {
|
|
229
|
+
var _this = this;
|
|
230
|
+
this.dialogService
|
|
231
|
+
.open(CredencialFormComponent, {
|
|
232
|
+
header: this.translate.instant("yms.patio.motorista_visitante_credencial"),
|
|
233
|
+
data: {
|
|
234
|
+
visitante: visitante,
|
|
235
|
+
},
|
|
236
|
+
})
|
|
237
|
+
.onClose.pipe(takeUntil(this.ngUnsubscribe), filter(function (value) { return !!value; }))
|
|
238
|
+
.subscribe(function (visitorCredentialCard) {
|
|
239
|
+
return _this.adicionaCredencialParaEntregar(visitorCredentialCard);
|
|
240
|
+
});
|
|
241
|
+
};
|
|
242
|
+
VisitanteComponent.prototype.adicionaCredencialParaEntregar = function (visitorCredentialCard) {
|
|
243
|
+
var visitorWithCredencial = this.visitors.find(function (visitor) { return visitor.visitor.document === visitorCredentialCard.visitor.document; });
|
|
244
|
+
if (visitorWithCredencial === undefined) {
|
|
245
|
+
this.visitors.push({
|
|
246
|
+
visitor: visitorCredentialCard.visitor,
|
|
247
|
+
credentialCards: [this.createCredentialCard(visitorCredentialCard)],
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
visitorWithCredencial.credentialCards.push(this.createCredentialCard(visitorCredentialCard));
|
|
252
|
+
}
|
|
253
|
+
this.hasChange.emit(true);
|
|
254
|
+
};
|
|
255
|
+
VisitanteComponent.prototype.editarVisitante = function (visitante) {
|
|
256
|
+
this.criarOuAtualizarVisitante(visitante);
|
|
257
|
+
};
|
|
258
|
+
VisitanteComponent.prototype.deletarVisitante = function (visitante) {
|
|
259
|
+
var _this = this;
|
|
260
|
+
this.visitanteGridData.forEach(function (value, index) {
|
|
261
|
+
if (value.document === visitante.document) {
|
|
262
|
+
_this.visitanteGridData.splice(index, 1);
|
|
263
|
+
var removeVisitor = _this.visitors.findIndex(function (visitor) { return visitor.visitor.document === value.document; });
|
|
264
|
+
if (removeVisitor !== -1) {
|
|
265
|
+
_this.visitors.splice(removeVisitor, 1);
|
|
266
|
+
_this.hasChange.emit(true);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
};
|
|
271
|
+
VisitanteComponent.prototype.deletarCredenciais = function (viisitorCredential) {
|
|
272
|
+
viisitorCredential.credentialCards.splice(0, viisitorCredential.credentialCards.length);
|
|
273
|
+
this.hasChange.emit(true);
|
|
274
|
+
};
|
|
275
|
+
VisitanteComponent.prototype.getContatoMotorista = function (motorista) {
|
|
276
|
+
return motorista.telefone === undefined ? "0" : motorista.telefone;
|
|
277
|
+
};
|
|
278
|
+
VisitanteComponent.prototype.getCredentialCards = function (visitor) {
|
|
279
|
+
var _this = this;
|
|
280
|
+
if (this.visitors.length <= 0) {
|
|
281
|
+
return [];
|
|
282
|
+
}
|
|
283
|
+
return this.visitors
|
|
284
|
+
.find(function (visitorWithCredentials) {
|
|
285
|
+
return visitorWithCredentials.visitor.document === visitor.document;
|
|
286
|
+
})
|
|
287
|
+
.credentialCards.filter(function (credentialCard) { return Object.keys(credentialCard).length !== 0; })
|
|
288
|
+
.map(function (credentialCard) {
|
|
289
|
+
return {
|
|
290
|
+
cardTechnology: _this.getTecnologiaCrachaTraduzida(credentialCard.cardTechnology),
|
|
291
|
+
cardNumber: credentialCard.cardNumber,
|
|
292
|
+
endDate: credentialCard.endDate,
|
|
293
|
+
};
|
|
294
|
+
});
|
|
295
|
+
};
|
|
296
|
+
VisitanteComponent.prototype.constroiVisitante = function (visitante) {
|
|
297
|
+
var visitanteData = { data: {} };
|
|
298
|
+
if (visitante !== undefined && visitante !== null) {
|
|
299
|
+
visitanteData = {
|
|
300
|
+
data: {
|
|
301
|
+
id: visitante.id,
|
|
302
|
+
name: visitante.name,
|
|
303
|
+
document: visitante.document,
|
|
304
|
+
contact: visitante.contact,
|
|
305
|
+
visitorSituation: this.getVisitorSituation(visitante.visitorSituation),
|
|
306
|
+
documentType: this.getDocumentType(),
|
|
307
|
+
},
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
return visitanteData;
|
|
311
|
+
};
|
|
312
|
+
VisitanteComponent.prototype.createCredentialCard = function (visitorCredentialCard) {
|
|
313
|
+
return {
|
|
314
|
+
visitor: visitorCredentialCard.id,
|
|
315
|
+
cardTechnology: visitorCredentialCard.cardTechnology,
|
|
316
|
+
cardNumber: visitorCredentialCard.cardNumber,
|
|
317
|
+
endDate: visitorCredentialCard.endDate,
|
|
318
|
+
};
|
|
319
|
+
};
|
|
320
|
+
VisitanteComponent.prototype.getTecnologiaCrachaTraduzida = function (cardTechnology) {
|
|
321
|
+
if (cardTechnology === CardTechnology.BARCODE_CARD) {
|
|
322
|
+
return this.translate.instant("yms.patio.cartao_credencial_codigo_barras");
|
|
323
|
+
}
|
|
324
|
+
if (cardTechnology === CardTechnology.RFID_CARD) {
|
|
325
|
+
return this.translate.instant("yms.patio.cartao_credencial_rfid");
|
|
326
|
+
}
|
|
327
|
+
if (cardTechnology === CardTechnology.SMART_CARD) {
|
|
328
|
+
return this.translate.instant("yms.patio.cartao_credencial_smart");
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
VisitanteComponent.prototype.getVisitorSituation = function (visitorSituation) {
|
|
332
|
+
return visitorSituation === undefined
|
|
333
|
+
? VisitorSituation.CHECK_IN_PENDING
|
|
334
|
+
: visitorSituation;
|
|
335
|
+
};
|
|
336
|
+
VisitanteComponent.prototype.constroiCamposTabelaVistante = function () {
|
|
337
|
+
this.visitanteGridColumns = [
|
|
338
|
+
{
|
|
339
|
+
field: "name",
|
|
340
|
+
header: this.translate.instant("yms.patio.motorista_visitante_nome"),
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
field: "document",
|
|
344
|
+
header: this.translate.instant("yms.patio.motorista_visitante_documento"),
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
field: "contact",
|
|
348
|
+
header: this.translate.instant("yms.patio.motorista_visitante_contato"),
|
|
349
|
+
},
|
|
350
|
+
];
|
|
351
|
+
};
|
|
352
|
+
VisitanteComponent.prototype.getDocumentType = function () {
|
|
353
|
+
return "cpf";
|
|
354
|
+
};
|
|
355
|
+
tslib_1.__decorate([
|
|
356
|
+
Input(),
|
|
357
|
+
tslib_1.__metadata("design:type", Object)
|
|
358
|
+
], VisitanteComponent.prototype, "motorista", void 0);
|
|
359
|
+
tslib_1.__decorate([
|
|
360
|
+
Input(),
|
|
361
|
+
tslib_1.__metadata("design:type", Array)
|
|
362
|
+
], VisitanteComponent.prototype, "visitors", void 0);
|
|
363
|
+
tslib_1.__decorate([
|
|
364
|
+
Output(),
|
|
365
|
+
tslib_1.__metadata("design:type", Object)
|
|
366
|
+
], VisitanteComponent.prototype, "visitorsChange", void 0);
|
|
367
|
+
tslib_1.__decorate([
|
|
368
|
+
Output(),
|
|
369
|
+
tslib_1.__metadata("design:type", Object)
|
|
370
|
+
], VisitanteComponent.prototype, "hasChange", void 0);
|
|
371
|
+
VisitanteComponent = tslib_1.__decorate([
|
|
372
|
+
Component({
|
|
373
|
+
selector: 'visitante-component',
|
|
374
|
+
template: "<div style=\"margin-bottom: 15px\">\n <div>\n <p-header>\n {{ \"yms.patio.motorista_titulo_lista_visitante\" | translate}}\n <button\n style=\"margin-left: 50px\"\n type=\"button\"\n pButton\n (click)=\"criarOuAtualizarVisitante(null)\"\n label=\"{{ 'yms.patio.motorista_add_visitante' | translate }}\"\n >\n </button>\n </p-header>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #visitanteTable\n [value]=\"visitanteGridData\"\n [columns]=\"visitanteGridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"single\"\n [paginator]=\"true\"\n [totalRecords]=\"visitanteTotalRecords\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n [loading]=\"visitanteGridLoading\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"espaco-coluna-plus\" style=\"width: 50px\"></th>\n <th\n id=\"\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.field\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"\" style=\"width: 15%\"></th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-expanded=\"expanded\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <a href=\"#\" [pRowToggler]=\"rowData\" style=\"color: #000\">\n <em [ngClass]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></em>\n </a>\n </td>\n <td>\n <span>{{ rowData[\"name\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"document\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"contact\"] }}</span>\n </td>\n <td style=\"width: 15%\">\n <s-button\n priority=\"default\"\n label=\"{{ 'yms.patio.motorista_acao_visitante' | translate }}\"\n [model]=\"model(rowData)\"\n >\n </s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-columns=\"columns\">\n <tr class=\"bg-white no-hover\">\n <td [attr.colspan]=\"columns.length + 2\">\n <div *ngIf=\"isCredentialCardsEmpty(rowData); else elseBlock\">\n <div\n class=\"container flex-container\"\n *ngFor=\"let credentialCard of getCredentialCards(rowData)\"\n >\n <p-card\n header=\"{{ credentialCard.cardTechnology }}\"\n [style]=\"{ width: '300px', margin: '10px' }\"\n >\n <div>\n N\u00FAmero: <strong>{{ credentialCard.cardNumber }}</strong>\n </div>\n <div>\n Data de validade:\n <strong>{{ credentialCard.endDate | date : \"dd/MM/yyyy hh:mm\" }}</strong>\n </div>\n </p-card>\n </div>\n </div>\n <ng-template #elseBlock\n >N\u00E3o h\u00E1 credenciais para salvar ou entregues</ng-template\n >\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'total_records'\"\n [translateParams]=\"{ value: visitanteTotalRecords }\"\n ></span>\n </ng-template>\n </p-table>\n </div>\n </div>\n</div>\n</div>",
|
|
375
|
+
styles: [".container{display:inline-flex}.flex-container{flex-wrap:wrap}"]
|
|
376
|
+
}),
|
|
377
|
+
tslib_1.__metadata("design:paramtypes", [TranslateService,
|
|
378
|
+
DialogService,
|
|
379
|
+
IntegrationEventsCallback])
|
|
380
|
+
], VisitanteComponent);
|
|
381
|
+
return VisitanteComponent;
|
|
382
|
+
}());
|
|
383
|
+
export { VisitanteComponent };
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1lZGl0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9zYW0tc2VuaW9yL2NvbXBvbmVudHMvdmlzaXRvci1lZGl0L3Zpc2l0b3ItZWRpdC1saXN0L3Zpc2l0b3ItZWRpdC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUNMLGNBQWMsR0FFZixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRyx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTFFO0lBZ0JFLDRCQUNVLFNBQTJCLEVBQzNCLGFBQTRCLEVBQzNCLG1CQUE4QztRQUYvQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFB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LGdCQUFnQixDQUFDLGdCQUFnQjtZQUNuQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDdkIsQ0FBQztJQUVPLHlEQUE0QixHQUFwQztRQUNFLElBQUksQ0FBQyxvQkFBb0IsR0FBRztZQUMxQjtnQkFDRSxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUM7YUFDckU7WUFDRDtnQkFDRSxLQUFLLEVBQUUsVUFBVTtnQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUM1Qix5Q0FBeUMsQ0FDMUM7YUFDRjtZQUNEO2dCQUNFLEtBQUssRUFBRSxTQUFTO2dCQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUM7YUFDeEU7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLDRDQUFlLEdBQXZCO1FBQ0UsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBMWFRO1FBQVIsS0FBSyxFQUFFOzt5REFBOEI7SUFDN0I7UUFBUixLQUFLLEVBQUU7O3dEQUFnRDtJQUM5QztRQUFULE1BQU0sRUFBRTs7OERBQThEO0lBQzdEO1FBQVQsTUFBTSxFQUFFOzt5REFBMEM7SUFKeEMsa0JBQWtCO1FBTDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsODhLQUFpRDs7U0FFbEQsQ0FBQztpREFrQnFCLGdCQUFnQjtZQUNaLGFBQWE7WUFDTix5QkFBeUI7T0FuQjlDLGtCQUFrQixDQTRhOUI7SUFBRCx5QkFBQztDQUFBLEFBNWFELElBNGFDO1NBNWFZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpc2l0b3JDcmVkZW50aWFsc0R0byB9IGZyb20gJy4uLy4uLy4uL2VudGl0aWVzL3Zpc2l0b3ItY3JlZGVudGlhbHMtZHRvJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBWaXNpdG9yIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy92aXNpdG9yXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBlbXB0eSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuICBDYXJkVGVjaG5vbG9neSxcbiAgQ3JlZGVudGlhbENhcmQsXG59IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvY2FyZC1jcmVkZW50aWFsXCI7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFZpc2l0b3JTaXR1YXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3Zpc2l0b3Itc2l0dWF0aW9uXCI7XG5pbXBvcnQgeyBNb3RvcmlzdGEgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZXJwLXNlbmlvci9jb3JlL2VudGl0aWVzL21vdG9yaXN0YS9tb3RvcmlzdGFcIjtcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IENyZWRlbmNpYWxGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NyZWRlbmNpYWwtZm9ybS9jcmVkZW5jaWFsLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBWaXNpdGFudGVGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4uL3Zpc2l0b3ItZWRpdC1mb3JtL3Zpc2l0YW50ZS1mb3JtL3Zpc2l0b3ItZWRpdC1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgZGlhbG9nQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL3V0aWxzXCI7XG5pbXBvcnQgeyAgSW50ZWdyYXRpb25FdmVudHNDYWxsYmFjayB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMveW1zLXJvdXRpbmVzXCI7XG5pbXBvcnQgeyBWaXNpdG9yRHRvIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvdmlzaXRvci1kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXNpdGFudGUtY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Zpc2l0b3ItZWRpdC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmlzaXRvci1lZGl0LWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzaXRhbnRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgcHJpdmF0ZSBtb3RvcmlzdGE6IE1vdG9yaXN0YTtcbiAgQElucHV0KCkgcHJpdmF0ZSB2aXNpdG9yczogVmlzaXRvckNyZWRlbnRpYWxzRHRvW10gPSBbXTtcbiAgQE91dHB1dCgpIHZpc2l0b3JzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxWaXNpdG9yQ3JlZGVudGlhbHNEdG9bXT4oKTtcbiAgQE91dHB1dCgpIGhhc0NoYW5nZSAgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHZpc2l0YW50ZUdyaWREYXRhOiBWaXNpdG9yRHRvW107XG4gIHB1YmxpYyB2aXNpdGFudGVHcmlkQ29sdW1uczogYW55W107XG4gIHB1YmxpYyB2aXNpdGFudGVUb3RhbFJlY29yZHM6IG51bWJlcjtcbiAgcHVibGljIHZpc2l0YW50ZUdyaWRMb2FkaW5nOiBib29sZWFuO1xuICBwdWJsaWMgdmlzaXRvckZvdW5kOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ludGVncmF0aW9uQ2FsbGJhY2s6IEludGVncmF0aW9uRXZlbnRzQ2FsbGJhY2s7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcmVhZG9ubHkgaW50ZWdyYXRpb25DYWxsYmFjazogSW50ZWdyYXRpb25FdmVudHNDYWxsYmFja1xuICApIHtcbiAgICB0aGlzLl9pbnRlZ3JhdGlvbkNhbGxiYWNrID0gaW50ZWdyYXRpb25DYWxsYmFjaztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uc3Ryb2lDYW1wb3NUYWJlbGFWaXN0YW50ZSgpO1xuICAgIHRoaXMudmlzaXRhbnRlVG90YWxSZWNvcmRzID0gMDtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2l0YW50ZUdyaWRMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5hZGljaW9uYVZpc2l0YW50ZXNHcmlkKCk7XG4gICAgdGhpcy5faW50ZWdyYXRpb25DYWxsYmFja1xuICAgICAgLm9uQWdlbmRhbWVudG9Nb3RvcmlzdGFDaGFuZ2VkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBtZXJnZU1hcCgobW90b3Jpc3RhKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdHVhbGl6YU1vdG9yaXN0YShtb3RvcmlzdGEpO1xuICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHVhbGl6YU1vdG9yaXN0YShtb3Q6IE1vdG9yaXN0YSkge1xuICAgIGNvbnN0IG1vdG9yaXN0YVZpc2l0YW50ZSA9IHRoaXMudmlzaXRhbnRlR3JpZERhdGEuZmluZChcbiAgICAgIChpdGVtKSA9PiBpdGVtLmRyaXZlclxuICAgICk7XG5cbiAgICBpZiAobW90b3Jpc3RhVmlzaXRhbnRlICYmIG1vdG9yaXN0YVZpc2l0YW50ZS5kb2N1bWVudFR5cGUgPT09IHRoaXMuZ2V0RG9jdW1lbnRUeXBlKCkgJiYgIG1vdG9yaXN0YVZpc2l0YW50ZS5kb2N1bWVudCA9PT0gbW90LmNwZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZpc2l0YW50ZUdyaWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGFbMF0gPSB7XG4gICAgICAgIG5hbWU6IG1vdC5ub21lLFxuICAgICAgICBkb2N1bWVudDogbW90LmNwZixcbiAgICAgICAgY29udGFjdDogdGhpcy5nZXRDb250YXRvTW90b3Jpc3RhKG1vdCksXG4gICAgICAgIHZpc2l0b3JTaXR1YXRpb246IFZpc2l0b3JTaXR1YXRpb24uQ0hFQ0tfSU5fUEVORElORyxcbiAgICAgICAgZG9jdW1lbnRUeXBlOiB0aGlzLmdldERvY3VtZW50VHlwZSgpLFxuICAgICAgICBkcml2ZXI6IHRydWVcbiAgICAgIH07ICAgICAgXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHtcbiAgICAgICAgbmFtZTogbW90Lm5vbWUsXG4gICAgICAgIGRvY3VtZW50OiBtb3QuY3BmLFxuICAgICAgICBjb250YWN0OiB0aGlzLmdldENvbnRhdG9Nb3RvcmlzdGEobW90KSxcbiAgICAgICAgdmlzaXRvclNpdHVhdGlvbjogVmlzaXRvclNpdHVhdGlvbi5DSEVDS19JTl9QRU5ESU5HLFxuICAgICAgICBkb2N1bWVudFR5cGU6IHRoaXMuZ2V0RG9jdW1lbnRUeXBlKCksXG4gICAgICAgIGRyaXZlcjogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgcHJpdmF0ZSBhZGljaW9uYVZpc2l0YW50ZXNHcmlkKCkge1xuICAgIGlmICh0aGlzLnZpc2l0b3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YSA9IFtdO1xuICAgICAgdGhpcy5hZGljaW9uYU1vdG9yaXN0YU5vVmlzaXRhbnRlR3JpZERhdGEoKTtcblxuICAgICAgdGhpcy52aXNpdG9ycy5mb3JFYWNoKCh2aXNpdG9yOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubW90b3Jpc3RhLmNwZiAhPT0gdmlzaXRvci52aXNpdG9yLmRvY3VtZW50KSB7XG4gICAgICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHtcbiAgICAgICAgICAgIGlkOiB2aXNpdG9yLnZpc2l0b3IuaWQsXG4gICAgICAgICAgICBuYW1lOiB2aXNpdG9yLnZpc2l0b3IubmFtZSxcbiAgICAgICAgICAgIGRvY3VtZW50OiB2aXNpdG9yLnZpc2l0b3IuZG9jdW1lbnQsXG4gICAgICAgICAgICBjb250YWN0OiB2aXNpdG9yLnZpc2l0b3IuY29udGFjdCxcbiAgICAgICAgICAgIHZpc2l0b3JTaXR1YXRpb246IHRoaXMuZ2V0VmlzaXRvclNpdHVhdGlvbihcbiAgICAgICAgICAgICAgdmlzaXRvci52aXNpdG9yLnZpc2l0b3JTaXR1YXRpb25cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBkb2N1bWVudFR5cGU6IHRoaXMuZ2V0RG9jdW1lbnRUeXBlKCksXG4gICAgICAgICAgICBkcml2ZXI6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaXRhbnRlVG90YWxSZWNvcmRzID0gdGhpcy52aXNpdG9ycy5sZW5ndGg7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YSA9IFtdO1xuICAgICAgY29uc3Qgbm92b192aXNpdGFudGUgPSBuZXcgVmlzaXRvckNyZWRlbnRpYWxzRHRvKClcbiAgICAgIG5vdm9fdmlzaXRhbnRlLnZpc2l0b3IgPSB7XG4gICAgICAgIG5hbWU6IHRoaXMubW90b3Jpc3RhLm5vbWUsXG4gICAgICAgIGRvY3VtZW50OiB0aGlzLm1vdG9yaXN0YS5jcGYsXG4gICAgICAgIGNvbnRhY3Q6IHRoaXMuZ2V0Q29udGF0b01vdG9yaXN0YSh0aGlzLm1vdG9yaXN0YSksXG4gICAgICAgIGRvY3VtZW50VHlwZTogdGhpcy5nZXREb2N1bWVudFR5cGUoKSxcbiAgICAgICAgdmlzaXRvclNpdHVhdGlvbjogVmlzaXRvclNpdHVhdGlvbi5DSEVDS19JTl9QRU5ESU5HLFxuICAgICAgICBkcml2ZXI6IHRydWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmlzaXRhbnRlQnVzY2FuZG8gPSB0aGlzLnZpc2l0YW50ZUdyaWREYXRhLmZpbmQoXG4gICAgICAgICh2aXNpdGFudGVOYUxpc3RhKSA9PiBub3ZvX3Zpc2l0YW50ZS52aXNpdG9yLmRvY3VtZW50ID09PSB2aXNpdGFudGVOYUxpc3RhLmRvY3VtZW50XG4gICAgICAgICk7XG4gICAgICAgIGlmICh2aXNpdGFudGVCdXNjYW5kbyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKG5vdm9fdmlzaXRhbnRlLnZpc2l0b3IpOyAgICAgICAgXG4gICAgICAgICAgdGhpcy52aXNpdG9ycy5wdXNoKG5vdm9fdmlzaXRhbnRlKTtcbiAgICAgICAgdGhpcy52aXNpdGFudGVUb3RhbFJlY29yZHMgPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlzaXRhbnRlR3JpZExvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NyZWRlbnRpYWxDYXJkc0VtcHR5KHZpc2l0b3I6IFZpc2l0b3IpIHtcbiAgICBjb25zdCB2aXNpdGFudGVzRW5jb250cmFkb3MgPSB0aGlzLnZpc2l0b3JzLmZpbmQoXG4gICAgICAodmlzaXRvcldpdGhDcmVkZW50aWFscykgPT5cbiAgICAgICAgdmlzaXRvcldpdGhDcmVkZW50aWFscy52aXNpdG9yLmRvY3VtZW50ID09PSB2aXNpdG9yLmRvY3VtZW50XG4gICAgKTtcblxuICAgIGlmICh2aXNpdGFudGVzRW5jb250cmFkb3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB2aXNpdGFudGVzRW5jb250cmFkb3MuY3JlZGVudGlhbENhcmRzLmZpbHRlcihcbiAgICAgIChjcmVkZW50aWFsQ2FyZDogQ3JlZGVudGlhbENhcmQpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGNyZWRlbnRpYWxDYXJkKS5sZW5ndGggIT09IDBcbiAgICApLmxlbmd0aCA+IDBcbiAgICAgID8gdHJ1ZVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYWRpY2lvbmFNb3RvcmlzdGFOb1Zpc2l0YW50ZUdyaWREYXRhKCkge1xuICAgIGNvbnN0IG1vdG9yaXN0YVZpc2l0YW50ZSA9IHRoaXMudmlzaXRvcnMuZmluZChcbiAgICAgICh2aXNpdG9yKSA9PiB0aGlzLm1vdG9yaXN0YS5jcGYgPT09IHZpc2l0b3IudmlzaXRvci5kb2N1bWVudFxuICAgICk7XG5cbiAgICBpZiAobW90b3Jpc3RhVmlzaXRhbnRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGEucHVzaCh7XG4gICAgICAgIG5hbWU6IHRoaXMubW90b3Jpc3RhLm5vbWUsXG4gICAgICAgIGRvY3VtZW50OiB0aGlzLm1vdG9yaXN0YS5jcGYsXG4gICAgICAgIGNvbnRhY3Q6IHRoaXMuZ2V0Q29udGF0b01vdG9yaXN0YSh0aGlzLm1vdG9yaXN0YSksXG4gICAgICAgIHZpc2l0b3JTaXR1YXRpb246IFZpc2l0b3JTaXR1YXRpb24uQ0hFQ0tfSU5fUEVORElORyxcbiAgICAgICAgZG9jdW1lbnRUeXBlOiB0aGlzLmdldERvY3VtZW50VHlwZSgpLFxuICAgICAgICBkcml2ZXI6IHRydWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHtcbiAgICAgICAgaWQ6IG1vdG9yaXN0YVZpc2l0YW50ZS52aXNpdG9yLmlkLFxuICAgICAgICBuYW1lOiBtb3RvcmlzdGFWaXNpdGFudGUudmlzaXRvci5uYW1lLFxuICAgICAgICBkb2N1bWVudDogbW90b3Jpc3RhVmlzaXRhbnRlLnZpc2l0b3IuZG9jdW1lbnQsXG4gICAgICAgIGNvbnRhY3Q6IHRoaXMuZ2V0Q29udGF0b01vdG9yaXN0YSh0aGlzLm1vdG9yaXN0YSksXG4gICAgICAgIHZpc2l0b3JTaXR1YXRpb246IHRoaXMuZ2V0VmlzaXRvclNpdHVhdGlvbihcbiAgICAgICAgICBtb3RvcmlzdGFWaXNpdGFudGUudmlzaXRvci52aXNpdG9yU2l0dWF0aW9uXG4gICAgICAgICksXG4gICAgICAgIGRvY3VtZW50VHlwZTogdGhpcy5nZXREb2N1bWVudFR5cGUoKSxcbiAgICAgICAgZHJpdmVyOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyaWFyT3VBdHVhbGl6YXJWaXNpdGFudGUodmlzaXRvcjogVmlzaXRvcikge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oVmlzaXRhbnRlRm9ybUNvbXBvbmVudCwge1xuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMucGF0aW8ubW90b3Jpc3RhX2FkaWNpb25hcl92aXNpdGFudGVcIlxuICAgICAgICApLFxuICAgICAgICAuLi5kaWFsb2dDb25maWcsXG4gICAgICAgIC4uLnRoaXMuY29uc3Ryb2lWaXNpdGFudGUodmlzaXRvciksXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2UucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+ICEhdmFsdWUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2aXNpdGFudGUpID0+IHRoaXMuYWRpY2lvbmFWaXNpdGFudGVQYXJhU2FsdmFyKHZpc2l0YW50ZSkpO1xuICB9XG5cbiAgcHVibGljIGFkaWNpb25hVmlzaXRhbnRlUGFyYVNhbHZhcih2aXNpdGFudGU6IFZpc2l0b3IpIHtcbiAgICB0aGlzLnZpc2l0YW50ZUdyaWREYXRhLmZvckVhY2godmlzaXRvciA9PiB7XG4gICAgICBpZih2aXNpdG9yLmRvY3VtZW50ID09PSB2aXNpdGFudGUuZG9jdW1lbnQpIHtcbiAgICAgICAgdmlzaXRvci5jb250YWN0ID0gdmlzaXRhbnRlLmNvbnRhY3Q7XG4gICAgICAgIHZpc2l0b3IubmFtZSA9IHZpc2l0YW50ZS5uYW1lO1xuICAgICAgICB0aGlzLnZpc2l0b3JGb3VuZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZih0aGlzLnZpc2l0b3JGb3VuZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpc2l0YW50ZUdyaWRMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHZpc2l0YW50ZS5kb2N1bWVudFR5cGUgPSB0aGlzLmdldERvY3VtZW50VHlwZSgpO1xuXG4gICAgaWYgKHZpc2l0YW50ZS52aXNpdG9yU2l0dWF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZpc2l0YW50ZS52aXNpdG9yU2l0dWF0aW9uID0gVmlzaXRvclNpdHVhdGlvbi5DSEVDS19JTl9QRU5ESU5HO1xuICAgIH1cblxuICAgIHRoaXMuYWRkVmlzaXRhbnRlTmFUYWJlbGEodmlzaXRhbnRlKTtcblxuICAgIHRoaXMudmlzaXRhbnRlVG90YWxSZWNvcmRzKys7XG4gICAgdGhpcy52aXNpdGFudGVHcmlkTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm92b192aXNpdGFudGUgPSBuZXcgVmlzaXRvckNyZWRlbnRpYWxzRHRvKClcbiAgICBub3ZvX3Zpc2l0YW50ZS52aXNpdG9yID0ge1xuICAgICAgbmFtZSA6IHZpc2l0YW50ZS5uYW1lLFxuICAgICAgZG9jdW1lbnQgOiB2aXNpdGFudGUuZG9jdW1lbnQsXG4gICAgICBjb250YWN0OiB2aXNpdGFudGUuY29udGFjdCxcbiAgICAgIGRvY3VtZW50VHlwZSA6IHZpc2l0YW50ZS5kb2N1bWVudFR5cGUsXG4gICAgICB2aXNpdG9yU2l0dWF0aW9uIDogdmlzaXRhbnRlLnZpc2l0b3JTaXR1YXRpb24sXG4gICAgICBkcml2ZXI6IGZhbHNlXG4gICAgfVxuXG4gICAgdGhpcy52aXNpdG9ycy5wdXNoKG5vdm9fdmlzaXRhbnRlKVxuICAgIHRoaXMudmlzaXRvcnNDaGFuZ2UuZW1pdCh0aGlzLnZpc2l0b3JzKVxuICAgIHRoaXMuaGFzQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgbW9kZWwodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgY29uc3QgaXNEcml2ZXIgPSB2aXNpdGFudGUuZG9jdW1lbnQgPT09IHRoaXMubW90b3Jpc3RhLmNwZjtcblxuICAgIGNvbnN0IGZpbmRWaXNpdG9yID0gdGhpcy52aXNpdG9ycy5maW5kKFxuICAgICAgKHZpc2l0b3JXaXRoQ3JlZGVudGlhbHMpID0+XG4gICAgICAgIHZpc2l0b3JXaXRoQ3JlZGVudGlhbHMudmlzaXRvci5kb2N1bWVudCA9PT0gdmlzaXRhbnRlLmRvY3VtZW50XG4gICAgKTtcblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5bXMucGF0aW8ubW90b3Jpc3RhX2VkaXRhcl92aXNpdGFudGUnKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5lZGl0YXJWaXNpdGFudGUodmlzaXRhbnRlKSxcbiAgICAgICAgdmlzaWJsZSA6ICFpc0RyaXZlclxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3ltcy5wYXRpby5kZWxldGUnKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5kZWxldGFyVmlzaXRhbnRlKHZpc2l0YW50ZSksXG4gICAgICAgIHZpc2libGUgOiAhaXNEcml2ZXJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9lbnRyZWdhcl9jcmVkZW5jaWFsJyksXG4gICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZW50cmVnYXJDcmVkZW5jaWFsKHZpc2l0YW50ZSksXG4gICAgICAgIHZpc2libGUgOiBpc0RyaXZlciB8fCAhaXNEcml2ZXJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5bXMucGF0aW8ucmVtb3Zlcl9jcmVkZW5jaWFpcycpLFxuICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmRlbGV0YXJDcmVkZW5jaWFpcyhmaW5kVmlzaXRvciksXG4gICAgICAgIHZpc2libGUgOiBmaW5kVmlzaXRvciAhPSBudWxsICYmIGZpbmRWaXNpdG9yLmNyZWRlbnRpYWxDYXJkcyAhPSBudWxsICYmIGZpbmRWaXNpdG9yLmNyZWRlbnRpYWxDYXJkcy5sZW5ndGggPiAwXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGFkZFZpc2l0YW50ZU5hVGFiZWxhKHZpc2l0YW50ZTogYW55KSB7XG4gICAgaWYgKHZpc2l0YW50ZS5pZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGEgPSB0aGlzLnZpc2l0YW50ZUdyaWREYXRhLm1hcCgodmlzaXRhbnRlR3JpZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZpc2l0YW50ZUdyaWQuaWQgPT09IHZpc2l0YW50ZS5pZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2aXNpdGFudGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmlzaXRhbnRlR3JpZDtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHZpc2l0YW50ZSk7XG4gICAgfVxufVxuXG4gIHB1YmxpYyBlbnRyZWdhckNyZWRlbmNpYWwodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDcmVkZW5jaWFsRm9ybUNvbXBvbmVudCwge1xuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9jcmVkZW5jaWFsXCJcbiAgICAgICAgKSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHZpc2l0YW50ZTogdmlzaXRhbnRlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5vbkNsb3NlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiAhIXZhbHVlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmlzaXRvckNyZWRlbnRpYWxDYXJkOiBhbnkpID0+IFxuICAgICAgdGhpcy5hZGljaW9uYUNyZWRlbmNpYWxQYXJhRW50cmVnYXIodmlzaXRvckNyZWRlbnRpYWxDYXJkKSk7XG4gIH1cblxuICBwcml2YXRlIGFkaWNpb25hQ3JlZGVuY2lhbFBhcmFFbnRyZWdhcih2aXNpdG9yQ3JlZGVudGlhbENhcmQ6IGFueSkge1xuICAgIGNvbnN0IHZpc2l0b3JXaXRoQ3JlZGVuY2lhbCA9IHRoaXMudmlzaXRvcnMuZmluZChcbiAgICAgICh2aXNpdG9yKSA9PiB2aXNpdG9yLnZpc2l0b3IuZG9jdW1lbnQgPT09IHZpc2l0b3JDcmVkZW50aWFsQ2FyZC52aXNpdG9yLmRvY3VtZW50XG4gICAgKTtcblxuICAgIGlmICh2aXNpdG9yV2l0aENyZWRlbmNpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52aXNpdG9ycy5wdXNoKHtcbiAgICAgICAgdmlzaXRvcjogdmlzaXRvckNyZWRlbnRpYWxDYXJkLnZpc2l0b3IsXG4gICAgICAgIGNyZWRlbnRpYWxDYXJkczogW3RoaXMuY3JlYXRlQ3JlZGVudGlhbENhcmQodmlzaXRvckNyZWRlbnRpYWxDYXJkKV0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmlzaXRvcldpdGhDcmVkZW5jaWFsLmNyZWRlbnRpYWxDYXJkcy5wdXNoKHRoaXMuY3JlYXRlQ3JlZGVudGlhbENhcmQodmlzaXRvckNyZWRlbnRpYWxDYXJkKSk7XG4gICAgfVxuICAgIHRoaXMuaGFzQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZWRpdGFyVmlzaXRhbnRlKHZpc2l0YW50ZTogVmlzaXRvcikge1xuICAgIHRoaXMuY3JpYXJPdUF0dWFsaXphclZpc2l0YW50ZSh2aXNpdGFudGUpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0YXJWaXNpdGFudGUodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh2YWx1ZS5kb2N1bWVudCA9PT0gdmlzaXRhbnRlLmRvY3VtZW50KSB7XG4gICAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICBjb25zdCByZW1vdmVWaXNpdG9yID0gdGhpcy52aXNpdG9ycy5maW5kSW5kZXgoKHZpc2l0b3IpID0+IHZpc2l0b3IudmlzaXRvci5kb2N1bWVudCA9PT0gdmFsdWUuZG9jdW1lbnQpO1xuICAgICAgICBpZihyZW1vdmVWaXNpdG9yICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMudmlzaXRvcnMuc3BsaWNlKHJlbW92ZVZpc2l0b3IsIDEpO1xuICAgICAgICAgIHRoaXMuaGFzQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGFyQ3JlZGVuY2lhaXModmlpc2l0b3JDcmVkZW50aWFsOiBWaXNpdG9yQ3JlZGVudGlhbHNEdG8pIHtcbiAgICB2aWlzaXRvckNyZWRlbnRpYWwuY3JlZGVudGlhbENhcmRzLnNwbGljZSgwLCB2aWlzaXRvckNyZWRlbnRpYWwuY3JlZGVudGlhbENhcmRzLmxlbmd0aCk7XG4gICAgdGhpcy5oYXNDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGF0b01vdG9yaXN0YShtb3RvcmlzdGE6IE1vdG9yaXN0YSkge1xuICAgIHJldHVybiBtb3RvcmlzdGEudGVsZWZvbmUgPT09IHVuZGVmaW5lZCA/IFwiMFwiIDogbW90b3Jpc3RhLnRlbGVmb25lO1xuICB9XG5cbiAgcHVibGljIGdldENyZWRlbnRpYWxDYXJkcyh2aXNpdG9yOiBWaXNpdG9yKSB7XG4gICAgaWYgKHRoaXMudmlzaXRvcnMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52aXNpdG9yc1xuICAgICAgLmZpbmQoXG4gICAgICAgICh2aXNpdG9yV2l0aENyZWRlbnRpYWxzKSA9PlxuICAgICAgICAgIHZpc2l0b3JXaXRoQ3JlZGVudGlhbHMudmlzaXRvci5kb2N1bWVudCA9PT0gdmlzaXRvci5kb2N1bWVudFxuICAgICAgKVxuICAgICAgLmNyZWRlbnRpYWxDYXJkcy5maWx0ZXIoXG4gICAgICAgIChjcmVkZW50aWFsQ2FyZCkgPT4gT2JqZWN0LmtleXMoY3JlZGVudGlhbENhcmQpLmxlbmd0aCAhPT0gMFxuICAgICAgKVxuICAgICAgLm1hcCgoY3JlZGVudGlhbENhcmQ6IENyZWRlbnRpYWxDYXJkKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY2FyZFRlY2hub2xvZ3k6IHRoaXMuZ2V0VGVjbm9sb2dpYUNyYWNoYVRyYWR1emlkYShcbiAgICAgICAgICAgIGNyZWRlbnRpYWxDYXJkLmNhcmRUZWNobm9sb2d5XG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYXJkTnVtYmVyOiBjcmVkZW50aWFsQ2FyZC5jYXJkTnVtYmVyLFxuICAgICAgICAgIGVuZERhdGU6IGNyZWRlbnRpYWxDYXJkLmVuZERhdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3Ryb2lWaXNpdGFudGUodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgbGV0IHZpc2l0YW50ZURhdGEgPSB7IGRhdGE6IHt9IH07XG4gICAgaWYgKHZpc2l0YW50ZSAhPT0gdW5kZWZpbmVkICYmIHZpc2l0YW50ZSAhPT0gbnVsbCkge1xuICAgICAgdmlzaXRhbnRlRGF0YSA9IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlkOiB2aXNpdGFudGUuaWQsXG4gICAgICAgICAgbmFtZTogdmlzaXRhbnRlLm5hbWUsXG4gICAgICAgICAgZG9jdW1lbnQ6IHZpc2l0YW50ZS5kb2N1bWVudCxcbiAgICAgICAgICBjb250YWN0OiB2aXNpdGFudGUuY29udGFjdCxcbiAgICAgICAgICB2aXNpdG9yU2l0dWF0aW9uOiB0aGlzLmdldFZpc2l0b3JTaXR1YXRpb24oXG4gICAgICAgICAgICB2aXNpdGFudGUudmlzaXRvclNpdHVhdGlvblxuICAgICAgICAgICksXG4gICAgICAgICAgZG9jdW1lbnRUeXBlOiB0aGlzLmdldERvY3VtZW50VHlwZSgpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHZpc2l0YW50ZURhdGE7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNyZWRlbnRpYWxDYXJkKHZpc2l0b3JDcmVkZW50aWFsQ2FyZDogQ3JlZGVudGlhbENhcmQpOiBDcmVkZW50aWFsQ2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZpc2l0b3I6IHZpc2l0b3JDcmVkZW50aWFsQ2FyZC5pZCxcbiAgICAgIGNhcmRUZWNobm9sb2d5OiB2aXNpdG9yQ3JlZGVudGlhbENhcmQuY2FyZFRlY2hub2xvZ3ksXG4gICAgICBjYXJkTnVtYmVyOiB2aXNpdG9yQ3JlZGVudGlhbENhcmQuY2FyZE51bWJlcixcbiAgICAgIGVuZERhdGU6IHZpc2l0b3JDcmVkZW50aWFsQ2FyZC5lbmREYXRlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRlY25vbG9naWFDcmFjaGFUcmFkdXppZGEoY2FyZFRlY2hub2xvZ3k6IENhcmRUZWNobm9sb2d5KTogc3RyaW5nIHtcbiAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LkJBUkNPREVfQ0FSRCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgIFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX2NvZGlnb19iYXJyYXNcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LlJGSURfQ0FSRCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8uY2FydGFvX2NyZWRlbmNpYWxfcmZpZFwiKTtcbiAgICB9XG5cbiAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LlNNQVJUX0NBUkQpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX3NtYXJ0XCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmlzaXRvclNpdHVhdGlvbih2aXNpdG9yU2l0dWF0aW9uOiBWaXNpdG9yU2l0dWF0aW9uKSB7XG4gICAgcmV0dXJuIHZpc2l0b3JTaXR1YXRpb24gPT09IHVuZGVmaW5lZFxuICAgICAgPyBWaXNpdG9yU2l0dWF0aW9uLkNIRUNLX0lOX1BFTkRJTkdcbiAgICAgIDogdmlzaXRvclNpdHVhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3Ryb2lDYW1wb3NUYWJlbGFWaXN0YW50ZSgpIHtcbiAgICB0aGlzLnZpc2l0YW50ZUdyaWRDb2x1bW5zID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5wYXRpby5tb3RvcmlzdGFfdmlzaXRhbnRlX25vbWVcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogXCJkb2N1bWVudFwiLFxuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9kb2N1bWVudG9cIlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6IFwiY29udGFjdFwiLFxuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9jb250YXRvXCIpLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREb2N1bWVudFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJjcGZcIjtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Component, Input } from "@angular/core";
|
|
3
|
+
import { VisitorListService } from "./visitor-list.service";
|
|
4
|
+
import { Subject } from "rxjs";
|
|
5
|
+
import { takeUntil } from "rxjs/operators";
|
|
6
|
+
import { ControleCircuito, ControleOperacao } from "@seniorsistemas/yms-routines";
|
|
7
|
+
var VisitorListDescritor = /** @class */ (function () {
|
|
8
|
+
function VisitorListDescritor() {
|
|
9
|
+
}
|
|
10
|
+
VisitorListDescritor = tslib_1.__decorate([
|
|
11
|
+
ControleCircuito({
|
|
12
|
+
header: 'Ronda',
|
|
13
|
+
name: 'yms.integracao.sam'
|
|
14
|
+
}),
|
|
15
|
+
ControleOperacao({
|
|
16
|
+
header: 'Ronda',
|
|
17
|
+
name: 'yms.integracao.sam'
|
|
18
|
+
})
|
|
19
|
+
], VisitorListDescritor);
|
|
20
|
+
return VisitorListDescritor;
|
|
21
|
+
}());
|
|
22
|
+
var VisitorListComponent = /** @class */ (function (_super) {
|
|
23
|
+
tslib_1.__extends(VisitorListComponent, _super);
|
|
24
|
+
function VisitorListComponent(service) {
|
|
25
|
+
var _this = _super.call(this) || this;
|
|
26
|
+
_this.service = service;
|
|
27
|
+
_this.ngUnsubscribe = new Subject();
|
|
28
|
+
_this.visitorService = service;
|
|
29
|
+
return _this;
|
|
30
|
+
}
|
|
31
|
+
VisitorListComponent.prototype.ngOnInit = function () {
|
|
32
|
+
// nada por enquanto
|
|
33
|
+
};
|
|
34
|
+
VisitorListComponent.prototype.ngAfterContentInit = function () {
|
|
35
|
+
var _this = this;
|
|
36
|
+
this.visitorService
|
|
37
|
+
.findVisitors(this.agenda.id)
|
|
38
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
39
|
+
.subscribe(function (response) {
|
|
40
|
+
if (response.visitors.length) {
|
|
41
|
+
_this.visitors = response.visitors;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
VisitorListComponent.prototype.credentialResume = function (credentials) {
|
|
46
|
+
var e_1, _a;
|
|
47
|
+
var label = "";
|
|
48
|
+
try {
|
|
49
|
+
for (var credentials_1 = tslib_1.__values(credentials), credentials_1_1 = credentials_1.next(); !credentials_1_1.done; credentials_1_1 = credentials_1.next()) {
|
|
50
|
+
var item = credentials_1_1.value;
|
|
51
|
+
if (item.cardNumber) {
|
|
52
|
+
label = label + item.cardNumber;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
label = label + " - ";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
60
|
+
finally {
|
|
61
|
+
try {
|
|
62
|
+
if (credentials_1_1 && !credentials_1_1.done && (_a = credentials_1.return)) _a.call(credentials_1);
|
|
63
|
+
}
|
|
64
|
+
finally { if (e_1) throw e_1.error; }
|
|
65
|
+
}
|
|
66
|
+
return label;
|
|
67
|
+
};
|
|
68
|
+
tslib_1.__decorate([
|
|
69
|
+
Input(),
|
|
70
|
+
tslib_1.__metadata("design:type", Object)
|
|
71
|
+
], VisitorListComponent.prototype, "agenda", void 0);
|
|
72
|
+
VisitorListComponent = tslib_1.__decorate([
|
|
73
|
+
Component({
|
|
74
|
+
selector: "visitor-list-component",
|
|
75
|
+
template: "\n<div> \n <p-table [value]=\"visitors\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th id=\"visitor_name\">{{'yms.patio.motorista_visitante_nome' | translate}}</th>\n <th id=\"visitor_docuemnt\">{{'yms.patio.motorista_visitante_documento' | translate}}</th> \n <th id=\"visitor_credential\">{{'yms.patio.motorista_visitante_credenciais' | translate}}</th>\n <th id=\"visitor_contact\">{{'yms.patio.motorista_visitante_contato' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template let-rowData pTemplate=\"body\">\n <tr>\n <td id=\"\">{{rowData.visitor.name}}</td>\n <td id=\"\">{{rowData.visitor.document}}</td>\n <td id=\"\">{{credentialResume(rowData.credentialCards)}} </td>\n <td id=\"\">{{rowData.visitor.contact}}</td>\n </tr>\n </ng-template>\n </p-table>\n</div>"
|
|
76
|
+
}),
|
|
77
|
+
tslib_1.__metadata("design:paramtypes", [VisitorListService])
|
|
78
|
+
], VisitorListComponent);
|
|
79
|
+
return VisitorListComponent;
|
|
80
|
+
}(VisitorListDescritor));
|
|
81
|
+
export { VisitorListComponent };
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL3Zpc2l0b3ItbGlzdC92aXNpdG9yLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVlsRjtJQUFBO0lBQTRCLENBQUM7SUFBdkIsb0JBQW9CO1FBVHpCLGdCQUFnQixDQUFDO1lBQ2QsTUFBTSxFQUFFLE9BQU87WUFDZixJQUFJLEVBQUUsb0JBQW9CO1NBQzdCLENBQUM7UUFDRCxnQkFBZ0IsQ0FBQztZQUNkLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLG9CQUFvQjtTQUM3QixDQUFDO09BRUksb0JBQW9CLENBQUc7SUFBRCwyQkFBQztDQUFBLEFBQTdCLElBQTZCO0FBTTdCO0lBQTBDLGdEQUFvQjtJQVMxRCw4QkFBNkIsT0FBMkI7UUFBeEQsWUFDSSxpQkFBTyxTQUVWO1FBSDRCLGFBQU8sR0FBUCxPQUFPLENBQW9CO1FBRnZDLG1CQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUkzQyxLQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQzs7SUFDbEMsQ0FBQztJQUVELHVDQUFRLEdBQVI7UUFDSSxvQkFBb0I7SUFDeEIsQ0FBQztJQUVELGlEQUFrQixHQUFsQjtRQUFBLGlCQVNDO1FBUkcsSUFBSSxDQUFDLGNBQWM7YUFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLFVBQUMsUUFBYTtZQUNyQixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUMxQixLQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDckM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCwrQ0FBZ0IsR0FBaEIsVUFBaUIsV0FBZ0I7O1FBQzdCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQzs7WUFDZixLQUFtQixJQUFBLGdCQUFBLGlCQUFBLFdBQVcsQ0FBQSx3Q0FBQSxpRUFBRTtnQkFBM0IsSUFBTSxJQUFJLHdCQUFBO2dCQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDakIsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUNuQztxQkFBTTtvQkFDSCxLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDekI7YUFDSjs7Ozs7Ozs7O1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQXRDUTtRQUFSLEtBQUssRUFBRTs7d0RBQWE7SUFEWixvQkFBb0I7UUFKaEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxnL0JBQTRDO1NBQy9DLENBQUM7aURBVXdDLGtCQUFrQjtPQVQvQyxvQkFBb0IsQ0F3Q2hDO0lBQUQsMkJBQUM7Q0FBQSxBQXhDRCxDQUEwQyxvQkFBb0IsR0F3QzdEO1NBeENZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBWaXNpdG9yTGlzdFNlcnZpY2UgfSBmcm9tIFwiLi92aXNpdG9yLWxpc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IENvbnRyb2xlQ2lyY3VpdG8sIENvbnRyb2xlT3BlcmFjYW8gfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3ltcy1yb3V0aW5lc1wiO1xuXG5cbkBDb250cm9sZUNpcmN1aXRvKHtcbiAgICBoZWFkZXI6ICdSb25kYScsXG4gICAgbmFtZTogJ3ltcy5pbnRlZ3JhY2FvLnNhbSdcbn0pXG5AQ29udHJvbGVPcGVyYWNhbyh7XG4gICAgaGVhZGVyOiAnUm9uZGEnLFxuICAgIG5hbWU6ICd5bXMuaW50ZWdyYWNhby5zYW0nXG59KVxuXG5jbGFzcyBWaXNpdG9yTGlzdERlc2NyaXRvciB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJ2aXNpdG9yLWxpc3QtY29tcG9uZW50XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi92aXNpdG9yLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgVmlzaXRvckxpc3RDb21wb25lbnQgZXh0ZW5kcyBWaXNpdG9yTGlzdERlc2NyaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYWdlbmRhOiBhbnk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpc2l0b3JTZXJ2aWNlOiBWaXNpdG9yTGlzdFNlcnZpY2U7XG5cbiAgICB2aXNpdG9yczogYW55W107XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBWaXNpdG9yTGlzdFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy52aXNpdG9yU2VydmljZSA9IHNlcnZpY2U7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIG5hZGEgcG9yIGVucXVhbnRvXG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnZpc2l0b3JTZXJ2aWNlXG4gICAgICAgICAgICAuZmluZFZpc2l0b3JzKHRoaXMuYWdlbmRhLmlkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnZpc2l0b3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2l0b3JzID0gcmVzcG9uc2UudmlzaXRvcnM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlZGVudGlhbFJlc3VtZShjcmVkZW50aWFsczogYW55KSB7XG4gICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBjcmVkZW50aWFscykge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2FyZE51bWJlcikge1xuICAgICAgICAgICAgICAgIGxhYmVsID0gbGFiZWwgKyBpdGVtLmNhcmROdW1iZXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxhYmVsID0gbGFiZWwgKyBcIiAtIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { HttpClient } from "@angular/common/http";
|
|
4
|
+
import { Service } from "../../../service";
|
|
5
|
+
import { MessageService } from "primeng/components/common/messageservice";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "primeng/components/common/messageservice";
|
|
9
|
+
var VisitorListService = /** @class */ (function (_super) {
|
|
10
|
+
tslib_1.__extends(VisitorListService, _super);
|
|
11
|
+
function VisitorListService(http, messageService) {
|
|
12
|
+
var _this = _super.call(this, messageService) || this;
|
|
13
|
+
_this.http = http;
|
|
14
|
+
_this.messageService = messageService;
|
|
15
|
+
_this.domainService = "yms_int/sam";
|
|
16
|
+
return _this;
|
|
17
|
+
}
|
|
18
|
+
VisitorListService.prototype.findVisitors = function (agendaIdYMS) {
|
|
19
|
+
return this.http.post("yms_int/sam/queries/findVisitorsBySchedulingIdYMS", { agendaIdYMS: agendaIdYMS });
|
|
20
|
+
};
|
|
21
|
+
VisitorListService.ngInjectableDef = i0.defineInjectable({ factory: function VisitorListService_Factory() { return new VisitorListService(i0.inject(i1.HttpClient), i0.inject(i2.MessageService)); }, token: VisitorListService, providedIn: "root" });
|
|
22
|
+
VisitorListService = tslib_1.__decorate([
|
|
23
|
+
Injectable({ providedIn: 'root' }),
|
|
24
|
+
tslib_1.__metadata("design:paramtypes", [HttpClient, MessageService])
|
|
25
|
+
], VisitorListService);
|
|
26
|
+
return VisitorListService;
|
|
27
|
+
}(Service));
|
|
28
|
+
export { VisitorListService };
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3NhbS1zZW5pb3IvY29tcG9uZW50cy92aXNpdG9yLWxpc3QvdmlzaXRvci1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7QUFJMUU7SUFBd0MsOENBQU87SUFHM0MsNEJBQXNCLElBQWdCLEVBQVksY0FBOEI7UUFBaEYsWUFDSSxrQkFBTSxjQUFjLENBQUMsU0FDeEI7UUFGcUIsVUFBSSxHQUFKLElBQUksQ0FBWTtRQUFZLG9CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUZ2RSxtQkFBYSxHQUFXLGFBQWEsQ0FBQzs7SUFJL0MsQ0FBQztJQUVNLHlDQUFZLEdBQW5CLFVBQW9CLFdBQW1CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbURBQW1ELEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDOztJQVRRLGtCQUFrQjtRQUQ5QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7aURBSUQsVUFBVSxFQUE0QixjQUFjO09BSHZFLGtCQUFrQixDQVU5Qjs2QkFqQkQ7Q0FpQkMsQUFWRCxDQUF3QyxPQUFPLEdBVTlDO1NBVlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2VzZXJ2aWNlXCI7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVmlzaXRvckxpc3RTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gICAgcmVhZG9ubHkgZG9tYWluU2VydmljZTogU3RyaW5nID0gXCJ5bXNfaW50L3NhbVwiO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kVmlzaXRvcnMoYWdlbmRhSWRZTVM6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYHltc19pbnQvc2FtL3F1ZXJpZXMvZmluZFZpc2l0b3JzQnlTY2hlZHVsaW5nSWRZTVNgLCB7IGFnZW5kYUlkWU1TOiBhZ2VuZGFJZFlNUyB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { TableModule } from "primeng/table";
|
|
5
|
+
import { LoadingStateModule } from "@seniorsistemas/angular-components";
|
|
6
|
+
import { MessageModule } from "primeng/message";
|
|
7
|
+
import { IntegrationDispatcher } from "@seniorsistemas/yms-routines";
|
|
8
|
+
import { VisitorListComponent } from "./visitor-list/visitor-list.component";
|
|
9
|
+
import { VisitorListService } from "./visitor-list/visitor-list.service";
|
|
10
|
+
import { TranslateModule } from "@ngx-translate/core";
|
|
11
|
+
var VisitorListModule = /** @class */ (function () {
|
|
12
|
+
function VisitorListModule(dispatcher) {
|
|
13
|
+
this.dispatcher = dispatcher;
|
|
14
|
+
this.dispatcher.dispatch(VisitorListComponent);
|
|
15
|
+
}
|
|
16
|
+
VisitorListModule = tslib_1.__decorate([
|
|
17
|
+
NgModule({
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
TableModule,
|
|
21
|
+
MessageModule,
|
|
22
|
+
TranslateModule,
|
|
23
|
+
LoadingStateModule,
|
|
24
|
+
],
|
|
25
|
+
declarations: [VisitorListComponent],
|
|
26
|
+
entryComponents: [VisitorListComponent],
|
|
27
|
+
exports: [VisitorListComponent],
|
|
28
|
+
providers: [
|
|
29
|
+
VisitorListService
|
|
30
|
+
]
|
|
31
|
+
}),
|
|
32
|
+
tslib_1.__metadata("design:paramtypes", [IntegrationDispatcher])
|
|
33
|
+
], VisitorListModule);
|
|
34
|
+
return VisitorListModule;
|
|
35
|
+
}());
|
|
36
|
+
export { VisitorListModule };
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL3Zpc2l0b3ItbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWlCdEQ7SUFDSSwyQkFBNkIsVUFBaUM7UUFBakMsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSFEsaUJBQWlCO1FBZjdCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsYUFBYTtnQkFDYixlQUFlO2dCQUNmLGtCQUFrQjthQUNyQjtZQUNELFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ3BDLGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDUCxrQkFBa0I7YUFDckI7U0FDSixDQUFDO2lEQUUyQyxxQkFBcUI7T0FEckQsaUJBQWlCLENBSTdCO0lBQUQsd0JBQUM7Q0FBQSxBQUpELElBSUM7U0FKWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgTWVzc2FnZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL21lc3NhZ2VcIjtcbmltcG9ydCB7IEludGVncmF0aW9uRGlzcGF0Y2hlciB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMveW1zLXJvdXRpbmVzXCI7XG5pbXBvcnQgeyBWaXNpdG9yTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL3Zpc2l0b3ItbGlzdC92aXNpdG9yLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBWaXNpdG9yTGlzdFNlcnZpY2UgfSBmcm9tIFwiLi92aXNpdG9yLWxpc3QvdmlzaXRvci1saXN0LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBNZXNzYWdlTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIExvYWRpbmdTdGF0ZU1vZHVsZSwgXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtWaXNpdG9yTGlzdENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbVmlzaXRvckxpc3RDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtWaXNpdG9yTGlzdENvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFZpc2l0b3JMaXN0U2VydmljZSAgICAgICAgXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBWaXNpdG9yTGlzdE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXNwYXRjaGVyOiBJbnRlZ3JhdGlvbkRpc3BhdGNoZXIpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmRpc3BhdGNoKFZpc2l0b3JMaXN0Q29tcG9uZW50KTtcbiAgICB9XG59Il19
|