@ecodev/natural 45.4.2 → 46.0.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 (74) hide show
  1. package/esm2020/lib/classes/abstract-controller.mjs +2 -2
  2. package/esm2020/lib/classes/abstract-detail.mjs +10 -3
  3. package/esm2020/lib/classes/abstract-list.mjs +1 -1
  4. package/esm2020/lib/classes/abstract-navigable-list.mjs +1 -1
  5. package/esm2020/lib/classes/rxjs.mjs +1 -1
  6. package/esm2020/lib/classes/validators.mjs +2 -2
  7. package/esm2020/lib/modules/avatar/service/avatar.service.mjs +2 -2
  8. package/esm2020/lib/modules/avatar/service/md5.mjs +4 -4
  9. package/esm2020/lib/modules/columns-picker/columns-picker-column.directive.mjs +1 -1
  10. package/esm2020/lib/modules/common/pipes/swiss-date.pipe.mjs +1 -1
  11. package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +67 -34
  12. package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +4 -4
  13. package/esm2020/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +1 -1
  14. package/esm2020/lib/modules/dropdown-components/type-text/type-text.component.mjs +2 -2
  15. package/esm2020/lib/modules/file/abstract-file.mjs +2 -2
  16. package/esm2020/lib/modules/file/component/file.component.mjs +32 -24
  17. package/esm2020/lib/modules/file/file-drop.directive.mjs +1 -1
  18. package/esm2020/lib/modules/file/file-select.directive.mjs +1 -1
  19. package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +2 -2
  20. package/esm2020/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs +1 -1
  21. package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +1 -1
  22. package/esm2020/lib/modules/logger/error-handler.mjs +1 -1
  23. package/esm2020/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs +2 -2
  24. package/esm2020/lib/modules/panels/panels.service.mjs +2 -2
  25. package/esm2020/lib/modules/panels/types.mjs +1 -1
  26. package/esm2020/lib/modules/relations/relations.component.mjs +2 -2
  27. package/esm2020/lib/modules/search/classes/graphql-doctrine.mjs +11 -5
  28. package/esm2020/lib/modules/search/classes/transformers.mjs +51 -1
  29. package/esm2020/lib/modules/search/input/input.component.mjs +4 -4
  30. package/esm2020/lib/modules/search/public-api.mjs +2 -2
  31. package/esm2020/lib/modules/search/search/search.component.mjs +2 -2
  32. package/esm2020/lib/modules/search/types/facet.mjs +1 -1
  33. package/esm2020/lib/modules/search/types/values.mjs +1 -1
  34. package/esm2020/lib/modules/select/abstract-select.component.mjs +2 -2
  35. package/esm2020/lib/modules/select/select/select.component.mjs +1 -1
  36. package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +1 -2
  37. package/esm2020/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +1 -1
  38. package/esm2020/lib/modules/sidenav/sidenav/sidenav.component.mjs +2 -3
  39. package/esm2020/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +2 -3
  40. package/esm2020/lib/modules/sidenav/sidenav.service.mjs +1 -1
  41. package/esm2020/lib/modules/table-button/table-button.component.mjs +2 -2
  42. package/esm2020/lib/services/abstract-model.service.mjs +8 -1
  43. package/esm2020/lib/services/debounce.service.mjs +1 -1
  44. package/esm2020/lib/services/persistence.service.mjs +4 -2
  45. package/esm2020/lib/services/swiss-parsing-date-adapter.service.mjs +1 -1
  46. package/fesm2015/ecodev-natural.mjs +1299 -1194
  47. package/fesm2015/ecodev-natural.mjs.map +1 -1
  48. package/fesm2020/ecodev-natural.mjs +712 -609
  49. package/fesm2020/ecodev-natural.mjs.map +1 -1
  50. package/lib/classes/abstract-controller.d.ts +0 -1
  51. package/lib/modules/avatar/service/avatar.service.d.ts +0 -1
  52. package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +6 -2
  53. package/lib/modules/dropdown-components/type-date-range/type-date-range.component.d.ts +1 -1
  54. package/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.d.ts +1 -2
  55. package/lib/modules/dropdown-components/type-text/type-text.component.d.ts +2 -2
  56. package/lib/modules/file/abstract-file.d.ts +1 -1
  57. package/lib/modules/file/component/file.component.d.ts +32 -9
  58. package/lib/modules/fixed-button/fixed-button.component.d.ts +0 -1
  59. package/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.d.ts +1 -2
  60. package/lib/modules/panels/types.d.ts +1 -2
  61. package/lib/modules/relations/relations.component.d.ts +2 -2
  62. package/lib/modules/search/classes/transformers.d.ts +15 -0
  63. package/lib/modules/search/input/input.component.d.ts +6 -5
  64. package/lib/modules/search/public-api.d.ts +1 -1
  65. package/lib/modules/search/search/search.component.d.ts +2 -2
  66. package/lib/modules/search/types/facet.d.ts +1 -2
  67. package/lib/modules/search/types/values.d.ts +2 -4
  68. package/lib/modules/select/abstract-select.component.d.ts +2 -2
  69. package/lib/modules/select/select-enum/select-enum.component.d.ts +0 -1
  70. package/lib/modules/sidenav/sidenav/sidenav.component.d.ts +0 -1
  71. package/lib/modules/sidenav/sidenav-content/sidenav-content.component.d.ts +0 -1
  72. package/lib/modules/table-button/table-button.component.d.ts +2 -2
  73. package/lib/services/debounce.service.d.ts +1 -1
  74. package/package.json +1 -1
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
204
204
  }], disabled: [{
205
205
  type: Input
206
206
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVoQyxPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFDLDRCQUE0QixFQUFpQixNQUFNLHlDQUF5QyxDQUFDO0FBR3JHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUk1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBTUgsTUFBTSxPQUFPLHNCQWNULFNBQVEsY0FBd0M7SUFuQnBEOztRQThCSTs7V0FFRztRQUNhLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBc0IsUUFBUSxDQUFDO1FBVTFEOztXQUVHO1FBQ0ksVUFBSyxHQUFzQyxJQUFJLENBQUM7UUFFdkQ7O1dBRUc7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNJLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRXZCOztXQUVHO1FBQ0ssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUV0Qjs7V0FFRztRQUNLLHFCQUFnQixHQUFHLElBQUksNEJBQTRCLEVBQWtCLENBQUM7S0FtSWpGO0lBbktHOztPQUVHO0lBQ0gsSUFDVyxNQUFNLENBQUMsTUFBMEQ7UUFDeEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUE0QkQ7O09BRUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxRQUFpQjtRQUNqQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzlFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sb0JBQW9CO1FBQ3ZCLDRFQUE0RTtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEQ7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNYLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDZiwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUM3QyxNQUFNLElBQUksU0FBUyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7U0FDOUU7UUFFRCxNQUFNLGlCQUFpQixHQUFHO1lBQ3RCLFVBQVUsRUFBRTtnQkFDUixTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDMUI7U0FDSixDQUFDO1FBRUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sV0FBVztRQUNkLHlCQUF5QjtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixPQUFPO1NBQ1Y7UUFFRCw2RUFBNkU7UUFDN0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQzFELFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFDdEMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxHQUFHLFFBQVEsQ0FBQztZQUV0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUF5QjtRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUVyQiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN4QyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7UUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzNCO1FBRUQsT0FBTyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7YUFDYjtZQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUMxQixPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEYsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSTtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUF3QjtRQUNsQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQzNDLElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDL0I7WUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQXFCLENBQUMsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0wsQ0FBQztJQUVNLGVBQWU7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDeEYsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFtQjtRQUN2QyxJQUFJLEtBQUssR0FBWSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRTtZQUMvQixLQUFLLEdBQUcsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksSUFBSSxFQUFFO1lBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsRUFBQyxFQUFDLENBQUM7U0FDL0Q7UUFFRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBQyxDQUFDO0lBQ3ZELENBQUM7O21IQXJNUSxzQkFBc0I7dUdBQXRCLHNCQUFzQixzT0FrQmpCLFdBQVcsNkZBRGQsc0JBQXNCLHVFQzdEckMsbzVGQWlGQTsyRkRyQ2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLGdCQUFnQjs4QkFxQmdCLFdBQVc7c0JBQXBELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNDLFlBQVk7c0JBQTdDLFlBQVk7dUJBQUMsV0FBVztnQkFLVCxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBS1UsV0FBVztzQkFBMUIsS0FBSztnQkFNSyxNQUFNO3NCQURoQixLQUFLO2dCQW1DSyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlVHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaW5hbGl6ZSwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGFnaW5hdGVkRGF0YX0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFF1ZXJ5VmFyaWFibGVzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fic3RyYWN0LW1vZGVsLnNlcnZpY2UnO1xuaW1wb3J0IHtFeHRyYWN0VGFsbE9uZSwgRXh0cmFjdFZhbGwsIExpdGVyYWx9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3R5cGVzJztcbmltcG9ydCB7QWJzdHJhY3RTZWxlY3R9IGZyb20gJy4uL2Fic3RyYWN0LXNlbGVjdC5jb21wb25lbnQnO1xuXG50eXBlIFY8VFNlcnZpY2U+ID0gc3RyaW5nIHwgRXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+O1xuXG4vKipcbiAqIERlZmF1bHQgdXNhZ2U6XG4gKiA8bmF0dXJhbC1zZWxlY3QgW3NlcnZpY2VdPVwiYW1hemluZ1NlcnZpY2VJbnN0YW5jZVwiIFsobW9kZWwpXT1cImFtYXppbmdNb2RlbFwiIChtb2RlbENoYW5nZSk9YW1hemluZ0NoYW5nZUZuKCRldmVudCk+PC9uYXR1cmFsLXNlbGVjdD5cbiAqXG4gKiBDdXN0b20gdGVtcGxhdGUgdXNhZ2UgOlxuICogPG5hdHVyYWwtc2VsZWN0IFtzZXJ2aWNlXT1cInN2Y1wiIFsobmdNb2RlbCldPVwibW9kZWxcIj5cbiAqICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gKiAgICAgICAgIDxzcGFuPnt7IGl0ZW0ueHh4IH19PC9zcGFuPlxuICogICAgIDwvbmctdGVtcGxhdGU+XG4gKiA8L25hdHVyYWwtc2VsZWN0PlxuICpcbiAqIFsobmdNb2RlbCldIGFuZCAobmdNb2RlbENoYW5nZSkgYXJlIG9wdGlvbmFsXG4gKlxuICogUGxhY2Vob2xkZXIgOlxuICogPG5hdHVyYWwtc2VsZWN0IHBsYWNlaG9sZGVyPVwiYW1hemluZyBwbGFjZWhvbGRlclwiPlxuICpcbiAqIE5ldmVyIGZsb2F0IHBsYWNlaG9sZGVyIDpcbiAqIDxuYXR1cmFsLXNlbGVjdCBwbGFjZWhvbGRlcj1cImFtYXppbmcgcGxhY2Vob2xkZXJcIiBmbG9hdFBsYWNlaG9sZGVyPVwibmV2ZXJcIj5cbiAqXG4gKiBTZWFyY2ggd2l0aCBsaWtlICV4eHglIG9uIHNwZWNpZmllZCBhdHRyaWJ1dGUgbmFtZSBpbnN0ZWFkIG9mIGN1c3RvbSBmaWx0ZXIgb24gd2hvbGUgb2JqZWN0XG4gKiA8bmF0dXJhbC1zZWxlY3QgW3NlYXJjaEZpZWxkXT1cInN0cmluZ1wiPlxuICpcbiAqIEFsbG93cyB0byBpbnB1dCBmcmVlIHN0cmluZyB3aXRob3V0IHNlbGVjdGluZyBhbiBvcHRpb24gZnJvbSBhdXRvY29tcGxldGUgc3VnZ2VzdGlvbnNcbiAqIDxuYXR1cmFsLXNlbGVjdCBbb3B0aW9uUmVxdWlyZWRdPVwiZmFsc2VcIj5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTZWxlY3RDb21wb25lbnQ8XG4gICAgICAgIFRTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlPFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgUGFnaW5hdGVkRGF0YTxMaXRlcmFsPixcbiAgICAgICAgICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RTZWxlY3Q8VjxUU2VydmljZT4sIFY8VFNlcnZpY2U+PlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XG57XG4gICAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBwdWJsaWMgYXV0b1RyaWdnZXIhOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIHB1YmxpYyBpdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogU2VydmljZSB3aXRoIHdhdGNoQWxsIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBxdWVyeVZhcmlhYmxlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc2VydmljZSE6IFRTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogSWYgZmFsc2UsIGFsbG93cyB0byBpbnB1dCBmcmVlIHN0cmluZyB3aXRob3V0IHNlbGVjdGluZyBhbiBvcHRpb24gZnJvbSBhdXRvY29tcGxldGUgc3VnZ2VzdGlvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uUmVxdWlyZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGZpbHRlciBhdHRyaWJ1dGUgdG8gYmluZCB3aGVuIHNlYXJjaGluZyBmb3IgYSB0ZXJtXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNlYXJjaEZpZWxkOiAnY3VzdG9tJyB8IHN0cmluZyA9ICdjdXN0b20nO1xuXG4gICAgLyoqXG4gICAgICogQWRkaXRpb25hbCBmaWx0ZXIgZm9yIHF1ZXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZpbHRlcihmaWx0ZXI6IEV4dHJhY3RWYWxsPFRTZXJ2aWNlPlsnZmlsdGVyJ10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ2FkZGl0aW9uYWwtZmlsdGVyJywge2ZpbHRlcjogZmlsdGVyfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXRlbXMgcmV0dXJuZWQgYnkgc2VydmVyIHRvIHNob3cgaW4gbGlzdGluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBpdGVtczogbnVsbCB8IE9ic2VydmFibGU8cmVhZG9ubHkgYW55W10+ID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYSB3ZSBhcmUgc2VhcmNoaW5nIHNvbWV0aGluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgaXRlbXMgbm90IHNob3duIGluIHJlc3VsdCBsaXN0XG4gICAgICogU2hvd3MgYSBtZXNzYWdlIGFmdGVyIGxpc3QgaWYgcG9zaXRpdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgbW9yZU5iSXRlbXMgPSAwO1xuXG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBwYWdlIHNpemVcbiAgICAgKi9cbiAgICBwcml2YXRlIHBhZ2VTaXplID0gMTA7XG5cbiAgICAvKipcbiAgICAgKiBJbml0IHNlYXJjaCBvcHRpb25zXG4gICAgICovXG4gICAgcHJpdmF0ZSB2YXJpYWJsZXNNYW5hZ2VyID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXI8UXVlcnlWYXJpYWJsZXM+KCk7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB2YWx1ZSBjYW4gYmUgY2hhbmdlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICBkaXNhYmxlZCA/IHRoaXMuaW50ZXJuYWxDdHJsLmRpc2FibGUoKSA6IHRoaXMuaW50ZXJuYWxDdHJsLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxDdHJsLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIGRlYm91bmNlVGltZSgzMDApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4gdGhpcy5zZWFyY2godmFsKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSW50ZXJuYWxGb3JtQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICAvLyBJZiB3ZSBhbGxvdyBmcmVlIHN0cmluZyB0eXBpbmcsIHRoZW4gd2UgcHJvcGFnYXRlIGl0IGFzIGl0IGlzIGJlaW5nIHR5cGVkXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25SZXF1aXJlZCkge1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVWYWx1ZSh0aGlzLmludGVybmFsQ3RybC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaW5pdFNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICAvLyBBc3NlcnQgZ2l2ZW4gc2VydmljZSBoYXMgYSB3YXRjaEFsbCBmdW5jdGlvblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2VydmljZS53YXRjaEFsbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUHJvdmlkZWQgc2VydmljZSBkb2VzIG5vdCBjb250YWluIHdhdGNoQWxsIGZ1bmN0aW9uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0UGFnaW5hdGlvbiA9IHtcbiAgICAgICAgICAgIHBhZ2luYXRpb246IHtcbiAgICAgICAgICAgICAgICBwYWdlSW5kZXg6IDAsXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IG1lcmdlKGRlZmF1bHRQYWdpbmF0aW9uLCB0aGlzLmdldFNlYXJjaEZpbHRlcihudWxsKSk7XG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ3ZhcmlhYmxlcycsIHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0U2VhcmNoKCk6IHZvaWQge1xuICAgICAgICAvLyBTdGFydCBzZWFyY2ggb25seSBvbmNlXG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbml0IHF1ZXJ5LCBhbmQgd2hlbiBxdWVyeSByZXN1bHRzIGFycml2ZSwgZmluaXNoIGxvYWRpbmcsIGFuZCBjb3VudCBpdGVtc1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZXJ2aWNlLndhdGNoQWxsKHRoaXMudmFyaWFibGVzTWFuYWdlcikucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSksXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgY29uc3QgbmJUb3RhbCA9IGRhdGEubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5iTGlzdGVkID0gTWF0aC5taW4oZGF0YS5sZW5ndGgsIHRoaXMucGFnZVNpemUpO1xuICAgICAgICAgICAgICAgIHRoaXMubW9yZU5iSXRlbXMgPSBuYlRvdGFsIC0gbmJMaXN0ZWQ7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5pdGVtcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaXRlbXMuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb3BhZ2F0ZVZhbHVlKHZhbHVlOiBWPFRTZXJ2aWNlPiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgLy8gSWYgd2UgY2xlYXJlZCB2YWx1ZSB2aWEgYnV0dG9uLCBidXQgd2UgYWxsb3cgZnJlZSBzdHJpbmcgdHlwaW5nLCB0aGVuIGZvcmNlIHRvIGVtcHR5IHN0cmluZ1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9uUmVxdWlyZWQgJiYgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci5wcm9wYWdhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmVyeSBpbXBvcnRhbnQgdG8gcmV0dXJuIHNvbWV0aGluZywgYWJvdmUgYWxsIGlmIFtzZWxlY3RdPSdkaXNwbGF5ZWRWYWx1ZScgYXR0cmlidXRlIHZhbHVlIGlzIHVzZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGlzcGxheUZuKCk6IChpdGVtOiBWPFRTZXJ2aWNlPiB8IG51bGwpID0+IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXlXaXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5V2l0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZnVsbE5hbWUgfHwgaXRlbS5uYW1lIHx8IGl0ZW0uaWJhbiB8fCBpdGVtW3RoaXMuc2VhcmNoRmllbGRdIHx8IGl0ZW0uaWQ7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2gobnVsbCk7XG4gICAgICAgIHN1cGVyLmNsZWFyKGVtaXRFdmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaCh0ZXJtOiBWPFRTZXJ2aWNlPiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXJtID09PSAnc3RyaW5nJyB8fCB0ZXJtID09PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodGVybSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9ICEhdGhpcy5pdGVtcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLm1lcmdlKCd2YXJpYWJsZXMnLCB0aGlzLmdldFNlYXJjaEZpbHRlcih0ZXJtIGFzIHN0cmluZyB8IG51bGwpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzaG93Q2xlYXJCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsQ3RybD8uZW5hYmxlZCAmJiAhIXRoaXMuY2xlYXJMYWJlbCAmJiAhIXRoaXMuaW50ZXJuYWxDdHJsLnZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VhcmNoRmlsdGVyKHRlcm06IHN0cmluZyB8IG51bGwpOiBRdWVyeVZhcmlhYmxlcyB7XG4gICAgICAgIGxldCBmaWVsZDogTGl0ZXJhbCA9IHt9O1xuXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaEZpZWxkID09PSAnY3VzdG9tJykge1xuICAgICAgICAgICAgZmllbGQgPSB7Y3VzdG9tOiB0ZXJtID8ge3NlYXJjaDoge3ZhbHVlOiB0ZXJtfX0gOiBudWxsfTtcbiAgICAgICAgfSBlbHNlIGlmICh0ZXJtKSB7XG4gICAgICAgICAgICBmaWVsZFt0aGlzLnNlYXJjaEZpZWxkXSA9IHtsaWtlOiB7dmFsdWU6ICclJyArIHRlcm0gKyAnJSd9fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7ZmlsdGVyOiB7Z3JvdXBzOiBbe2NvbmRpdGlvbnM6IFtmaWVsZF19XX19O1xuICAgIH1cbn1cbiIsIjwhLS0gQXV0b2NvbXBsZXRlIG1lbnUgLS0+XG48bWF0LWF1dG9jb21wbGV0ZVxuICAgICNhYz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgKG9wdGlvblNlbGVjdGVkKT1cInByb3BhZ2F0ZVZhbHVlKCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICBbZGlzcGxheVdpdGhdPVwiZ2V0RGlzcGxheUZuKClcIlxuICAgIHBhbmVsV2lkdGg9XCJhdXRvICFpbXBvcnRhbnRcIlxuPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlIDogZGVmYXVsdEFDSXRlbVwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9yZU5iSXRlbXMgPiAwXCIgY2xhc3M9XCJtYXQtY2FwdGlvblwiIGkxOG4gc3R5bGU9XCJwYWRkaW5nOiA1cHggMTBweFwiXG4gICAgICAgID57eyBtb3JlTmJJdGVtcyB9fSDDqWzDqW1lbnQocykgc3VwcGzDqW1lbnRhaXJlKHMpPC9kaXZcbiAgICA+XG48L21hdC1hdXRvY29tcGxldGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEFDSXRlbSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8c3Bhbj57eyBnZXREaXNwbGF5Rm4oKShpdGVtKSB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gSW5wdXQgZm9yIGF1dG9jb21wbGV0ZSAtLT5cbjxtYXQtZm9ybS1maWVsZCBbZmxvYXRMYWJlbF09XCJmbG9hdFBsYWNlaG9sZGVyXCI+XG4gICAgPG1hdC1sYWJlbD57eyBwbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuXG4gICAgPGlucHV0XG4gICAgICAgIChibHVyKT1cInRvdWNoKCk7IGJsdXIuZW1pdCgpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkludGVybmFsRm9ybUNoYW5nZSgpXCJcbiAgICAgICAgKGNsaWNrKT1cImF1dG9UcmlnZ2VyLm9wZW5QYW5lbCgpXCJcbiAgICAgICAgKGZvY3VzKT1cInN0YXJ0U2VhcmNoKClcIlxuICAgICAgICAoa2V5ZG93bi5lc2MpPVwiY2xlYXIoKVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbEN0cmxcIlxuICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImFjXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlY2hlcmNoZSBldCBzw6lsZWN0aW9uXCJcbiAgICAgICAgaTE4bi1hcmlhLWxhYmVsXG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAvPlxuXG4gICAgPCEtLSBNZXRhIGRhdGEgLS0+XG4gICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cIiFsb2FkaW5nICYmIHNob3dJY29uXCIgW25hbWVdPVwiaWNvblwiIG1hdFByZWZpeD48L25hdHVyYWwtaWNvbj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgW2RpYW1ldGVyXT1cIjIxXCJcbiAgICAgICAgW3N0cm9rZVdpZHRoXT1cIjVcIlxuICAgICAgICBtYXRQcmVmaXhcbiAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuXG4gICAgPCEtLSBDbGVhciBidXR0b24gLS0+XG4gICAgPGRpdiBjbGFzcz1cInN1ZmZpeC1idXR0b25zXCIgbWF0U3VmZml4PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaW50ZXJuYWxDdHJsLnZhbHVlICYmIGludGVybmFsQ3RybC5lbmFibGVkICYmICFjbGVhckxhYmVsXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiRMOpc8OpbGVjdGlvbm5lclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuYXR1cmFsLWljb24gbmFtZT1cImNsb3NlXCI+PC9uYXR1cmFsLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImludGVybmFsQ3RybC52YWx1ZSAmJiBuYXZpZ2F0ZVRvXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlVG9cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGkxOG4tbWF0VG9vbHRpcFxuICAgICAgICAgICAgbWF0VG9vbHRpcD1cIk5hdmlndWVyIHZlcnNcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmF0dXJhbC1pY29uIG5hbWU9XCJvcGVuX2luX2Jyb3dzZXJcIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzUmVxdWlyZWRFcnJvcigpXCIgaTE4bj5DZSBjaGFtcCBlc3QgcmVxdWlzPC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48IS0tIEFkZGl0aW9uYWwgKHVuKXNlbGVjdC8odW4pbGluayBidXR0b25zIGZvciBtb3JlIHZpc3VhbCBjb2hlc2lvbiB3aXRoIG5hdHVyYWwtcmVsYXRpb25zIC0tPjwhLS0gW2NsZWFyTGFiZWxdIGFuZC9vciBbc2VsZWN0TGFiZWxdIGhhcyB0byBiZSBnaXZlbiBhcyBhdHRyaWJ1dGUgaW5wdXQgLS0+XG48ZGl2ICpuZ0lmPVwic2hvd0NsZWFyQnV0dG9uKClcIiBjbGFzcz1cImV4dGVybmFsLWJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjbGVhcigpXCIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b24oKVwiIGNvbG9yPVwid2FyblwiIG1hdC1idXR0b24+e3sgY2xlYXJMYWJlbCB9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVoQyxPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFDLDRCQUE0QixFQUFpQixNQUFNLHlDQUF5QyxDQUFDO0FBR3JHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUk1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBTUgsTUFBTSxPQUFPLHNCQWNULFNBQVEsY0FBd0M7SUFuQnBEOztRQThCSTs7V0FFRztRQUNhLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBc0IsUUFBUSxDQUFDO1FBVTFEOztXQUVHO1FBQ0ksVUFBSyxHQUFzQyxJQUFJLENBQUM7UUFFdkQ7O1dBRUc7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNJLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRXZC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Z0JBQ0MsWUFBWTtzQkFBN0MsWUFBWTt1QkFBQyxXQUFXO2dCQUtULE9BQU87c0JBQXRCLEtBQUs7Z0JBS1UsY0FBYztzQkFBN0IsS0FBSztnQkFLVSxXQUFXO3NCQUExQixLQUFLO2dCQU1LLE1BQU07c0JBRGhCLEtBQUs7Z0JBbUNjLFFBQVE7c0JBRDNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3Nvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVUcmlnZ2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbmFsaXplLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQYWdpbmF0ZWREYXRhfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2RhdGEtc291cmNlJztcbmltcG9ydCB7TmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlciwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWJzdHJhY3QtbW9kZWwuc2VydmljZSc7XG5pbXBvcnQge0V4dHJhY3RUYWxsT25lLCBFeHRyYWN0VmFsbCwgTGl0ZXJhbH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtBYnN0cmFjdFNlbGVjdH0gZnJvbSAnLi4vYWJzdHJhY3Qtc2VsZWN0LmNvbXBvbmVudCc7XG5cbnR5cGUgVjxUU2VydmljZT4gPSBzdHJpbmcgfCBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT47XG5cbi8qKlxuICogRGVmYXVsdCB1c2FnZTpcbiAqIDxuYXR1cmFsLXNlbGVjdCBbc2VydmljZV09XCJhbWF6aW5nU2VydmljZUluc3RhbmNlXCIgWyhtb2RlbCldPVwiYW1hemluZ01vZGVsXCIgKG1vZGVsQ2hhbmdlKT1hbWF6aW5nQ2hhbmdlRm4oJGV2ZW50KT48L25hdHVyYWwtc2VsZWN0PlxuICpcbiAqIEN1c3RvbSB0ZW1wbGF0ZSB1c2FnZSA6XG4gKiA8bmF0dXJhbC1zZWxlY3QgW3NlcnZpY2VdPVwic3ZjXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiPlxuICogICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAqICAgICAgICAgPHNwYW4+e3sgaXRlbS54eHggfX08L3NwYW4+XG4gKiAgICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvbmF0dXJhbC1zZWxlY3Q+XG4gKlxuICogWyhuZ01vZGVsKV0gYW5kIChuZ01vZGVsQ2hhbmdlKSBhcmUgb3B0aW9uYWxcbiAqXG4gKiBQbGFjZWhvbGRlciA6XG4gKiA8bmF0dXJhbC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJhbWF6aW5nIHBsYWNlaG9sZGVyXCI+XG4gKlxuICogTmV2ZXIgZmxvYXQgcGxhY2Vob2xkZXIgOlxuICogPG5hdHVyYWwtc2VsZWN0IHBsYWNlaG9sZGVyPVwiYW1hemluZyBwbGFjZWhvbGRlclwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiPlxuICpcbiAqIFNlYXJjaCB3aXRoIGxpa2UgJXh4eCUgb24gc3BlY2lmaWVkIGF0dHJpYnV0ZSBuYW1lIGluc3RlYWQgb2YgY3VzdG9tIGZpbHRlciBvbiB3aG9sZSBvYmplY3RcbiAqIDxuYXR1cmFsLXNlbGVjdCBbc2VhcmNoRmllbGRdPVwic3RyaW5nXCI+XG4gKlxuICogQWxsb3dzIHRvIGlucHV0IGZyZWUgc3RyaW5nIHdpdGhvdXQgc2VsZWN0aW5nIGFuIG9wdGlvbiBmcm9tIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9uc1xuICogPG5hdHVyYWwtc2VsZWN0IFtvcHRpb25SZXF1aXJlZF09XCJmYWxzZVwiPlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdENvbXBvbmVudDxcbiAgICAgICAgVFNlcnZpY2UgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2U8XG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBQYWdpbmF0ZWREYXRhPExpdGVyYWw+LFxuICAgICAgICAgICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnlcbiAgICAgICAgPixcbiAgICA+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdDxWPFRTZXJ2aWNlPiwgVjxUU2VydmljZT4+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXRcbntcbiAgICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIpIHB1YmxpYyBhdXRvVHJpZ2dlciE6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXI7XG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgcHVibGljIGl0ZW1UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBTZXJ2aWNlIHdpdGggd2F0Y2hBbGwgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIHF1ZXJ5VmFyaWFibGVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlITogVFNlcnZpY2U7XG5cbiAgICAvKipcbiAgICAgKiBJZiBmYWxzZSwgYWxsb3dzIHRvIGlucHV0IGZyZWUgc3RyaW5nIHdpdGhvdXQgc2VsZWN0aW5nIGFuIG9wdGlvbiBmcm9tIGF1dG9jb21wbGV0ZSBzdWdnZXN0aW9uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25SZXF1aXJlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZmlsdGVyIGF0dHJpYnV0ZSB0byBiaW5kIHdoZW4gc2VhcmNoaW5nIGZvciBhIHRlcm1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoRmllbGQ6ICdjdXN0b20nIHwgc3RyaW5nID0gJ2N1c3RvbSc7XG5cbiAgICAvKipcbiAgICAgKiBBZGRpdGlvbmFsIGZpbHRlciBmb3IgcXVlcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZmlsdGVyKGZpbHRlcjogRXh0cmFjdFZhbGw8VFNlcnZpY2U+WydmaWx0ZXInXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgnYWRkaXRpb25hbC1maWx0ZXInLCB7ZmlsdGVyOiBmaWx0ZXJ9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVtcyByZXR1cm5lZCBieSBzZXJ2ZXIgdG8gc2hvdyBpbiBsaXN0aW5nXG4gICAgICovXG4gICAgcHVibGljIGl0ZW1zOiBudWxsIHwgT2JzZXJ2YWJsZTxyZWFkb25seSBhbnlbXT4gPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBhIHdlIGFyZSBzZWFyY2hpbmcgc29tZXRoaW5nXG4gICAgICovXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBpdGVtcyBub3Qgc2hvd24gaW4gcmVzdWx0IGxpc3RcbiAgICAgKiBTaG93cyBhIG1lc3NhZ2UgYWZ0ZXIgbGlzdCBpZiBwb3NpdGl2ZVxuICAgICAqL1xuICAgIHB1YmxpYyBtb3JlTmJJdGVtcyA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHBhZ2Ugc2l6ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcGFnZVNpemUgPSAxMDtcblxuICAgIC8qKlxuICAgICAqIEluaXQgc2VhcmNoIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwcml2YXRlIHZhcmlhYmxlc01hbmFnZXIgPSBuZXcgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcjxRdWVyeVZhcmlhYmxlcz4oKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHZhbHVlIGNhbiBiZSBjaGFuZ2VkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIGRpc2FibGVkID8gdGhpcy5pbnRlcm5hbEN0cmwuZGlzYWJsZSgpIDogdGhpcy5pbnRlcm5hbEN0cmwuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbEN0cmwudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgZGVib3VuY2VUaW1lKDMwMCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLnNlYXJjaCh2YWwpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbnRlcm5hbEZvcm1DaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIC8vIElmIHdlIGFsbG93IGZyZWUgc3RyaW5nIHR5cGluZywgdGhlbiB3ZSBwcm9wYWdhdGUgaXQgYXMgaXQgaXMgYmVpbmcgdHlwZWRcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvblJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZVZhbHVlKHRoaXMuaW50ZXJuYWxDdHJsLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbml0U2VydmljZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIC8vIEFzc2VydCBnaXZlbiBzZXJ2aWNlIGhhcyBhIHdhdGNoQWxsIGZ1bmN0aW9uXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zZXJ2aWNlLndhdGNoQWxsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQcm92aWRlZCBzZXJ2aWNlIGRvZXMgbm90IGNvbnRhaW4gd2F0Y2hBbGwgZnVuY3Rpb24nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRQYWdpbmF0aW9uID0ge1xuICAgICAgICAgICAgcGFnaW5hdGlvbjoge1xuICAgICAgICAgICAgICAgIHBhZ2VJbmRleDogMCxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgdmFyaWFibGVzID0gbWVyZ2UoZGVmYXVsdFBhZ2luYXRpb24sIHRoaXMuZ2V0U2VhcmNoRmlsdGVyKG51bGwpKTtcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgndmFyaWFibGVzJywgdmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRTZWFyY2goKTogdm9pZCB7XG4gICAgICAgIC8vIFN0YXJ0IHNlYXJjaCBvbmx5IG9uY2VcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluaXQgcXVlcnksIGFuZCB3aGVuIHF1ZXJ5IHJlc3VsdHMgYXJyaXZlLCBmaW5pc2ggbG9hZGluZywgYW5kIGNvdW50IGl0ZW1zXG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNlcnZpY2Uud2F0Y2hBbGwodGhpcy52YXJpYWJsZXNNYW5hZ2VyKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKSxcbiAgICAgICAgICAgIG1hcChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCBuYlRvdGFsID0gZGF0YS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgbmJMaXN0ZWQgPSBNYXRoLm1pbihkYXRhLmxlbmd0aCwgdGhpcy5wYWdlU2l6ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3JlTmJJdGVtcyA9IG5iVG90YWwgLSBuYkxpc3RlZDtcblxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLml0ZW1zO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pdGVtcy5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcHJvcGFnYXRlVmFsdWUodmFsdWU6IFY8VFNlcnZpY2U+IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAvLyBJZiB3ZSBjbGVhcmVkIHZhbHVlIHZpYSBidXR0b24sIGJ1dCB3ZSBhbGxvdyBmcmVlIHN0cmluZyB0eXBpbmcsIHRoZW4gZm9yY2UgdG8gZW1wdHkgc3RyaW5nXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25SZXF1aXJlZCAmJiB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLnByb3BhZ2F0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWZXJ5IGltcG9ydGFudCB0byByZXR1cm4gc29tZXRoaW5nLCBhYm92ZSBhbGwgaWYgW3NlbGVjdF09J2Rpc3BsYXllZFZhbHVlJyBhdHRyaWJ1dGUgdmFsdWUgaXMgdXNlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwbGF5Rm4oKTogKGl0ZW06IFY8VFNlcnZpY2U+IHwgbnVsbCkgPT4gc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheVdpdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlXaXRoO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICghaXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaXRlbS5mdWxsTmFtZSB8fCBpdGVtLm5hbWUgfHwgaXRlbS5pYmFuIHx8IGl0ZW1bdGhpcy5zZWFyY2hGaWVsZF0gfHwgaXRlbS5pZDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2xlYXIoZW1pdEV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaChudWxsKTtcbiAgICAgICAgc3VwZXIuY2xlYXIoZW1pdEV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKHRlcm06IFY8VFNlcnZpY2U+IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIHRlcm0gPT09ICdzdHJpbmcnIHx8IHRlcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmICh0ZXJtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gISF0aGlzLml0ZW1zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIubWVyZ2UoJ3ZhcmlhYmxlcycsIHRoaXMuZ2V0U2VhcmNoRmlsdGVyKHRlcm0gYXMgc3RyaW5nIHwgbnVsbCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHNob3dDbGVhckJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxDdHJsPy5lbmFibGVkICYmICEhdGhpcy5jbGVhckxhYmVsICYmICEhdGhpcy5pbnRlcm5hbEN0cmwudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWFyY2hGaWx0ZXIodGVybTogc3RyaW5nIHwgbnVsbCk6IFF1ZXJ5VmFyaWFibGVzIHtcbiAgICAgICAgbGV0IGZpZWxkOiBMaXRlcmFsID0ge307XG5cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoRmllbGQgPT09ICdjdXN0b20nKSB7XG4gICAgICAgICAgICBmaWVsZCA9IHtjdXN0b206IHRlcm0gPyB7c2VhcmNoOiB7dmFsdWU6IHRlcm19fSA6IG51bGx9O1xuICAgICAgICB9IGVsc2UgaWYgKHRlcm0pIHtcbiAgICAgICAgICAgIGZpZWxkW3RoaXMuc2VhcmNoRmllbGRdID0ge2xpa2U6IHt2YWx1ZTogJyUnICsgdGVybSArICclJ319O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtmaWx0ZXI6IHtncm91cHM6IFt7Y29uZGl0aW9uczogW2ZpZWxkXX1dfX07XG4gICAgfVxufVxuIiwiPCEtLSBBdXRvY29tcGxldGUgbWVudSAtLT5cbjxtYXQtYXV0b2NvbXBsZXRlXG4gICAgI2FjPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAob3B0aW9uU2VsZWN0ZWQpPVwicHJvcGFnYXRlVmFsdWUoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIlxuICAgIFtkaXNwbGF5V2l0aF09XCJnZXREaXNwbGF5Rm4oKVwiXG4gICAgcGFuZWxXaWR0aD1cImF1dG8gIWltcG9ydGFudFwiXG4+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiIFt2YWx1ZV09XCJpdGVtXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtfVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGUgPyBpdGVtVGVtcGxhdGUgOiBkZWZhdWx0QUNJdGVtXCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIDxkaXYgKm5nSWY9XCJtb3JlTmJJdGVtcyA+IDBcIiBjbGFzcz1cIm1hdC1jYXB0aW9uXCIgaTE4biBzdHlsZT1cInBhZGRpbmc6IDVweCAxMHB4XCJcbiAgICAgICAgPnt7IG1vcmVOYkl0ZW1zIH19IMOpbMOpbWVudChzKSBzdXBwbMOpbWVudGFpcmUocyk8L2RpdlxuICAgID5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0QUNJdGVtIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxzcGFuPnt7IGdldERpc3BsYXlGbigpKGl0ZW0pIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBJbnB1dCBmb3IgYXV0b2NvbXBsZXRlIC0tPlxuPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0UGxhY2Vob2xkZXJcIj5cbiAgICA8bWF0LWxhYmVsPnt7IHBsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgICAgKGJsdXIpPVwidG91Y2goKTsgYmx1ci5lbWl0KClcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uSW50ZXJuYWxGb3JtQ2hhbmdlKClcIlxuICAgICAgICAoY2xpY2spPVwiYXV0b1RyaWdnZXIub3BlblBhbmVsKClcIlxuICAgICAgICAoZm9jdXMpPVwic3RhcnRTZWFyY2goKVwiXG4gICAgICAgIChrZXlkb3duLmVzYyk9XCJjbGVhcigpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsQ3RybFwiXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYWNcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUmVjaGVyY2hlIGV0IHPDqWxlY3Rpb25cIlxuICAgICAgICBpMThuLWFyaWEtbGFiZWxcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgIC8+XG5cbiAgICA8IS0tIE1ldGEgZGF0YSAtLT5cbiAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiIWxvYWRpbmcgJiYgc2hvd0ljb25cIiBbbmFtZV09XCJpY29uXCIgbWF0UHJlZml4PjwvbmF0dXJhbC1pY29uPlxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgICBbZGlhbWV0ZXJdPVwiMjFcIlxuICAgICAgICBbc3Ryb2tlV2lkdGhdPVwiNVwiXG4gICAgICAgIG1hdFByZWZpeFxuICAgICAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG5cbiAgICA8IS0tIENsZWFyIGJ1dHRvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic3VmZml4LWJ1dHRvbnNcIiBtYXRTdWZmaXg+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJpbnRlcm5hbEN0cmwudmFsdWUgJiYgaW50ZXJuYWxDdHJsLmVuYWJsZWQgJiYgIWNsZWFyTGFiZWxcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEw6lzw6lsZWN0aW9ubmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5hdHVyYWwtaWNvbiBuYW1lPVwiY2xvc2VcIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaW50ZXJuYWxDdHJsLnZhbHVlICYmIG5hdmlnYXRlVG9cIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVUb1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiTmF2aWd1ZXIgdmVyc1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuYXR1cmFsLWljb24gbmFtZT1cIm9wZW5faW5fYnJvd3NlclwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNSZXF1aXJlZEVycm9yKClcIiBpMThuPkNlIGNoYW1wIGVzdCByZXF1aXM8L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjwhLS0gQWRkaXRpb25hbCAodW4pc2VsZWN0Lyh1bilsaW5rIGJ1dHRvbnMgZm9yIG1vcmUgdmlzdWFsIGNvaGVzaW9uIHdpdGggbmF0dXJhbC1yZWxhdGlvbnMgLS0+PCEtLSBbY2xlYXJMYWJlbF0gYW5kL29yIFtzZWxlY3RMYWJlbF0gaGFzIHRvIGJlIGdpdmVuIGFzIGF0dHJpYnV0ZSBpbnB1dCAtLT5cbjxkaXYgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b24oKVwiIGNsYXNzPVwiZXh0ZXJuYWwtYnV0dG9uc1wiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKClcIiAqbmdJZj1cInNob3dDbGVhckJ1dHRvbigpXCIgY29sb3I9XCJ3YXJuXCIgbWF0LWJ1dHRvbj57eyBjbGVhckxhYmVsIH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -12,7 +12,6 @@ export class NaturalSelectEnumComponent extends AbstractSelect {
12
12
  constructor(enumService, ngControl) {
13
13
  super(ngControl);
14
14
  this.enumService = enumService;
15
- this.ngControl = ngControl;
16
15
  /**
17
16
  * Whether the user should be allowed to select multiple options
18
17
  */
@@ -44,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
44
43
  }], multiple: [{
45
44
  type: Input
46
45
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VsZWN0L3NlbGVjdC1lbnVtL3NlbGVjdC1lbnVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXZFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBUzVELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxjQUFvQjtJQXVCaEUsWUFDcUIsV0FBK0IsRUFDWixTQUEyQjtRQUUvRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFIQSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVRuRTs7V0FFRztRQUNhLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFTMUMsQ0FBQztJQUVNLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLFlBQVk7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkQsQ0FBQzs7dUhBckNRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLG9NQ2J2Qyxtd0JBcUJBOzJGRFJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxxQkFBcUI7OzBCQTZCMUIsUUFBUTs7MEJBQUksSUFBSTs0Q0FyQkwsUUFBUTtzQkFBdkIsS0FBSztnQkFLVSxTQUFTO3NCQUF4QixLQUFLO2dCQUtVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lFbnVtLCBOYXR1cmFsRW51bVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2VudW0uc2VydmljZSc7XG5pbXBvcnQge0Fic3RyYWN0U2VsZWN0fSBmcm9tICcuLi9hYnN0cmFjdC1zZWxlY3QuY29tcG9uZW50JztcblxudHlwZSBWID0gSUVudW1bJ3ZhbHVlJ10gfCBJRW51bVsndmFsdWUnXVtdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2VsZWN0LWVudW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWVudW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdEVudW1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdDxWLCBWPiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBlbnVtIHR5cGUsIGVnOiBgXCJBY3Rpb25TdGF0dXNcImBcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZW51bU5hbWUhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJZiBnaXZlbiBhbiBleHRyYSBvcHRpb24gaXMgYWRkZWQgdG8gc2VsZWN0IGBudWxsYCB3aXRoIGdpdmVuIGxhYmVsXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG51bGxMYWJlbD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9ucyB0aGF0IHJlY2VpdmVzIGFuIGVudW0gdmFsdWUgYW5kIHJldHVybnMgd2hldGhlciB0aGF0IHZhbHVlIGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG9wdGlvbkRpc2FibGVkPzogKGl0ZW06IElFbnVtKSA9PiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdXNlciBzaG91bGQgYmUgYWxsb3dlZCB0byBzZWxlY3QgbXVsdGlwbGUgb3B0aW9uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGl0ZW1zPzogT2JzZXJ2YWJsZTxJRW51bVtdPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbnVtU2VydmljZTogTmF0dXJhbEVudW1TZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5nQ29udHJvbCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5lbnVtU2VydmljZS5nZXQodGhpcy5lbnVtTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpc3BsYXlGbigpOiAoaXRlbTogViB8IG51bGwpID0+IHN0cmluZyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgbmV2ZXIgYmUgY2FsbGVkJyk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgcGxhY2Vob2xkZXIgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInByb3BhZ2F0ZVZhbHVlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxDdHJsXCJcbiAgICAgICAgKGJsdXIpPVwidG91Y2goKTsgYmx1ci5lbWl0KClcIlxuICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIm51bGxMYWJlbFwiIFt2YWx1ZV09XCJudWxsXCI+e3sgbnVsbExhYmVsIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uRGlzYWJsZWQgPyBvcHRpb25EaXNhYmxlZChpdGVtKSA6IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbS5uYW1lIHwgY2FwaXRhbGl6ZSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImhhc1JlcXVpcmVkRXJyb3IoKVwiIGkxOG4+Q2UgY2hhbXAgZXN0IHJlcXVpczwvbWF0LWVycm9yPjwvbWF0LWZvcm0tZmllbGRcbj5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VsZWN0L3NlbGVjdC1lbnVtL3NlbGVjdC1lbnVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXZFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBUzVELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxjQUFvQjtJQXVCaEUsWUFDcUIsV0FBK0IsRUFDNUIsU0FBMkI7UUFFL0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSEEsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBUnBEOztXQUVHO1FBQ2EsYUFBUSxHQUFHLEtBQUssQ0FBQztJQVNqQyxDQUFDO0lBRWUsUUFBUTtRQUNwQixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLFlBQVk7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkQsQ0FBQzs7dUhBckNRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLG9NQ2J2Qyxtd0JBcUJBOzJGRFJhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSxxQkFBcUI7OzBCQTZCMUIsUUFBUTs7MEJBQUksSUFBSTs0Q0FyQkwsUUFBUTtzQkFBdkIsS0FBSztnQkFLVSxTQUFTO3NCQUF4QixLQUFLO2dCQUtVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0lFbnVtLCBOYXR1cmFsRW51bVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2VudW0uc2VydmljZSc7XG5pbXBvcnQge0Fic3RyYWN0U2VsZWN0fSBmcm9tICcuLi9hYnN0cmFjdC1zZWxlY3QuY29tcG9uZW50JztcblxudHlwZSBWID0gSUVudW1bJ3ZhbHVlJ10gfCBJRW51bVsndmFsdWUnXVtdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2VsZWN0LWVudW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWVudW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdEVudW1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdDxWLCBWPiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBlbnVtIHR5cGUsIGVnOiBgXCJBY3Rpb25TdGF0dXNcImBcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZW51bU5hbWUhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJZiBnaXZlbiBhbiBleHRyYSBvcHRpb24gaXMgYWRkZWQgdG8gc2VsZWN0IGBudWxsYCB3aXRoIGdpdmVuIGxhYmVsXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG51bGxMYWJlbD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9ucyB0aGF0IHJlY2VpdmVzIGFuIGVudW0gdmFsdWUgYW5kIHJldHVybnMgd2hldGhlciB0aGF0IHZhbHVlIGlzIGRpc2FibGVkXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG9wdGlvbkRpc2FibGVkPzogKGl0ZW06IElFbnVtKSA9PiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdXNlciBzaG91bGQgYmUgYWxsb3dlZCB0byBzZWxlY3QgbXVsdGlwbGUgb3B0aW9uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgcHVibGljIGl0ZW1zPzogT2JzZXJ2YWJsZTxJRW51bVtdPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbnVtU2VydmljZTogTmF0dXJhbEVudW1TZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobmdDb250cm9sKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmVudW1TZXJ2aWNlLmdldCh0aGlzLmVudW1OYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGlzcGxheUZuKCk6IChpdGVtOiBWIHwgbnVsbCkgPT4gc3RyaW5nIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIHNob3VsZCBuZXZlciBiZSBjYWxsZWQnKTtcbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBwbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwicHJvcGFnYXRlVmFsdWUoJGV2ZW50LnZhbHVlKVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbEN0cmxcIlxuICAgICAgICAoYmx1cik9XCJ0b3VjaCgpOyBibHVyLmVtaXQoKVwiXG4gICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwibnVsbExhYmVsXCIgW3ZhbHVlXT1cIm51bGxcIj57eyBudWxsTGFiZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25EaXNhYmxlZCA/IG9wdGlvbkRpc2FibGVkKGl0ZW0pIDogZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLm5hbWUgfCBjYXBpdGFsaXplIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzUmVxdWlyZWRFcnJvcigpXCIgaTE4bj5DZSBjaGFtcCBlc3QgcmVxdWlzPC9tYXQtZXJyb3I+PC9tYXQtZm9ybS1maWVsZFxuPlxuIl19
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
124
124
  }], filters: [{
125
125
  type: Input
126
126
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWhpZXJhcmNoaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VsZWN0L3NlbGVjdC1oaWVyYXJjaGljL3NlbGVjdC1oaWVyYXJjaGljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3QtaGllcmFyY2hpYy9zZWxlY3QtaGllcmFyY2hpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVdsRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBRTVELFNBQVMsZ0JBQWdCLENBQUMsSUFBb0I7SUFDMUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNQLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFNSCxNQUFNLE9BQU8sZ0NBQ1QsU0FBUSxjQUErQjtJQTZCdkMsWUFDcUIsK0JBQXVFLEVBQ3BFLFNBQTJCO1FBRS9DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUhBLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBd0M7UUFaNUY7O1dBRUc7UUFDSyxVQUFLLEdBQW1CLElBQUksQ0FBQztRQUVyQzs7O1dBR0c7UUFDSyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQU8vQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZ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QUFDO1NBQy9GO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzs7NkhBcEhRLGdDQUFnQztpSEFBaEMsZ0NBQWdDLHNLQ3ZDN0MsMjhEQWtEQTsyRkRYYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0ksMkJBQTJCOzswQkFvQ2hDLFFBQVE7OzBCQUFJLElBQUk7NENBekJMLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLVSxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdERpYWxvZ0NvbmZpZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7TGl0ZXJhbH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvY2xhc3Nlcy9oaWVyYXJjaGljLWZpbHRlcnMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge1xuICAgIEhpZXJhcmNoaWNEaWFsb2dDb25maWcsXG4gICAgTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uLFxuICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dTZXJ2aWNlLFxuICAgIE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uLFxufSBmcm9tICcuLi8uLi9oaWVyYXJjaGljLXNlbGVjdG9yL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtBYnN0cmFjdFNlbGVjdH0gZnJvbSAnLi4vYWJzdHJhY3Qtc2VsZWN0LmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIGRlZmF1bHREaXNwbGF5Rm4oaXRlbTogTGl0ZXJhbCB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghaXRlbSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW0uZnVsbE5hbWUgfHwgaXRlbS5uYW1lIHx8IGl0ZW0uaWJhbiB8fCBpdGVtLmlkIHx8IGl0ZW07XG59XG5cbi8qKlxuICogRGVmYXVsdCB1c2FnZTpcbiAqIDxuYXR1cmFsLXNlbGVjdCBbY29uZmlnXT1cIm15Q29uZmlnXCIgWyhuZ01vZGVsKV09XCJhbWF6aW5nTW9kZWxcIlxuICogKG5nTW9kZWxDaGFuZ2UpPWFtYXppbmdDaGFuZ2VGbigkZXZlbnQpPjwvbmF0dXJhbC1zZWxlY3Q+XG4gKlxuICogWyhuZ01vZGVsKV0gYW5kIChuZ01vZGVsQ2hhbmdlKSBhcmUgb3B0aW9uYWxcbiAqXG4gKiBQbGFjZWhvbGRlciA6XG4gKiA8bmF0dXJhbC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJhbWF6aW5nIHBsYWNlaG9sZGVyXCI+XG4gKlxuICogTmV2ZXIgZmxvYXQgcGxhY2Vob2xkZXIgOlxuICogPG5hdHVyYWwtc2VsZWN0IHBsYWNlaG9sZGVyPVwiYW1hemluZyBwbGFjZWhvbGRlclwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiPlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2VsZWN0LWhpZXJhcmNoaWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtaGllcmFyY2hpYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWhpZXJhcmNoaWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdEhpZXJhcmNoaWNDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0U2VsZWN0PExpdGVyYWwsIHN0cmluZz5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIC8qKlxuICAgICAqIElmIHByb3ZpZGVkIGNhdXNlIGEgbmV3IHNlbGVjdCBidXR0b24gdG8gYXBwZWFyXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNlbGVjdExhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgaGllcmFyY2hpYyByZWxhdGlvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgY29uZmlnITogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIGZvcm1hdHRlZCBmb3IgaGllcmFyY2hpYyBzZWxlY3RvclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmaWx0ZXJzPzogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlbGVjdGVkIHZhbHVlIGFzIGFuIG9iamVjdC4gVGhlIGludGVybmFsIHZhbHVlIGlzIGBpbnRlcm5hbEN0cmwudmFsdWVgLCBhbmQgdGhhdCBpcyBhIHN0cmluZy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHZhbHVlOiBMaXRlcmFsIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBPbiBGaXJlZm94LCB0aGUgY29tYmluYXRpb24gb2YgPGlucHV0IChmb2N1cyk+IGV2ZW50IGFuZCBkaWFsb2cgb3BlbmluZyBjYXVzZSBzb21lIHN0cmFuZ2UgYnVnIHdoZXJlIGZvY3VzIGV2ZW50IGlzIGNhbGxlZCBtdWx0aXBsZVxuICAgICAqIHRpbWVzIFRoaXMgcHJldmVudHMgaXQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBsb2NrT3BlbkRpYWxvZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2U6IE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobmdDb250cm9sKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWZXJ5IGltcG9ydGFudCB0byByZXR1cm4gc29tZXRoaW5nLCBhYm92ZSBhbGwgaWYgW3NlbGVjdF09J2Rpc3BsYXllZFZhbHVlJyBhdHRyaWJ1dGUgdmFsdWUgaXMgdXNlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwbGF5Rm4oKTogKGl0ZW06IExpdGVyYWwgfCBudWxsKSA9PiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5V2l0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGxheVdpdGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVmYXVsdERpc3BsYXlGbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSBwYXJlbnQgYmVjYXVzZSBvdXIgaW50ZXJuYWxDdHJsIHN0b3JlIHRoZSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIGFzIHN0cmluZyBpbnN0ZWFkIG9mIHJhdyBMaXRlcmFsXG4gICAgICovXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IExpdGVyYWwgfCBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSBhcyBMaXRlcmFsO1xuICAgICAgICB0aGlzLmludGVybmFsQ3RybC5zZXRWYWx1ZSh0aGlzLmdldERpc3BsYXlGbigpKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJuYWxDdHJsLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2NrT3BlbkRpYWxvZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2NrT3BlbkRpYWxvZyA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0QXRLZXkgPSB0aGlzLmdldFNlbGVjdEtleSgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZDogT3JnYW5pemVkTW9kZWxTZWxlY3Rpb24gPSB7fTtcblxuICAgICAgICBpZiAodGhpcy5pbnRlcm5hbEN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkW3NlbGVjdEF0S2V5XSA9IFt0aGlzLnZhbHVlXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhpZXJhcmNoaWNDb25maWc6IEhpZXJhcmNoaWNEaWFsb2dDb25maWcgPSB7XG4gICAgICAgICAgICBoaWVyYXJjaGljQ29uZmlnOiB0aGlzLmNvbmZpZyxcbiAgICAgICAgICAgIGhpZXJhcmNoaWNTZWxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICAgICAgaGllcmFyY2hpY0ZpbHRlcnM6IHRoaXMuZmlsdGVycyxcbiAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkaWFsb2dGb2N1czogTWF0RGlhbG9nQ29uZmlnID0ge3Jlc3RvcmVGb2N1czogZmFsc2V9O1xuXG4gICAgICAgIHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW4oaGllcmFyY2hpY0NvbmZpZywgZGlhbG9nRm9jdXMpXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9ja09wZW5EaWFsb2cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAvLyBGaW5kIHRoZSBvbmx5IHNlbGVjdGlvbiBhbW9uZ3N0IGFsbCBwb3NzaWJsZSBrZXlzXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleVdpdGhTZWxlY3Rpb24gPSBPYmplY3Qua2V5cyhzZWxlY3Rpb24pLmZpbmQoa2V5ID0+IHNlbGVjdGlvbltrZXldWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2luZ2xlU2VsZWN0aW9uID0ga2V5V2l0aFNlbGVjdGlvbiA/IHNlbGVjdGlvbltrZXlXaXRoU2VsZWN0aW9uXVswXSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNpbmdsZVNlbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlVmFsdWUoc2luZ2xlU2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd1NlbGVjdEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuaW50ZXJuYWxDdHJsPy5lbmFibGVkICYmIHRoaXMuc2VsZWN0TGFiZWwgJiYgdGhpcy5jb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0S2V5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdEtleSA9IHRoaXMuY29uZmlnLmZpbHRlcihjID0+ICEhYy5zZWxlY3RhYmxlQXRLZXkpWzBdLnNlbGVjdGFibGVBdEtleTtcblxuICAgICAgICBpZiAoIXNlbGVjdEtleSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIaWVyYXJjaGljIHNlbGVjdG9yIG11c3QgYmUgY29uZmlndXJlZCB3aXRoIGF0IGxlYXN0IG9uZSBzZWxlY3RhYmxlQXRLZXknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWxlY3RLZXk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0UGxhY2Vob2xkZXJcIj5cbiAgICA8bWF0LWxhYmVsPnt7IHBsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XG5cbiAgICA8IS0tIElucHV0IGZvciBoaWVyYXJjaGljYWwgc2VsZWN0b3IgLS0+XG4gICAgPGlucHV0XG4gICAgICAgIChibHVyKT1cImJsdXIuZW1pdCgpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9wZW5EaWFsb2coKVwiXG4gICAgICAgIChrZXlkb3duLmVzYyk9XCJjbGVhcigpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsQ3RybFwiXG4gICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlY2hlcmNoZSBldCBzw6lsZWN0aW9uXCJcbiAgICAgICAgaTE4bi1hcmlhLWxhYmVsXG4gICAgICAgIG1hdElucHV0XG4gICAgLz5cblxuICAgIDwhLS0gTWV0YSBkYXRhIC0tPlxuICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJzaG93SWNvblwiIFtuYW1lXT1cImljb25cIiBtYXRQcmVmaXg+PC9uYXR1cmFsLWljb24+XG5cbiAgICA8IS0tIENsZWFyIGJ1dHRvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic3VmZml4LWJ1dHRvbnNcIiBtYXRTdWZmaXg+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJpbnRlcm5hbEN0cmwudmFsdWUgJiYgaW50ZXJuYWxDdHJsLmVuYWJsZWQgJiYgIWNsZWFyTGFiZWxcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEw6lzw6lsZWN0aW9ubmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5hdHVyYWwtaWNvbiBuYW1lPVwiY2xvc2VcIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaW50ZXJuYWxDdHJsLnZhbHVlICYmIG5hdmlnYXRlVG9cIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVUb1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiTmF2aWd1ZXIgdmVyc1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuYXR1cmFsLWljb24gbmFtZT1cIm9wZW5faW5fYnJvd3NlclwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNSZXF1aXJlZEVycm9yKClcIiBpMThuPkNlIGNoYW1wIGVzdCByZXF1aXM8L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjwhLS0gICAgQWRkaXRpb25hbCAodW4pc2VsZWN0Lyh1bilsaW5rIGJ1dHRvbnMgZm9yIG1vcmUgdmlzdWFsIGNvaGVzaW9uIHdpdGggbmF0dXJhbC1yZWxhdGlvbnMgLS0+PCEtLSBbY2xlYXJMYWJlbF0gYW5kL29yIFtzZWxlY3RMYWJlbF0gaGFzIHRvIGJlIGdpdmVuIGFzIGF0dHJpYnV0ZSBpbnB1dCAtLT5cbjxkaXYgKm5nSWY9XCJzaG93U2VsZWN0QnV0dG9uKCkgfHwgc2hvd0NsZWFyQnV0dG9uKClcIiBjbGFzcz1cImV4dGVybmFsLWJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJvcGVuRGlhbG9nKClcIiAqbmdJZj1cInNob3dTZWxlY3RCdXR0b24oKVwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1mbGF0LWJ1dHRvbj57eyBzZWxlY3RMYWJlbCB9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKClcIiAqbmdJZj1cInNob3dDbGVhckJ1dHRvbigpXCIgY29sb3I9XCJ3YXJuXCIgbWF0LWJ1dHRvbj57eyBjbGVhckxhYmVsIH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWhpZXJhcmNoaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VsZWN0L3NlbGVjdC1oaWVyYXJjaGljL3NlbGVjdC1oaWVyYXJjaGljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3QtaGllcmFyY2hpYy9zZWxlY3QtaGllcmFyY2hpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVdsRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7O0FBRTVELFNBQVMsZ0JBQWdCLENBQUMsSUFBb0I7SUFDMUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNQLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFNSCxNQUFNLE9BQU8sZ0NBQ1QsU0FBUSxjQUErQjtJQTZCdkMsWUFDcUIsK0JBQXVFLEVBQ3BFLFNBQTJCO1FBRS9DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUhBLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBd0M7UUFaNUY7O1dBRUc7UUFDSyxVQUFLLEdBQW1CLElBQUksQ0FBQztRQUVyQzs7O1dBR0c7UUFDSyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQU8vQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxZQUFZ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QUFDO1NBQy9GO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzs7NkhBcEhRLGdDQUFnQztpSEFBaEMsZ0NBQWdDLHNLQ3ZDN0MsMjhEQWtEQTsyRkRYYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0ksMkJBQTJCOzswQkFvQ2hDLFFBQVE7OzBCQUFJLElBQUk7NENBekJMLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLVSxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdERpYWxvZ0NvbmZpZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7TGl0ZXJhbH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvY2xhc3Nlcy9oaWVyYXJjaGljLWZpbHRlcnMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge1xuICAgIEhpZXJhcmNoaWNEaWFsb2dDb25maWcsXG4gICAgTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uLFxuICAgIE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dTZXJ2aWNlLFxuICAgIE9yZ2FuaXplZE1vZGVsU2VsZWN0aW9uLFxufSBmcm9tICcuLi8uLi9oaWVyYXJjaGljLXNlbGVjdG9yL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtBYnN0cmFjdFNlbGVjdH0gZnJvbSAnLi4vYWJzdHJhY3Qtc2VsZWN0LmNvbXBvbmVudCc7XG5cbmZ1bmN0aW9uIGRlZmF1bHREaXNwbGF5Rm4oaXRlbTogTGl0ZXJhbCB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghaXRlbSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW0uZnVsbE5hbWUgfHwgaXRlbS5uYW1lIHx8IGl0ZW0uaWJhbiB8fCBpdGVtLmlkIHx8IGl0ZW07XG59XG5cbi8qKlxuICogRGVmYXVsdCB1c2FnZTpcbiAqIDxuYXR1cmFsLXNlbGVjdCBbY29uZmlnXT1cIm15Q29uZmlnXCIgWyhuZ01vZGVsKV09XCJhbWF6aW5nTW9kZWxcIlxuICogKG5nTW9kZWxDaGFuZ2UpPWFtYXppbmdDaGFuZ2VGbigkZXZlbnQpPjwvbmF0dXJhbC1zZWxlY3Q+XG4gKlxuICogWyhuZ01vZGVsKV0gYW5kIChuZ01vZGVsQ2hhbmdlKSBhcmUgb3B0aW9uYWxcbiAqXG4gKiBQbGFjZWhvbGRlciA6XG4gKiA8bmF0dXJhbC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJhbWF6aW5nIHBsYWNlaG9sZGVyXCI+XG4gKlxuICogTmV2ZXIgZmxvYXQgcGxhY2Vob2xkZXIgOlxuICogPG5hdHVyYWwtc2VsZWN0IHBsYWNlaG9sZGVyPVwiYW1hemluZyBwbGFjZWhvbGRlclwiIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiPlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2VsZWN0LWhpZXJhcmNoaWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtaGllcmFyY2hpYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWhpZXJhcmNoaWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdEhpZXJhcmNoaWNDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0U2VsZWN0PExpdGVyYWwsIHN0cmluZz5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIC8qKlxuICAgICAqIElmIHByb3ZpZGVkIGNhdXNlIGEgbmV3IHNlbGVjdCBidXR0b24gdG8gYXBwZWFyXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNlbGVjdExhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgaGllcmFyY2hpYyByZWxhdGlvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgY29uZmlnITogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIGZvcm1hdHRlZCBmb3IgaGllcmFyY2hpYyBzZWxlY3RvclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmaWx0ZXJzPzogSGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlbGVjdGVkIHZhbHVlIGFzIGFuIG9iamVjdC4gVGhlIGludGVybmFsIHZhbHVlIGlzIGBpbnRlcm5hbEN0cmwudmFsdWVgLCBhbmQgdGhhdCBpcyBhIHN0cmluZy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHZhbHVlOiBMaXRlcmFsIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBPbiBGaXJlZm94LCB0aGUgY29tYmluYXRpb24gb2YgPGlucHV0IChmb2N1cyk+IGV2ZW50IGFuZCBkaWFsb2cgb3BlbmluZyBjYXVzZSBzb21lIHN0cmFuZ2UgYnVnIHdoZXJlIGZvY3VzIGV2ZW50IGlzIGNhbGxlZCBtdWx0aXBsZVxuICAgICAqIHRpbWVzIFRoaXMgcHJldmVudHMgaXQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBsb2NrT3BlbkRpYWxvZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2U6IE5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobmdDb250cm9sKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWZXJ5IGltcG9ydGFudCB0byByZXR1cm4gc29tZXRoaW5nLCBhYm92ZSBhbGwgaWYgW3NlbGVjdF09J2Rpc3BsYXllZFZhbHVlJyBhdHRyaWJ1dGUgdmFsdWUgaXMgdXNlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwbGF5Rm4oKTogKGl0ZW06IExpdGVyYWwgfCBudWxsKSA9PiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kaXNwbGF5V2l0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGxheVdpdGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVmYXVsdERpc3BsYXlGbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSBwYXJlbnQgYmVjYXVzZSBvdXIgaW50ZXJuYWxDdHJsIHN0b3JlIHRoZSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIGFzIHN0cmluZyBpbnN0ZWFkIG9mIHJhdyBMaXRlcmFsXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IExpdGVyYWwgfCBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSBhcyBMaXRlcmFsO1xuICAgICAgICB0aGlzLmludGVybmFsQ3RybC5zZXRWYWx1ZSh0aGlzLmdldERpc3BsYXlGbigpKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJuYWxDdHJsLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2NrT3BlbkRpYWxvZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb2NrT3BlbkRpYWxvZyA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0QXRLZXkgPSB0aGlzLmdldFNlbGVjdEtleSgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZDogT3JnYW5pemVkTW9kZWxTZWxlY3Rpb24gPSB7fTtcblxuICAgICAgICBpZiAodGhpcy5pbnRlcm5hbEN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkW3NlbGVjdEF0S2V5XSA9IFt0aGlzLnZhbHVlXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhpZXJhcmNoaWNDb25maWc6IEhpZXJhcmNoaWNEaWFsb2dDb25maWcgPSB7XG4gICAgICAgICAgICBoaWVyYXJjaGljQ29uZmlnOiB0aGlzLmNvbmZpZyxcbiAgICAgICAgICAgIGhpZXJhcmNoaWNTZWxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICAgICAgaGllcmFyY2hpY0ZpbHRlcnM6IHRoaXMuZmlsdGVycyxcbiAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkaWFsb2dGb2N1czogTWF0RGlhbG9nQ29uZmlnID0ge3Jlc3RvcmVGb2N1czogZmFsc2V9O1xuXG4gICAgICAgIHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW4oaGllcmFyY2hpY0NvbmZpZywgZGlhbG9nRm9jdXMpXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9ja09wZW5EaWFsb2cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAvLyBGaW5kIHRoZSBvbmx5IHNlbGVjdGlvbiBhbW9uZ3N0IGFsbCBwb3NzaWJsZSBrZXlzXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleVdpdGhTZWxlY3Rpb24gPSBPYmplY3Qua2V5cyhzZWxlY3Rpb24pLmZpbmQoa2V5ID0+IHNlbGVjdGlvbltrZXldWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2luZ2xlU2VsZWN0aW9uID0ga2V5V2l0aFNlbGVjdGlvbiA/IHNlbGVjdGlvbltrZXlXaXRoU2VsZWN0aW9uXVswXSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNpbmdsZVNlbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlVmFsdWUoc2luZ2xlU2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd1NlbGVjdEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuaW50ZXJuYWxDdHJsPy5lbmFibGVkICYmIHRoaXMuc2VsZWN0TGFiZWwgJiYgdGhpcy5jb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0S2V5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdEtleSA9IHRoaXMuY29uZmlnLmZpbHRlcihjID0+ICEhYy5zZWxlY3RhYmxlQXRLZXkpWzBdLnNlbGVjdGFibGVBdEtleTtcblxuICAgICAgICBpZiAoIXNlbGVjdEtleSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIaWVyYXJjaGljIHNlbGVjdG9yIG11c3QgYmUgY29uZmlndXJlZCB3aXRoIGF0IGxlYXN0IG9uZSBzZWxlY3RhYmxlQXRLZXknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWxlY3RLZXk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0UGxhY2Vob2xkZXJcIj5cbiAgICA8bWF0LWxhYmVsPnt7IHBsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XG5cbiAgICA8IS0tIElucHV0IGZvciBoaWVyYXJjaGljYWwgc2VsZWN0b3IgLS0+XG4gICAgPGlucHV0XG4gICAgICAgIChibHVyKT1cImJsdXIuZW1pdCgpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9wZW5EaWFsb2coKVwiXG4gICAgICAgIChrZXlkb3duLmVzYyk9XCJjbGVhcigpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsQ3RybFwiXG4gICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlJlY2hlcmNoZSBldCBzw6lsZWN0aW9uXCJcbiAgICAgICAgaTE4bi1hcmlhLWxhYmVsXG4gICAgICAgIG1hdElucHV0XG4gICAgLz5cblxuICAgIDwhLS0gTWV0YSBkYXRhIC0tPlxuICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJzaG93SWNvblwiIFtuYW1lXT1cImljb25cIiBtYXRQcmVmaXg+PC9uYXR1cmFsLWljb24+XG5cbiAgICA8IS0tIENsZWFyIGJ1dHRvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwic3VmZml4LWJ1dHRvbnNcIiBtYXRTdWZmaXg+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJpbnRlcm5hbEN0cmwudmFsdWUgJiYgaW50ZXJuYWxDdHJsLmVuYWJsZWQgJiYgIWNsZWFyTGFiZWxcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEw6lzw6lsZWN0aW9ubmVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5hdHVyYWwtaWNvbiBuYW1lPVwiY2xvc2VcIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiaW50ZXJuYWxDdHJsLnZhbHVlICYmIG5hdmlnYXRlVG9cIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVUb1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgaTE4bi1tYXRUb29sdGlwXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiTmF2aWd1ZXIgdmVyc1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuYXR1cmFsLWljb24gbmFtZT1cIm9wZW5faW5fYnJvd3NlclwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJoYXNSZXF1aXJlZEVycm9yKClcIiBpMThuPkNlIGNoYW1wIGVzdCByZXF1aXM8L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjwhLS0gICAgQWRkaXRpb25hbCAodW4pc2VsZWN0Lyh1bilsaW5rIGJ1dHRvbnMgZm9yIG1vcmUgdmlzdWFsIGNvaGVzaW9uIHdpdGggbmF0dXJhbC1yZWxhdGlvbnMgLS0+PCEtLSBbY2xlYXJMYWJlbF0gYW5kL29yIFtzZWxlY3RMYWJlbF0gaGFzIHRvIGJlIGdpdmVuIGFzIGF0dHJpYnV0ZSBpbnB1dCAtLT5cbjxkaXYgKm5nSWY9XCJzaG93U2VsZWN0QnV0dG9uKCkgfHwgc2hvd0NsZWFyQnV0dG9uKClcIiBjbGFzcz1cImV4dGVybmFsLWJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJvcGVuRGlhbG9nKClcIiAqbmdJZj1cInNob3dTZWxlY3RCdXR0b24oKVwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1mbGF0LWJ1dHRvbj57eyBzZWxlY3RMYWJlbCB9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKClcIiAqbmdJZj1cInNob3dDbGVhckJ1dHRvbigpXCIgY29sb3I9XCJ3YXJuXCIgbWF0LWJ1dHRvbj57eyBjbGVhckxhYmVsIH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NaturalSidenavComponent {
4
- constructor() { }
5
4
  }
6
5
  NaturalSidenavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
6
  NaturalSidenavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalSidenavComponent, selector: "natural-sidenav", ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
@@ -11,5 +10,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
11
10
  selector: 'natural-sidenav',
12
11
  template: '<ng-content></ng-content>',
13
12
  }]
14
- }], ctorParameters: function () { return []; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9zaWRlbmF2L3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFNeEMsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxnQkFBc0IsQ0FBQzs7b0hBRGQsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdURBRnRCLDJCQUEyQjsyRkFFNUIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2lkZW5hdicsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNpZGVuYXZDb21wb25lbnQge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9zaWRlbmF2L3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFNeEMsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHVEQUZ0QiwyQkFBMkI7MkZBRTVCLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLXNpZGVuYXYnLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTaWRlbmF2Q29tcG9uZW50IHt9XG4iXX0=
@@ -1,12 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NaturalSidenavContentComponent {
4
- constructor() { }
5
4
  }
6
5
  NaturalSidenavContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
6
  NaturalSidenavContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalSidenavContentComponent, selector: "natural-sidenav-content", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{flex:1;display:flex;flex-direction:column;overflow:auto}\n"] });
8
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavContentComponent, decorators: [{
9
8
  type: Component,
10
9
  args: [{ selector: 'natural-sidenav-content', template: '<ng-content></ng-content>', styles: [":host{flex:1;display:flex;flex-direction:column;overflow:auto}\n"] }]
11
- }], ctorParameters: function () { return []; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NpZGVuYXYvc2lkZW5hdi1jb250ZW50L3NpZGVuYXYtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFPeEMsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxnQkFBc0IsQ0FBQzs7MkhBRGQsOEJBQThCOytHQUE5Qiw4QkFBOEIsK0RBSDdCLDJCQUEyQjsyRkFHNUIsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLHlCQUF5QixZQUN6QiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1zaWRlbmF2LWNvbnRlbnQnLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZW5hdi1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTaWRlbmF2Q29udGVudENvbXBvbmVudCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NpZGVuYXYvc2lkZW5hdi1jb250ZW50L3NpZGVuYXYtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFPeEMsTUFBTSxPQUFPLDhCQUE4Qjs7MkhBQTlCLDhCQUE4QjsrR0FBOUIsOEJBQThCLCtEQUg3QiwyQkFBMkI7MkZBRzVCLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDSSx5QkFBeUIsWUFDekIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2lkZW5hdi1jb250ZW50JyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIHN0eWxlVXJsczogWycuL3NpZGVuYXYtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsU2lkZW5hdkNvbnRlbnRDb21wb25lbnQge31cbiJdfQ==
@@ -192,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
192
192
  type: Inject,
193
193
  args: [SESSION_STORAGE]
194
194
  }] }, { type: i3.NaturalSidenavStackService }]; } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFNUUsT0FBTyxFQUFpQixlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHbEY7O0dBRUc7QUFDSCxTQUFTLE1BQU0sQ0FBSSxLQUFRO0lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7S0FDdEY7QUFDTCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBMENoRSxZQUNvQixhQUE0QixFQUMzQixNQUFjLEVBQ1csY0FBOEIsRUFDdkQsMEJBQXNEO1FBRXZFLEtBQUssRUFBRSxDQUFDO1FBTFEsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNXLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN2RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBN0MzRTs7OztXQUlHO1FBQ0ssVUFBSyxHQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRDs7O1dBR0c7UUFDSyxTQUFJLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUM7O1dB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QUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5RjtJQUNMLENBQUM7O2tIQTdNUSxxQkFBcUIscUVBNkNsQixlQUFlO3NIQTdDbEIscUJBQXFCLGNBRFQsTUFBTTsyRkFDbEIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBOEN2QixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lZGlhT2JzZXJ2ZXJ9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7TWF0RHJhd2VyLCBNYXREcmF3ZXJDb250YWluZXIsIE1hdERyYXdlck1vZGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2ZpbHRlciwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXJ9IGZyb20gJy4uLy4uL2NsYXNzZXMvYWJzdHJhY3QtY29udHJvbGxlcic7XG5pbXBvcnQge05hdHVyYWxTaWRlbmF2Q29udGFpbmVyQ29tcG9uZW50fSBmcm9tICcuL3NpZGVuYXYtY29udGFpbmVyL3NpZGVuYXYtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxTdG9yYWdlLCBTRVNTSU9OX1NUT1JBR0V9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9tZW1vcnktc3RvcmFnZSc7XG5pbXBvcnQge05hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlfSBmcm9tICcuL3NpZGVuYXYtc3RhY2suc2VydmljZSc7XG5cbi8qKlxuICogQXNzZXJ0IHRoYXQgZ2l2ZW4gdmFsdWUgaXMgbm90IG51bGxcbiAqL1xuZnVuY3Rpb24gYXNzZXJ0PFQ+KHZhbHVlOiBUKTogYXNzZXJ0cyB2YWx1ZSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgY2FsbCBOYXR1cmFsU2lkZW5hdlNlcnZpY2UuaW5pdCgpIGJlZm9yZSB1c2luZyB0aGUgc2VydmljZScpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAVE9ETyA6IEZpeCBuYXYgbWluaW1pemUgYW5kIG1heGltaXplIHJlc2l6ZVxuICogU2luY2UgTWF0ZXJpYWwgMiBiZXRhIDEwLCB3aGVuIG5hdiBpcyByZXNpemVkIHRoZSBib2R5IGlzIG5vdCByZXNpemVkXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvaXNzdWVzLzY3NDNcbiAqIE1heWJlIHRoZSBiZXR0ZXIgaXMgdG8gd2FpdCBuZXh0IHJlbGVhc2VcbiAqL1xuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNpZGVuYXZTZXJ2aWNlIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0Q29udHJvbGxlciB7XG4gICAgLyoqXG4gICAgICogTmF2aWdhdGlvbiBtb2Rlc1xuICAgICAqIEZpcnN0IGlzIGZvciBkZXNrdG9wIHZpZXdcbiAgICAgKiBTZWNvbmQgaXMgZm9yIG1vYmlsZSB2aWV3XG4gICAgICovXG4gICAgcHJpdmF0ZSBtb2RlczogTWF0RHJhd2VyTW9kZVtdID0gWydzaWRlJywgJ3B1c2gnXTtcblxuICAgIC8qKlxuICAgICAqIEFjdGl2YXRlZCBtb2RlXG4gICAgICogRGVmYXVsdCB0byBkZXNrdG9wIHZpZXdcbiAgICAgKi9cbiAgICBwcml2YXRlIG1vZGU6IE1hdERyYXdlck1vZGUgPSB0aGlzLm1vZGVzWzBdO1xuXG4gICAgLyoqXG4gICAgICogV2hlcmV2ZXIgaXMgbmF2IGlzIG9wZW5lZCBvciBub3RcbiAgICAgKi9cbiAgICBwcml2YXRlIG9wZW5lZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZXMgdGhlIG9wZW5lZCBzdGF0dXMgZHVyaW5nIG1vYmlsZSB2aWV3LCB0byByZXN0b3JlIGlmIHdlIGNvbWUgYmFjayB0byBkZXNrdG9wIHZpZXdcbiAgICAgKi9cbiAgICBwcml2YXRlIHRtcE9wZW5lZDogYm9vbGVhbiA9IHRoaXMub3BlbmVkO1xuXG4gICAgLyoqXG4gICAgICogV2hlcmV2ZXIgaXMgbmF2IGlzIG1pbmltaXplZCBvciBub3RcbiAgICAgKi9cbiAgICBwcml2YXRlIG1pbmltaXplZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogTG9jYWxTdG9yYWdlIGtleSB0aGF0IHN0b3JlcyB0aGUgbWluaW1pemVkIHN0YXR1c1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWluaW1pemVkU3RvcmFnZUtleSA9ICdtZW51LW1pbmltaXplZCc7XG5cbiAgICAvKipcbiAgICAgKiBMb2NhbFN0b3JhZ2Uga2V5IHRoYXQgc3RvcmVzIHRoZSBvcGVuZWQgc3RhdHVzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuZWRTdG9yYWdlS2V5ID0gJ21lbnUtb3BlbmVkJztcblxuICAgIHByaXZhdGUgbWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIG9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBtZWRpYU9ic2VydmVyOiBNZWRpYU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBASW5qZWN0KFNFU1NJT05fU1RPUkFHRSkgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZTogTmF0dXJhbFN0b3JhZ2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0dXJhbFNpZGVuYXZTdGFja1NlcnZpY2U6IE5hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aXZlTW9kZSgpOiBNYXREcmF3ZXJNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc01pbmltaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluaW1pemVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KGNvbXBvbmVudDogTmF0dXJhbFNpZGVuYXZDb250YWluZXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZS51bnJlZ2lzdGVyKGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgY29udGFpbmVyOiBNYXREcmF3ZXJDb250YWluZXIsXG4gICAgICAgIGRyYXdlcjogTWF0RHJhd2VyLFxuICAgICAgICBjb21wb25lbnQ6IE5hdHVyYWxTaWRlbmF2Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBhdXRvQ2xvc2U6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKCFuYW1lIHx8IG5hbWUgPT09ICcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNpZGVuYXYgbmFtZSBwcm92aWRlZCwgdXNlIDxuYXR1cmFsLXNpZGVuYXYtY29udGFpbmVyIG5hbWU9XCJtZW51XCI+Jyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlLnJlZ2lzdGVyKGNvbXBvbmVudCk7XG5cbiAgICAgICAgdGhpcy5taW5pbWl6ZWRTdG9yYWdlS2V5V2l0aE5hbWUgPSBuYW1lICsgJy0nICsgdGhpcy5taW5pbWl6ZWRTdG9yYWdlS2V5O1xuICAgICAgICB0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSA9IG5hbWUgKyAnLScgKyB0aGlzLm9wZW5lZFN0b3JhZ2VLZXk7XG5cbiAgICAgICAgLy8gSW5pdCBmcm9tIExvY2FsU3RvcmFnZVxuICAgICAgICB0aGlzLm1pbmltaXplZCA9IHRoaXMuZ2V0TWluaW1pemVkU3RhdHVzKCk7XG4gICAgICAgIHRoaXMub3BlbmVkID0gdGhpcy5nZXRNZW51T3BlbmVkU3RhdHVzKCk7XG4gICAgICAgIHRoaXMudG1wT3BlbmVkID0gdGhpcy5vcGVuZWQ7XG5cbiAgICAgICAgbGV0IG9sZElzQmlnOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIHRoaXMubWVkaWFPYnNlcnZlclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQmlnID0gIXRoaXMuaXNNb2JpbGVWaWV3KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlID0gaXNCaWcgPyB0aGlzLm1vZGVzWzBdIDogdGhpcy5tb2Rlc1sxXTtcblxuICAgICAgICAgICAgICAgIGlmIChvbGRJc0JpZyA9PT0gbnVsbCB8fCBpc0JpZyAhPT0gb2xkSXNCaWcpIHtcbiAgICAgICAgICAgICAgICAgICAgb2xkSXNCaWcgPSBpc0JpZztcblxuICAgICAgICAgICAgICAgICAgICAvLyBJZiBkZWNyZWFzZSB3aW5kb3cgc2l6ZSwgc2F2ZSBzdGF0dXMgb2YgbWVudSBiZWZvcmUgY2xvc2luZyBpdFxuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzQmlnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRtcE9wZW5lZCA9IHRoaXMub3BlbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIGluY3JlYXNlIHdpbmRvdyBzaXplLCBhbmQgc2lkZWJhciB3YXMgb3BlbiBiZWZvcmUsIHJlLW9wZW4gaXQuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0JpZyAmJiB0aGlzLnRtcE9wZW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB0aGlzLmdldE1pbmltaXplZFN0YXR1cygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGF1dG9DbG9zZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5hdkl0ZW1DbGlja2VkKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNNb2JpbGVWaWV3KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubWVkaWFPYnNlcnZlci5pc0FjdGl2ZSgnZ3Qtc20nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZSBuYXYgb24gbW9iaWxlIHZpZXcgYWZ0ZXIgYSBjbGlja1xuICAgICAqL1xuICAgIHB1YmxpYyBuYXZJdGVtQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVWaWV3KCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSBtaW5pbWl6ZWQgc3RhdHVzIGFuZCBzdG9yZXMgdGhlIG5ldyB2YWx1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRNaW5pbWl6ZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB2YWx1ZTtcbiAgICAgICAgYXNzZXJ0KHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lLCB2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtaW5pbWl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNaW5pbWl6ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNaW5pbWl6ZWQoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVNaW5pbWl6ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWluaW1pemVkKCF0aGlzLm1pbmltaXplZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdG9yZWQgbWluaW1pemVkIHN0YXR1c1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNaW5pbWl6ZWRTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgICAgIGFzc2VydCh0aGlzLm1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lKTtcblxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyBmYWxzZSA6IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzdG9yZWQgb3BlbmVkIHN0YXR1c1xuICAgICAqIERlZmF1bHQgb24gYW4gb3BlbmVkIHN0YXR1cyBpZiBub3RoaW5nIGlzIHN0b3JlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZW51T3BlbmVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgICAgICBhc3NlcnQodGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIG1lbnUgYnV0IGV4cGFuZCBpdCBpZiBtb2JpbGUgbW9kZSBpcyBhY3RpdmF0ZWRcbiAgICAgKiBTdG9yZXMgdGhlIHN0YXR1cyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuZWQoIXRoaXMub3BlbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T3BlbmVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRPcGVuZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE9wZW5lZCh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJiB0aGlzLmlzTW9iaWxlVmlldygpKSB7XG4gICAgICAgICAgICB0aGlzLm1pbmltaXplZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmlzTW9iaWxlVmlldygpKSB7XG4gICAgICAgICAgICBhc3NlcnQodGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUpO1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMub3BlbmVkU3RvcmFnZUtleVdpdGhOYW1lLCB0aGlzLm9wZW5lZCA/ICd0cnVlJyA6ICdmYWxzZScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFNUUsT0FBTyxFQUFpQixlQUFlLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHbEY7O0dBRUc7QUFDSCxTQUFTLE1BQU0sQ0FBSSxLQUFRO0lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7S0FDdEY7QUFDTCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBMENoRSxZQUNvQixhQUE0QixFQUMzQixNQUFjLEVBQ1csY0FBOEIsRUFDdkQsMEJBQXNEO1FBRXZFLEtBQUssRUFBRSxDQUFDO1FBTFEsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNXLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN2RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBN0MzRTs7OztXQUlHO1FBQ0ssVUFBSyxHQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRDs7O1dBR0c7UUFDSyxTQUFJLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUM7O1dB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QU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUY7SUFDTCxDQUFDOztrSEE3TVEscUJBQXFCLHFFQTZDbEIsZUFBZTtzSEE3Q2xCLHFCQUFxQixjQURULE1BQU07MkZBQ2xCLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQThDdkIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZWRpYU9ic2VydmVyfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5pbXBvcnQge01hdERyYXdlciwgTWF0RHJhd2VyQ29udGFpbmVyLCBNYXREcmF3ZXJNb2RlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsU2lkZW5hdkNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9zaWRlbmF2LWNvbnRhaW5lci9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtOYXR1cmFsU3RvcmFnZSwgU0VTU0lPTl9TVE9SQUdFfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvbWVtb3J5LXN0b3JhZ2UnO1xuaW1wb3J0IHtOYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZX0gZnJvbSAnLi9zaWRlbmF2LXN0YWNrLnNlcnZpY2UnO1xuXG4vKipcbiAqIEFzc2VydCB0aGF0IGdpdmVuIHZhbHVlIGlzIG5vdCBudWxsXG4gKi9cbmZ1bmN0aW9uIGFzc2VydDxUPih2YWx1ZTogVCk6IGFzc2VydHMgdmFsdWUge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IGNhbGwgTmF0dXJhbFNpZGVuYXZTZXJ2aWNlLmluaXQoKSBiZWZvcmUgdXNpbmcgdGhlIHNlcnZpY2UnKTtcbiAgICB9XG59XG5cbi8qKlxuICogQFRPRE8gOiBGaXggbmF2IG1pbmltaXplIGFuZCBtYXhpbWl6ZSByZXNpemVcbiAqIFNpbmNlIE1hdGVyaWFsIDIgYmV0YSAxMCwgd2hlbiBuYXYgaXMgcmVzaXplZCB0aGUgYm9keSBpcyBub3QgcmVzaXplZFxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL2lzc3Vlcy82NzQzXG4gKiBNYXliZSB0aGUgYmV0dGVyIGlzIHRvIHdhaXQgbmV4dCByZWxlYXNlXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTaWRlbmF2U2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXIge1xuICAgIC8qKlxuICAgICAqIE5hdmlnYXRpb24gbW9kZXNcbiAgICAgKiBGaXJzdCBpcyBmb3IgZGVza3RvcCB2aWV3XG4gICAgICogU2Vjb25kIGlzIGZvciBtb2JpbGUgdmlld1xuICAgICAqL1xuICAgIHByaXZhdGUgbW9kZXM6IE1hdERyYXdlck1vZGVbXSA9IFsnc2lkZScsICdwdXNoJ107XG5cbiAgICAvKipcbiAgICAgKiBBY3RpdmF0ZWQgbW9kZVxuICAgICAqIERlZmF1bHQgdG8gZGVza3RvcCB2aWV3XG4gICAgICovXG4gICAgcHJpdmF0ZSBtb2RlOiBNYXREcmF3ZXJNb2RlID0gdGhpcy5tb2Rlc1swXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXJldmVyIGlzIG5hdiBpcyBvcGVuZWQgb3Igbm90XG4gICAgICovXG4gICAgcHJpdmF0ZSBvcGVuZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogU3RvcmVzIHRoZSBvcGVuZWQgc3RhdHVzIGR1cmluZyBtb2JpbGUgdmlldywgdG8gcmVzdG9yZSBpZiB3ZSBjb21lIGJhY2sgdG8gZGVza3RvcCB2aWV3XG4gICAgICovXG4gICAgcHJpdmF0ZSB0bXBPcGVuZWQ6IGJvb2xlYW4gPSB0aGlzLm9wZW5lZDtcblxuICAgIC8qKlxuICAgICAqIFdoZXJldmVyIGlzIG5hdiBpcyBtaW5pbWl6ZWQgb3Igbm90XG4gICAgICovXG4gICAgcHJpdmF0ZSBtaW5pbWl6ZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIExvY2FsU3RvcmFnZSBrZXkgdGhhdCBzdG9yZXMgdGhlIG1pbmltaXplZCBzdGF0dXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1pbmltaXplZFN0b3JhZ2VLZXkgPSAnbWVudS1taW5pbWl6ZWQnO1xuXG4gICAgLyoqXG4gICAgICogTG9jYWxTdG9yYWdlIGtleSB0aGF0IHN0b3JlcyB0aGUgb3BlbmVkIHN0YXR1c1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbmVkU3RvcmFnZUtleSA9ICdtZW51LW9wZW5lZCc7XG5cbiAgICBwcml2YXRlIG1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBvcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgbWVkaWFPYnNlcnZlcjogTWVkaWFPYnNlcnZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChTRVNTSU9OX1NUT1JBR0UpIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2U6IE5hdHVyYWxTdG9yYWdlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5hdHVyYWxTaWRlbmF2U3RhY2tTZXJ2aWNlOiBOYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZU1vZGUoKTogTWF0RHJhd2VyTW9kZSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc09wZW5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNNaW5pbWl6ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbmltaXplZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveShjb21wb25lbnQ6IE5hdHVyYWxTaWRlbmF2Q29udGFpbmVyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0dXJhbFNpZGVuYXZTdGFja1NlcnZpY2UudW5yZWdpc3Rlcihjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0KFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIGNvbnRhaW5lcjogTWF0RHJhd2VyQ29udGFpbmVyLFxuICAgICAgICBkcmF3ZXI6IE1hdERyYXdlcixcbiAgICAgICAgY29tcG9uZW50OiBOYXR1cmFsU2lkZW5hdkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgYXV0b0Nsb3NlID0gZmFsc2UsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmICghbmFtZSB8fCBuYW1lID09PSAnJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBzaWRlbmF2IG5hbWUgcHJvdmlkZWQsIHVzZSA8bmF0dXJhbC1zaWRlbmF2LWNvbnRhaW5lciBuYW1lPVwibWVudVwiPicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXR1cmFsU2lkZW5hdlN0YWNrU2VydmljZS5yZWdpc3Rlcihjb21wb25lbnQpO1xuXG4gICAgICAgIHRoaXMubWluaW1pemVkU3RvcmFnZUtleVdpdGhOYW1lID0gbmFtZSArICctJyArIHRoaXMubWluaW1pemVkU3RvcmFnZUtleTtcbiAgICAgICAgdGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUgPSBuYW1lICsgJy0nICsgdGhpcy5vcGVuZWRTdG9yYWdlS2V5O1xuXG4gICAgICAgIC8vIEluaXQgZnJvbSBMb2NhbFN0b3JhZ2VcbiAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSB0aGlzLmdldE1pbmltaXplZFN0YXR1cygpO1xuICAgICAgICB0aGlzLm9wZW5lZCA9IHRoaXMuZ2V0TWVudU9wZW5lZFN0YXR1cygpO1xuICAgICAgICB0aGlzLnRtcE9wZW5lZCA9IHRoaXMub3BlbmVkO1xuXG4gICAgICAgIGxldCBvbGRJc0JpZzogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuICAgICAgICB0aGlzLm1lZGlhT2JzZXJ2ZXJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0JpZyA9ICF0aGlzLmlzTW9iaWxlVmlldygpO1xuICAgICAgICAgICAgICAgIHRoaXMubW9kZSA9IGlzQmlnID8gdGhpcy5tb2Rlc1swXSA6IHRoaXMubW9kZXNbMV07XG5cbiAgICAgICAgICAgICAgICBpZiAob2xkSXNCaWcgPT09IG51bGwgfHwgaXNCaWcgIT09IG9sZElzQmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIG9sZElzQmlnID0gaXNCaWc7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgZGVjcmVhc2Ugd2luZG93IHNpemUsIHNhdmUgc3RhdHVzIG9mIG1lbnUgYmVmb3JlIGNsb3NpbmcgaXRcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0JpZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50bXBPcGVuZWQgPSB0aGlzLm9wZW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBJZiBpbmNyZWFzZSB3aW5kb3cgc2l6ZSwgYW5kIHNpZGViYXIgd2FzIG9wZW4gYmVmb3JlLCByZS1vcGVuIGl0LlxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNCaWcgJiYgdGhpcy50bXBPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWluaW1pemVkID0gdGhpcy5nZXRNaW5pbWl6ZWRTdGF0dXMoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChhdXRvQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXZJdGVtQ2xpY2tlZCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzTW9iaWxlVmlldygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1lZGlhT2JzZXJ2ZXIuaXNBY3RpdmUoJ2d0LXNtJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgbmF2IG9uIG1vYmlsZSB2aWV3IGFmdGVyIGEgY2xpY2tcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF2SXRlbUNsaWNrZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlVmlldygpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgbWluaW1pemVkIHN0YXR1cyBhbmQgc3RvcmVzIHRoZSBuZXcgdmFsdWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TWluaW1pemVkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWluaW1pemVkID0gdmFsdWU7XG4gICAgICAgIGFzc2VydCh0aGlzLm1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZSwgdmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWluaW1pemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWluaW1pemVkKHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleHBhbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWluaW1pemVkKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlTWluaW1pemVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1pbmltaXplZCghdGhpcy5taW5pbWl6ZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc3RvcmVkIG1pbmltaXplZCBzdGF0dXNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TWluaW1pemVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgICAgICBhc3NlcnQodGhpcy5taW5pbWl6ZWRTdG9yYWdlS2V5V2l0aE5hbWUpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm1pbmltaXplZFN0b3JhZ2VLZXlXaXRoTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsID8gZmFsc2UgOiB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc3RvcmVkIG9wZW5lZCBzdGF0dXNcbiAgICAgKiBEZWZhdWx0IG9uIGFuIG9wZW5lZCBzdGF0dXMgaWYgbm90aGluZyBpcyBzdG9yZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TWVudU9wZW5lZFN0YXR1cygpOiBib29sZWFuIHtcbiAgICAgICAgYXNzZXJ0KHRoaXMub3BlbmVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5vcGVuZWRTdG9yYWdlS2V5V2l0aE5hbWUpO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZSBtZW51IGJ1dCBleHBhbmQgaXQgaWYgbW9iaWxlIG1vZGUgaXMgYWN0aXZhdGVkXG4gICAgICogU3RvcmVzIHRoZSBzdGF0dXMgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAqL1xuICAgIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T3BlbmVkKCF0aGlzLm9wZW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9wZW5lZChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0T3BlbmVkKHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRPcGVuZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5vcGVuZWQgJiYgdGhpcy5pc01vYmlsZVZpZXcoKSkge1xuICAgICAgICAgICAgdGhpcy5taW5pbWl6ZWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5pc01vYmlsZVZpZXcoKSkge1xuICAgICAgICAgICAgYXNzZXJ0KHRoaXMub3BlbmVkU3RvcmFnZUtleVdpdGhOYW1lKTtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9wZW5lZFN0b3JhZ2VLZXlXaXRoTmFtZSwgdGhpcy5vcGVuZWQgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -24,7 +24,7 @@ export class NaturalTableButtonComponent {
24
24
  this.buttonClick = new EventEmitter();
25
25
  this.type = 'none';
26
26
  }
27
- ngOnChanges(changes) {
27
+ ngOnChanges() {
28
28
  if (this.navigate?.length || Object.keys(this.queryParams).length) {
29
29
  this.type = 'routerLink';
30
30
  }
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
67
67
  }], buttonClick: [{
68
68
  type: Output
69
69
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3RhYmxlLWJ1dHRvbi90YWJsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvdGFibGUtYnV0dG9uL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBSWxIOzs7Ozs7Ozs7R0FTRztBQU9ILE1BQU0sT0FBTywyQkFBMkI7SUFOeEM7UUFPb0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQUk5QyxhQUFRLEdBQTZCLEVBQUUsQ0FBQztRQUV4QyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVMLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNoRSxTQUFJLEdBQTZDLE1BQU0sQ0FBQztLQWFsRTtJQVhVLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztTQUM1QjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUN0QjthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7U0FDdkI7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzs7d0hBeEJRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDhXQ3BCeEMsdTVJQThIQTsyRkQxR2EsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLHNCQUFzQixpQkFHakIsaUJBQWlCLENBQUMsSUFBSTs4QkFHckIsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ29CLFdBQVc7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG4vKipcbiAqIEJ1dHRvbiB0aGF0IGZpdHMgd2VsbCBpbiBhIGA8bWF0LXRhYmxlPmAgYW5kIHN1cHBvcnQgZWl0aGVyXG4gKiByb3V0ZSBuYXZpZ2F0aW9uIHZpYSBgbmF2aWdhdGVgLCBvciBleHRlcm5hbCBVUkwgdmlhIGBocmVmYCxcbiAqIG9yIGNhbGxiYWNrIHZpYSBgYnV0dG9uQ2xpY2tgLlxuICpcbiAqIElmIG5laXRoZXIgYG5hdmlnYXRlYCBub3IgYGhyZWZgIG5vciBgYnV0dG9uQ2xpY2tgIGhhdmUgYSBtZWFuaW5nZnVsIHZhbHVlLCB0aGVuXG4gKiBpdCB3aWxsIHNob3cgdGhlIGljb24gYW5kL29yIGxhYmVsIGluIGEgYDxzcGFuPmAgaW5zdGVhZCBvZiBhIGJ1dHRvbi5cbiAqXG4gKiBFeHRlcm5hbCBVUkwgd2lsbCBhbHdheXMgYmUgb3BlbmVkIGluIG5ldyB0YWIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC10YWJsZS1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxUYWJsZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7fTtcbiAgICBASW5wdXQoKSBwdWJsaWMgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbD86IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgcHVibGljIGljb24/OiBzdHJpbmcgfCBudWxsO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBocmVmPzogc3RyaW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2aWdhdGU6IFJvdXRlckxpbmtbJ3JvdXRlckxpbmsnXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmcmFnbWVudD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJlc2VydmVGcmFnbWVudCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByYWlzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIHB1YmxpYyB0eXBlOiAncm91dGVyTGluaycgfCAnaHJlZicgfCAnY2xpY2snIHwgJ25vbmUnID0gJ25vbmUnO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGU/Lmxlbmd0aCB8fCBPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5UGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdyb3V0ZXJMaW5rJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdocmVmJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJ1dHRvbkNsaWNrLm9ic2VydmVkKSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAnY2xpY2snO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ25vbmUnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPCEtLSBCZWNhdXNlIGRpcmVjdGl2ZXMgY2FuJ3QgYmUgYXBwbGllZCBjb25kaXRpb25hbGx5IChyb3V0ZXJMaW5rLCBtYXQtYnV0dG9uIGFuZCBtYXQtaWNvbi1idXR0b24pLCB3ZSBoYXZlIHRvIHVzZSBkaWZmZXJlbnQgZWxlbWVudHMgLS0+XG5cbjwhLS0gRWRnZSBjYXNlIG9mIGEgYnV0dG9uIHdpdGhvdXQgYW55IGtpbmQgb2YgbGluayBhdCBhbGwgLS0+XG48c3BhbiAqbmdJZj1cInR5cGUgPT09ICdub25lJ1wiPlxuICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJpY29uXCIgW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgIDxzcGFuICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbjwvc3Bhbj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyYWlzZWRcIj5cbiAgICA8IS0tIEFwcCByb3V0ZWQgbGluayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JvdXRlckxpbmsnICYmIGxhYmVsXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cImZyYWdtZW50XCJcbiAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICA+XG4gICAgICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJpY29uXCIgW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdyb3V0ZXJMaW5rJyAmJiAhbGFiZWxcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVcIlxuICAgICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIENsaWNrIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgPGEgKm5nSWY9XCJ0eXBlID09PSAnY2xpY2snICYmIGxhYmVsXCIgW2NvbG9yXT1cImNvbG9yXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiIG1hdC1idXR0b24+XG4gICAgICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJpY29uXCIgW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICA8YSAqbmdJZj1cInR5cGUgPT09ICdjbGljaycgJiYgIWxhYmVsXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBFeHRlcm5hbCBsaW5rIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgPGEgKm5nSWY9XCJ0eXBlID09PSAnaHJlZicgJiYgbGFiZWxcIiBbYXR0ci5ocmVmXT1cImhyZWZcIiBbY29sb3JdPVwiY29sb3JcIiBtYXQtYnV0dG9uIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9hPlxuXG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgPGEgKm5nSWY9XCJ0eXBlID09PSAnaHJlZicgJiYgIWxhYmVsXCIgW2F0dHIuaHJlZl09XCJocmVmXCIgW2NvbG9yXT1cImNvbG9yXCIgbWF0LWljb24tYnV0dG9uIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2E+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInJhaXNlZFwiPlxuICAgIDwhLS0gQXBwIHJvdXRlZCBsaW5rIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAncm91dGVyTGluaycgJiYgbGFiZWxcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVcIlxuICAgICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICA+XG4gICAgICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJpY29uXCIgW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdyb3V0ZXJMaW5rJyAmJiAhbGFiZWxcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVcIlxuICAgICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2E+XG4gICAgPCEtLSBDbGljayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIDxhICpuZ0lmPVwidHlwZSA9PT0gJ2NsaWNrJyAmJiBsYWJlbFwiIFtjb2xvcl09XCJjb2xvclwiIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIiBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYT5cblxuICAgIDwhLS0gLi4uIGFuZCB3aXRob3V0IGxhYmVsIC0tPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2NsaWNrJyAmJiAhbGFiZWxcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIEV4dGVybmFsIGxpbmsgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICA8YSAqbmdJZj1cInR5cGUgPT09ICdocmVmJyAmJiBsYWJlbFwiIFthdHRyLmhyZWZdPVwiaHJlZlwiIFtjb2xvcl09XCJjb2xvclwiIG1hdC1yYWlzZWQtYnV0dG9uIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9hPlxuXG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnaHJlZicgJiYgIWxhYmVsXCJcbiAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2E+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3RhYmxlLWJ1dHRvbi90YWJsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvdGFibGUtYnV0dG9uL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFJbkc7Ozs7Ozs7OztHQVNHO0FBT0gsTUFBTSxPQUFPLDJCQUEyQjtJQU54QztRQU9vQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBSTlDLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBRXhDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRUwsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ2hFLFNBQUksR0FBNkMsTUFBTSxDQUFDO0tBYWxFO0lBWFUsV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1NBQzVCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztTQUN2QjthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7U0FDdEI7SUFDTCxDQUFDOzt3SEF4QlEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsOFdDcEJ4Qyx1NUlBOEhBOzJGRDFHYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksc0JBQXNCLGlCQUdqQixpQkFBaUIsQ0FBQyxJQUFJOzhCQUdyQixXQUFXO3NCQUExQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDb0IsV0FBVztzQkFBcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIFJvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RoZW1lUGFsZXR0ZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbi8qKlxuICogQnV0dG9uIHRoYXQgZml0cyB3ZWxsIGluIGEgYDxtYXQtdGFibGU+YCBhbmQgc3VwcG9ydCBlaXRoZXJcbiAqIHJvdXRlIG5hdmlnYXRpb24gdmlhIGBuYXZpZ2F0ZWAsIG9yIGV4dGVybmFsIFVSTCB2aWEgYGhyZWZgLFxuICogb3IgY2FsbGJhY2sgdmlhIGBidXR0b25DbGlja2AuXG4gKlxuICogSWYgbmVpdGhlciBgbmF2aWdhdGVgIG5vciBgaHJlZmAgbm9yIGBidXR0b25DbGlja2AgaGF2ZSBhIG1lYW5pbmdmdWwgdmFsdWUsIHRoZW5cbiAqIGl0IHdpbGwgc2hvdyB0aGUgaWNvbiBhbmQvb3IgbGFiZWwgaW4gYSBgPHNwYW4+YCBpbnN0ZWFkIG9mIGEgYnV0dG9uLlxuICpcbiAqIEV4dGVybmFsIFVSTCB3aWxsIGFsd2F5cyBiZSBvcGVuZWQgaW4gbmV3IHRhYi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLXRhYmxlLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFRhYmxlQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwdWJsaWMgcXVlcnlQYXJhbXM6IFBhcmFtcyA9IHt9O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVBhcmFtc0hhbmRsaW5nOiBRdWVyeVBhcmFtc0hhbmRsaW5nID0gJyc7XG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsPzogc3RyaW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaWNvbj86IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgcHVibGljIGhyZWY/OiBzdHJpbmcgfCBudWxsO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBuYXZpZ2F0ZTogUm91dGVyTGlua1sncm91dGVyTGluayddID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGZyYWdtZW50Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcmVzZXJ2ZUZyYWdtZW50ID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHJhaXNlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgcHVibGljIHR5cGU6ICdyb3V0ZXJMaW5rJyB8ICdocmVmJyB8ICdjbGljaycgfCAnbm9uZScgPSAnbm9uZSc7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdmlnYXRlPy5sZW5ndGggfHwgT2JqZWN0LmtleXModGhpcy5xdWVyeVBhcmFtcykubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAncm91dGVyTGluayc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5ocmVmKSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAnaHJlZic7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5idXR0b25DbGljay5vYnNlcnZlZCkge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ2NsaWNrJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdub25lJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjwhLS0gQmVjYXVzZSBkaXJlY3RpdmVzIGNhbid0IGJlIGFwcGxpZWQgY29uZGl0aW9uYWxseSAocm91dGVyTGluaywgbWF0LWJ1dHRvbiBhbmQgbWF0LWljb24tYnV0dG9uKSwgd2UgaGF2ZSB0byB1c2UgZGlmZmVyZW50IGVsZW1lbnRzIC0tPlxuXG48IS0tIEVkZ2UgY2FzZSBvZiBhIGJ1dHRvbiB3aXRob3V0IGFueSBraW5kIG9mIGxpbmsgYXQgYWxsIC0tPlxuPHNwYW4gKm5nSWY9XCJ0eXBlID09PSAnbm9uZSdcIj5cbiAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8c3BhbiAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG48L3NwYW4+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhcmFpc2VkXCI+XG4gICAgPCEtLSBBcHAgcm91dGVkIGxpbmsgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdyb3V0ZXJMaW5rJyAmJiBsYWJlbFwiXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICBbcm91dGVyTGlua109XCJuYXZpZ2F0ZVwiXG4gICAgICAgIFtmcmFnbWVudF09XCJmcmFnbWVudFwiXG4gICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cInByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9hPlxuXG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAncm91dGVyTGluaycgJiYgIWxhYmVsXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cImZyYWdtZW50XCJcbiAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgID5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBDbGljayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIDxhICpuZ0lmPVwidHlwZSA9PT0gJ2NsaWNrJyAmJiBsYWJlbFwiIFtjb2xvcl09XCJjb2xvclwiIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIiBtYXQtYnV0dG9uPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9hPlxuXG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgPGEgKm5nSWY9XCJ0eXBlID09PSAnY2xpY2snICYmICFsYWJlbFwiIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJpY29uXCIgW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgIDwvYT5cblxuICAgIDwhLS0gRXh0ZXJuYWwgbGluayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIDxhICpuZ0lmPVwidHlwZSA9PT0gJ2hyZWYnICYmIGxhYmVsXCIgW2F0dHIuaHJlZl09XCJocmVmXCIgW2NvbG9yXT1cImNvbG9yXCIgbWF0LWJ1dHRvbiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYT5cblxuICAgIDwhLS0gLi4uIGFuZCB3aXRob3V0IGxhYmVsIC0tPlxuICAgIDxhICpuZ0lmPVwidHlwZSA9PT0gJ2hyZWYnICYmICFsYWJlbFwiIFthdHRyLmhyZWZdPVwiaHJlZlwiIFtjb2xvcl09XCJjb2xvclwiIG1hdC1pY29uLWJ1dHRvbiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9hPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJyYWlzZWRcIj5cbiAgICA8IS0tIEFwcCByb3V0ZWQgbGluayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ3JvdXRlckxpbmsnICYmIGxhYmVsXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cImZyYWdtZW50XCJcbiAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgPlxuICAgICAgICA8bmF0dXJhbC1pY29uICpuZ0lmPVwiaWNvblwiIFtuYW1lXT1cImljb25cIj48L25hdHVyYWwtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9hPlxuXG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAncm91dGVyTGluaycgJiYgIWxhYmVsXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cImZyYWdtZW50XCJcbiAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgID5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9hPlxuICAgIDwhLS0gQ2xpY2sgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICA8YSAqbmdJZj1cInR5cGUgPT09ICdjbGljaycgJiYgbGFiZWxcIiBbY29sb3JdPVwiY29sb3JcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgIDxuYXR1cmFsLWljb24gKm5nSWY9XCJpY29uXCIgW25hbWVdPVwiaWNvblwiPjwvbmF0dXJhbC1pY29uPlxuICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cInR5cGUgPT09ICdjbGljaycgJiYgIWxhYmVsXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgID5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBFeHRlcm5hbCBsaW5rIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgPGEgKm5nSWY9XCJ0eXBlID09PSAnaHJlZicgJiYgbGFiZWxcIiBbYXR0ci5ocmVmXT1cImhyZWZcIiBbY29sb3JdPVwiY29sb3JcIiBtYXQtcmFpc2VkLWJ1dHRvbiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvYT5cblxuICAgIDwhLS0gLi4uIGFuZCB3aXRob3V0IGxhYmVsIC0tPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2hyZWYnICYmICFsYWJlbFwiXG4gICAgICAgIFthdHRyLmhyZWZdPVwiaHJlZlwiXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgID5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiAqbmdJZj1cImljb25cIiBbbmFtZV09XCJpY29uXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9hPlxuPC9uZy1jb250YWluZXI+XG4iXX0=