@seniorsistemas/yms-integration 1.19.1 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/bundles/seniorsistemas-yms-integration.umd.js +906 -236
  2. package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
  5. package/esm2015/index.js +4 -1
  6. package/esm2015/seniorsistemas-yms-integration.js +49 -38
  7. package/esm2015/src/erp-senior/components/nota-form/nota-form.component.js +3 -3
  8. package/esm2015/src/erp-senior/components/nota-form/nota-form.module.js +4 -2
  9. package/esm2015/src/erp-senior/erp-senior.module.js +3 -1
  10. package/esm2015/src/erp-senior/recebimento/form/recebimento-form.component.js +3 -3
  11. package/esm2015/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +3 -3
  12. package/esm2015/src/utils/directives/directives.module.js +15 -0
  13. package/esm2015/src/utils/directives/trim.directive.js +27 -0
  14. package/esm2015/src/wms/components/document-grid/document-grid.component.js +166 -0
  15. package/esm2015/src/wms/components/document-grid/document-grid.module.js +35 -0
  16. package/esm2015/src/wms/components/document-grid/insert-key/insert-key.component.js +82 -0
  17. package/esm2015/src/wms/components/document-grid/insert-key/insert-key.module.js +26 -0
  18. package/esm2015/src/wms/components/document-grid/register-document/register-document.component.js +125 -0
  19. package/esm2015/src/wms/components/document-grid/register-document/register-document.module.js +32 -0
  20. package/esm2015/src/wms/entities/agenda/agenda.service.js +22 -0
  21. package/esm2015/src/wms/entities/document/document-dto.js +1 -0
  22. package/esm2015/src/wms/entities/document/document.js +39 -0
  23. package/esm2015/src/wms/entities/document/document.service.js +21 -0
  24. package/esm2015/src/wms/entities/document/find-documents-input.js +1 -0
  25. package/esm2015/src/wms/entities/entity-service.js +4 -0
  26. package/esm2015/src/wms/entities/wms-system/wms-system.js +9 -0
  27. package/esm2015/src/wms/form/form-wms.component.js +60 -0
  28. package/esm2015/src/wms/wms.module.js +68 -0
  29. package/esm5/index.js +4 -1
  30. package/esm5/seniorsistemas-yms-integration.js +49 -38
  31. package/esm5/src/erp-senior/components/nota-form/nota-form.component.js +3 -3
  32. package/esm5/src/erp-senior/components/nota-form/nota-form.module.js +4 -2
  33. package/esm5/src/erp-senior/erp-senior.module.js +3 -1
  34. package/esm5/src/erp-senior/recebimento/form/recebimento-form.component.js +3 -3
  35. package/esm5/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +3 -3
  36. package/esm5/src/utils/directives/directives.module.js +18 -0
  37. package/esm5/src/utils/directives/trim.directive.js +28 -0
  38. package/esm5/src/wms/components/document-grid/document-grid.component.js +171 -0
  39. package/esm5/src/wms/components/document-grid/document-grid.module.js +38 -0
  40. package/esm5/src/wms/components/document-grid/insert-key/insert-key.component.js +84 -0
  41. package/esm5/src/wms/components/document-grid/insert-key/insert-key.module.js +29 -0
  42. package/esm5/src/wms/components/document-grid/register-document/register-document.component.js +127 -0
  43. package/esm5/src/wms/components/document-grid/register-document/register-document.module.js +35 -0
  44. package/esm5/src/wms/entities/agenda/agenda.service.js +25 -0
  45. package/esm5/src/wms/entities/document/document-dto.js +1 -0
  46. package/esm5/src/wms/entities/document/document.js +44 -0
  47. package/esm5/src/wms/entities/document/document.service.js +24 -0
  48. package/esm5/src/wms/entities/document/find-documents-input.js +1 -0
  49. package/esm5/src/wms/entities/entity-service.js +11 -0
  50. package/esm5/src/wms/entities/wms-system/wms-system.js +9 -0
  51. package/esm5/src/wms/form/form-wms.component.js +63 -0
  52. package/esm5/src/wms/wms.module.js +69 -0
  53. package/fesm2015/seniorsistemas-yms-integration.js +808 -192
  54. package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
  55. package/fesm5/seniorsistemas-yms-integration.js +845 -189
  56. package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
  57. package/index.d.ts +2 -0
  58. package/package.json +1 -1
  59. package/seniorsistemas-yms-integration.d.ts +48 -37
  60. package/seniorsistemas-yms-integration.metadata.json +1 -1
  61. package/src/utils/directives/directives.module.d.ts +2 -0
  62. package/src/utils/directives/trim.directive.d.ts +6 -0
  63. package/src/wms/components/document-grid/document-grid.component.d.ts +41 -0
  64. package/src/wms/components/document-grid/document-grid.module.d.ts +2 -0
  65. package/src/wms/components/document-grid/insert-key/insert-key.component.d.ts +22 -0
  66. package/src/wms/components/document-grid/insert-key/insert-key.module.d.ts +2 -0
  67. package/src/wms/components/document-grid/register-document/register-document.component.d.ts +31 -0
  68. package/src/wms/components/document-grid/register-document/register-document.module.d.ts +2 -0
  69. package/src/wms/entities/agenda/agenda.service.d.ts +9 -0
  70. package/src/wms/entities/document/document-dto.d.ts +16 -0
  71. package/src/wms/entities/document/document.d.ts +20 -0
  72. package/src/wms/entities/document/document.service.d.ts +11 -0
  73. package/src/wms/entities/document/find-documents-input.d.ts +7 -0
  74. package/src/wms/entities/entity-service.d.ts +3 -0
  75. package/src/wms/entities/wms-system/wms-system.d.ts +7 -0
  76. package/src/wms/form/form-wms.component.d.ts +18 -0
  77. package/src/wms/wms.module.d.ts +4 -0
@@ -99,7 +99,7 @@ var NotaFormComponent = /** @class */ (function () {
99
99
  this.removeErrorChaveNota();
100
100
  this.loading = true;
101
101
  this.notaValidatorService.pesquisarDocumentoValidaNotaEmUso({
102
- chaveDocumento: (chaveNotaFiscal || "").trim(),
102
+ chaveDocumento: (chaveNotaFiscal || "").replace(/\s/g, ""),
103
103
  filialId: this.filialId
104
104
  })
105
105
  .pipe(takeUntil(this.unsubscribe$), finalize(function () { return _this.loading = false; }))
@@ -161,7 +161,7 @@ var NotaFormComponent = /** @class */ (function () {
161
161
  };
162
162
  NotaFormComponent = tslib_1.__decorate([
163
163
  Component({
164
- template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"chaveNotaFiscal\" (blur)=\"onBlurNotaFiscal()\">\n <s-control-errors [control]=\"formGroup.controls.chaveNotaFiscal\" [errorMessages]=\"{ errorChaveNota: 'yms.erp.produto_nota_error_detail' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12\">\n <label for=\"serieNotaFiscal\">{{'yms.erp.recebimento_serie_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieNotaFiscal\">\n </div>\n <div class=\"ui-g-12\">\n <label for=\"serieLegalNotaFiscal\">{{'yms.erp.recebimento_serie_legal_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieLegalNotaFiscal\">\n </div>\n <div class=\"ui-g-12\">\n <label for=\"numeroNotaFiscal\">{{'yms.erp.recebimento_numero_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"numeroNotaFiscal\">\n </div>\n </div>\n\n <s-control-errors [control]=\"formGroup\" [errorMessages]=\"{ erroMultiplosCampos: 'yms.erp.nota_fiscal_no_value' | translate }\"></s-control-errors>\n\n <s-button label=\"Cancelar\" (onClick)=\"close()\" priority=\"link\"></s-button>\n <s-button label=\"Salvar\" [disabled]=\"botaoDesabilitado\" (onClick)=\"save()\"></s-button>\n</form>\n\n<p-confirmDialog appendTo=\"body\"></p-confirmDialog>",
164
+ template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\" *sLoadingState=\"loading\">\n <div class=\"ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input\n id=\"chaveNotaFiscal\"\n trim\n pInputText\n type=\"text\"\n formControlName=\"chaveNotaFiscal\"\n (blur)=\"onBlurNotaFiscal()\"\n >\n <s-control-errors [control]=\"formGroup.controls.chaveNotaFiscal\" [errorMessages]=\"{ errorChaveNota: 'yms.erp.produto_nota_error_detail' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12\">\n <label for=\"serieNotaFiscal\">{{'yms.erp.recebimento_serie_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieNotaFiscal\">\n </div>\n <div class=\"ui-g-12\">\n <label for=\"serieLegalNotaFiscal\">{{'yms.erp.recebimento_serie_legal_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"serieLegalNotaFiscal\">\n </div>\n <div class=\"ui-g-12\">\n <label for=\"numeroNotaFiscal\">{{'yms.erp.recebimento_numero_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" formControlName=\"numeroNotaFiscal\">\n </div>\n </div>\n\n <s-control-errors [control]=\"formGroup\" [errorMessages]=\"{ erroMultiplosCampos: 'yms.erp.nota_fiscal_no_value' | translate }\"></s-control-errors>\n\n <s-button label=\"Cancelar\" (onClick)=\"close()\" priority=\"link\"></s-button>\n <s-button label=\"Salvar\" [disabled]=\"botaoDesabilitado\" (onClick)=\"save()\"></s-button>\n</form>\n\n<p-confirmDialog appendTo=\"body\"></p-confirmDialog>",
165
165
  providers: [ConfirmationService]
166
166
  }),
167
167
  tslib_1.__metadata("design:paramtypes", [FormBuilder,
@@ -176,4 +176,4 @@ var NotaFormComponent = /** @class */ (function () {
176
176
  return NotaFormComponent;
177
177
  }());
178
178
  export { NotaFormComponent };
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU12RDtJQVlJLDJCQUNJLEVBQWUsRUFDUCxvQkFBMEMsRUFDMUMsWUFBaUMsRUFDakMsbUJBQXdDLEVBQ3hDLFNBQTJCLEVBQzNCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixTQUEyQjtRQVJ2QyxpQkFpQkM7UUFmVyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHVCQUFrQixHQUFsQixr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QUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRU8sc0RBQTBCLEdBQWxDO1FBQ0ksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQWhNUSxpQkFBaUI7UUFMN0IsU0FBUyxDQUFDO1lBQ1Asd3JEQUF5QztZQUN6QyxTQUFTLEVBQUUsQ0FBRSxtQkFBbUIsQ0FBRTtTQUNyQyxDQUFDO2lEQWVVLFdBQVc7WUFDZSxvQkFBb0I7WUFDNUIsbUJBQW1CO1lBQ1osbUJBQW1CO1lBQzdCLGdCQUFnQjtZQUNQLGtCQUFrQjtZQUN0QixjQUFjO1lBQ25CLGdCQUFnQjtPQXBCOUIsaUJBQWlCLENBaU03QjtJQUFELHdCQUFDO0NBQUEsQUFqTUQsSUFpTUM7U0FqTVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyaWZpY2FOb3RhZmlzY2FsIH0gZnJvbSAnLi4vLi4vY29yZS92ZXJpZmljYS1ub3RhLWZpc2NhbC92ZXJpZmljYU5vdGFGaXNjYWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBQZXNzb2EgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9wZXNzb2EvcGVzc29hXCI7XG5pbXBvcnQgeyBQcm9kdXRvIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvcHJvZHV0by9wcm9kdXRvXCI7XG5pbXBvcnQgeyBOb3RhVmFsaWRhdG9yU2VydmljZSwgUGVzcXVpc2FyRG9jdW1lbnRvUmVzcG9uc2UgfSBmcm9tIFwiLi4vLi4vY29yZS9ub3RhLXZhbGlkYXRvci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2VzZXJ2aWNlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9ub3RhLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogWyBDb25maXJtYXRpb25TZXJ2aWNlIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBOb3RhRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGZpbGlhbElkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yOiBQZXNzb2E7XG4gICAgcHJpdmF0ZSBwcm9kdXRvOiBQcm9kdXRvO1xuICAgIHByaXZhdGUgZm9ybmVjZWRvck5vdGFzVG9rZW5zOiBhbnk7XG4gICAgcHJpdmF0ZSBjb250cmF0b3M6IGFueTtcbiAgICBib3Rhb0Rlc2FiaWxpdGFkbyA9IGZhbHNlO1xuICAgIFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIG5vdGFWYWxpZGF0b3JTZXJ2aWNlOiBOb3RhVmFsaWRhdG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgICAgIHByaXZhdGUgdmVyaWZpY2FOb3RhRmlzY2FsOiBWZXJpZmljYU5vdGFmaXNjYWwsXG4gICAgICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcblxuICAgICkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IGZiLmdyb3VwKHtcbiAgICAgICAgICAgIGNoYXZlTm90YUZpc2NhbDogWyB1bmRlZmluZWQgXSxcbiAgICAgICAgICAgIHNlcmllTm90YUZpc2NhbDogWyB1bmRlZmluZWQgXSxcbiAgICAgICAgICAgIHNlcmllTGVnYWxOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICAgICAgbnVtZXJvTm90YUZpc2NhbDogWyB1bmRlZmluZWQgXSxcbiAgICAgICAgfSwgeyB2YWxpZGF0b3JzOiB0aGlzLmNhbXBvc1ByZWVuY2hpZG9zVmFsaWRhdGlvbiB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWxpYWxJZCA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZmlsaWFsLmlkO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3IgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmZvcm5lY2Vkb3I7XG4gICAgICAgIHRoaXMucHJvZHV0byA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEucHJvZHV0bztcbiAgICAgICAgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucztcbiAgICAgICAgdGhpcy5jb250cmF0b3MgPSB0aGlzLmRpYWxvZ0NvbmZpZy5kYXRhLmNvbnRyYXRvcztcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHNhdmUoKSB7XG4gICAgICAgIGNvbnN0IGNoYXZlTm90YUZpc2NhbCA9IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS52YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy52ZXJpZmljYU5vdGFGaXNjYWwudmVyaWZpY2FTZU5vdGFGaXNjYWxFc3RhRHVwbGljYWRhKGNoYXZlTm90YUZpc2NhbCwgdGhpcy5jb250cmF0b3MsIHRoaXMuZm9ybmVjZWRvck5vdGFzVG9rZW5zKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjaGF2ZU5vdGFGaXNjYWwpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm1Hcm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpO1xuXG4gICAgICAgIHRoaXMuY2xvc2UodGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlKGRhdGE/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gICAgfVxuXG4gICAgb25CbHVyTm90YUZpc2NhbCgpIHtcbiAgICAgICAgY29uc3QgY2hhdmVOb3RhRmlzY2FsID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnZlcmlmaWNhTm90YUZpc2NhbC52ZXJpZmljYVNlTm90YUZpc2NhbEVzdGFEdXBsaWNhZGEoY2hhdmVOb3RhRmlzY2FsLCB0aGlzLmNvbnRyYXRvcywgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5ib3Rhb0Rlc2FiaWxpdGFkbyA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlbW92ZUVycm9yQ2hhdmVOb3RhKCk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5ub3RhVmFsaWRhdG9yU2VydmljZS5wZXNxdWlzYXJEb2N1bWVudG9WYWxpZGFOb3RhRW1Vc28oe1xuICAgICAgICAgICAgY2hhdmVEb2N1bWVudG86IChjaGF2ZU5vdGFGaXNjYWwgfHwgXCJcIikudHJpbSgpLFxuICAgICAgICAgICAgZmlsaWFsSWQ6IHRoaXMuZmlsaWFsSWRcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSwgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICAgICAuc3Vic2NyaWJlKHRoaXMudmFsaWRhdGVOb3RhRmlzY2FsKTtcblxuICAgICAgICAgIHRoaXMuYm90YW9EZXNhYmlsaXRhZG8gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlTm90YUZpc2NhbCA9IChyZXNwb25zZTogUGVzcXVpc2FyRG9jdW1lbnRvUmVzcG9uc2UpID0+IHsgICAgIFxuICAgICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS5kb2N1bWVudG9zWzBdKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcmVzcG9uc2UuZG9jdW1lbnRvc1swXTtcblxuICAgICAgICBpZiAoIXRoaXMudmFsaWRhUHJvZHV0b05hTm90YUZpc2NhbCh2YWx1ZS5pdGVucykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vdGFGaXNjYWwgPSB7IFxuICAgICAgICAgICAgY2hhdmU6IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS52YWx1ZSwgXG4gICAgICAgICAgICBzZXJpZTogdmFsdWUuc2VyaWUsIFxuICAgICAgICAgICAgc2VyaWVMZWdhbDogdmFsdWUuc2VyaWVMZWdhbCwgXG4gICAgICAgICAgICBudW1lcm86IHZhbHVlLm51bWVybyxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIXRoaXMuZm9ybmVjZWRvcikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFuZFJldHVybk5vdGEobm90YUZpc2NhbCwgdmFsdWUuZm9ybmVjZWRvciwgdmFsdWUub3JpZ2VtTWVyY2Fkb3JpYSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISEodmFsdWUuZm9ybmVjZWRvciB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkICYmICh2YWx1ZS5mb3JuZWNlZG9yLmlkICE9PSB0aGlzLmZvcm5lY2Vkb3IuaWQpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1BbmRBZGROb3ZvRm9ybmVjZWRvcihub3RhRmlzY2FsLCB2YWx1ZS5mb3JuZWNlZG9yLCB2YWx1ZS5vcmlnZW1NZXJjYWRvcmlhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTm90YUZpc2NhbFwiKS5zZXRWYWx1ZSh2YWx1ZS5zZXJpZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTGVnYWxOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLnNlcmllTGVnYWwpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJudW1lcm9Ob3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLm51bWVybyk7XG5cbiAgICAgICAgdGhpcy5kZXNhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhUHJvZHV0b05hTm90YUZpc2NhbChwcm9kdXRvcyl7XG4gICAgICAgIGlmIChwcm9kdXRvcyAhPSBudWxsICYmIHByb2R1dG9zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBwcm9kdXRvID0gcHJvZHV0b3NbMF0ucHJvZHV0bztcblxuICAgICAgICAgICAgaWYgKCEhcHJvZHV0byAmJiAhIXRoaXMucHJvZHV0byAmJiAocHJvZHV0by5pZCAhPT0gdGhpcy5wcm9kdXRvLmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkRXJyb3JJZlByb2R1dG9Jc0RpZmZlcmVudCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIGNvbmZpcm1BbmRBZGROb3ZvRm9ybmVjZWRvcihpbmZvTm90YTogeyBjaGF2ZTogc3RyaW5nLCBzZXJpZTogc3RyaW5nLCBzZXJpZUxlZ2FsOiBzdHJpbmcsIG51bWVybzogbnVtYmVyIH0sIGZvcm5lY2Vkb3I6IGFueSwgb3JpZ2VtTWVyY2Fkb3JpYTogYW55KSB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIGhlYWRlcjogJ08gZm9ybmVjZWRvciB2aW5jdWxhZG8gYSBub3RhIG7Do28gw6kgbyBtZXNtbyBxdWUgbyBzZWxlY2lvbmFkbycsXG4gICAgICAgICAgICBtZXNzYWdlOiAnTyBmb3JuZWNlZG9yIHZpbmN1bGFkbyBhIG5vdGEgbsOjbyDDqSBvIG1lc21vIHF1ZSBvIHNlbGVjaW9uYWRvLiBEZXNlamEgYWRpY2lvbmFyIHVtIG5vdm8gZm9ybmVjZWRvciBvdSBjYW5jZWxhciBhIG9wZXJhw6fDo28/JyxcbiAgICAgICAgICAgIGFjY2VwdExhYmVsOiAnQWRpY2lvbmFyIHVtIG5vdm8gZm9ybmVjZWRvcicsXG4gICAgICAgICAgICByZWplY3RMYWJlbDogJ0NhbmNlbGFyIG9wZXJhw6fDo28nLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB0aGlzLmNsb3NlQW5kUmV0dXJuTm90YShpbmZvTm90YSwgZm9ybmVjZWRvciwgb3JpZ2VtTWVyY2Fkb3JpYSksXG4gICAgICAgICAgICByZWplY3Q6ICgpID0+IHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS5zZXRWYWx1ZSh1bmRlZmluZWQpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRXJyb3JJZlByb2R1dG9Jc0RpZmZlcmVudCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldEVycm9ycyh7IGVycm9yQ2hhdmVOb3RhOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImNoYXZlTm90YUZpc2NhbFwiKS5zZXRFcnJvcnMobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZUFuZFJldHVybk5vdGEoaW5mb05vdGE6IHsgY2hhdmU6IHN0cmluZywgc2VyaWU6IHN0cmluZywgc2VyaWVMZWdhbDogc3RyaW5nLCBudW1lcm86IG51bWJlciB9LCBmb3JuZWNlZG9yOiBhbnksIG9yaWdlbU1lcmNhZG9yaWE6IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGFkZEZvcm5lY2Vkb3I6IHRydWUsIGluZm9Ob3RhLCBmb3JuZWNlZG9yLCBvcmlnZW1NZXJjYWRvcmlhIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBmb3JtR3JvdXAubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbXBvc1ByZWVuY2hpZG9zVmFsaWRhdGlvbjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBjaGF2ZSA9IGNvbnRyb2wuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuICAgICAgICBjb25zdCBzZXJpZSA9IGNvbnRyb2wuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuICAgICAgICBjb25zdCBudW1lcm8gPSBjb250cm9sLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikudmFsdWU7XG5cbiAgICAgICAgcmV0dXJuICEhY2hhdmUgfHwgISFzZXJpZSB8fCAhIW51bWVybyA/IG51bGwgOiB7IGVycm9NdWx0aXBsb3NDYW1wb3M6IHRydWUgfTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBoYWJpbGl0YUNhbXBvc05vdGFGaXNjYWwoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInNlcmllTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuZW5hYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXNhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJudW1lcm9Ob3RhRmlzY2FsXCIpLmRpc2FibGUoKTtcbiAgICB9XG59Il19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLG9CQUFvQixFQUE4QixNQUFNLG1DQUFtQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU12RDtJQVlJLDJCQUNJLEVBQWUsRUFDUCxvQkFBMEMsRUFDMUMsWUFBaUMsRUFDakMsbUJBQXdDLEVBQ3hDLFNBQTJCLEVBQzNCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixTQUEyQjtRQVJ2QyxpQkFpQkM7UUFmVyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHVCQUFrQixHQUFsQixr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TSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTyxzREFBMEIsR0FBbEM7UUFDSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBaE1RLGlCQUFpQjtRQUw3QixTQUFTLENBQUM7WUFDUCx3MERBQXlDO1lBQ3pDLFNBQVMsRUFBRSxDQUFFLG1CQUFtQixDQUFFO1NBQ3JDLENBQUM7aURBZVUsV0FBVztZQUNlLG9CQUFvQjtZQUM1QixtQkFBbUI7WUFDWixtQkFBbUI7WUFDN0IsZ0JBQWdCO1lBQ1Asa0JBQWtCO1lBQ3RCLGNBQWM7WUFDbkIsZ0JBQWdCO09BcEI5QixpQkFBaUIsQ0FpTTdCO0lBQUQsd0JBQUM7Q0FBQSxBQWpNRCxJQWlNQztTQWpNWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJpZmljYU5vdGFmaXNjYWwgfSBmcm9tICcuLi8uLi9jb3JlL3ZlcmlmaWNhLW5vdGEtZmlzY2FsL3ZlcmlmaWNhTm90YUZpc2NhbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFBlc3NvYSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL3Blc3NvYS9wZXNzb2FcIjtcbmltcG9ydCB7IFByb2R1dG8gfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9wcm9kdXRvL3Byb2R1dG9cIjtcbmltcG9ydCB7IE5vdGFWYWxpZGF0b3JTZXJ2aWNlLCBQZXNxdWlzYXJEb2N1bWVudG9SZXNwb25zZSB9IGZyb20gXCIuLi8uLi9jb3JlL25vdGEtdmFsaWRhdG9yLnNlcnZpY2VcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvY29tcG9uZW50cy9jb21tb24vbWVzc2FnZXNlcnZpY2VcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL25vdGEtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbIENvbmZpcm1hdGlvblNlcnZpY2UgXVxufSlcblxuZXhwb3J0IGNsYXNzIE5vdGFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZmlsaWFsSWQ6IHN0cmluZztcbiAgICBwcml2YXRlIGZvcm5lY2Vkb3I6IFBlc3NvYTtcbiAgICBwcml2YXRlIHByb2R1dG86IFByb2R1dG87XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yTm90YXNUb2tlbnM6IGFueTtcbiAgICBwcml2YXRlIGNvbnRyYXRvczogYW55O1xuICAgIGJvdGFvRGVzYWJpbGl0YWRvID0gZmFsc2U7XG4gICAgXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgbm90YVZhbGlkYXRvclNlcnZpY2U6IE5vdGFWYWxpZGF0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHJpdmF0ZSB2ZXJpZmljYU5vdGFGaXNjYWw6IFZlcmlmaWNhTm90YWZpc2NhbCxcbiAgICAgICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gZmIuZ3JvdXAoe1xuICAgICAgICAgICAgY2hhdmVOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICAgICAgc2VyaWVOb3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICAgICAgc2VyaWVMZWdhbE5vdGFGaXNjYWw6IFsgdW5kZWZpbmVkIF0sXG4gICAgICAgICAgICBudW1lcm9Ob3RhRmlzY2FsOiBbIHVuZGVmaW5lZCBdLFxuICAgICAgICB9LCB7IHZhbGlkYXRvcnM6IHRoaXMuY2FtcG9zUHJlZW5jaGlkb3NWYWxpZGF0aW9uIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbGlhbElkID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5maWxpYWwuaWQ7XG4gICAgICAgIHRoaXMuZm9ybmVjZWRvciA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZm9ybmVjZWRvcjtcbiAgICAgICAgdGhpcy5wcm9kdXRvID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5wcm9kdXRvO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuZm9ybmVjZWRvck5vdGFzVG9rZW5zO1xuICAgICAgICB0aGlzLmNvbnRyYXRvcyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuY29udHJhdG9zO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgc2F2ZSgpIHtcbiAgICAgICAgY29uc3QgY2hhdmVOb3RhRmlzY2FsID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLnZlcmlmaWNhTm90YUZpc2NhbC52ZXJpZmljYVNlTm90YUZpc2NhbEVzdGFEdXBsaWNhZGEoY2hhdmVOb3RhRmlzY2FsLCB0aGlzLmNvbnRyYXRvcywgdGhpcy5mb3JuZWNlZG9yTm90YXNUb2tlbnMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNoYXZlTm90YUZpc2NhbCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVFcnJvckNoYXZlTm90YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZSh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2UoZGF0YT86IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgICB9XG5cbiAgICBvbkJsdXJOb3RhRmlzY2FsKCkge1xuICAgICAgICBjb25zdCBjaGF2ZU5vdGFGaXNjYWwgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMudmVyaWZpY2FOb3RhRmlzY2FsLnZlcmlmaWNhU2VOb3RhRmlzY2FsRXN0YUR1cGxpY2FkYShjaGF2ZU5vdGFGaXNjYWwsIHRoaXMuY29udHJhdG9zLCB0aGlzLmZvcm5lY2Vkb3JOb3Rhc1Rva2VucykpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmJvdGFvRGVzYWJpbGl0YWRvID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVtb3ZlRXJyb3JDaGF2ZU5vdGEoKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLm5vdGFWYWxpZGF0b3JTZXJ2aWNlLnBlc3F1aXNhckRvY3VtZW50b1ZhbGlkYU5vdGFFbVVzbyh7XG4gICAgICAgICAgICBjaGF2ZURvY3VtZW50bzogKGNoYXZlTm90YUZpc2NhbCB8fCBcIlwiKS5yZXBsYWNlKC9cXHMvZywgXCJcIiksXG4gICAgICAgICAgICBmaWxpYWxJZDogdGhpcy5maWxpYWxJZFxuICAgICAgICB9KVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLCBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgIC5zdWJzY3JpYmUodGhpcy52YWxpZGF0ZU5vdGFGaXNjYWwpO1xuXG4gICAgICAgICAgdGhpcy5ib3Rhb0Rlc2FiaWxpdGFkbyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVOb3RhRmlzY2FsID0gKHJlc3BvbnNlOiBQZXNxdWlzYXJEb2N1bWVudG9SZXNwb25zZSkgPT4geyAgICAgXG4gICAgICAgIGlmICghcmVzcG9uc2UgfHwgIXJlc3BvbnNlLmRvY3VtZW50b3NbMF0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZXNwb25zZS5kb2N1bWVudG9zWzBdO1xuXG4gICAgICAgIGlmICghdGhpcy52YWxpZGFQcm9kdXRvTmFOb3RhRmlzY2FsKHZhbHVlLml0ZW5zKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgbm90YUZpc2NhbCA9IHsgXG4gICAgICAgICAgICBjaGF2ZTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnZhbHVlLCBcbiAgICAgICAgICAgIHNlcmllOiB2YWx1ZS5zZXJpZSwgXG4gICAgICAgICAgICBzZXJpZUxlZ2FsOiB2YWx1ZS5zZXJpZUxlZ2FsLCBcbiAgICAgICAgICAgIG51bWVybzogdmFsdWUubnVtZXJvLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JuZWNlZG9yKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQW5kUmV0dXJuTm90YShub3RhRmlzY2FsLCB2YWx1ZS5mb3JuZWNlZG9yLCB2YWx1ZS5vcmlnZW1NZXJjYWRvcmlhKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghISh2YWx1ZS5mb3JuZWNlZG9yIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQgJiYgKHZhbHVlLmZvcm5lY2Vkb3IuaWQgIT09IHRoaXMuZm9ybmVjZWRvci5pZCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybUFuZEFkZE5vdm9Gb3JuZWNlZG9yKG5vdGFGaXNjYWwsIHZhbHVlLmZvcm5lY2Vkb3IsIHZhbHVlLm9yaWdlbU1lcmNhZG9yaWEpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHZhbHVlLnNlcmllKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVMZWdhbE5vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUuc2VyaWVMZWdhbCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuc2V0VmFsdWUodmFsdWUubnVtZXJvKTtcblxuICAgICAgICB0aGlzLmRlc2FiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGFQcm9kdXRvTmFOb3RhRmlzY2FsKHByb2R1dG9zKXtcbiAgICAgICAgaWYgKHByb2R1dG9zICE9IG51bGwgJiYgcHJvZHV0b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHByb2R1dG8gPSBwcm9kdXRvc1swXS5wcm9kdXRvO1xuXG4gICAgICAgICAgICBpZiAoISFwcm9kdXRvICYmICEhdGhpcy5wcm9kdXRvICYmIChwcm9kdXRvLmlkICE9PSB0aGlzLnByb2R1dG8uaWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRFcnJvcklmUHJvZHV0b0lzRGlmZmVyZW50KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIFxuICAgIHByaXZhdGUgY29uZmlybUFuZEFkZE5vdm9Gb3JuZWNlZG9yKGluZm9Ob3RhOiB7IGNoYXZlOiBzdHJpbmcsIHNlcmllOiBzdHJpbmcsIHNlcmllTGVnYWw6IHN0cmluZywgbnVtZXJvOiBudW1iZXIgfSwgZm9ybmVjZWRvcjogYW55LCBvcmlnZW1NZXJjYWRvcmlhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgaGVhZGVyOiAnTyBmb3JuZWNlZG9yIHZpbmN1bGFkbyBhIG5vdGEgbsOjbyDDqSBvIG1lc21vIHF1ZSBvIHNlbGVjaW9uYWRvJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdPIGZvcm5lY2Vkb3IgdmluY3VsYWRvIGEgbm90YSBuw6NvIMOpIG8gbWVzbW8gcXVlIG8gc2VsZWNpb25hZG8uIERlc2VqYSBhZGljaW9uYXIgdW0gbm92byBmb3JuZWNlZG9yIG91IGNhbmNlbGFyIGEgb3BlcmHDp8Ojbz8nLFxuICAgICAgICAgICAgYWNjZXB0TGFiZWw6ICdBZGljaW9uYXIgdW0gbm92byBmb3JuZWNlZG9yJyxcbiAgICAgICAgICAgIHJlamVjdExhYmVsOiAnQ2FuY2VsYXIgb3BlcmHDp8OjbycsXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMuY2xvc2VBbmRSZXR1cm5Ob3RhKGluZm9Ob3RhLCBmb3JuZWNlZG9yLCBvcmlnZW1NZXJjYWRvcmlhKSxcbiAgICAgICAgICAgIHJlamVjdDogKCkgPT4gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldFZhbHVlKHVuZGVmaW5lZClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRFcnJvcklmUHJvZHV0b0lzRGlmZmVyZW50KCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikuc2V0RXJyb3JzKHsgZXJyb3JDaGF2ZU5vdGE6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVFcnJvckNoYXZlTm90YSgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY2hhdmVOb3RhRmlzY2FsXCIpLnNldEVycm9ycyhudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlQW5kUmV0dXJuTm90YShpbmZvTm90YTogeyBjaGF2ZTogc3RyaW5nLCBzZXJpZTogc3RyaW5nLCBzZXJpZUxlZ2FsOiBzdHJpbmcsIG51bWVybzogbnVtYmVyIH0sIGZvcm5lY2Vkb3I6IGFueSwgb3JpZ2VtTWVyY2Fkb3JpYTogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgYWRkRm9ybmVjZWRvcjogdHJ1ZSwgaW5mb05vdGEsIGZvcm5lY2Vkb3IsIG9yaWdlbU1lcmNhZG9yaWEgfSlcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1Hcm91cC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FtcG9zUHJlZW5jaGlkb3NWYWxpZGF0aW9uOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGNoYXZlID0gY29udHJvbC5nZXQoXCJjaGF2ZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGNvbnN0IHNlcmllID0gY29udHJvbC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikudmFsdWU7XG4gICAgICAgIGNvbnN0IG51bWVybyA9IGNvbnRyb2wuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS52YWx1ZTtcblxuICAgICAgICByZXR1cm4gISFjaGF2ZSB8fCAhIXNlcmllIHx8ICEhbnVtZXJvID8gbnVsbCA6IHsgZXJyb011bHRpcGxvc0NhbXBvczogdHJ1ZSB9O1xuICAgIH07XG5cbiAgICBwcml2YXRlIGhhYmlsaXRhQ2FtcG9zTm90YUZpc2NhbCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwic2VyaWVOb3RhRmlzY2FsXCIpLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibnVtZXJvTm90YUZpc2NhbFwiKS5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc2FiaWxpdGFDYW1wb3NOb3RhRmlzY2FsKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZU5vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJzZXJpZUxlZ2FsTm90YUZpc2NhbFwiKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb05vdGFGaXNjYWxcIikuZGlzYWJsZSgpO1xuICAgIH1cbn0iXX0=
@@ -8,6 +8,7 @@ import { InputTextModule } from "primeng/inputtext";
8
8
  import { ButtonModule, ControlErrorsModule, LoadingStateModule } from "@seniorsistemas/angular-components";
9
9
  import { TranslateModule } from "@ngx-translate/core";
10
10
  import { ConfirmDialogModule } from "primeng/confirmdialog";
11
+ import { DirectivesModule } from "../../../utils/directives/directives.module";
11
12
  var NotaFormModule = /** @class */ (function () {
12
13
  function NotaFormModule() {
13
14
  }
@@ -22,7 +23,8 @@ var NotaFormModule = /** @class */ (function () {
22
23
  ControlErrorsModule,
23
24
  TranslateModule,
24
25
  LoadingStateModule,
25
- ConfirmDialogModule
26
+ ConfirmDialogModule,
27
+ DirectivesModule
26
28
  ],
27
29
  declarations: [NotaFormComponent],
28
30
  entryComponents: [NotaFormComponent]
@@ -31,4 +33,4 @@ var NotaFormModule = /** @class */ (function () {
31
33
  return NotaFormModule;
32
34
  }());
33
35
  export { NotaFormModule };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWlCNUQ7SUFBQTtJQUVBLENBQUM7SUFGWSxjQUFjO1FBZjFCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLG1CQUFtQjtnQkFDbkIsbUJBQW1CO2dCQUNuQixlQUFlO2dCQUNmLFlBQVk7Z0JBQ1osbUJBQW1CO2dCQUNuQixlQUFlO2dCQUNmLGtCQUFrQjtnQkFDbEIsbUJBQW1CO2FBQ3RCO1lBQ0QsWUFBWSxFQUFFLENBQUUsaUJBQWlCLENBQUU7WUFDbkMsZUFBZSxFQUFFLENBQUUsaUJBQWlCLENBQUU7U0FDekMsQ0FBQztPQUNXLGNBQWMsQ0FFMUI7SUFBRCxxQkFBQztDQUFBLEFBRkQsSUFFQztTQUZZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOb3RhRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL25vdGEtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2R5bmFtaWNkaWFsb2cvZHluYW1pY2RpYWxvZ1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIENvbnRyb2xFcnJvcnNNb2R1bGUsIExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NvbmZpcm1kaWFsb2dcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgRHluYW1pY0RpYWxvZ01vZHVsZSxcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIENvbnRyb2xFcnJvcnNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgICAgICBDb25maXJtRGlhbG9nTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsgTm90YUZvcm1Db21wb25lbnQgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFsgTm90YUZvcm1Db21wb25lbnQgXVxufSlcbmV4cG9ydCBjbGFzcyBOb3RhRm9ybU1vZHVsZSB7XG5cbn0iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90YS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvZXJwLXNlbmlvci9jb21wb25lbnRzL25vdGEtZm9ybS9ub3RhLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQWtCL0U7SUFBQTtJQUVBLENBQUM7SUFGWSxjQUFjO1FBaEIxQixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixtQkFBbUI7Z0JBQ25CLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZixZQUFZO2dCQUNaLG1CQUFtQjtnQkFDbkIsZUFBZTtnQkFDZixrQkFBa0I7Z0JBQ2xCLG1CQUFtQjtnQkFDbkIsZ0JBQWdCO2FBQ25CO1lBQ0QsWUFBWSxFQUFFLENBQUUsaUJBQWlCLENBQUU7WUFDbkMsZUFBZSxFQUFFLENBQUUsaUJBQWlCLENBQUU7U0FDekMsQ0FBQztPQUNXLGNBQWMsQ0FFMUI7SUFBRCxxQkFBQztDQUFBLEFBRkQsSUFFQztTQUZZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOb3RhRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL25vdGEtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2R5bmFtaWNkaWFsb2cvZHluYW1pY2RpYWxvZ1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIENvbnRyb2xFcnJvcnNNb2R1bGUsIExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NvbmZpcm1kaWFsb2dcIjtcbmltcG9ydCB7IERpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBEeW5hbWljRGlhbG9nTW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ29udHJvbEVycm9yc01vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICAgICAgIERpcmVjdGl2ZXNNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogWyBOb3RhRm9ybUNvbXBvbmVudCBdLFxuICAgIGVudHJ5Q29tcG9uZW50czogWyBOb3RhRm9ybUNvbXBvbmVudCBdXG59KVxuZXhwb3J0IGNsYXNzIE5vdGFGb3JtTW9kdWxlIHtcblxufSJdfQ==
@@ -44,6 +44,7 @@ import { RecebimentoInfoComponent } from "./recebimento/info/recebimento-info.co
44
44
  import { RecebimentoChegadaVeiculoOverride } from "./recebimento/recebimento-chegada-veiculo.override";
45
45
  import jsonx from 'highlight.js/lib/languages/json';
46
46
  import xmlx from 'highlight.js/lib/languages/xml';
47
+ import { DirectivesModule } from '../../src/utils/directives/directives.module';
47
48
  export function highlightLanguages() {
48
49
  return [
49
50
  { name: 'json', func: jsonx },
@@ -112,6 +113,7 @@ var ErpSeniorModule = /** @class */ (function () {
112
113
  languages: highlightLanguages
113
114
  }),
114
115
  HotkeyModule.forRoot(),
116
+ DirectivesModule
115
117
  ],
116
118
  providers: [
117
119
  FieldCustomizationService,
@@ -129,4 +131,4 @@ var ErpSeniorModule = /** @class */ (function () {
129
131
  return ErpSeniorModule;
130
132
  }());
131
133
  export { ErpSeniorModule };
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXNlbmlvci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL2VycC1zZW5pb3IvZXJwLXNlbmlvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdE4sT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFD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ZXNDb250ZW50IjpbImltcG9ydCB7IFZlcmlmaWNhTm90YWZpc2NhbCB9IGZyb20gJy4vY29yZS92ZXJpZmljYS1ub3RhLWZpc2NhbC92ZXJpZmljYU5vdGFGaXNjYWwnO1xuaW1wb3J0IHsgT3JkZW1Db21wcmFGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9yZWNlYmltZW50by1vcmRlbS1jb21wcmEvb3JkZW0tY29tcHJhLWZvcm0vb3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlLCBDb250cm9sRXJyb3JzTW9kdWxlLCBDdXN0b21GaWVsZHNNb2R1bGUsIER5bmFtaWNGb3JtTW9kdWxlLCBFbXB0eVN0YXRlTW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGUsIExvY2FsZU1vZHVsZSwgTnVtYmVySW5wdXRNb2R1bGUsIFRva2VuTGlzdE1vZHVsZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc01vZHVsZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvcGxhdGZvcm0tY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25EaXNwYXRjaGVyLCBJbnRlZ3JhdGlvbk1vZHVsZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMveW1zLXJvdXRpbmVzXCI7XG5pbXBvcnQgeyBIaWdobGlnaHRNb2R1bGUgfSBmcm9tIFwibmd4LWhpZ2hsaWdodGpzXCI7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9hY2NvcmRpb25cIjtcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2R5bmFtaWNkaWFsb2cvZHluYW1pY2RpYWxvZ1wiO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NvbmZpcm1kaWFsb2dcIjtcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2RpYWxvZ1wiO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9kcm9wZG93blwiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3BhbmVsXCI7XG5pbXBvcnQgeyBUYWJWaWV3TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvcHJpbWVuZ1wiO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgRmllbGRDdXN0b21pemF0aW9uU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9maWVsZC1jdXN0b21pemF0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IEZvY3VzU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9mb2N1cy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOb3RhRm9ybU1vZHVsZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvbm90YS1mb3JtL25vdGEtZm9ybS5tb2R1bGVcIjtcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tIFwiLi9jb3JlL2NvcmUubW9kdWxlXCI7XG5pbXBvcnQgeyBIb3RrZXlNb2R1bGUgfSBmcm9tIFwiYW5ndWxhcjItaG90a2V5c1wiO1xuaW1wb3J0IHsgRGV2b2x1Y2FvQ2hlZ2FkYVZlaWN1bG9PdmVycmlkZSB9IGZyb20gXCIuL2Rldm9sdWNhby9kZXZvbHVjYW8tY2hlZ2FkYS12ZWljdWxvLm92ZXJyaWRlXCI7XG5pbXBvcnQgeyBEZXZvbHVjYW9Gb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vZGV2b2x1Y2FvL2Zvcm0vZGV2b2x1Y2FvLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEZXZvbHVjYW9JbmZvQ29tcG9uZW50IH0gZnJvbSBcIi4vZGV2b2x1Y2FvL2luZm8vaW5mby9kZXZvbHVjYW8taW5mby5jb21wb25lbnRcIjtcbmltcG9ydCB7IEV4cGVkaWNhb0NoZWdhZGFWZWljdWxvT3ZlcnJpZGUgfSBmcm9tIFwiLi9leHBlZGljYW8vZXhwZWRpY2FvLWNoZWdhZGEtdmVpY3Vsby5vdmVycmlkZVwiO1xuaW1wb3J0IHsgRXhwZWRpY2FvRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2V4cGVkaWNhby9mb3JtL2V4cGVkaWNhby1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRXhwZWRpY2FvSW5mb0NvbXBvbmVudCB9IGZyb20gXCIuL2V4cGVkaWNhby9pbmZvL2V4cGVkaWNhby1pbmZvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2Zvcm0vZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tIFwiLi9pbmZvL2luZm8uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb2dJbnRlZ3JhY2FvQ29tcG9uZW50IH0gZnJvbSBcIi4vbG9nLWludGVncmFjYW8vbG9nLWludGVncmFjYW8uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9jZXNzb0F2dWxzb0Zvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9wcm9jZXNzby1hdnVsc28vZm9ybS9wcm9jZXNzby1hdnVsc28tZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2Nlc3NvQXZ1bHNvSW5mb0NvbXBvbmVudCB9IGZyb20gXCIuL3Byb2Nlc3NvLWF2dWxzby9pbmZvL3Byb2Nlc3NvLWF2dWxzby1pbmZvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvY2Vzc29BdnVsc29DaGVnYWRhVmVpY3Vsb092ZXJyaWRlIH0gZnJvbSBcIi4vcHJvY2Vzc28tYXZ1bHNvL3Byb2Nlc3NvLWF2dWxzby1jaGVnYWRhLXZlaWN1bG8ub3ZlcnJpZGVcIjtcbmltcG9ydCB7IFJlY2ViaW1lbnRvT3JkZW1Db21wcmFGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vcmVjZWJpbWVudG8tb3JkZW0tY29tcHJhL2Zvcm0vcmVjZWJpbWVudG8tb3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWNlYmltZW50b09yZGVtQ29tcHJhSW5mb0NvbXBvbmVudCB9IGZyb20gXCIuL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9pbmZvL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS1pbmZvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVjZWJpbWVudG9PcmRlbUNvbXByYUNoZWdhZGFWZWljdWxvT3ZlcnJpZGUgfSBmcm9tIFwiLi9yZWNlYmltZW50by1vcmRlbS1jb21wcmEvcmVjZWJpbWVudG8tb3JkZW0tY29tcHJhLWNoZWdhZGEtdmVpY3Vsby5vdmVycmlkZVwiO1xuaW1wb3J0IHsgQ29udHJhdG9Gb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vcmVjZWJpbWVudG8vY29udHJhdG8tZm9ybS9jb250cmF0by1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVjZWJpbWVudG9Gb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vcmVjZWJpbWVudG8vZm9ybS9yZWNlYmltZW50by1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVjZWJpbWVudG9JbmZvQ29tcG9uZW50IH0gZnJvbSBcIi4vcmVjZWJpbWVudG8vaW5mby9yZWNlYmltZW50by1pbmZvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVjZWJpbWVudG9DaGVnYWRhVmVpY3Vsb092ZXJyaWRlIH0gZnJvbSBcIi4vcmVjZWJpbWVudG8vcmVjZWJpbWVudG8tY2hlZ2FkYS12ZWljdWxvLm92ZXJyaWRlXCI7XG5cbmltcG9ydCBqc29ueCBmcm9tICdoaWdobGlnaHQuanMvbGliL2xhbmd1YWdlcy9qc29uJztcbmltcG9ydCB4bWx4IGZyb20gJ2hpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL3htbCdcblxuZXhwb3J0IGZ1bmN0aW9uIGhpZ2hsaWdodExhbmd1YWdlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7IG5hbWU6ICdqc29uJywgZnVuYzoganNvbnggfSxcbiAgICAgICAgeyBuYW1lOiAneG1sJywgZnVuYzogeG1seCB9XG4gICAgXTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsgXG4gICAgICAgIEZvcm1Db21wb25lbnQsIFxuICAgICAgICBSZWNlYmltZW50b0Zvcm1Db21wb25lbnQsIFxuICAgICAgICBFeHBlZGljYW9Gb3JtQ29tcG9uZW50LFxuICAgICAgICBJbmZvQ29tcG9uZW50LFxuICAgICAgICBFeHBlZGljYW9JbmZvQ29tcG9uZW50LFxuICAgICAgICBSZWNlYmltZW50b0luZm9Db21wb25lbnQsXG4gICAgICAgIERldm9sdWNhb0Zvcm1Db21wb25lbnQsXG4gICAgICAgIFJlY2ViaW1lbnRvT3JkZW1Db21wcmFGb3JtQ29tcG9uZW50LFxuICAgICAgICBSZWNlYmltZW50b09yZGVtQ29tcHJhSW5mb0NvbXBvbmVudCxcbiAgICAgICAgRGV2b2x1Y2FvSW5mb0NvbXBvbmVudCxcbiAgICAgICAgQ29udHJhdG9Gb3JtQ29tcG9uZW50LFxuICAgICAgICBPcmRlbUNvbXByYUZvcm1Db21wb25lbnQsXG4gICAgICAgIFByb2Nlc3NvQXZ1bHNvRm9ybUNvbXBvbmVudCxcbiAgICAgICAgUHJvY2Vzc29BdnVsc29JbmZvQ29tcG9uZW50LFxuICAgICAgICBMb2dJbnRlZ3JhY2FvQ29tcG9uZW50XG4gICAgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFsgRm9ybUNvbXBvbmVudCwgSW5mb0NvbXBvbmVudCwgQ29udHJhdG9Gb3JtQ29tcG9uZW50LCBPcmRlbUNvbXByYUZvcm1Db21wb25lbnQsIExvZ0ludGVncmFjYW9Db21wb25lbnQgXSxcbiAgICBleHBvcnRzOiBbIEZvcm1Db21wb25lbnQsIEluZm9Db21wb25lbnQgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgQ3VzdG9tRmllbGRzTW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgICAgIER5bmFtaWNGb3JtTW9kdWxlLFxuICAgICAgICBUb2tlbkxpc3RNb2R1bGUsXG4gICAgICAgIFBhbmVsTW9kdWxlLFxuICAgICAgICBBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgICAgICBOdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgQ29uZmlybURpYWxvZ01vZHVsZSxcbiAgICAgICAgTG9jYWxlTW9kdWxlLFxuICAgICAgICBJbnRlZ3JhdGlvbk1vZHVsZSxcbiAgICAgICAgQ29yZU1vZHVsZSxcbiAgICAgICAgUGVybWlzc2lvbnNNb2R1bGUsXG4gICAgICAgIER5bmFtaWNEaWFsb2dNb2R1bGUsXG4gICAgICAgIE5vdGFGb3JtTW9kdWxlLFxuICAgICAgICBBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBUYWJWaWV3TW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIEhpZ2hsaWdodE1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICAgIGxhbmd1YWdlczogaGlnaGxpZ2h0TGFuZ3VhZ2VzXG4gICAgICAgIH0pLFxuICAgICAgICBIb3RrZXlNb2R1bGUuZm9yUm9vdCgpLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbIFxuICAgICAgICBGaWVsZEN1c3RvbWl6YXRpb25TZXJ2aWNlLCBcbiAgICAgICAgRm9jdXNTZXJ2aWNlLCBcbiAgICAgICAgUmVjZWJpbWVudG9DaGVnYWRhVmVpY3Vsb092ZXJyaWRlLCBcbiAgICAgICAgRXhwZWRpY2FvQ2hlZ2FkYVZlaWN1bG9PdmVycmlkZSwgXG4gICAgICAgIERldm9sdWNhb0NoZWdhZGFWZWljdWxvT3ZlcnJpZGUsXG4gICAgICAgIFJlY2ViaW1lbnRvT3JkZW1Db21wcmFDaGVnYWRhVmVpY3Vsb092ZXJyaWRlLCBcbiAgICAgICAgUHJvY2Vzc29BdnVsc29DaGVnYWRhVmVpY3Vsb092ZXJyaWRlLFxuICAgICAgICBWZXJpZmljYU5vdGFmaXNjYWxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVycFNlbmlvck1vZHVsZSB7IFxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlzcGF0Y2hlcjogSW50ZWdyYXRpb25EaXNwYXRjaGVyKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlclxuICAgICAgICAgICAgLmRpc3BhdGNoKEZvcm1Db21wb25lbnQpXG4gICAgICAgICAgICAuZGlzcGF0Y2goSW5mb0NvbXBvbmVudClcbiAgICAgICAgICAgIC5kaXNwYXRjaChMb2dJbnRlZ3JhY2FvQ29tcG9uZW50KVxuICAgIH1cbn0iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLXNlbmlvci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL2VycC1zZW5pb3IvZXJwLXNlbmlvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdE4sT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFD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QUQ1QyxlQUFlLENBTzNCO0lBQUQsc0JBQUM7Q0FBQSxBQVBELElBT0M7U0FQWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyaWZpY2FOb3RhZmlzY2FsIH0gZnJvbSAnLi9jb3JlL3ZlcmlmaWNhLW5vdGEtZmlzY2FsL3ZlcmlmaWNhTm90YUZpc2NhbCc7XG5pbXBvcnQgeyBPcmRlbUNvbXByYUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9vcmRlbS1jb21wcmEtZm9ybS9vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIENvbnRyb2xFcnJvcnNNb2R1bGUsIEN1c3RvbUZpZWxkc01vZHVsZSwgRHluYW1pY0Zvcm1Nb2R1bGUsIEVtcHR5U3RhdGVNb2R1bGUsIExvYWRpbmdTdGF0ZU1vZHVsZSwgTG9jYWxlTW9kdWxlLCBOdW1iZXJJbnB1dE1vZHVsZSwgVG9rZW5MaXN0TW9kdWxlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IFBlcm1pc3Npb25zTW9kdWxlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9wbGF0Zm9ybS1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvbkRpc3BhdGNoZXIsIEludGVncmF0aW9uTW9kdWxlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy95bXMtcm91dGluZXNcIjtcbmltcG9ydCB7IEhpZ2hsaWdodE1vZHVsZSB9IGZyb20gXCJuZ3gtaGlnaGxpZ2h0anNcIjtcbmltcG9ydCB7IEFjY29yZGlvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2FjY29yZGlvblwiO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NvbXBvbmVudHMvZHluYW1pY2RpYWxvZy9keW5hbWljZGlhbG9nXCI7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvY29uZmlybWRpYWxvZ1wiO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dHRleHRcIjtcbmltcG9ydCB7IFBhbmVsTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvcGFuZWxcIjtcbmltcG9ydCB7IFRhYlZpZXdNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wcmltZW5nXCI7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBGaWVsZEN1c3RvbWl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL2ZpZWxkLWN1c3RvbWl6YXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL2ZvY3VzLnNlcnZpY2VcIjtcbmltcG9ydCB7IE5vdGFGb3JtTW9kdWxlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9ub3RhLWZvcm0vbm90YS1mb3JtLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gXCIuL2NvcmUvY29yZS5tb2R1bGVcIjtcbmltcG9ydCB7IEhvdGtleU1vZHVsZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgeyBEZXZvbHVjYW9DaGVnYWRhVmVpY3Vsb092ZXJyaWRlIH0gZnJvbSBcIi4vZGV2b2x1Y2FvL2Rldm9sdWNhby1jaGVnYWRhLXZlaWN1bG8ub3ZlcnJpZGVcIjtcbmltcG9ydCB7IERldm9sdWNhb0Zvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9kZXZvbHVjYW8vZm9ybS9kZXZvbHVjYW8tZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERldm9sdWNhb0luZm9Db21wb25lbnQgfSBmcm9tIFwiLi9kZXZvbHVjYW8vaW5mby9pbmZvL2Rldm9sdWNhby1pbmZvLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRXhwZWRpY2FvQ2hlZ2FkYVZlaWN1bG9PdmVycmlkZSB9IGZyb20gXCIuL2V4cGVkaWNhby9leHBlZGljYW8tY2hlZ2FkYS12ZWljdWxvLm92ZXJyaWRlXCI7XG5pbXBvcnQgeyBFeHBlZGljYW9Gb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vZXhwZWRpY2FvL2Zvcm0vZXhwZWRpY2FvLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBFeHBlZGljYW9JbmZvQ29tcG9uZW50IH0gZnJvbSBcIi4vZXhwZWRpY2FvL2luZm8vZXhwZWRpY2FvLWluZm8uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS9mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gXCIuL2luZm8vaW5mby5jb21wb25lbnRcIjtcbmltcG9ydCB7IExvZ0ludGVncmFjYW9Db21wb25lbnQgfSBmcm9tIFwiLi9sb2ctaW50ZWdyYWNhby9sb2ctaW50ZWdyYWNhby5jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2Nlc3NvQXZ1bHNvRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3Byb2Nlc3NvLWF2dWxzby9mb3JtL3Byb2Nlc3NvLWF2dWxzby1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvY2Vzc29BdnVsc29JbmZvQ29tcG9uZW50IH0gZnJvbSBcIi4vcHJvY2Vzc28tYXZ1bHNvL2luZm8vcHJvY2Vzc28tYXZ1bHNvLWluZm8uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9jZXNzb0F2dWxzb0NoZWdhZGFWZWljdWxvT3ZlcnJpZGUgfSBmcm9tIFwiLi9wcm9jZXNzby1hdnVsc28vcHJvY2Vzc28tYXZ1bHNvLWNoZWdhZGEtdmVpY3Vsby5vdmVycmlkZVwiO1xuaW1wb3J0IHsgUmVjZWJpbWVudG9PcmRlbUNvbXByYUZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9yZWNlYmltZW50by1vcmRlbS1jb21wcmEvZm9ybS9yZWNlYmltZW50by1vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJlY2ViaW1lbnRvT3JkZW1Db21wcmFJbmZvQ29tcG9uZW50IH0gZnJvbSBcIi4vcmVjZWJpbWVudG8tb3JkZW0tY29tcHJhL2luZm8vcmVjZWJpbWVudG8tb3JkZW0tY29tcHJhLWluZm8uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWNlYmltZW50b09yZGVtQ29tcHJhQ2hlZ2FkYVZlaWN1bG9PdmVycmlkZSB9IGZyb20gXCIuL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9yZWNlYmltZW50by1vcmRlbS1jb21wcmEtY2hlZ2FkYS12ZWljdWxvLm92ZXJyaWRlXCI7XG5pbXBvcnQgeyBDb250cmF0b0Zvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9yZWNlYmltZW50by9jb250cmF0by1mb3JtL2NvbnRyYXRvLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWNlYmltZW50b0Zvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9yZWNlYmltZW50by9mb3JtL3JlY2ViaW1lbnRvLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWNlYmltZW50b0luZm9Db21wb25lbnQgfSBmcm9tIFwiLi9yZWNlYmltZW50by9pbmZvL3JlY2ViaW1lbnRvLWluZm8uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWNlYmltZW50b0NoZWdhZGFWZWljdWxvT3ZlcnJpZGUgfSBmcm9tIFwiLi9yZWNlYmltZW50by9yZWNlYmltZW50by1jaGVnYWRhLXZlaWN1bG8ub3ZlcnJpZGVcIjtcblxuaW1wb3J0IGpzb254IGZyb20gJ2hpZ2hsaWdodC5qcy9saWIvbGFuZ3VhZ2VzL2pzb24nO1xuaW1wb3J0IHhtbHggZnJvbSAnaGlnaGxpZ2h0LmpzL2xpYi9sYW5ndWFnZXMveG1sJ1xuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NyYy91dGlscy9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhpZ2hsaWdodExhbmd1YWdlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7IG5hbWU6ICdqc29uJywgZnVuYzoganNvbnggfSxcbiAgICAgICAgeyBuYW1lOiAneG1sJywgZnVuYzogeG1seCB9XG4gICAgXTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsgXG4gICAgICAgIEZvcm1Db21wb25lbnQsIFxuICAgICAgICBSZWNlYmltZW50b0Zvcm1Db21wb25lbnQsIFxuICAgICAgICBFeHBlZGljYW9Gb3JtQ29tcG9uZW50LFxuICAgICAgICBJbmZvQ29tcG9uZW50LFxuICAgICAgICBFeHBlZGljYW9JbmZvQ29tcG9uZW50LFxuICAgICAgICBSZWNlYmltZW50b0luZm9Db21wb25lbnQsXG4gICAgICAgIERldm9sdWNhb0Zvcm1Db21wb25lbnQsXG4gICAgICAgIFJlY2ViaW1lbnRvT3JkZW1Db21wcmFGb3JtQ29tcG9uZW50LFxuICAgICAgICBSZWNlYmltZW50b09yZGVtQ29tcHJhSW5mb0NvbXBvbmVudCxcbiAgICAgICAgRGV2b2x1Y2FvSW5mb0NvbXBvbmVudCxcbiAgICAgICAgQ29udHJhdG9Gb3JtQ29tcG9uZW50LFxuICAgICAgICBPcmRlbUNvbXByYUZvcm1Db21wb25lbnQsXG4gICAgICAgIFByb2Nlc3NvQXZ1bHNvRm9ybUNvbXBvbmVudCxcbiAgICAgICAgUHJvY2Vzc29BdnVsc29JbmZvQ29tcG9uZW50LFxuICAgICAgICBMb2dJbnRlZ3JhY2FvQ29tcG9uZW50XG4gICAgXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFsgRm9ybUNvbXBvbmVudCwgSW5mb0NvbXBvbmVudCwgQ29udHJhdG9Gb3JtQ29tcG9uZW50LCBPcmRlbUNvbXByYUZvcm1Db21wb25lbnQsIExvZ0ludGVncmFjYW9Db21wb25lbnQgXSxcbiAgICBleHBvcnRzOiBbIEZvcm1Db21wb25lbnQsIEluZm9Db21wb25lbnQgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgQ3VzdG9tRmllbGRzTW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgICAgIER5bmFtaWNGb3JtTW9kdWxlLFxuICAgICAgICBUb2tlbkxpc3RNb2R1bGUsXG4gICAgICAgIFBhbmVsTW9kdWxlLFxuICAgICAgICBBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTG9hZGluZ1N0YXRlTW9kdWxlLFxuICAgICAgICBOdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgQ29uZmlybURpYWxvZ01vZHVsZSxcbiAgICAgICAgTG9jYWxlTW9kdWxlLFxuICAgICAgICBJbnRlZ3JhdGlvbk1vZHVsZSxcbiAgICAgICAgQ29yZU1vZHVsZSxcbiAgICAgICAgUGVybWlzc2lvbnNNb2R1bGUsXG4gICAgICAgIER5bmFtaWNEaWFsb2dNb2R1bGUsXG4gICAgICAgIE5vdGFGb3JtTW9kdWxlLFxuICAgICAgICBBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBUYWJWaWV3TW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIEhpZ2hsaWdodE1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICAgIGxhbmd1YWdlczogaGlnaGxpZ2h0TGFuZ3VhZ2VzXG4gICAgICAgIH0pLFxuICAgICAgICBIb3RrZXlNb2R1bGUuZm9yUm9vdCgpLFxuICAgICAgICBEaXJlY3RpdmVzTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFsgXG4gICAgICAgIEZpZWxkQ3VzdG9taXphdGlvblNlcnZpY2UsIFxuICAgICAgICBGb2N1c1NlcnZpY2UsIFxuICAgICAgICBSZWNlYmltZW50b0NoZWdhZGFWZWljdWxvT3ZlcnJpZGUsIFxuICAgICAgICBFeHBlZGljYW9DaGVnYWRhVmVpY3Vsb092ZXJyaWRlLCBcbiAgICAgICAgRGV2b2x1Y2FvQ2hlZ2FkYVZlaWN1bG9PdmVycmlkZSxcbiAgICAgICAgUmVjZWJpbWVudG9PcmRlbUNvbXByYUNoZWdhZGFWZWljdWxvT3ZlcnJpZGUsIFxuICAgICAgICBQcm9jZXNzb0F2dWxzb0NoZWdhZGFWZWljdWxvT3ZlcnJpZGUsXG4gICAgICAgIFZlcmlmaWNhTm90YWZpc2NhbFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRXJwU2VuaW9yTW9kdWxlIHsgXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkaXNwYXRjaGVyOiBJbnRlZ3JhdGlvbkRpc3BhdGNoZXIpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyXG4gICAgICAgICAgICAuZGlzcGF0Y2goRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIC5kaXNwYXRjaChJbmZvQ29tcG9uZW50KVxuICAgICAgICAgICAgLmRpc3BhdGNoKExvZ0ludGVncmFjYW9Db21wb25lbnQpXG4gICAgfVxufSJdfQ==