coer-elements 0.0.30 → 0.0.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. package/components/lib/coer-accordion/coer-accordion.component.d.ts +18 -0
  2. package/components/lib/coer-form/coer-form.component.d.ts +3 -1
  3. package/components/lib/components.module.d.ts +34 -33
  4. package/components/public-api.d.ts +1 -1
  5. package/esm2022/components/lib/coer-accordion/coer-accordion.component.mjs +53 -0
  6. package/esm2022/components/lib/coer-button/coer-button.component.mjs +11 -5
  7. package/esm2022/components/lib/coer-filebox/coer-filebox.component.mjs +1 -1
  8. package/esm2022/components/lib/coer-form/coer-form.component.mjs +9 -3
  9. package/esm2022/components/lib/coer-grid/coer-grid.component.mjs +3 -3
  10. package/esm2022/components/lib/coer-modal/coer-modal.component.mjs +1 -1
  11. package/esm2022/components/lib/coer-sidenav/coer-sidenav.component.mjs +2 -2
  12. package/esm2022/components/lib/coer-sidenav/coer-tree-accordion/coer-tree-accordion.component.mjs +3 -2
  13. package/esm2022/components/lib/components.module.mjs +8 -3
  14. package/esm2022/components/public-api.mjs +2 -2
  15. package/esm2022/tools/lib/coer-grid.templates.mjs +34 -0
  16. package/esm2022/tools/lib/page.class.mjs +7 -1
  17. package/esm2022/tools/lib/service.class.mjs +2 -2
  18. package/esm2022/tools/public-api.mjs +2 -1
  19. package/fesm2022/coer-elements-components.mjs +95 -60
  20. package/fesm2022/coer-elements-components.mjs.map +1 -1
  21. package/fesm2022/coer-elements-tools.mjs +41 -2
  22. package/fesm2022/coer-elements-tools.mjs.map +1 -1
  23. package/package.json +7 -7
  24. package/styles/angular-material.scss +1 -0
  25. package/styles/bootstrap.scss +0 -6
  26. package/styles/coer-elements.css +25 -6
  27. package/styles/containers.scss +2 -0
  28. package/{components/lib/coer-grid → tools/lib}/coer-grid.templates.d.ts +2 -0
  29. package/tools/lib/page.class.d.ts +4 -0
  30. package/tools/public-api.d.ts +1 -0
  31. package/esm2022/components/lib/coer-grid/coer-grid.templates.mjs +0 -30
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
104
104
  }], id: [{
105
105
  type: Input
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBUWxDLE1BQU0sT0FBTyxTQUFTO0lBTHRCO1FBU0ksV0FBVztRQUNELFFBQUcsR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsaUJBQVksR0FBNEIsaUJBQWlCLENBQUM7UUFDNUQsZ0JBQVcsR0FBVyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBRWxELFFBQVE7UUFDQyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QixvQkFBZSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FB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QztJQUNMLENBQUM7SUFHRCxNQUFNO0lBQ0MsS0FBSztRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkIsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7K0dBM0dRLFNBQVM7bUdBQVQsU0FBUyxzL0JBRUQsZ0JBQWdCLDZCQ2ZyQyw0eURBeUNROzs0RkQ1QkssU0FBUztrQkFMckIsU0FBUzsrQkFDSSxZQUFZOzhCQU1hLFVBQVU7c0JBQTVDLGVBQWU7dUJBQUMsZ0JBQWdCO2dCQVV4QixFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBDb250ZW50Q2hpbGRyZW4sIGlucHV0LCBJbnB1dCwgT25Jbml0LCBvdXRwdXQsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDb2VyUmVmLCBJU2NyZWVuU2l6ZSB9IGZyb20gJ2NvZXItZWxlbWVudHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvZXJSZWZEaXJlY3RpdmUgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBpc01vZGFsT3BlblNJR05BTCB9IGZyb20gJ2NvZXItZWxlbWVudHMvc2lnbmFscyc7XHJcbmltcG9ydCB7IFNjcmVlbiwgVG9vbHMgfSBmcm9tICdjb2VyLWVsZW1lbnRzL3Rvb2xzJzsgXHJcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnYm9vdHN0cmFwJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY29lci1tb2RhbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29lci1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci1tb2RhbC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJNb2RhbCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihDb2VyUmVmRGlyZWN0aXZlKSBjb250ZW50UmVmITogYW55O1xyXG5cclxuICAgIC8vVmFyaWFibGVzXHJcbiAgICBwcm90ZWN0ZWQgX2lkOiBzdHJpbmcgPSBUb29scy5HZXRHdWlkKCdjb2VyLW1vZGFsJyk7XHJcbiAgICBwcm90ZWN0ZWQgX2lzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJvdGVjdGVkIF9tb2RhbCE6IE1vZGFsO1xyXG4gICAgcHJvdGVjdGVkIF9pc01vZGFsT3BlbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBpc01vZGFsT3BlblNJR05BTDtcclxuICAgIHByaXZhdGUgd2luZG93V2lkdGg6IG51bWJlciA9IFNjcmVlbi5XSU5ET1dfV0lEVEg7XHJcblxyXG4gICAgLy9JbnB1dHNcclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnJztcclxuICAgIHB1YmxpYyB0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gICAgcHVibGljIGljb24gPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuICAgIHB1YmxpYyBzaG93Q2xvc2VCdXR0b24gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICAgIHB1YmxpYyB3aWR0aCA9IGlucHV0PCdzbWFsbCd8ICdmdWxsJz4oJ3NtYWxsJyk7XHJcbiAgICBwdWJsaWMgaGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignYXV0bycpO1xyXG4gICAgcHVibGljIG1heEhlaWdodCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cclxuICAgIC8vZ2V0dGVyXHJcbiAgICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vZ2V0dGVyXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF93aWR0aCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHN3aXRjaCh0aGlzLndpZHRoKCkpIHtcclxuICAgICAgICAgICAgY2FzZSAnc21hbGwnOiByZXR1cm4gJzQ1MHB4JztcclxuICAgICAgICAgICAgY2FzZSAnZnVsbCc6IHJldHVybiBgJHt0aGlzLndpbmRvd1dpZHRoIC0gNTB9cHhgO1xyXG4gICAgICAgICAgICBkZWZhdWx0OiByZXR1cm4gJ2F1dG8nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL0NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgY29udGVudExpc3QgPSBjb21wdXRlZDxJQ29lclJlZltdPigoKSA9PiBBcnJheS5mcm9tKHRoaXMuY29udGVudFJlZi5fcmVzdWx0cykpO1xyXG5cclxuICAgIC8vQ29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBoZWFkZXIgPSBjb21wdXRlZDxJQ29lclJlZiB8IG51bGw+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBoZWFkZXIgPSB0aGlzLmNvbnRlbnRMaXN0KCkuZmluZCh4ID0+IHguY29lclJlZigpID09PSAnaGVhZGVyJyk7XHJcbiAgICAgICAgcmV0dXJuIFRvb2xzLklzTm90TnVsbChoZWFkZXIpID8gaGVhZGVyISA6IG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvL0NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgYm9keSA9IGNvbXB1dGVkPElDb2VyUmVmIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLmNvbnRlbnRMaXN0KCkuZmluZCh4ID0+IHguY29lclJlZigpID09PSAnJyB8fCB4LmNvZXJSZWYoKSA9PT0gJ2JvZHknKTtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKGJvZHkpID8gYm9keSEgOiBudWxsO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy9Db21wdXRlZFxyXG4gICAgcHJvdGVjdGVkIGZvb3RlciA9IGNvbXB1dGVkPElDb2VyUmVmIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvb3RlciA9IHRoaXMuY29udGVudExpc3QoKS5maW5kKHggPT4geC5jb2VyUmVmKCkgPT09ICdmb290ZXInKTtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKGZvb3RlcikgPyBmb290ZXIhIDogbnVsbDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vQ29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKHRoaXMuaGVhZGVyKCkpICYmIHRoaXMuaGVhZGVyKCkhLnRpdGxlKCkubGVuZ3RoID4gMFxyXG4gICAgICAgICAgICA/IHRoaXMuaGVhZGVyKCkhLnRpdGxlKCkgOiB0aGlzLnRpdGxlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvL0NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgX2ljb24gPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKHRoaXMuaGVhZGVyKCkpICYmIHRoaXMuaGVhZGVyKCkhLmljb24oKS5sZW5ndGggPiAwXHJcbiAgICAgICAgICAgID8gdGhpcy5oZWFkZXIoKSEuaWNvbigpIDogdGhpcy5pY29uKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvL091dHB1dHNcclxuICAgIHB1YmxpYyBvbk9wZW4gPSBvdXRwdXQ8dm9pZD4oKTtcclxuICAgIHB1YmxpYyBvbkNsb3NlID0gb3V0cHV0PHZvaWQ+KCk7XHJcblxyXG4gICAgLy9HZW5lcmljIFRvb2xzXHJcbiAgICBwcm90ZWN0ZWQgSXNOdWxsID0gVG9vbHMuSXNOdWxsO1xyXG4gICAgcHJvdGVjdGVkIElzTm90TnVsbCA9IFRvb2xzLklzTm90TnVsbDtcclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBTY3JlZW4uUmVzaXplLnN1YnNjcmliZSgocmVzcG9uc2U6IElTY3JlZW5TaXplKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMud2luZG93V2lkdGggPSByZXNwb25zZS53aWR0aDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fbW9kYWwgPSBuZXcgTW9kYWwoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5faWQpISlcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgT3BlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9tb2RhbC5zaG93KCk7XHJcblxyXG4gICAgICAgIGlmKCF0aGlzLl9pc09wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5faXNNb2RhbE9wZW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICBUb29scy5TbGVlcCgxMDAwKS50aGVuKCgpID0+IHRoaXMub25PcGVuLmVtaXQoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9tb2RhbC5oaWRlKCk7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX2lzT3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5faXNNb2RhbE9wZW4uc2V0KGZhbHNlKTtcclxuICAgICAgICAgICAgVG9vbHMuU2xlZXAoMTAwMCkudGhlbigoKSA9PiB0aGlzLm9uQ2xvc2UuZW1pdCgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCI8YXNpZGUgdGl0bGU9JycgW2lkXT1cIl9pZFwiIGNsYXNzPVwibW9kYWwgZmFkZVwiIGRhdGEtYnMtYmFja2Ryb3A9XCJzdGF0aWNcIiB0YWJpbmRleD1cIi0xXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIG1vZGFsLWRpYWxvZy1jZW50ZXJlZCBtb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZVwiIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IF93aWR0aCB9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgQGlmKElzTnVsbChoZWFkZXIoKSkgfHwgKElzTm90TnVsbChoZWFkZXIoKSkgJiYgaGVhZGVyKCk/LnNob3coKSkpIHtcclxuICAgICAgICAgICAgICAgIDxoZWFkZXIgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiX2ljb24oKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAnbXMtMSc6IF9pY29uKCkubGVuZ3RoID4gMCB9XCI+IHt7IF90aXRsZSgpIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2g2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYoc2hvd0Nsb3NlQnV0dG9uKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiAoY2xpY2spPVwiQ2xvc2UoKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvaGVhZGVyPlxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cIm1vZGFsLWJvZHlcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6IGhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICdtYXgtaGVpZ2h0JzogbWF4SGVpZ2h0KCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ292ZXJmbG93JzogbWF4SGVpZ2h0KCkgPT09ICcnID8gJ3Zpc2libGUnIDogJ2F1dG8nXHJcbiAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICBAaWYoSXNOb3ROdWxsKGJvZHkoKSkgJiYgYm9keSgpPy5zaG93KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHkoKSEudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcblxyXG4gICAgICAgICAgICBAaWYoSXNOb3ROdWxsKGZvb3RlcigpKSkge1xyXG4gICAgICAgICAgICAgICAgPGZvb3RlciBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihmb290ZXIoKT8uc2hvdygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyKCkhLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9mb290ZXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnYmFja2Ryb3AnOiBfaXNNb2RhbE9wZW4oKSB9XCI+PC9kaXY+XHJcbjwvYXNpZGU+Il19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBUWxDLE1BQU0sT0FBTyxTQUFTO0lBTHRCO1FBU0ksV0FBVztRQUNELFFBQUcsR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsaUJBQVksR0FBNEIsaUJBQWlCLENBQUM7UUFDNUQsZ0JBQVcsR0FBVyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBRWxELFFBQVE7UUFDQyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsU0FBSSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QixvQkFBZSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FB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QztJQUNMLENBQUM7SUFHRCxNQUFNO0lBQ0MsS0FBSztRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkIsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7K0dBM0dRLFNBQVM7bUdBQVQsU0FBUyxzL0JBRUQsZ0JBQWdCLDZCQ2ZyQyw0eURBeUNROzs0RkQ1QkssU0FBUztrQkFMckIsU0FBUzsrQkFDSSxZQUFZOzhCQU1hLFVBQVU7c0JBQTVDLGVBQWU7dUJBQUMsZ0JBQWdCO2dCQVV4QixFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBDb250ZW50Q2hpbGRyZW4sIGlucHV0LCBJbnB1dCwgT25Jbml0LCBvdXRwdXQsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDb2VyUmVmLCBJU2NyZWVuU2l6ZSB9IGZyb20gJ2NvZXItZWxlbWVudHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvZXJSZWZEaXJlY3RpdmUgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBpc01vZGFsT3BlblNJR05BTCB9IGZyb20gJ2NvZXItZWxlbWVudHMvc2lnbmFscyc7XHJcbmltcG9ydCB7IFNjcmVlbiwgVG9vbHMgfSBmcm9tICdjb2VyLWVsZW1lbnRzL3Rvb2xzJztcclxuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdib290c3RyYXAnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jb2VyLW1vZGFsLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lck1vZGFsIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKENvZXJSZWZEaXJlY3RpdmUpIGNvbnRlbnRSZWYhOiBhbnk7XHJcblxyXG4gICAgLy9WYXJpYWJsZXNcclxuICAgIHByb3RlY3RlZCBfaWQ6IHN0cmluZyA9IFRvb2xzLkdldEd1aWQoJ2NvZXItbW9kYWwnKTtcclxuICAgIHByb3RlY3RlZCBfaXNPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcm90ZWN0ZWQgX21vZGFsITogTW9kYWw7XHJcbiAgICBwcm90ZWN0ZWQgX2lzTW9kYWxPcGVuOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IGlzTW9kYWxPcGVuU0lHTkFMO1xyXG4gICAgcHJpdmF0ZSB3aW5kb3dXaWR0aDogbnVtYmVyID0gU2NyZWVuLldJTkRPV19XSURUSDtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgcHVibGljIHRpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcbiAgICBwdWJsaWMgaWNvbiA9IGlucHV0PHN0cmluZz4oJycpO1xyXG4gICAgcHVibGljIHNob3dDbG9zZUJ1dHRvbiA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gICAgcHVibGljIHdpZHRoID0gaW5wdXQ8J3NtYWxsJ3wgJ2Z1bGwnPignc21hbGwnKTtcclxuICAgIHB1YmxpYyBoZWlnaHQgPSBpbnB1dDxzdHJpbmc+KCdhdXRvJyk7XHJcbiAgICBwdWJsaWMgbWF4SGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XHJcbiAgICB9XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHByb3RlY3RlZCBnZXQgX3dpZHRoKCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3dpdGNoKHRoaXMud2lkdGgoKSkge1xyXG4gICAgICAgICAgICBjYXNlICdzbWFsbCc6IHJldHVybiAnNDUwcHgnO1xyXG4gICAgICAgICAgICBjYXNlICdmdWxsJzogcmV0dXJuIGAke3RoaXMud2luZG93V2lkdGggLSA1MH1weGA7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnYXV0byc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vQ29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBjb250ZW50TGlzdCA9IGNvbXB1dGVkPElDb2VyUmVmW10+KCgpID0+IEFycmF5LmZyb20odGhpcy5jb250ZW50UmVmLl9yZXN1bHRzKSk7XHJcblxyXG4gICAgLy9Db21wdXRlZFxyXG4gICAgcHJvdGVjdGVkIGhlYWRlciA9IGNvbXB1dGVkPElDb2VyUmVmIHwgbnVsbD4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuY29udGVudExpc3QoKS5maW5kKHggPT4geC5jb2VyUmVmKCkgPT09ICdoZWFkZXInKTtcclxuICAgICAgICByZXR1cm4gVG9vbHMuSXNOb3ROdWxsKGhlYWRlcikgPyBoZWFkZXIhIDogbnVsbDtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vQ29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBib2R5ID0gY29tcHV0ZWQ8SUNvZXJSZWYgfCBudWxsPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuY29udGVudExpc3QoKS5maW5kKHggPT4geC5jb2VyUmVmKCkgPT09ICcnIHx8IHguY29lclJlZigpID09PSAnYm9keScpO1xyXG4gICAgICAgIHJldHVybiBUb29scy5Jc05vdE51bGwoYm9keSkgPyBib2R5ISA6IG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvL0NvbXB1dGVkXHJcbiAgICBwcm90ZWN0ZWQgZm9vdGVyID0gY29tcHV0ZWQ8SUNvZXJSZWYgfCBudWxsPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZm9vdGVyID0gdGhpcy5jb250ZW50TGlzdCgpLmZpbmQoeCA9PiB4LmNvZXJSZWYoKSA9PT0gJ2Zvb3RlcicpO1xyXG4gICAgICAgIHJldHVybiBUb29scy5Jc05vdE51bGwoZm9vdGVyKSA/IGZvb3RlciEgOiBudWxsO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy9Db21wdXRlZFxyXG4gICAgcHJvdGVjdGVkIF90aXRsZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBUb29scy5Jc05vdE51bGwodGhpcy5oZWFkZXIoKSkgJiYgdGhpcy5oZWFkZXIoKSEudGl0bGUoKS5sZW5ndGggPiAwXHJcbiAgICAgICAgICAgID8gdGhpcy5oZWFkZXIoKSEudGl0bGUoKSA6IHRoaXMudGl0bGUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vQ29tcHV0ZWRcclxuICAgIHByb3RlY3RlZCBfaWNvbiA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBUb29scy5Jc05vdE51bGwodGhpcy5oZWFkZXIoKSkgJiYgdGhpcy5oZWFkZXIoKSEuaWNvbigpLmxlbmd0aCA+IDBcclxuICAgICAgICAgICAgPyB0aGlzLmhlYWRlcigpIS5pY29uKCkgOiB0aGlzLmljb24oKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vT3V0cHV0c1xyXG4gICAgcHVibGljIG9uT3BlbiA9IG91dHB1dDx2b2lkPigpO1xyXG4gICAgcHVibGljIG9uQ2xvc2UgPSBvdXRwdXQ8dm9pZD4oKTtcclxuXHJcbiAgICAvL0dlbmVyaWMgVG9vbHNcclxuICAgIHByb3RlY3RlZCBJc051bGwgPSBUb29scy5Jc051bGw7XHJcbiAgICBwcm90ZWN0ZWQgSXNOb3ROdWxsID0gVG9vbHMuSXNOb3ROdWxsO1xyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIFNjcmVlbi5SZXNpemUuc3Vic2NyaWJlKChyZXNwb25zZTogSVNjcmVlblNpemUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy53aW5kb3dXaWR0aCA9IHJlc3BvbnNlLndpZHRoO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbCA9IG5ldyBNb2RhbChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLl9pZCkhKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBPcGVuKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21vZGFsLnNob3coKTtcclxuXHJcbiAgICAgICAgaWYoIXRoaXMuX2lzT3Blbikge1xyXG4gICAgICAgICAgICB0aGlzLl9pc09wZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9pc01vZGFsT3Blbi5zZXQodHJ1ZSk7XHJcbiAgICAgICAgICAgIFRvb2xzLlNsZWVwKDEwMDApLnRoZW4oKCkgPT4gdGhpcy5vbk9wZW4uZW1pdCgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIENsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21vZGFsLmhpZGUoKTtcclxuXHJcbiAgICAgICAgaWYodGhpcy5faXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9pc01vZGFsT3Blbi5zZXQoZmFsc2UpO1xyXG4gICAgICAgICAgICBUb29scy5TbGVlcCgxMDAwKS50aGVuKCgpID0+IHRoaXMub25DbG9zZS5lbWl0KCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxhc2lkZSB0aXRsZT0nJyBbaWRdPVwiX2lkXCIgY2xhc3M9XCJtb2RhbCBmYWRlXCIgZGF0YS1icy1iYWNrZHJvcD1cInN0YXRpY1wiIHRhYmluZGV4PVwiLTFcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtZGlhbG9nLWNlbnRlcmVkIG1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogX3dpZHRoIH1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxyXG4gICAgICAgICAgICBAaWYoSXNOdWxsKGhlYWRlcigpKSB8fCAoSXNOb3ROdWxsKGhlYWRlcigpKSAmJiBoZWFkZXIoKT8uc2hvdygpKSkge1xyXG4gICAgICAgICAgICAgICAgPGhlYWRlciBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJfaWNvbigpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7ICdtcy0xJzogX2ljb24oKS5sZW5ndGggPiAwIH1cIj4ge3sgX3RpdGxlKCkgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZihzaG93Q2xvc2VCdXR0b24oKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIChjbGljayk9XCJDbG9zZSgpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9oZWFkZXI+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwibW9kYWwtYm9keVwiIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogaGVpZ2h0KCksXHJcbiAgICAgICAgICAgICAgICAgICAgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHQoKSxcclxuICAgICAgICAgICAgICAgICAgICAnb3ZlcmZsb3cnOiBtYXhIZWlnaHQoKSA9PT0gJycgPyAndmlzaWJsZScgOiAnYXV0bydcclxuICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIEBpZihJc05vdE51bGwoYm9keSgpKSAmJiBib2R5KCk/LnNob3coKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keSgpIS50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgICAgIEBpZihJc05vdE51bGwoZm9vdGVyKCkpKSB7XHJcbiAgICAgICAgICAgICAgICA8Zm9vdGVyIGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmKGZvb3RlcigpPy5zaG93KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXIoKSEudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2Zvb3Rlcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7ICdiYWNrZHJvcCc6IF9pc01vZGFsT3BlbigpIH1cIj48L2Rpdj5cclxuPC9hc2lkZT4iXX0=
@@ -32,7 +32,7 @@ export class CoerSidenav {
32
32
  this.sidenav = viewChild.required('matSidenav');
33
33
  this.menuList = viewChildren(CoerTreeAccordion);
34
34
  /** */
35
- this.IsMenu = (item) => item.hasOwnProperty('items');
35
+ this.IsMenu = (item) => item.hasOwnProperty('items') && Tools.IsNotOnlyWhiteSpace(item.items);
36
36
  /** */
37
37
  this.GetIcon = (item) => {
38
38
  if (item && item.hasOwnProperty('icon') && item.icon.length > 0) {
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
190
190
  type: Component,
191
191
  args: [{ selector: 'coer-sidenav', template: "<mat-drawer-container [hasBackdrop]=\"backdrop\">\r\n <mat-drawer\r\n #matSidenav\r\n [opened]=\"isOpen()\"\r\n (opened)=\"isOpen.set(true)\"\r\n (closed)=\"isOpen.set(false)\"\r\n [mode]=\"mode\">\r\n <div *ngFor=\"let item of _navigation()\">\r\n <!-- Menu -->\r\n <div *ngIf=\"IsMenu(item); else OptionMenu\">\r\n <coer-tree-accordion\r\n [item]=\"item\"\r\n (clickMenuOption)=\"NavigateTo($event)\"\r\n (clickMenu)=\"MenuSelected($event)\"\r\n ></coer-tree-accordion>\r\n </div>\r\n\r\n <!-- Option Menu -->\r\n <ng-template #OptionMenu>\r\n <coer-menu-option\r\n [label]=\"item.label\"\r\n [icon]=\"item?.icon\"\r\n [path]=\"item?.path\"\r\n (clickMenuOption)=\"NavigateTo($event)\"\r\n ></coer-menu-option>\r\n </ng-template>\r\n\r\n <div class=\"separator\"></div>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'backdrop': _isModalOpen() }\"></div>\r\n </mat-drawer>\r\n\r\n <!-- Main Screen -->\r\n <mat-drawer-content [ngClass]=\"{ 'margin-left-40px': (!isOpen() && showAsideMenu) }\">\r\n <aside [ngClass]=\"{ 'side-nav': true, 'd-none': !showAsideMenu }\" (click)=\"Open($event)\">\r\n <div *ngFor=\"let item of _navigation()\" (click)=\"Open($event, item)\">\r\n <span [class]=\"'icon-container ' + SetIdentityClass(item.label)\">\r\n <i [class]=\"GetIcon(item)\"></i>\r\n </span>\r\n </div>\r\n\r\n <div [ngClass]=\"{ 'backdrop': _isModalOpen() }\"></div>\r\n </aside>\r\n\r\n <ng-content></ng-content>\r\n </mat-drawer-content>\r\n</mat-drawer-container>", styles: ["mat-drawer-container{height:calc(100vh - 45px)!important}mat-drawer-container .margin-left-40px{margin-left:40px!important}mat-drawer-container mat-drawer{width:auto;min-width:200px;background-color:var(--black)!important;z-index:1!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar{width:1px!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb{background-color:var(--gray)!important;border-radius:5px!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb:hover{background-color:var(--gray)!important}mat-drawer-container mat-drawer div.mat-drawer-inner-container::-webkit-scrollbar-thumb:active{background-color:var(--white)!important}mat-drawer-container mat-drawer i{font-size:16px!important}mat-drawer-container mat-drawer div.separator{border:.5px solid rgba(245,245,245,.041)!important}mat-drawer-container mat-drawer-content{margin-right:0!important}mat-drawer-container mat-drawer-content aside.side-nav{background-color:var(--black)!important;width:40px!important;position:fixed!important;left:0!important;top:45px!important;bottom:0!important;cursor:pointer!important}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container{width:100%!important;height:49.6px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;border-bottom:1px solid rgba(245,245,245,.041)!important;color:var(--white)}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container:hover{background-color:#2f2f2f!important}mat-drawer-container mat-drawer-content aside.side-nav span.icon-container.active-link{color:var(--orange)!important}mat-drawer-container div.backdrop{position:absolute!important;inset:0!important;background-color:#0000005b!important;z-index:1500!important}\n"] }]
192
192
  }], ctorParameters: () => [] });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1zaWRlbmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9saWIvY29lci1zaWRlbmF2L2NvZXItc2lkZW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItc2lkZW5hdi9jb2VyLXNpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEgsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBT3pDLE1BQU0sT0FBTyxXQUFXO0lBY3BCLFFBQVE7SUFDUixJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsUUFBUTtJQUNSLElBQWMsSUFBSTtRQUNkLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFD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QUUsS0FBSyxFQUFFLENBQUM7b0JBQ25GLE9BQU87Z0JBQ1gsQ0FBQztZQUNMLENBQUM7WUFFRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FyTlEsV0FBVzttR0FBWCxXQUFXLHlMQVljLGlCQUFpQixnRUN6QnZELGszREErQ3VCOzs0RkRsQ1YsV0FBVztrQkFMdkIsU0FBUzsrQkFDSSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgaW5qZWN0LCB2aWV3Q2hpbGQsIHZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJTWVudSwgSU1lbnVTZWxlY3RlZCwgSU1lbnVPcHRpb25TZWxlY3RlZCwgSVNjcmVlblNpemUgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDb2VyVHJlZUFjY29yZGlvbiB9IGZyb20gJy4vY29lci10cmVlLWFjY29yZGlvbi9jb2VyLXRyZWUtYWNjb3JkaW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGJyZWFrcG9pbnRTSUdOQUwsIGlzTW9kYWxPcGVuU0lHTkFMLCBpc01lbnVPcGVuU0lHTkFMLCBuYXZpZ2F0aW9uU0lHTkFMIH0gZnJvbSAnY29lci1lbGVtZW50cy9zaWduYWxzJztcclxuaW1wb3J0IHsgVG9vbHMsIEJyZWFkY3J1bWJzLCBNZW51LCBTY3JlZW4gfSBmcm9tICdjb2VyLWVsZW1lbnRzL3Rvb2xzJztcclxuaW1wb3J0IHsgTWF0RHJhd2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY29lci1zaWRlbmF2JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2VyLXNpZGVuYXYuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvZXItc2lkZW5hdi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENvZXJTaWRlbmF2IHtcclxuXHJcbiAgICAvL0luamVjdGlvbnNcclxuICAgIHByaXZhdGUgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICAgIC8vc2lnbmFsc1xyXG4gICAgcHJvdGVjdGVkIGlzT3BlbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBpc01lbnVPcGVuU0lHTkFMO1xyXG4gICAgcHJvdGVjdGVkIF9pc01vZGFsT3BlbjogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBpc01vZGFsT3BlblNJR05BTDtcclxuICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvbjogV3JpdGFibGVTaWduYWw8SU1lbnVbXT4gPSBuYXZpZ2F0aW9uU0lHTkFMO1xyXG5cclxuICAgIC8vRWxlbWVudHNcclxuICAgIHByb3RlY3RlZCBzaWRlbmF2ID0gdmlld0NoaWxkLnJlcXVpcmVkPE1hdERyYXdlcj4oJ21hdFNpZGVuYXYnKTtcclxuICAgIHByb3RlY3RlZCBtZW51TGlzdCA9IHZpZXdDaGlsZHJlbihDb2VyVHJlZUFjY29yZGlvbik7XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHByb3RlY3RlZCBnZXQgYmFja2Ryb3AoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIFsneHMnLCAnc20nLCAnbWQnXS5pbmNsdWRlcyhicmVha3BvaW50U0lHTkFMKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vZ2V0dGVyXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IG1vZGUoKTogJ292ZXInIHwgJ3B1c2gnIHtcclxuICAgICAgICByZXR1cm4gWyd4cycsICdzbScsICdtZCddLmluY2x1ZGVzKGJyZWFrcG9pbnRTSUdOQUwoKSkgPyAnb3ZlcicgOiAncHVzaCc7XHJcbiAgICB9XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHByb3RlY3RlZCBnZXQgc2hvd0FzaWRlTWVudSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gWyd4bCcsICd4eGwnXS5pbmNsdWRlcyhicmVha3BvaW50U0lHTkFMKCkpICYmICF0aGlzLmlzT3BlbigpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5CYWNrQnV0dG9uQnJvd3NlcigpO1xyXG5cclxuICAgICAgICB0aGlzLmlzT3Blbi5zZXQoWyd4eGwnXS5pbmNsdWRlcyhTY3JlZW4uQlJFQUtQT0lOVCkpO1xyXG5cclxuICAgICAgICBTY3JlZW4uUmVzaXplLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6ICh7IGJyZWFrcG9pbiB9OiBJU2NyZWVuU2l6ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgYnJlYWtwb2ludFNJR05BTC5zZXQoYnJlYWtwb2luKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFja2Ryb3ApIHRoaXMuQ2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBOYXZpZ2F0ZVRvKHNlbGVjdGVkT3B0aW9uOiBJTWVudU9wdGlvblNlbGVjdGVkKSB7XHJcbiAgICAgICAgbGV0IHVybCA9IGAke3NlbGVjdGVkT3B0aW9uLnBhdGh9YDtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb24ucXVlcnlQYXJhbXMubGVuZ3RoID4gMCkgdXJsICs9IGA/JHtzZWxlY3RlZE9wdGlvbi5xdWVyeVBhcmFtc31gO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XHJcblxyXG4gICAgICAgIC8vU2V0IGFjdGl2ZSBsaW5rXHJcbiAgICAgICAgdGhpcy5TZXRBY3RpdmVMaW5rKHNlbGVjdGVkT3B0aW9uKTtcclxuXHJcbiAgICAgICAgLy9DbG9zZSBNZW51XHJcbiAgICAgICAgaWYoc2VsZWN0ZWRPcHRpb24ubGV2ZWwgPT0gMSkge1xyXG4gICAgICAgICAgICBmb3IoY29uc3QgbWVudUx2MSBvZiB0aGlzLm1lbnVMaXN0KCkpIHtcclxuICAgICAgICAgICAgICAgIGZvcihjb25zdCBtZW51THYyIG9mIG1lbnVMdjEubWVudUxpc3QudG9BcnJheSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVudUx2Mi5DbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWVudUx2MS5DbG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBTZXRBY3RpdmVMaW5rKHNlbGVjdGVkT3B0aW9uOiBJTWVudU9wdGlvblNlbGVjdGVkIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbikge1xyXG4gICAgICAgICAgICBzZWxlY3RlZE9wdGlvbiA9IFRvb2xzLkJyZWFrUmVmZXJlbmNlKHNlbGVjdGVkT3B0aW9uKTtcclxuICAgICAgICAgICAgTWVudS5TZXRTZWxlY3RlZE9wdGlvbihzZWxlY3RlZE9wdGlvbik7XHJcblxyXG4gICAgICAgICAgICBsZXQgY29sbGVjdGlvbjogRWxlbWVudFtdID0gW107XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmNvbmNhdChBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ21hdC1kcmF3ZXItY29udGFpbmVyIHNwYW4uaWNvbi1jb250YWluZXInKSkpO1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5jb25jYXQoQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdtYXQtZHJhd2VyLWNvbnRhaW5lciBzcGFuLmxhYmVsLWNvbnRhaW5lcicpKSk7XHJcblxyXG4gICAgICAgICAgICAvL1JlbW92ZSBhY3RpdmUtbGlua1xyXG4gICAgICAgICAgICBmb3IoY29uc3QgZWxlbWVudCBvZiBjb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBpZihlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlLWxpbmsnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlLWxpbmsnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9BZGQgYWN0aXZlLWxpbmtcclxuICAgICAgICAgICAgY29uc3QgbGV2ZWxzID0gc2VsZWN0ZWRPcHRpb24udHJlZS5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBsZXZlbHM7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgZm9yKGNvbnN0IGVsZW1lbnQgb2YgY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlkZW50aXR5Q2xhc3MgPSB0aGlzLkdldElkZW50aXR5Q2xhc3Moc2VsZWN0ZWRPcHRpb24udHJlZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGlkZW50aXR5Q2xhc3MpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYWN0aXZlLWxpbmsnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb24udHJlZS5wb3AoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgT3BlbihldmVudDogTW91c2VFdmVudCwgaXRlbTogSU1lbnUgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLnNpZGVuYXYoKS5vcGVuKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnNpZGVuYXYoKS5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdigpLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBNZW51U2VsZWN0ZWQoc2VsZWN0ZWRNZW51OiBJTWVudVNlbGVjdGVkKSB7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkTWVudS5sZXZlbCA9PSAxKSB7XHJcbiAgICAgICAgICAgIGZvcihjb25zdCBtZW51THYxIG9mIHRoaXMubWVudUxpc3QoKSkge1xyXG4gICAgICAgICAgICAgICAgaWYobWVudUx2MS5pdGVtLmxhYmVsICE9IHNlbGVjdGVkTWVudS5sYWJlbCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IoY29uc3QgbWVudUx2MiBvZiBtZW51THYxLm1lbnVMaXN0LnRvQXJyYXkoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZW51THYyLkNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBtZW51THYxLkNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIElzTWVudSA9IChpdGVtOiBJTWVudSk6IGJvb2xlYW4gPT4gaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaXRlbXMnKTtcclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgR2V0SWNvbiA9IChpdGVtOiBJTWVudSk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaWNvbicpICYmIGl0ZW0uaWNvbiEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gaXRlbS5pY29uIVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuSXNNZW51KGl0ZW0pXHJcbiAgICAgICAgICAgID8gJ2ZhLXNvbGlkIGZhLWJhcnMnXHJcbiAgICAgICAgICAgIDogJ2JpIGJpLXJlY29yZC1maWxsJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgU2V0SWRlbnRpdHlDbGFzcyA9IChsYWJlbDogU3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgICBsZXQgaWRlbnRpdHkgPSBgbHYxJHtsYWJlbH1gO1xyXG4gICAgICAgIGlmKGlkZW50aXR5LmluY2x1ZGVzKCcgJykpIGlkZW50aXR5ID0gaWRlbnRpdHkucmVwbGFjZUFsbCgnICcsICcnKTtcclxuICAgICAgICByZXR1cm4gaWRlbnRpdHkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIEdldElkZW50aXR5Q2xhc3ModHJlZTogSU1lbnVbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IGlkZW50aXR5OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IHRyZWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWRlbnRpdHkgKz0gYGx2JHtpICsgMX0ke3RyZWVbaV0ubGFiZWx9LWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZihpZGVudGl0eS5lbmRzV2l0aCgnLScpKSBpZGVudGl0eSA9IGlkZW50aXR5LnNsaWNlKDAsIC0xKTtcclxuICAgICAgICBpZihpZGVudGl0eS5pbmNsdWRlcygnICcpKSBpZGVudGl0eSA9IGlkZW50aXR5LnJlcGxhY2VBbGwoJyAnLCAnJyk7XHJcbiAgICAgICAgcmV0dXJuIGlkZW50aXR5LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBCYWNrQnV0dG9uQnJvd3NlcigpIHtcclxuICAgICAgICBjb25zdCBRVUVSWV9TRUxFQ1RPUiA9ICdjb2VyLW1lbnUtb3B0aW9uW25nLXJlZmxlY3QtcGF0aD1cIltwYXRoXVwiXSBtYXQtbmF2LWxpc3QuY29lci1tZW51LW9wdGlvbic7XHJcblxyXG4gICAgICAgIFNjcmVlbi5CYWNrQnV0dG9uQnJvd3Nlci5zdWJzY3JpYmUodG9QYXRoID0+IHtcclxuICAgICAgICAgICAgaWYgKHRvUGF0aC5pbmNsdWRlcygnLyMvJykpIHRvUGF0aCA9IHRvUGF0aC5zcGxpdCgnLyMnKVsxXTtcclxuICAgICAgICAgICAgaWYgKHRvUGF0aC5pbmNsdWRlcygnPycpKSB0b1BhdGggPSB0b1BhdGguc3BsaXQoJz8nKVswXTtcclxuXHJcbiAgICAgICAgICAgIC8vVmFsaWRhdGUgcGF0aFxyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1vZHVsZSBvZiBuYXZpZ2F0aW9uU0lHTkFMKCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtb2R1bGUuaXRlbXMpIGZvciAoY29uc3Qgc3ViTW9kdWxlIG9mIG1vZHVsZS5pdGVtcykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vTGV2ZWwgVGhyZWVcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViTW9kdWxlLml0ZW1zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihjb25zdCBpdGVtIG9mIHN1Yk1vZHVsZS5pdGVtcykgaWYgKGl0ZW0ucGF0aCA9PT0gdG9QYXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihRVUVSWV9TRUxFQ1RPUi5yZXBsYWNlKCdbcGF0aF0nLCB0b1BhdGgpKSBhcyBhbnkpPy5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvL0xldmVsIFR3b1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN1Yk1vZHVsZS5wYXRoID09PSB0b1BhdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoUVVFUllfU0VMRUNUT1IucmVwbGFjZSgnW3BhdGhdJywgdG9QYXRoKSkgYXMgYW55KT8uY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvL0xldmVsIE9uZVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAobW9kdWxlLnBhdGggPT09IHRvUGF0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFFVRVJZX1NFTEVDVE9SLnJlcGxhY2UoJ1twYXRoXScsIHRvUGF0aCkpIGFzIGFueSk/LmNsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBCcmVhZGNydW1icy5SZW1vdmUodG9QYXRoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSIsIjxtYXQtZHJhd2VyLWNvbnRhaW5lciBbaGFzQmFja2Ryb3BdPVwiYmFja2Ryb3BcIj5cclxuICAgIDxtYXQtZHJhd2VyXHJcbiAgICAgICAgI21hdFNpZGVuYXZcclxuICAgICAgICBbb3BlbmVkXT1cImlzT3BlbigpXCJcclxuICAgICAgICAob3BlbmVkKT1cImlzT3Blbi5zZXQodHJ1ZSlcIlxyXG4gICAgICAgIChjbG9zZWQpPVwiaXNPcGVuLnNldChmYWxzZSlcIlxyXG4gICAgICAgIFttb2RlXT1cIm1vZGVcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9uYXZpZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgPCEtLSBNZW51IC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSXNNZW51KGl0ZW0pOyBlbHNlIE9wdGlvbk1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxjb2VyLXRyZWUtYWNjb3JkaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrTWVudU9wdGlvbik9XCJOYXZpZ2F0ZVRvKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnUpPVwiTWVudVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci10cmVlLWFjY29yZGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE9wdGlvbiBNZW51IC0tPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI09wdGlvbk1lbnU+XHJcbiAgICAgICAgICAgICAgICA8Y29lci1tZW51LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtPy5pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGF0aF09XCJpdGVtPy5wYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tNZW51T3B0aW9uKT1cIk5hdmlnYXRlVG8oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jb2VyLW1lbnUtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2JhY2tkcm9wJzogX2lzTW9kYWxPcGVuKCkgfVwiPjwvZGl2PlxyXG4gICAgPC9tYXQtZHJhd2VyPlxyXG5cclxuICAgIDwhLS0gTWFpbiBTY3JlZW4gLS0+XHJcbiAgICA8bWF0LWRyYXdlci1jb250ZW50IFtuZ0NsYXNzXT1cInsgJ21hcmdpbi1sZWZ0LTQwcHgnOiAoIWlzT3BlbigpICYmIHNob3dBc2lkZU1lbnUpIH1cIj5cclxuICAgICAgICA8YXNpZGUgW25nQ2xhc3NdPVwieyAnc2lkZS1uYXYnOiB0cnVlLCAnZC1ub25lJzogIXNob3dBc2lkZU1lbnUgfVwiIChjbGljayk9XCJPcGVuKCRldmVudClcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfbmF2aWdhdGlvbigpXCIgKGNsaWNrKT1cIk9wZW4oJGV2ZW50LCBpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIidpY29uLWNvbnRhaW5lciAnICsgU2V0SWRlbnRpdHlDbGFzcyhpdGVtLmxhYmVsKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJHZXRJY29uKGl0ZW0pXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnYmFja2Ryb3AnOiBfaXNNb2RhbE9wZW4oKSB9XCI+PC9kaXY+XHJcbiAgICAgICAgPC9hc2lkZT5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XHJcbjwvbWF0LWRyYXdlci1jb250YWluZXI+Il19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1zaWRlbmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9saWIvY29lci1zaWRlbmF2L2NvZXItc2lkZW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItc2lkZW5hdi9jb2VyLXNpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEgsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBT3pDLE1BQU0sT0FBTyxXQUFXO0lBY3BCLFFBQVE7SUFDUixJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsUUFBUTtJQUNSLElBQWMsSUFBSTtRQUNkLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFD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Y0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDbkYsT0FBTztnQkFDWCxDQUFDO1lBQ0wsQ0FBQztZQUVELFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXJOUSxXQUFXO21HQUFYLFdBQVcseUxBWWMsaUJBQWlCLGdFQ3pCdkQsazNEQStDdUI7OzRGRGxDVixXQUFXO2tCQUx2QixTQUFTOytCQUNJLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFdyaXRhYmxlU2lnbmFsLCBpbmplY3QsIHZpZXdDaGlsZCwgdmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElNZW51LCBJTWVudVNlbGVjdGVkLCBJTWVudU9wdGlvblNlbGVjdGVkLCBJU2NyZWVuU2l6ZSB9IGZyb20gJ2NvZXItZWxlbWVudHMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvZXJUcmVlQWNjb3JkaW9uIH0gZnJvbSAnLi9jb2VyLXRyZWUtYWNjb3JkaW9uL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgYnJlYWtwb2ludFNJR05BTCwgaXNNb2RhbE9wZW5TSUdOQUwsIGlzTWVudU9wZW5TSUdOQUwsIG5hdmlnYXRpb25TSUdOQUwgfSBmcm9tICdjb2VyLWVsZW1lbnRzL3NpZ25hbHMnO1xyXG5pbXBvcnQgeyBUb29scywgQnJlYWRjcnVtYnMsIE1lbnUsIFNjcmVlbiB9IGZyb20gJ2NvZXItZWxlbWVudHMvdG9vbHMnO1xyXG5pbXBvcnQgeyBNYXREcmF3ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjb2VyLXNpZGVuYXYnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZXItc2lkZW5hdi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY29lci1zaWRlbmF2LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29lclNpZGVuYXYge1xyXG5cclxuICAgIC8vSW5qZWN0aW9uc1xyXG4gICAgcHJpdmF0ZSBfcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblxyXG4gICAgLy9zaWduYWxzXHJcbiAgICBwcm90ZWN0ZWQgaXNPcGVuOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IGlzTWVudU9wZW5TSUdOQUw7XHJcbiAgICBwcm90ZWN0ZWQgX2lzTW9kYWxPcGVuOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiA9IGlzTW9kYWxPcGVuU0lHTkFMO1xyXG4gICAgcHJvdGVjdGVkIF9uYXZpZ2F0aW9uOiBXcml0YWJsZVNpZ25hbDxJTWVudVtdPiA9IG5hdmlnYXRpb25TSUdOQUw7XHJcblxyXG4gICAgLy9FbGVtZW50c1xyXG4gICAgcHJvdGVjdGVkIHNpZGVuYXYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8TWF0RHJhd2VyPignbWF0U2lkZW5hdicpO1xyXG4gICAgcHJvdGVjdGVkIG1lbnVMaXN0ID0gdmlld0NoaWxkcmVuKENvZXJUcmVlQWNjb3JkaW9uKTtcclxuXHJcbiAgICAvL2dldHRlclxyXG4gICAgcHJvdGVjdGVkIGdldCBiYWNrZHJvcCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gWyd4cycsICdzbScsICdtZCddLmluY2x1ZGVzKGJyZWFrcG9pbnRTSUdOQUwoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9nZXR0ZXJcclxuICAgIHByb3RlY3RlZCBnZXQgbW9kZSgpOiAnb3ZlcicgfCAncHVzaCcge1xyXG4gICAgICAgIHJldHVybiBbJ3hzJywgJ3NtJywgJ21kJ10uaW5jbHVkZXMoYnJlYWtwb2ludFNJR05BTCgpKSA/ICdvdmVyJyA6ICdwdXNoJztcclxuICAgIH1cclxuXHJcbiAgICAvL2dldHRlclxyXG4gICAgcHJvdGVjdGVkIGdldCBzaG93QXNpZGVNZW51KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBbJ3hsJywgJ3h4bCddLmluY2x1ZGVzKGJyZWFrcG9pbnRTSUdOQUwoKSkgJiYgIXRoaXMuaXNPcGVuKClcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLkJhY2tCdXR0b25Ccm93c2VyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChbJ3h4bCddLmluY2x1ZGVzKFNjcmVlbi5CUkVBS1BPSU5UKSk7XHJcblxyXG4gICAgICAgIFNjcmVlbi5SZXNpemUuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKHsgYnJlYWtwb2luIH06IElTY3JlZW5TaXplKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBicmVha3BvaW50U0lHTkFMLnNldChicmVha3BvaW4pO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5iYWNrZHJvcCkgdGhpcy5DbG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIE5hdmlnYXRlVG8oc2VsZWN0ZWRPcHRpb246IElNZW51T3B0aW9uU2VsZWN0ZWQpIHtcclxuICAgICAgICBsZXQgdXJsID0gYCR7c2VsZWN0ZWRPcHRpb24ucGF0aH1gO1xyXG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbi5xdWVyeVBhcmFtcy5sZW5ndGggPiAwKSB1cmwgKz0gYD8ke3NlbGVjdGVkT3B0aW9uLnF1ZXJ5UGFyYW1zfWA7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodXJsKTtcclxuXHJcbiAgICAgICAgLy9TZXQgYWN0aXZlIGxpbmtcclxuICAgICAgICB0aGlzLlNldEFjdGl2ZUxpbmsoc2VsZWN0ZWRPcHRpb24pO1xyXG5cclxuICAgICAgICAvL0Nsb3NlIE1lbnVcclxuICAgICAgICBpZihzZWxlY3RlZE9wdGlvbi5sZXZlbCA9PSAxKSB7XHJcbiAgICAgICAgICAgIGZvcihjb25zdCBtZW51THYxIG9mIHRoaXMubWVudUxpc3QoKSkge1xyXG4gICAgICAgICAgICAgICAgZm9yKGNvbnN0IG1lbnVMdjIgb2YgbWVudUx2MS5tZW51TGlzdC50b0FycmF5KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtZW51THYyLkNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtZW51THYxLkNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIFNldEFjdGl2ZUxpbmsoc2VsZWN0ZWRPcHRpb246IElNZW51T3B0aW9uU2VsZWN0ZWQgfCBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uID0gVG9vbHMuQnJlYWtSZWZlcmVuY2Uoc2VsZWN0ZWRPcHRpb24pO1xyXG4gICAgICAgICAgICBNZW51LlNldFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uKTtcclxuXHJcbiAgICAgICAgICAgIGxldCBjb2xsZWN0aW9uOiBFbGVtZW50W10gPSBbXTtcclxuICAgICAgICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uY29uY2F0KEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbWF0LWRyYXdlci1jb250YWluZXIgc3Bhbi5pY29uLWNvbnRhaW5lcicpKSk7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmNvbmNhdChBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ21hdC1kcmF3ZXItY29udGFpbmVyIHNwYW4ubGFiZWwtY29udGFpbmVyJykpKTtcclxuXHJcbiAgICAgICAgICAgIC8vUmVtb3ZlIGFjdGl2ZS1saW5rXHJcbiAgICAgICAgICAgIGZvcihjb25zdCBlbGVtZW50IG9mIGNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIGlmKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUtbGluaycpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUtbGluaycpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvL0FkZCBhY3RpdmUtbGlua1xyXG4gICAgICAgICAgICBjb25zdCBsZXZlbHMgPSBzZWxlY3RlZE9wdGlvbi50cmVlLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGxldmVsczsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IoY29uc3QgZWxlbWVudCBvZiBjb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaWRlbnRpdHlDbGFzcyA9IHRoaXMuR2V0SWRlbnRpdHlDbGFzcyhzZWxlY3RlZE9wdGlvbi50cmVlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoaWRlbnRpdHlDbGFzcykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUtbGluaycpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbi50cmVlLnBvcCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBPcGVuKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBJTWVudSB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZW5hdigpLm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIENsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2lkZW5hdigpLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBUb2dnbGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaWRlbmF2KCkudG9nZ2xlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIE1lbnVTZWxlY3RlZChzZWxlY3RlZE1lbnU6IElNZW51U2VsZWN0ZWQpIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRNZW51LmxldmVsID09IDEpIHtcclxuICAgICAgICAgICAgZm9yKGNvbnN0IG1lbnVMdjEgb2YgdGhpcy5tZW51TGlzdCgpKSB7XHJcbiAgICAgICAgICAgICAgICBpZihtZW51THYxLml0ZW0ubGFiZWwgIT0gc2VsZWN0ZWRNZW51LmxhYmVsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvcihjb25zdCBtZW51THYyIG9mIG1lbnVMdjEubWVudUxpc3QudG9BcnJheSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVMdjIuQ2xvc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIG1lbnVMdjEuQ2xvc2UoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNNZW51ID0gKGl0ZW06IElNZW51KTogYm9vbGVhbiA9PiBpdGVtLmhhc093blByb3BlcnR5KCdpdGVtcycpICYmIFRvb2xzLklzTm90T25seVdoaXRlU3BhY2UoaXRlbS5pdGVtcyk7XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIEdldEljb24gPSAoaXRlbTogSU1lbnUpOiBzdHJpbmcgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtICYmIGl0ZW0uaGFzT3duUHJvcGVydHkoJ2ljb24nKSAmJiBpdGVtLmljb24hLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uaWNvbiFcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLklzTWVudShpdGVtKVxyXG4gICAgICAgICAgICA/ICdmYS1zb2xpZCBmYS1iYXJzJ1xyXG4gICAgICAgICAgICA6ICdiaSBiaS1yZWNvcmQtZmlsbCc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIFNldElkZW50aXR5Q2xhc3MgPSAobGFiZWw6IFN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgbGV0IGlkZW50aXR5ID0gYGx2MSR7bGFiZWx9YDtcclxuICAgICAgICBpZihpZGVudGl0eS5pbmNsdWRlcygnICcpKSBpZGVudGl0eSA9IGlkZW50aXR5LnJlcGxhY2VBbGwoJyAnLCAnJyk7XHJcbiAgICAgICAgcmV0dXJuIGlkZW50aXR5LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBHZXRJZGVudGl0eUNsYXNzKHRyZWU6IElNZW51W10pOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBpZGVudGl0eTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0cmVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlkZW50aXR5ICs9IGBsdiR7aSArIDF9JHt0cmVlW2ldLmxhYmVsfS1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoaWRlbnRpdHkuZW5kc1dpdGgoJy0nKSkgaWRlbnRpdHkgPSBpZGVudGl0eS5zbGljZSgwLCAtMSk7XHJcbiAgICAgICAgaWYoaWRlbnRpdHkuaW5jbHVkZXMoJyAnKSkgaWRlbnRpdHkgPSBpZGVudGl0eS5yZXBsYWNlQWxsKCcgJywgJycpO1xyXG4gICAgICAgIHJldHVybiBpZGVudGl0eS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgQmFja0J1dHRvbkJyb3dzZXIoKSB7XHJcbiAgICAgICAgY29uc3QgUVVFUllfU0VMRUNUT1IgPSAnY29lci1tZW51LW9wdGlvbltuZy1yZWZsZWN0LXBhdGg9XCJbcGF0aF1cIl0gbWF0LW5hdi1saXN0LmNvZXItbWVudS1vcHRpb24nO1xyXG5cclxuICAgICAgICBTY3JlZW4uQmFja0J1dHRvbkJyb3dzZXIuc3Vic2NyaWJlKHRvUGF0aCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0b1BhdGguaW5jbHVkZXMoJy8jLycpKSB0b1BhdGggPSB0b1BhdGguc3BsaXQoJy8jJylbMV07XHJcbiAgICAgICAgICAgIGlmICh0b1BhdGguaW5jbHVkZXMoJz8nKSkgdG9QYXRoID0gdG9QYXRoLnNwbGl0KCc/JylbMF07XHJcblxyXG4gICAgICAgICAgICAvL1ZhbGlkYXRlIHBhdGhcclxuICAgICAgICAgICAgZm9yIChjb25zdCBtb2R1bGUgb2YgbmF2aWdhdGlvblNJR05BTCgpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobW9kdWxlLml0ZW1zKSBmb3IgKGNvbnN0IHN1Yk1vZHVsZSBvZiBtb2R1bGUuaXRlbXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL0xldmVsIFRocmVlXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1Yk1vZHVsZS5pdGVtcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IoY29uc3QgaXRlbSBvZiBzdWJNb2R1bGUuaXRlbXMpIGlmIChpdGVtLnBhdGggPT09IHRvUGF0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoUVVFUllfU0VMRUNUT1IucmVwbGFjZSgnW3BhdGhdJywgdG9QYXRoKSkgYXMgYW55KT8uY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9MZXZlbCBUd29cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChzdWJNb2R1bGUucGF0aCA9PT0gdG9QYXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFFVRVJZX1NFTEVDVE9SLnJlcGxhY2UoJ1twYXRoXScsIHRvUGF0aCkpIGFzIGFueSk/LmNsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy9MZXZlbCBPbmVcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG1vZHVsZS5wYXRoID09PSB0b1BhdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihRVUVSWV9TRUxFQ1RPUi5yZXBsYWNlKCdbcGF0aF0nLCB0b1BhdGgpKSBhcyBhbnkpPy5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQnJlYWRjcnVtYnMuUmVtb3ZlKHRvUGF0aCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWRyYXdlci1jb250YWluZXIgW2hhc0JhY2tkcm9wXT1cImJhY2tkcm9wXCI+XHJcbiAgICA8bWF0LWRyYXdlclxyXG4gICAgICAgICNtYXRTaWRlbmF2XHJcbiAgICAgICAgW29wZW5lZF09XCJpc09wZW4oKVwiXHJcbiAgICAgICAgKG9wZW5lZCk9XCJpc09wZW4uc2V0KHRydWUpXCJcclxuICAgICAgICAoY2xvc2VkKT1cImlzT3Blbi5zZXQoZmFsc2UpXCJcclxuICAgICAgICBbbW9kZV09XCJtb2RlXCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfbmF2aWdhdGlvbigpXCI+XHJcbiAgICAgICAgICAgIDwhLS0gTWVudSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIklzTWVudShpdGVtKTsgZWxzZSBPcHRpb25NZW51XCI+XHJcbiAgICAgICAgICAgICAgICA8Y29lci10cmVlLWFjY29yZGlvblxyXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnVPcHRpb24pPVwiTmF2aWdhdGVUbygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tNZW51KT1cIk1lbnVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgID48L2NvZXItdHJlZS1hY2NvcmRpb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBPcHRpb24gTWVudSAtLT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNPcHRpb25NZW51PlxyXG4gICAgICAgICAgICAgICAgPGNvZXItbWVudS1vcHRpb25cclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiaXRlbT8uaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdGhdPVwiaXRlbT8ucGF0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrTWVudU9wdGlvbik9XCJOYXZpZ2F0ZVRvKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci1tZW51LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7ICdiYWNrZHJvcCc6IF9pc01vZGFsT3BlbigpIH1cIj48L2Rpdj5cclxuICAgIDwvbWF0LWRyYXdlcj5cclxuXHJcbiAgICA8IS0tIE1haW4gU2NyZWVuIC0tPlxyXG4gICAgPG1hdC1kcmF3ZXItY29udGVudCBbbmdDbGFzc109XCJ7ICdtYXJnaW4tbGVmdC00MHB4JzogKCFpc09wZW4oKSAmJiBzaG93QXNpZGVNZW51KSB9XCI+XHJcbiAgICAgICAgPGFzaWRlIFtuZ0NsYXNzXT1cInsgJ3NpZGUtbmF2JzogdHJ1ZSwgJ2Qtbm9uZSc6ICFzaG93QXNpZGVNZW51IH1cIiAoY2xpY2spPVwiT3BlbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX25hdmlnYXRpb24oKVwiIChjbGljayk9XCJPcGVuKCRldmVudCwgaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCInaWNvbi1jb250YWluZXIgJyArIFNldElkZW50aXR5Q2xhc3MoaXRlbS5sYWJlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiR2V0SWNvbihpdGVtKVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2JhY2tkcm9wJzogX2lzTW9kYWxPcGVuKCkgfVwiPjwvZGl2PlxyXG4gICAgICAgIDwvYXNpZGU+XHJcblxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvbWF0LWRyYXdlci1jb250ZW50PlxyXG48L21hdC1kcmF3ZXItY29udGFpbmVyPiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from '@angular/core';
2
+ import { Tools } from 'coer-elements/tools';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "@angular/material/expansion";
@@ -20,7 +21,7 @@ export class CoerTreeAccordion {
20
21
  || (this.isCollapsed && element.classList.contains('active-link'));
21
22
  };
22
23
  /** */
23
- this.IsMenu = (item) => item.hasOwnProperty('items');
24
+ this.IsMenu = (item) => item.hasOwnProperty('items') && Tools.IsNotOnlyWhiteSpace(item.items);
24
25
  }
25
26
  get _tree() {
26
27
  return [...this.tree].concat([{ ...this.item }]);
@@ -112,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
112
113
  }], clickMenu: [{
113
114
  type: Output
114
115
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItc2lkZW5hdi9jb2VyLXRyZWUtYWNjb3JkaW9uL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9jb21wb25lbnRzL2xpYi9jb2VyLXNpZGVuYXYvY29lci10cmVlLWFjY29yZGlvbi9jb2VyLXRyZWUtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTM0csTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVVJLFdBQVc7UUFDSixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRW5DLFFBQVE7UUFDQyxVQUFLLEdBQVcsQ0FBQyxDQUFDO1FBRWxCLFNBQUksR0FBWSxFQUFFLENBQUM7UUFFNUIsU0FBUztRQUNDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDMUQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBOEJ4RCxNQUFNO1FBQ0ksYUFBUSxHQUFHLENBQUMsT0FBZ0IsRUFBVyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO21CQUNuQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtRQUMxRSxDQUFD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElNZW51LCBJTWVudVNlbGVjdGVkLCBJTWVudU9wdGlvblNlbGVjdGVkIH0gZnJvbSAnY29lci1lbGVtZW50cy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uUGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb2VyLXRyZWUtYWNjb3JkaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyVHJlZUFjY29yZGlvbiB7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZXhwYW5zaW9uUGFuZWwnKSBleHBhbnNpb25QYW5lbCE6IE1hdEV4cGFuc2lvblBhbmVsO1xyXG4gICAgQFZpZXdDaGlsZHJlbihDb2VyVHJlZUFjY29yZGlvbikgbWVudUxpc3QhOiBRdWVyeUxpc3Q8Q29lclRyZWVBY2NvcmRpb24+O1xyXG5cclxuICAgIC8vVmFyaWFibGVzXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKSBpdGVtITogSU1lbnU7XHJcbiAgICBASW5wdXQoKSB0cmVlOiBJTWVudVtdID0gW107XHJcblxyXG4gICAgLy9PdXRwdXRzXHJcbiAgICBAT3V0cHV0KCkgY2xpY2tNZW51T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxJTWVudU9wdGlvblNlbGVjdGVkPigpO1xyXG4gICAgQE91dHB1dCgpIGNsaWNrTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8SU1lbnVTZWxlY3RlZD4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF90cmVlKCk6IElNZW51W10ge1xyXG4gICAgICAgIHJldHVybiBbLi4udGhpcy50cmVlXS5jb25jYXQoW3suLi50aGlzLml0ZW19XSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBfaWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5pdGVtICYmIHRoaXMuaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaWNvbicpICYmIHRoaXMuaXRlbS5pY29uIS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICA/IHRoaXMuaXRlbS5pY29uISA6ICdmYS1zb2xpZCBmYS1iYXJzJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBtYXJnaW5MZWZ0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAkeyh0aGlzLmxldmVsIC0gMSkgKiAyMH1weGA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgaWRlbnRpdHlDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBpZGVudGl0eTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0aGlzLnRyZWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWRlbnRpdHkgKz0gYGx2JHtpICsgMX0ke3RoaXMudHJlZVtpXS5sYWJlbH0tYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlkZW50aXR5ICs9IGBsdiR7dGhpcy5sZXZlbH0ke3RoaXMuaXRlbS5sYWJlbH1gO1xyXG4gICAgICAgIGlmKGlkZW50aXR5LmluY2x1ZGVzKCcgJykpIGlkZW50aXR5ID0gaWRlbnRpdHkucmVwbGFjZUFsbCgnICcsICcnKTtcclxuICAgICAgICByZXR1cm4gaWRlbnRpdHkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNBY3RpdmUgPSAoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5pc0V4cGFuZGVkICYmIHRoaXMubGV2ZWwgPiAxKVxyXG4gICAgICAgICAgICB8fCAodGhpcy5pc0NvbGxhcHNlZCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlLWxpbmsnKSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNNZW51ID0gKGl0ZW06IElNZW51KTogYm9vbGVhbiA9PiBpdGVtLmhhc093blByb3BlcnR5KCdpdGVtcycpO1xyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBDbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICBpZih0aGlzLmlzRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuc2lvblBhbmVsLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBPcGVuKCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuaXNDb2xsYXBzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmV4cGFuc2lvblBhbmVsLm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIFRvZ2dsZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xyXG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcclxuXHJcbiAgICAgICAgdGhpcy5jbGlja01lbnUuZW1pdCh7XHJcbiAgICAgICAgICAgIGxldmVsOiB0aGlzLmxldmVsLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5pdGVtLmxhYmVsLFxyXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiB0aGlzLmlzRXhwYW5kZWQsXHJcbiAgICAgICAgICAgIGlzQ29sbGFwc2VkOiB0aGlzLmlzQ29sbGFwc2VkLFxyXG4gICAgICAgICAgICBpdGVtczogdGhpcy5pdGVtLml0ZW1zLFxyXG4gICAgICAgICAgICBpY29uOiB0aGlzLl9pY29uLFxyXG4gICAgICAgICAgICB0cmVlOiBbLi4udGhpcy5fdHJlZV1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgQ2xpY2tNZW51T3B0aW9uKG1lbnVPcHRpb246IElNZW51T3B0aW9uU2VsZWN0ZWQpOiB2b2lkIHtcclxuICAgICAgICBmb3IoY29uc3QgbWVudSBvZiB0aGlzLm1lbnVMaXN0LnRvQXJyYXkoKSkge1xyXG4gICAgICAgICAgICBpZihtZW51Lml0ZW0ubGFiZWwgIT0gbWVudU9wdGlvbi50cmVlW3RoaXMubGV2ZWxdLmxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICBtZW51LkNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY2xpY2tNZW51T3B0aW9uLmVtaXQobWVudU9wdGlvbik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIENsaWNrTWVudShtZW51OiBJTWVudVNlbGVjdGVkKTogdm9pZCB7XHJcbiAgICAgICAgZm9yKGNvbnN0IG1lbnVMdjIgb2YgdGhpcy5tZW51TGlzdC50b0FycmF5KCkpIHtcclxuICAgICAgICAgICAgaWYgKG1lbnVMdjIuaXRlbS5sYWJlbCAhPSBtZW51LmxhYmVsKSBtZW51THYyLkNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNsaWNrTWVudS5lbWl0KG1lbnUpO1xyXG4gICAgfVxyXG59IiwiPG1hdC1hY2NvcmRpb24gY2xhc3M9XCJjb2VyLXRyZWUtYWNjb3JkaW9uXCI+XHJcbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAjZXhwYW5zaW9uUGFuZWw+XHJcblxyXG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxyXG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciAoY2xpY2spPVwiVG9nZ2xlKClcIlxyXG4gICAgICAgICAgICBbY2xhc3NdPVwiaWRlbnRpdHlDbGFzc1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLW9yYW5nZSc6IChpc0V4cGFuZGVkICYmIGxldmVsID09IDEpLFxyXG4gICAgICAgICAgICAgICAgJ3RleHQtb3JhbmdlJzogSXNBY3RpdmUoaWNvbkNvbnRhaW5lcilcclxuICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gI2ljb25Db250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImlkZW50aXR5Q2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tY29udGFpbmVyJzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHQtb3JhbmdlJzogSXNBY3RpdmUoaWNvbkNvbnRhaW5lcilcclxuICAgICAgICAgICAgICAgICAgICB9XCI+IDxpIFtjbGFzc109XCJfaWNvblwiPjwvaT4gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDxzcGFuICNsYWJlbENvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpZGVudGl0eUNsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdsYWJlbC1jb250YWluZXInOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dC1vcmFuZ2UnOiBJc0FjdGl2ZShsYWJlbENvbnRhaW5lcilcclxuICAgICAgICAgICAgICAgICAgICB9XCI+IHt7IGl0ZW0ubGFiZWwgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc3ViSXRlbSBvZiBpdGVtLml0ZW1zXCI+XHJcbiAgICAgICAgICAgIDwhLS0gU3ViIE1lbnUgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJJc01lbnUoc3ViSXRlbSk7IGVsc2UgaXNPcHRpb25cIj5cclxuICAgICAgICAgICAgICAgIDxjb2VyLXRyZWUtYWNjb3JkaW9uXHJcbiAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImxldmVsICsgMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwic3ViSXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyZWVdPVwiX3RyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnVPcHRpb24pPVwiQ2xpY2tNZW51T3B0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnUpPVwiQ2xpY2tNZW51KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci10cmVlLWFjY29yZGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIE9wdGlvbiBNZW51IC0tPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2lzT3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPGNvZXItbWVudS1vcHRpb25cclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwic3ViSXRlbS5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwic3ViSXRlbT8uaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BhdGhdPVwic3ViSXRlbT8ucGF0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xldmVsXT1cImxldmVsICsgMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyZWVdPVwiX3RyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGlja01lbnVPcHRpb24pPVwiQ2xpY2tNZW51T3B0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY29lci1tZW51LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPC9tYXQtYWNjb3JkaW9uPiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvZXItc2lkZW5hdi9jb2VyLXRyZWUtYWNjb3JkaW9uL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9jb21wb25lbnRzL2xpYi9jb2VyLXNpZGVuYXYvY29lci10cmVlLWFjY29yZGlvbi9jb2VyLXRyZWUtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFVSSxXQUFXO1FBQ0osZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUVuQyxRQUFRO1FBQ0MsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUVsQixTQUFJLEdBQVksRUFBRSxDQUFDO1FBRTVCLFNBQVM7UUFDQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQzFELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQThCeEQsTUFBTTtRQUNJLGFBQVEsR0FBRyxDQUFDLE9BQWdCLEVBQVcsRUFBRTtZQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQzttQkFDbkMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENB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RyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUdJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElNZW51LCBJTWVudVNlbGVjdGVkLCBJTWVudU9wdGlvblNlbGVjdGVkIH0gZnJvbSAnY29lci1lbGVtZW50cy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uUGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBUb29scyB9IGZyb20gJ2NvZXItZWxlbWVudHMvdG9vbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb2VyLXRyZWUtYWNjb3JkaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvZXItdHJlZS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2VyVHJlZUFjY29yZGlvbiB7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZXhwYW5zaW9uUGFuZWwnKSBleHBhbnNpb25QYW5lbCE6IE1hdEV4cGFuc2lvblBhbmVsO1xyXG4gICAgQFZpZXdDaGlsZHJlbihDb2VyVHJlZUFjY29yZGlvbikgbWVudUxpc3QhOiBRdWVyeUxpc3Q8Q29lclRyZWVBY2NvcmRpb24+O1xyXG5cclxuICAgIC8vVmFyaWFibGVzXHJcbiAgICBwdWJsaWMgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGlzQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lucHV0c1xyXG4gICAgQElucHV0KCkgbGV2ZWw6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKSBpdGVtITogSU1lbnU7XHJcbiAgICBASW5wdXQoKSB0cmVlOiBJTWVudVtdID0gW107XHJcblxyXG4gICAgLy9PdXRwdXRzXHJcbiAgICBAT3V0cHV0KCkgY2xpY2tNZW51T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxJTWVudU9wdGlvblNlbGVjdGVkPigpO1xyXG4gICAgQE91dHB1dCgpIGNsaWNrTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8SU1lbnVTZWxlY3RlZD4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IF90cmVlKCk6IElNZW51W10ge1xyXG4gICAgICAgIHJldHVybiBbLi4udGhpcy50cmVlXS5jb25jYXQoW3suLi50aGlzLml0ZW19XSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBfaWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5pdGVtICYmIHRoaXMuaXRlbS5oYXNPd25Qcm9wZXJ0eSgnaWNvbicpICYmIHRoaXMuaXRlbS5pY29uIS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICA/IHRoaXMuaXRlbS5pY29uISA6ICdmYS1zb2xpZCBmYS1iYXJzJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBtYXJnaW5MZWZ0KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAkeyh0aGlzLmxldmVsIC0gMSkgKiAyMH1weGA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByb3RlY3RlZCBnZXQgaWRlbnRpdHlDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBpZGVudGl0eTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCB0aGlzLnRyZWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWRlbnRpdHkgKz0gYGx2JHtpICsgMX0ke3RoaXMudHJlZVtpXS5sYWJlbH0tYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlkZW50aXR5ICs9IGBsdiR7dGhpcy5sZXZlbH0ke3RoaXMuaXRlbS5sYWJlbH1gO1xyXG4gICAgICAgIGlmKGlkZW50aXR5LmluY2x1ZGVzKCcgJykpIGlkZW50aXR5ID0gaWRlbnRpdHkucmVwbGFjZUFsbCgnICcsICcnKTtcclxuICAgICAgICByZXR1cm4gaWRlbnRpdHkudG9Mb3dlckNhc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNBY3RpdmUgPSAoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5pc0V4cGFuZGVkICYmIHRoaXMubGV2ZWwgPiAxKVxyXG4gICAgICAgICAgICB8fCAodGhpcy5pc0NvbGxhcHNlZCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlLWxpbmsnKSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgSXNNZW51ID0gKGl0ZW06IElNZW51KTogYm9vbGVhbiA9PiBpdGVtLmhhc093blByb3BlcnR5KCdpdGVtcycpICYmIFRvb2xzLklzTm90T25seVdoaXRlU3BhY2UoaXRlbS5pdGVtcyk7XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIENsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuaXNFeHBhbmRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwYW5zaW9uUGFuZWwuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIE9wZW4oKTogdm9pZCB7XHJcbiAgICAgICAgaWYodGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwYW5zaW9uUGFuZWwub3BlbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XHJcbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9ICF0aGlzLmlzQ29sbGFwc2VkO1xyXG5cclxuICAgICAgICB0aGlzLmNsaWNrTWVudS5lbWl0KHtcclxuICAgICAgICAgICAgbGV2ZWw6IHRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLml0ZW0ubGFiZWwsXHJcbiAgICAgICAgICAgIGlzRXhwYW5kZWQ6IHRoaXMuaXNFeHBhbmRlZCxcclxuICAgICAgICAgICAgaXNDb2xsYXBzZWQ6IHRoaXMuaXNDb2xsYXBzZWQsXHJcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLml0ZW0uaXRlbXMsXHJcbiAgICAgICAgICAgIGljb246IHRoaXMuX2ljb24sXHJcbiAgICAgICAgICAgIHRyZWU6IFsuLi50aGlzLl90cmVlXVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBDbGlja01lbnVPcHRpb24obWVudU9wdGlvbjogSU1lbnVPcHRpb25TZWxlY3RlZCk6IHZvaWQge1xyXG4gICAgICAgIGZvcihjb25zdCBtZW51IG9mIHRoaXMubWVudUxpc3QudG9BcnJheSgpKSB7XHJcbiAgICAgICAgICAgIGlmKG1lbnUuaXRlbS5sYWJlbCAhPSBtZW51T3B0aW9uLnRyZWVbdGhpcy5sZXZlbF0ubGFiZWwpIHtcclxuICAgICAgICAgICAgICAgIG1lbnUuQ2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jbGlja01lbnVPcHRpb24uZW1pdChtZW51T3B0aW9uKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgQ2xpY2tNZW51KG1lbnU6IElNZW51U2VsZWN0ZWQpOiB2b2lkIHtcclxuICAgICAgICBmb3IoY29uc3QgbWVudUx2MiBvZiB0aGlzLm1lbnVMaXN0LnRvQXJyYXkoKSkge1xyXG4gICAgICAgICAgICBpZiAobWVudUx2Mi5pdGVtLmxhYmVsICE9IG1lbnUubGFiZWwpIG1lbnVMdjIuQ2xvc2UoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY2xpY2tNZW51LmVtaXQobWVudSk7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWFjY29yZGlvbiBjbGFzcz1cImNvZXItdHJlZS1hY2NvcmRpb25cIj5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICNleHBhbnNpb25QYW5lbD5cclxuXHJcbiAgICAgICAgPCEtLSBIZWFkZXIgLS0+XHJcbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIChjbGljayk9XCJUb2dnbGUoKVwiXHJcbiAgICAgICAgICAgIFtjbGFzc109XCJpZGVudGl0eUNsYXNzXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJ2JhY2tncm91bmQtb3JhbmdlJzogKGlzRXhwYW5kZWQgJiYgbGV2ZWwgPT0gMSksXHJcbiAgICAgICAgICAgICAgICAndGV4dC1vcmFuZ2UnOiBJc0FjdGl2ZShpY29uQ29udGFpbmVyKVxyXG4gICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgIDxtYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAjaWNvbkNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi1sZWZ0JzogbWFyZ2luTGVmdCB9XCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaWRlbnRpdHlDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi1jb250YWluZXInOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGV4dC1vcmFuZ2UnOiBJc0FjdGl2ZShpY29uQ29udGFpbmVyKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIj4gPGkgW2NsYXNzXT1cIl9pY29uXCI+PC9pPiA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgPHNwYW4gI2xhYmVsQ29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImlkZW50aXR5Q2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xhYmVsLWNvbnRhaW5lcic6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0LW9yYW5nZSc6IElzQWN0aXZlKGxhYmVsQ29udGFpbmVyKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cIj4ge3sgaXRlbS5sYWJlbCB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIGl0ZW0uaXRlbXNcIj5cclxuICAgICAgICAgICAgPCEtLSBTdWIgTWVudSAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIklzTWVudShzdWJJdGVtKTsgZWxzZSBpc09wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGNvZXItdHJlZS1hY2NvcmRpb25cclxuICAgICAgICAgICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzdWJJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICBbdHJlZV09XCJfdHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrTWVudU9wdGlvbik9XCJDbGlja01lbnVPcHRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrTWVudSk9XCJDbGlja01lbnUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jb2VyLXRyZWUtYWNjb3JkaW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gT3B0aW9uIE1lbnUgLS0+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXNPcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8Y29lci1tZW51LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzdWJJdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzdWJJdGVtPy5pY29uXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGF0aF09XCJzdWJJdGVtPy5wYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgICAgICAgICBbdHJlZV09XCJfdHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrTWVudU9wdGlvbik9XCJDbGlja01lbnVPcHRpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jb2VyLW1lbnUtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG48L21hdC1hY2NvcmRpb24+Il19
@@ -16,6 +16,7 @@ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
16
16
  import { MatTabsModule } from '@angular/material/tabs';
17
17
  import { MatToolbarModule } from '@angular/material/toolbar';
18
18
  //Components
19
+ import { CoerAccordion } from './coer-accordion/coer-accordion.component';
19
20
  import { CoerButton } from './coer-button/coer-button.component';
20
21
  import { CoerCheckbox } from './coer-checkbox/coer-checkbox.component';
21
22
  import { CoerFilebox } from './coer-filebox/coer-filebox.component';
@@ -36,7 +37,8 @@ import { CoerTreeAccordion } from './coer-sidenav/coer-tree-accordion/coer-tree-
36
37
  import * as i0 from "@angular/core";
37
38
  export class ComponentsModule {
38
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
39
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [CoerButton,
40
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ComponentsModule, declarations: [CoerAccordion,
41
+ CoerButton,
40
42
  CoerCheckbox,
41
43
  CoerFilebox,
42
44
  CoerForm,
@@ -69,7 +71,8 @@ export class ComponentsModule {
69
71
  MatToolbarModule,
70
72
  MatTabsModule,
71
73
  DirectivesModule,
72
- PipesModule], exports: [CoerButton,
74
+ PipesModule], exports: [CoerAccordion,
75
+ CoerButton,
73
76
  CoerCheckbox,
74
77
  CoerFilebox,
75
78
  CoerForm,
@@ -127,6 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
127
130
  PipesModule
128
131
  ],
129
132
  declarations: [
133
+ CoerAccordion,
130
134
  CoerButton,
131
135
  CoerCheckbox,
132
136
  CoerFilebox,
@@ -146,6 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
146
150
  CoerTreeAccordion
147
151
  ],
148
152
  exports: [
153
+ CoerAccordion,
149
154
  CoerButton,
150
155
  CoerCheckbox,
151
156
  CoerFilebox,
@@ -164,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
164
169
  ]
165
170
  }]
166
171
  }] });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELGtCQUFrQjtBQUNsQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLDJCQUEyQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxN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Z0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsV0FBVztxQkFDZDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsUUFBUTt3QkFDUixRQUFRO3dCQUNSLGNBQWM7d0JBQ2QsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFVBQVU7d0JBQ1YsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsV0FBVztxQkFDZDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnY29lci1lbGVtZW50cy9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICdjb2VyLWVsZW1lbnRzL3BpcGVzJztcclxuXHJcbi8vQW5ndWxhciBNYXRlcmlhbFxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0RHJhd2VyLCBNYXREcmF3ZXJDb250YWluZXIsIE1hdERyYXdlckNvbnRlbnQsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5cclxuLy9Db21wb25lbnRzXHJcbmltcG9ydCB7IENvZXJCdXR0b24gfSBmcm9tICcuL2NvZXItYnV0dG9uL2NvZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJDaGVja2JveCB9IGZyb20gJy4vY29lci1jaGVja2JveC9jb2VyLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJGaWxlYm94IH0gZnJvbSAnLi9jb2VyLWZpbGVib3gvY29lci1maWxlYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJGb3JtIH0gZnJvbSAnLi9jb2VyLWZvcm0vY29lci1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJHcmlkIH0gZnJvbSAnLi9jb2VyLWdyaWQvY29lci1ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJNZW51T3B0aW9uIH0gZnJvbSAnLi9jb2VyLXNpZGVuYXYvY29lci1tZW51LW9wdGlvbi9jb2VyLW1lbnUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJNb2RhbCB9IGZyb20gJy4vY29lci1tb2RhbC9jb2VyLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJOdW1iZXJCb3ggfSBmcm9tICcuL2NvZXItbnVtYmVyYm94L2NvZXItbnVtYmVyYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJQYWdlVGl0bGUgfSBmcm9tICcuL2NvZXItcGFnZS10aXRsZS9jb2VyLXBhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclNpZGVuYXYgfSBmcm9tICcuL2NvZXItc2lkZW5hdi9jb2VyLXNpZGVuYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclNlbGVjdGJveCB9IGZyb20gJy4vY29lci1zZWxlY3Rib3gvY29lci1zZWxlY3Rib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclN3aXRjaCB9IGZyb20gJy4vY29lci1zd2l0Y2gvY29lci1zd2l0Y2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclRhYiB9IGZyb20gJy4vY29lci10YWIvY29lci10YWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclRleHRhcmVhIH0gZnJvbSAnLi9jb2VyLXRleHRhcmVhL2NvZXItdGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclRleHRCb3ggfSBmcm9tICcuL2NvZXItdGV4dGJveC9jb2VyLXRleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29lclRvb2xiYXIgfSBmcm9tICcuL2NvZXItc2lkZW5hdi9jb2VyLXRvb2xiYXIvY29lci10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJUcmVlQWNjb3JkaW9uIH0gZnJvbSAnLi9jb2VyLXNpZGVuYXYvY29lci10cmVlLWFjY29yZGlvbi9jb2VyLXRyZWUtYWNjb3JkaW9uLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgTWF0RHJhd2VyQ29udGFpbmVyLFxyXG4gICAgICAgIE1hdERyYXdlckNvbnRlbnQsXHJcbiAgICAgICAgTWF0RHJhd2VyLFxyXG4gICAgICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcclxuICAgICAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgICAgICBNYXRUb29sYmFyTW9kdWxlLFxyXG4gICAgICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICAgICAgRGlyZWN0aXZlc01vZHVsZSxcclxuICAgICAgICBQaXBlc01vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIENvZXJCdXR0b24sXHJcbiAgICAgICAgQ29lckNoZWNrYm94LFxyXG4gICAgICAgIENvZXJGaWxlYm94LFxyXG4gICAgICAgIENvZXJGb3JtLFxyXG4gICAgICAgIENvZXJHcmlkLFxyXG4gICAgICAgIENvZXJNZW51T3B0aW9uLFxyXG4gICAgICAgIENvZXJNb2RhbCxcclxuICAgICAgICBDb2VyTnVtYmVyQm94LFxyXG4gICAgICAgIENvZXJQYWdlVGl0bGUsXHJcbiAgICAgICAgQ29lclNpZGVuYXYsXHJcbiAgICAgICAgQ29lclNlbGVjdGJveCxcclxuICAgICAgICBDb2VyU3dpdGNoLFxyXG4gICAgICAgIENvZXJUYWIsXHJcbiAgICAgICAgQ29lclRleHRhcmVhLFxyXG4gICAgICAgIENvZXJUZXh0Qm94LFxyXG4gICAgICAgIENvZXJUb29sYmFyLFxyXG4gICAgICAgIENvZXJUcmVlQWNjb3JkaW9uXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIENvZXJCdXR0b24sXHJcbiAgICAgICAgQ29lckNoZWNrYm94LFxyXG4gICAgICAgIENvZXJGaWxlYm94LFxyXG4gICAgICAgIENvZXJGb3JtLFxyXG4gICAgICAgIENvZXJHcmlkLFxyXG4gICAgICAgIENvZXJNb2RhbCxcclxuICAgICAgICBDb2VyTnVtYmVyQm94LFxyXG4gICAgICAgIENvZXJQYWdlVGl0bGUsXHJcbiAgICAgICAgQ29lclNpZGVuYXYsXHJcbiAgICAgICAgQ29lclNlbGVjdGJveCxcclxuICAgICAgICBDb2VyU3dpdGNoLFxyXG4gICAgICAgIENvZXJUYWIsXHJcbiAgICAgICAgQ29lclRleHRhcmVhLFxyXG4gICAgICAgIENvZXJUZXh0Qm94LFxyXG4gICAgICAgIENvZXJUb29sYmFyXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRzTW9kdWxlIHsgfSJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvbGliL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELGtCQUFrQjtBQUNsQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLDJCQUEyQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxN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QkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsV0FBVztxQkFDZDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsY0FBYzt3QkFDZCxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGlCQUFpQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGFBQWE7d0JBQ2IsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsUUFBUTt3QkFDUixRQUFRO3dCQUNSLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixVQUFVO3dCQUNWLE9BQU87d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7cUJBQ2Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJ2NvZXItZWxlbWVudHMvZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnY29lci1lbGVtZW50cy9waXBlcyc7XHJcblxyXG4vL0FuZ3VsYXIgTWF0ZXJpYWxcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERyYXdlciwgTWF0RHJhd2VyQ29udGFpbmVyLCBNYXREcmF3ZXJDb250ZW50LCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuXHJcbi8vQ29tcG9uZW50c1xyXG5pbXBvcnQgeyBDb2VyQWNjb3JkaW9uIH0gZnJvbSAnLi9jb2VyLWFjY29yZGlvbi9jb2VyLWFjY29yZGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyQnV0dG9uIH0gZnJvbSAnLi9jb2VyLWJ1dHRvbi9jb2VyLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyQ2hlY2tib3ggfSBmcm9tICcuL2NvZXItY2hlY2tib3gvY29lci1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyRmlsZWJveCB9IGZyb20gJy4vY29lci1maWxlYm94L2NvZXItZmlsZWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyRm9ybSB9IGZyb20gJy4vY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyR3JpZCB9IGZyb20gJy4vY29lci1ncmlkL2NvZXItZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyTWVudU9wdGlvbiB9IGZyb20gJy4vY29lci1zaWRlbmF2L2NvZXItbWVudS1vcHRpb24vY29lci1tZW51LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyTW9kYWwgfSBmcm9tICcuL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyTnVtYmVyQm94IH0gZnJvbSAnLi9jb2VyLW51bWJlcmJveC9jb2VyLW51bWJlcmJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyUGFnZVRpdGxlIH0gZnJvbSAnLi9jb2VyLXBhZ2UtdGl0bGUvY29lci1wYWdlLXRpdGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJTaWRlbmF2IH0gZnJvbSAnLi9jb2VyLXNpZGVuYXYvY29lci1zaWRlbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJTZWxlY3Rib3ggfSBmcm9tICcuL2NvZXItc2VsZWN0Ym94L2NvZXItc2VsZWN0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJTd2l0Y2ggfSBmcm9tICcuL2NvZXItc3dpdGNoL2NvZXItc3dpdGNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJUYWIgfSBmcm9tICcuL2NvZXItdGFiL2NvZXItdGFiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJUZXh0YXJlYSB9IGZyb20gJy4vY29lci10ZXh0YXJlYS9jb2VyLXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJUZXh0Qm94IH0gZnJvbSAnLi9jb2VyLXRleHRib3gvY29lci10ZXh0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZXJUb29sYmFyIH0gZnJvbSAnLi9jb2VyLXNpZGVuYXYvY29lci10b29sYmFyL2NvZXItdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2VyVHJlZUFjY29yZGlvbiB9IGZyb20gJy4vY29lci1zaWRlbmF2L2NvZXItdHJlZS1hY2NvcmRpb24vY29lci10cmVlLWFjY29yZGlvbi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE1hdERyYXdlckNvbnRhaW5lcixcclxuICAgICAgICBNYXREcmF3ZXJDb250ZW50LFxyXG4gICAgICAgIE1hdERyYXdlcixcclxuICAgICAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICAgICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICAgICAgTWF0VG9vbGJhck1vZHVsZSxcclxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgICAgIERpcmVjdGl2ZXNNb2R1bGUsXHJcbiAgICAgICAgUGlwZXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBDb2VyQWNjb3JkaW9uLFxyXG4gICAgICAgIENvZXJCdXR0b24sXHJcbiAgICAgICAgQ29lckNoZWNrYm94LFxyXG4gICAgICAgIENvZXJGaWxlYm94LFxyXG4gICAgICAgIENvZXJGb3JtLFxyXG4gICAgICAgIENvZXJHcmlkLFxyXG4gICAgICAgIENvZXJNZW51T3B0aW9uLFxyXG4gICAgICAgIENvZXJNb2RhbCxcclxuICAgICAgICBDb2VyTnVtYmVyQm94LFxyXG4gICAgICAgIENvZXJQYWdlVGl0bGUsXHJcbiAgICAgICAgQ29lclNpZGVuYXYsXHJcbiAgICAgICAgQ29lclNlbGVjdGJveCxcclxuICAgICAgICBDb2VyU3dpdGNoLFxyXG4gICAgICAgIENvZXJUYWIsXHJcbiAgICAgICAgQ29lclRleHRhcmVhLFxyXG4gICAgICAgIENvZXJUZXh0Qm94LFxyXG4gICAgICAgIENvZXJUb29sYmFyLFxyXG4gICAgICAgIENvZXJUcmVlQWNjb3JkaW9uXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIENvZXJBY2NvcmRpb24sXHJcbiAgICAgICAgQ29lckJ1dHRvbixcclxuICAgICAgICBDb2VyQ2hlY2tib3gsXHJcbiAgICAgICAgQ29lckZpbGVib3gsXHJcbiAgICAgICAgQ29lckZvcm0sXHJcbiAgICAgICAgQ29lckdyaWQsXHJcbiAgICAgICAgQ29lck1vZGFsLFxyXG4gICAgICAgIENvZXJOdW1iZXJCb3gsXHJcbiAgICAgICAgQ29lclBhZ2VUaXRsZSxcclxuICAgICAgICBDb2VyU2lkZW5hdixcclxuICAgICAgICBDb2VyU2VsZWN0Ym94LFxyXG4gICAgICAgIENvZXJTd2l0Y2gsXHJcbiAgICAgICAgQ29lclRhYixcclxuICAgICAgICBDb2VyVGV4dGFyZWEsXHJcbiAgICAgICAgQ29lclRleHRCb3gsXHJcbiAgICAgICAgQ29lclRvb2xiYXJcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUgeyB9Il19
@@ -1,10 +1,10 @@
1
1
  export * from './lib/components.module';
2
+ export * from './lib/coer-accordion/coer-accordion.component';
2
3
  export * from './lib/coer-button/coer-button.component';
3
4
  export * from './lib/coer-checkbox/coer-checkbox.component';
4
5
  export * from './lib/coer-filebox/coer-filebox.component';
5
6
  export * from './lib/coer-form/coer-form.component';
6
7
  export * from './lib/coer-grid/coer-grid.component';
7
- export * from './lib/coer-grid/coer-grid.templates';
8
8
  export * from './lib/coer-modal/coer-modal.component';
9
9
  export * from './lib/coer-numberbox/coer-numberbox.component';
10
10
  export * from './lib/coer-page-title/coer-page-title.component';
@@ -15,4 +15,4 @@ export * from './lib/coer-switch/coer-switch.component';
15
15
  export * from './lib/coer-tab/coer-tab.component';
16
16
  export * from './lib/coer-textarea/coer-textarea.component';
17
17
  export * from './lib/coer-textbox/coer-textbox.component';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1jaGVja2JveC9jb2VyLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItZmlsZWJveC9jb2VyLWZpbGVib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWdyaWQvY29lci1ncmlkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItZ3JpZC9jb2VyLWdyaWQudGVtcGxhdGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1tb2RhbC9jb2VyLW1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItbnVtYmVyYm94L2NvZXItbnVtYmVyYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItcGFnZS10aXRsZS9jb2VyLXBhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1zZWxlY3Rib3gvY29lci1zZWxlY3Rib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1zaWRlbmF2L2NvZXItc2lkZW5hdi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXNpZGVuYXYvY29lci10b29sYmFyL2NvZXItdG9vbGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXN3aXRjaC9jb2VyLXN3aXRjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXRhYi9jb2VyLXRhYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXRleHRhcmVhL2NvZXItdGV4dGFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci10ZXh0Ym94L2NvZXItdGV4dGJveC5jb21wb25lbnQnOyJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1hY2NvcmRpb24vY29lci1hY2NvcmRpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1idXR0b24vY29lci1idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1jaGVja2JveC9jb2VyLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItZmlsZWJveC9jb2VyLWZpbGVib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1mb3JtL2NvZXItZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLWdyaWQvY29lci1ncmlkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItbW9kYWwvY29lci1tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLW51bWJlcmJveC9jb2VyLW51bWJlcmJveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2VyLXBhZ2UtdGl0bGUvY29lci1wYWdlLXRpdGxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItc2VsZWN0Ym94L2NvZXItc2VsZWN0Ym94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItc2lkZW5hdi9jb2VyLXNpZGVuYXYuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1zaWRlbmF2L2NvZXItdG9vbGJhci9jb2VyLXRvb2xiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci1zd2l0Y2gvY29lci1zd2l0Y2guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci10YWIvY29lci10YWIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29lci10ZXh0YXJlYS9jb2VyLXRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvZXItdGV4dGJveC9jb2VyLXRleHRib3guY29tcG9uZW50JzsiXX0=
@@ -0,0 +1,34 @@
1
+ export const GridTemplates = {
2
+ /** Template for boolean property */
3
+ isActiveTemplate: (item) => {
4
+ if (item.value) {
5
+ return `
6
+ <span class='text-green-bold'>
7
+ <i class="fa-solid fa-circle-check"></i> Active
8
+ </span>
9
+ `;
10
+ }
11
+ else {
12
+ return `
13
+ <span class='text-gray-bold'>
14
+ <i class="fa-solid fa-circle-minus"></i> Disabled
15
+ </span>
16
+ `;
17
+ }
18
+ },
19
+ /** Template for boolean property */
20
+ coerSwitchTemplate: (item) => ({
21
+ isInput: true,
22
+ tooltip: `${item.value ? 'Active' : 'Disabled'}`
23
+ }),
24
+ /** Template for text property */
25
+ coerTextboxTemplate: (item) => ({
26
+ isInput: true,
27
+ isInvalid: item.value.length <= 0
28
+ }),
29
+ /** Template for text property */
30
+ coerIconTemplate: (icon, color = 'black') => {
31
+ return `<i class='${icon} d-block w-100 text-center' style='color: ${color};'></i>`;
32
+ }
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1ncmlkLnRlbXBsYXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL2NvZXItZ3JpZC50ZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBRXpCLG9DQUFvQztJQUNwQyxnQkFBZ0IsRUFBRSxDQUFDLElBQW9CLEVBQVUsRUFBRTtRQUMvQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU87Ozs7YUFJTixDQUFDO1FBQ04sQ0FBQzthQUVJLENBQUM7WUFDRixPQUFPOzs7O2FBSU4sQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBR0Qsb0NBQW9DO0lBQ3BDLGtCQUFrQixFQUFFLENBQUMsSUFBb0IsRUFBbUIsRUFBRSxDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLElBQUk7UUFDYixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVcsRUFBRTtLQUNwRCxDQUFDO0lBR0YsaUNBQWlDO0lBQ2pDLG1CQUFtQixFQUFFLENBQUMsSUFBb0IsRUFBb0IsRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxFQUFFLElBQUk7UUFDYixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQztLQUNwQyxDQUFDO0lBR0YsaUNBQWlDO0lBQ2pDLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLFFBQWdCLE9BQU8sRUFBVSxFQUFFO1FBQ2hFLE9BQU8sYUFBYSxJQUFJLDZDQUE2QyxLQUFLLFNBQVMsQ0FBQztJQUN4RixDQUFDO0NBQ0osQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElHcmlkQ29lclN3aXRjaCwgSUdyaWRDb2VyVGV4dEJveCwgSUdyaWRJdGVtIH0gZnJvbSBcImNvZXItZWxlbWVudHMvaW50ZXJmYWNlc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdyaWRUZW1wbGF0ZXMgPSB7XHJcblxyXG4gICAgLyoqIFRlbXBsYXRlIGZvciBib29sZWFuIHByb3BlcnR5ICovXHJcbiAgICBpc0FjdGl2ZVRlbXBsYXRlOiAoaXRlbTogSUdyaWRJdGVtPGFueT4pOiBzdHJpbmcgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ndGV4dC1ncmVlbi1ib2xkJz5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1jaGVja1wiPjwvaT4gQWN0aXZlXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIGA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGBcclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSd0ZXh0LWdyYXktYm9sZCc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaXJjbGUtbWludXNcIj48L2k+IERpc2FibGVkXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIGA7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcblxyXG4gICAgLyoqIFRlbXBsYXRlIGZvciBib29sZWFuIHByb3BlcnR5ICovXHJcbiAgICBjb2VyU3dpdGNoVGVtcGxhdGU6IChpdGVtOiBJR3JpZEl0ZW08YW55Pik6IElHcmlkQ29lclN3aXRjaCA9PiAoe1xyXG4gICAgICAgIGlzSW5wdXQ6IHRydWUsXHJcbiAgICAgICAgdG9vbHRpcDogYCR7aXRlbS52YWx1ZSA/ICdBY3RpdmUnIDogJ0Rpc2FibGVkJyB9YFxyXG4gICAgfSksXHJcblxyXG5cclxuICAgIC8qKiBUZW1wbGF0ZSBmb3IgdGV4dCBwcm9wZXJ0eSAqL1xyXG4gICAgY29lclRleHRib3hUZW1wbGF0ZTogKGl0ZW06IElHcmlkSXRlbTxhbnk+KTogSUdyaWRDb2VyVGV4dEJveCA9PiAoe1xyXG4gICAgICAgIGlzSW5wdXQ6IHRydWUsXHJcbiAgICAgICAgaXNJbnZhbGlkOiBpdGVtLnZhbHVlLmxlbmd0aCA8PSAwXHJcbiAgICB9KSxcclxuXHJcblxyXG4gICAgLyoqIFRlbXBsYXRlIGZvciB0ZXh0IHByb3BlcnR5ICovXHJcbiAgICBjb2VySWNvblRlbXBsYXRlOiAoaWNvbjogc3RyaW5nLCBjb2xvcjogc3RyaW5nID0gJ2JsYWNrJyk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGA8aSBjbGFzcz0nJHtpY29ufSBkLWJsb2NrIHctMTAwIHRleHQtY2VudGVyJyBzdHlsZT0nY29sb3I6ICR7Y29sb3J9Oyc+PC9pPmA7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,5 +1,6 @@
1
1
  import { ActivatedRoute, Router } from '@angular/router';
2
2
  import { Component, Inject, inject } from '@angular/core';
3
+ import { GridTemplates } from './coer-grid.templates';
3
4
  import { CoerAlert } from './coer-alert/coer-alert.component';
4
5
  import { Breadcrumbs } from './breadcrumbs.class';
5
6
  import { Source } from './source.class';
@@ -36,6 +37,11 @@ export class Page {
36
37
  else
37
38
  Breadcrumbs.RemoveLast();
38
39
  });
40
+ //Grid Templates
41
+ this.isActiveTemplate = GridTemplates.isActiveTemplate;
42
+ this.coerSwitchTemplate = GridTemplates.coerSwitchTemplate;
43
+ this.coerTextboxTemplate = GridTemplates.coerTextboxTemplate;
44
+ this.coerIconTemplate = GridTemplates.coerIconTemplate;
39
45
  this.SetPageName(page);
40
46
  this.SetSource();
41
47
  this.GetSource();
@@ -153,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
153
159
  type: Inject,
154
160
  args: [String]
155
161
  }] }] });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL3BhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBR2hDLE1BQU0sT0FBTyxJQUFJO0lBd0NiLFlBQTRCLElBQVk7UUF0Q3hDLFdBQVc7UUFDUSxVQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFekQsTUFBTTtRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFcEMsTUFBTTtRQUNJLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFckMsTUFBTTtRQUNJLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRXZDLE1BQU07UUFDSSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFRNUMsTUFBTTtRQUNJLGdCQUFXLEdBQWtCLEVBQUUsQ0FBQztRQUUxQyxNQUFNO1FBQ0ksaUJBQVksR0FBUSxJQUFJLENBQUM7UUFFbkMsTUFBTTtRQUNJLFdBQU0sR0FBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUU1QyxtQkFBbUI7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TSxFQUFFOzs0RkFDWixJQUFJO2tCQURoQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs7MEJBeUNWLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgaW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUFwcFNvdXJjZSwgSUJyZWFkY3J1bWIsIElHb0JhY2sgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDb2VyQWxlcnQgfSBmcm9tICcuL2NvZXItYWxlcnQvY29lci1hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1icyB9IGZyb20gJy4vYnJlYWRjcnVtYnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBTb3VyY2UgfSBmcm9tICcuL3NvdXJjZS5jbGFzcyc7XHJcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi90b29scyc7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICAvL0luamVjdGlvblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsZXJ0ID0gaW5qZWN0KENvZXJBbGVydCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBpc1VwZGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIGlzUmVhZHlQYWdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgZW5hYmxlQW5pbWF0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIHJvdXRlUGFyYW1zOiBhbnk7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgcXVlcnlQYXJhbXM6IGFueTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBicmVhZGNydW1iczogSUJyZWFkY3J1bWJbXSA9IFtdO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIHBhZ2VSZXNwb25zZTogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBnb0JhY2s6IElHb0JhY2sgPSB7IHNob3c6IGZhbHNlIH07XHJcblxyXG4gICAgLy9Qcml2YXRlIFZhcmlhYmxlc1xyXG4gICAgcHJpdmF0ZSBfcGFnZTogc3RyaW5nID0gJyc7XHJcbiAgICBwcml2YXRlIF9zb3VyY2U6IElBcHBTb3VyY2UgfCBudWxsID0gbnVsbDtcclxuICAgIHByaXZhdGUgX3ByZXZlbnREZXN0cm95OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoU3RyaW5nKSBwYWdlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLlNldFBhZ2VOYW1lKHBhZ2UpO1xyXG4gICAgICAgIHRoaXMuU2V0U291cmNlKCk7XHJcbiAgICAgICAgdGhpcy5HZXRTb3VyY2UoKTtcclxuICAgICAgICB0aGlzLkdldE5hdmlnYXRpb24oKTtcclxuICAgICAgICB0aGlzLlNldEdvQmFjaygpO1xyXG4gICAgICAgIHRoaXMuR2V0UGFnZVJlc3BvbnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMucm91dGVQYXJhbXMgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcztcclxuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNSZWFkeVBhZ2UgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlJ1blBhZ2UoKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuZW5hYmxlQW5pbWF0aW9ucyA9IHRydWUgfSwgMTAwMCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fcHJldmVudERlc3Ryb3kpIFNvdXJjZS5DbGVhclBhZ2VSZXNwb25zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBNYWluIG1ldGhvZC4gU3RhcnRzIGFmdGVyIG5nQWZ0ZXJWaWV3SW5pdCgpICovXHJcbiAgICBwcm90ZWN0ZWQgUnVuUGFnZSgpOiB2b2lkIHt9O1xyXG5cclxuXHJcbiAgICAvKiogUmVuYW1lIHRoZSBsYXN0IGJyZWFkY3J1bWIgYW5kIHVwZGF0ZSB0aGUgdXJsIGlkICovXHJcbiAgICBwcm90ZWN0ZWQgU2V0UGFnZU5hbWUobmFtZTogc3RyaW5nLCBpZDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wYWdlID0gbmFtZTtcclxuXHJcbiAgICAgICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci51cmw7XHJcbiAgICAgICAgaWYgKHBhdGguaW5jbHVkZXMoJz8nKSkgcGF0aCA9IHBhdGguc3BsaXQoJz8nKVswXTtcclxuXHJcbiAgICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IFBBVEhfQVJSQVkgPSBwYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgICAgIGNvbnN0IFBBVEhfSUQgPSBUb29scy5CcmVha1JlZmVyZW5jZShQQVRIX0FSUkFZKS5wb3AoKTtcclxuICAgICAgICAgICAgaWYgKFBBVEhfSUQpIHtcclxuICAgICAgICAgICAgICAgIFBBVEhfQVJSQVlbUEFUSF9BUlJBWS5sZW5ndGggLSAxXSA9IFN0cmluZyhpZCk7XHJcbiAgICAgICAgICAgICAgICBwYXRoID0gUEFUSF9BUlJBWS5qb2luKCcvJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmJyZWFkY3J1bWJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1t0aGlzLmJyZWFkY3J1bWJzLmxlbmd0aCAtIDFdLnBhZ2UgPSBuYW1lO1xyXG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzW3RoaXMuYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0ucGF0aCA9IHBhdGg7XHJcbiAgICAgICAgICAgIEJyZWFkY3J1bWJzLlNldExhc3QobmFtZSwgcGF0aCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpXHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBTZXRTb3VyY2UoKTogdm9pZCB7XHJcbiAgICAgICAgU291cmNlLlNldCh0aGlzLl9wYWdlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIEdldFNvdXJjZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zb3VyY2UgPSBTb3VyY2UuR2V0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIEdldFBhZ2VSZXNwb25zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhZ2VSZXNwb25zZSA9IFNvdXJjZS5HZXRQYWdlUmVzcG9uc2UoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIEdldE5hdmlnYXRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gQnJlYWRjcnVtYnMuR2V0KCkubWFwKGl0ZW0gPT4gT2JqZWN0LmFzc2lnbih7XHJcbiAgICAgICAgICAgICAgICBwYWdlOiBpdGVtLnBhZ2UsXHJcbiAgICAgICAgICAgICAgICBwYXRoOiBpdGVtLnBhdGgsXHJcbiAgICAgICAgICAgICAgICBjbGljazogdGhpcy5Hb0JhY2soaXRlbS5wYXRoKVxyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIHRoaXMuYnJlYWRjcnVtYnMgPSBbeyBwYWdlOiB0aGlzLl9wYWdlIH1dO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgU2V0R29CYWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5nb0JhY2sgPSB7XHJcbiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgcGF0aDogdGhpcy5fc291cmNlLnBhdGgsXHJcbiAgICAgICAgICAgICAgICBjbGljazogdGhpcy5Hb0JhY2soKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIEdvQmFjayA9IChwYXRoPzogc3RyaW5nKSA9PiAoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwYXRoKSBCcmVhZGNydW1icy5SZW1vdmUocGF0aCk7XHJcbiAgICAgICAgZWxzZSBCcmVhZGNydW1icy5SZW1vdmVMYXN0KCk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgLyoqIE5hdmlnYXRlIHRvIHByZXZpb3VzIHBhZ2UgKi9cclxuICAgIHByb3RlY3RlZCBHb1RvU291cmNlPFQ+KHBhZ2VSZXNwb25zZTogVCB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYodGhpcy5fc291cmNlKSB7XHJcbiAgICAgICAgICAgIEJyZWFkY3J1bWJzLlJlbW92ZUxhc3QoKTtcclxuICAgICAgICAgICAgdGhpcy5TZXRQYWdlUmVzcG9uc2UocGFnZVJlc3BvbnNlKTtcclxuICAgICAgICAgICAgVG9vbHMuU2xlZXAoKS50aGVuKF8gPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLl9zb3VyY2UhLnBhdGgpKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBTZXRQYWdlUmVzcG9uc2U8VD4ocGFnZVJlc3BvbnNlOiBUIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKHBhZ2VSZXNwb25zZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fcHJldmVudERlc3Ryb3kgPSB0cnVlO1xyXG4gICAgICAgICAgICBTb3VyY2UuU2V0UGFnZVJlc3BvbnNlKHBhZ2VSZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgUmVsb2FkUGFnZSgpOiB2b2lkIHtcclxuICAgICAgICBCcmVhZGNydW1icy5SZW1vdmVMYXN0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBMb2codmFsdWU6IGFueSwgbG9nOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChUb29scy5Jc05vdE51bGwobG9nKSkgY29uc29sZS5sb2coeyBsb2csIHZhbHVlIH0pO1xyXG4gICAgICAgIGVsc2UgY29uc29sZS5sb2codmFsdWUpO1xyXG4gICAgfVxyXG59Il19
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvdG9vbHMvbGliL3BhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUdoQyxNQUFNLE9BQU8sSUFBSTtJQXdDYixZQUE0QixJQUFZO1FBdEN4QyxXQUFXO1FBQ1EsVUFBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXpELE1BQU07UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRXBDLE1BQU07UUFDSSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRXJDLE1BQU07UUFDSSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUV2QyxNQUFNO1FBQ0kscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBUTVDLE1BQU07UUFDSSxnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFFMUMsTUFBTTtRQUNJLGlCQUFZLEdBQVEsSUFBSSxDQUFDO1FBRW5DLE1BQU07UUFDSSxXQUFNLEdBQVks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S0FBVSxFQUFFLE1BQXFCLElBQUk7UUFDL0MsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzs7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQWhMUSxJQUFJLGtCQXdDTyxNQUFNO21HQXhDakIsSUFBSSxvREFETSxFQUFFOzs0RkFDWixJQUFJO2tCQURoQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs7MEJBeUNWLE1BQU07MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgaW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUFwcFNvdXJjZSwgSUJyZWFkY3J1bWIsIElHb0JhY2sgfSBmcm9tICdjb2VyLWVsZW1lbnRzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBHcmlkVGVtcGxhdGVzIH0gZnJvbSAnLi9jb2VyLWdyaWQudGVtcGxhdGVzJztcclxuaW1wb3J0IHsgQ29lckFsZXJ0IH0gZnJvbSAnLi9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYnMgfSBmcm9tICcuL2JyZWFkY3J1bWJzLmNsYXNzJztcclxuaW1wb3J0IHsgU291cmNlIH0gZnJvbSAnLi9zb3VyY2UuY2xhc3MnO1xyXG5pbXBvcnQgeyBUb29scyB9IGZyb20gJy4vdG9vbHMnO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgUGFnZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgLy9JbmplY3Rpb25cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbGVydCA9IGluamVjdChDb2VyQWxlcnQpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgaXNVcGRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBpc1JlYWR5UGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIGVuYWJsZUFuaW1hdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCByb3V0ZVBhcmFtczogYW55O1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIHF1ZXJ5UGFyYW1zOiBhbnk7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgYnJlYWRjcnVtYnM6IElCcmVhZGNydW1iW10gPSBbXTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBwYWdlUmVzcG9uc2U6IGFueSA9IG51bGw7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgZ29CYWNrOiBJR29CYWNrID0geyBzaG93OiBmYWxzZSB9O1xyXG5cclxuICAgIC8vUHJpdmF0ZSBWYXJpYWJsZXNcclxuICAgIHByaXZhdGUgX3BhZ2U6IHN0cmluZyA9ICcnO1xyXG4gICAgcHJpdmF0ZSBfc291cmNlOiBJQXBwU291cmNlIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIF9wcmV2ZW50RGVzdHJveTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFN0cmluZykgcGFnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5TZXRQYWdlTmFtZShwYWdlKTtcclxuICAgICAgICB0aGlzLlNldFNvdXJjZSgpO1xyXG4gICAgICAgIHRoaXMuR2V0U291cmNlKCk7XHJcbiAgICAgICAgdGhpcy5HZXROYXZpZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5TZXRHb0JhY2soKTtcclxuICAgICAgICB0aGlzLkdldFBhZ2VSZXNwb25zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLnJvdXRlUGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbXM7XHJcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzUmVhZHlQYWdlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5SdW5QYWdlKCk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmVuYWJsZUFuaW1hdGlvbnMgPSB0cnVlIH0sIDEwMDApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3ByZXZlbnREZXN0cm95KSBTb3VyY2UuQ2xlYXJQYWdlUmVzcG9uc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogTWFpbiBtZXRob2QuIFN0YXJ0cyBhZnRlciBuZ0FmdGVyVmlld0luaXQoKSAqL1xyXG4gICAgcHJvdGVjdGVkIFJ1blBhZ2UoKTogdm9pZCB7fTtcclxuXHJcblxyXG4gICAgLyoqIFJlbmFtZSB0aGUgbGFzdCBicmVhZGNydW1iIGFuZCB1cGRhdGUgdGhlIHVybCBpZCAqL1xyXG4gICAgcHJvdGVjdGVkIFNldFBhZ2VOYW1lKG5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcGFnZSA9IG5hbWU7XHJcblxyXG4gICAgICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgICAgIGlmIChwYXRoLmluY2x1ZGVzKCc/JykpIHBhdGggPSBwYXRoLnNwbGl0KCc/JylbMF07XHJcblxyXG4gICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgICBjb25zdCBQQVRIX0FSUkFZID0gcGF0aC5zcGxpdCgnLycpO1xyXG4gICAgICAgICAgICBjb25zdCBQQVRIX0lEID0gVG9vbHMuQnJlYWtSZWZlcmVuY2UoUEFUSF9BUlJBWSkucG9wKCk7XHJcbiAgICAgICAgICAgIGlmIChQQVRIX0lEKSB7XHJcbiAgICAgICAgICAgICAgICBQQVRIX0FSUkFZW1BBVEhfQVJSQVkubGVuZ3RoIC0gMV0gPSBTdHJpbmcoaWQpO1xyXG4gICAgICAgICAgICAgICAgcGF0aCA9IFBBVEhfQVJSQVkuam9pbignLycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5icmVhZGNydW1icy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnNbdGhpcy5icmVhZGNydW1icy5sZW5ndGggLSAxXS5wYWdlID0gbmFtZTtcclxuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1t0aGlzLmJyZWFkY3J1bWJzLmxlbmd0aCAtIDFdLnBhdGggPSBwYXRoO1xyXG4gICAgICAgICAgICBCcmVhZGNydW1icy5TZXRMYXN0KG5hbWUsIHBhdGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgU2V0U291cmNlKCk6IHZvaWQge1xyXG4gICAgICAgIFNvdXJjZS5TZXQodGhpcy5fcGFnZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBHZXRTb3VyY2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc291cmNlID0gU291cmNlLkdldCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBHZXRQYWdlUmVzcG9uc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYWdlUmVzcG9uc2UgPSBTb3VyY2UuR2V0UGFnZVJlc3BvbnNlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBHZXROYXZpZ2F0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1icyA9IEJyZWFkY3J1bWJzLkdldCgpLm1hcChpdGVtID0+IE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICAgICAgcGFnZTogaXRlbS5wYWdlLFxyXG4gICAgICAgICAgICAgICAgcGF0aDogaXRlbS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgY2xpY2s6IHRoaXMuR29CYWNrKGl0ZW0ucGF0aClcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSB0aGlzLmJyZWFkY3J1bWJzID0gW3sgcGFnZTogdGhpcy5fcGFnZSB9XTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIFNldEdvQmFjaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fc291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ29CYWNrID0ge1xyXG4gICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMuX3NvdXJjZS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgY2xpY2s6IHRoaXMuR29CYWNrKClcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBHb0JhY2sgPSAocGF0aD86IHN0cmluZykgPT4gKCgpID0+IHtcclxuICAgICAgICBpZiAocGF0aCkgQnJlYWRjcnVtYnMuUmVtb3ZlKHBhdGgpO1xyXG4gICAgICAgIGVsc2UgQnJlYWRjcnVtYnMuUmVtb3ZlTGFzdCgpO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8qKiBOYXZpZ2F0ZSB0byBwcmV2aW91cyBwYWdlICovXHJcbiAgICBwcm90ZWN0ZWQgR29Ub1NvdXJjZTxUPihwYWdlUmVzcG9uc2U6IFQgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmKHRoaXMuX3NvdXJjZSkge1xyXG4gICAgICAgICAgICBCcmVhZGNydW1icy5SZW1vdmVMYXN0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuU2V0UGFnZVJlc3BvbnNlKHBhZ2VSZXNwb25zZSk7XHJcbiAgICAgICAgICAgIFRvb2xzLlNsZWVwKCkudGhlbihfID0+IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5fc291cmNlIS5wYXRoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgU2V0UGFnZVJlc3BvbnNlPFQ+KHBhZ2VSZXNwb25zZTogVCB8IG51bGwgPSBudWxsKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKFRvb2xzLklzTm90TnVsbChwYWdlUmVzcG9uc2UpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ByZXZlbnREZXN0cm95ID0gdHJ1ZTtcclxuICAgICAgICAgICAgU291cmNlLlNldFBhZ2VSZXNwb25zZShwYWdlUmVzcG9uc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIFJlbG9hZFBhZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgQnJlYWRjcnVtYnMuUmVtb3ZlTGFzdCgpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgTG9nKHZhbHVlOiBhbnksIGxvZzogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoVG9vbHMuSXNOb3ROdWxsKGxvZykpIGNvbnNvbGUubG9nKHsgbG9nLCB2YWx1ZSB9KTtcclxuICAgICAgICBlbHNlIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy9HcmlkIFRlbXBsYXRlc1xyXG4gICAgcHJvdGVjdGVkIGlzQWN0aXZlVGVtcGxhdGUgPSBHcmlkVGVtcGxhdGVzLmlzQWN0aXZlVGVtcGxhdGU7XHJcbiAgICBwcm90ZWN0ZWQgY29lclN3aXRjaFRlbXBsYXRlID0gR3JpZFRlbXBsYXRlcy5jb2VyU3dpdGNoVGVtcGxhdGU7XHJcbiAgICBwcm90ZWN0ZWQgY29lclRleHRib3hUZW1wbGF0ZSA9IEdyaWRUZW1wbGF0ZXMuY29lclRleHRib3hUZW1wbGF0ZTtcclxuICAgIHByb3RlY3RlZCBjb2VySWNvblRlbXBsYXRlID0gR3JpZFRlbXBsYXRlcy5jb2VySWNvblRlbXBsYXRlO1xyXG59Il19