@sarasanalytics-com/design-system 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2022/interfaces/card-carousel-interface.mjs +2 -0
  2. package/esm2022/interfaces/guide-card-interface.mjs +2 -0
  3. package/esm2022/interfaces/option-interface.mjs +2 -0
  4. package/esm2022/interfaces/toast-interface.mjs +2 -0
  5. package/esm2022/lib/avatar/avatar.component.mjs +2 -2
  6. package/esm2022/lib/card/card-body/card-body.component.mjs +11 -0
  7. package/esm2022/lib/card/card-custom-header/card-custom-header.component.mjs +11 -0
  8. package/esm2022/lib/card/card.component.mjs +27 -3
  9. package/esm2022/lib/card/guide-card/guide-card.component.mjs +19 -0
  10. package/esm2022/lib/card-carousel/card-carousel.component.mjs +87 -0
  11. package/esm2022/lib/form-input/form-input.component.mjs +9 -6
  12. package/esm2022/lib/icon/icon.component.mjs +7 -3
  13. package/esm2022/lib/left-nav/left-nav.component.mjs +5 -5
  14. package/esm2022/lib/progress-bar/progress-bar.component.mjs +29 -0
  15. package/esm2022/lib/radio-button/radio-button.component.mjs +37 -0
  16. package/esm2022/lib/scrolling-cards/scrolling-cards.component.mjs +59 -0
  17. package/esm2022/lib/toast/toast.component.mjs +9 -9
  18. package/esm2022/lib/tool-tip/tool-tip.component.mjs +3 -3
  19. package/esm2022/public-api.mjs +34 -16
  20. package/esm2022/utils/validators.mjs +19 -3
  21. package/fesm2022/sarasanalytics-com-design-system.mjs +1122 -845
  22. package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
  23. package/interfaces/card-carousel-interface.d.ts +8 -0
  24. package/interfaces/guide-card-interface.d.ts +4 -0
  25. package/interfaces/option-interface.d.ts +4 -0
  26. package/interfaces/toast-interface.d.ts +12 -0
  27. package/lib/card/card-body/card-body.component.d.ts +5 -0
  28. package/lib/card/card-custom-header/card-custom-header.component.d.ts +5 -0
  29. package/lib/card/card.component.d.ts +7 -1
  30. package/lib/card/guide-card/guide-card.component.d.ts +8 -0
  31. package/lib/card-carousel/card-carousel.component.d.ts +27 -0
  32. package/lib/icon/icon.component.d.ts +2 -1
  33. package/lib/progress-bar/progress-bar.component.d.ts +13 -0
  34. package/lib/radio-button/radio-button.component.d.ts +14 -0
  35. package/lib/scrolling-cards/scrolling-cards.component.d.ts +36 -0
  36. package/package.json +2 -2
  37. package/public-api.d.ts +29 -15
@@ -1,30 +1,48 @@
1
1
  /*
2
2
  * Public API Surface of component-library
3
3
  */
4
- export * from './lib/component-library.service';
5
- export * from './lib/component-library.component';
4
+ // ... existing code ...
5
+ // Components
6
+ export * from './lib/avatar/avatar.component';
6
7
  export * from './lib/button/button.component';
8
+ export * from './lib/calendar-header/calendar-header.component';
9
+ export * from './lib/card/card-body/card-body.component';
10
+ export * from './lib/card/card-custom-header/card-custom-header.component';
11
+ export * from './lib/card/card-footer-actions/card-footer-actions.component';
12
+ export * from './lib/card/card-icon/card-icon.component';
13
+ export * from './lib/card/card-title-actions/card-title-actions.component';
14
+ export * from './lib/card/card.component';
15
+ export * from './lib/card/guide-card/guide-card.component';
16
+ export * from './lib/card-carousel/card-carousel.component';
7
17
  export * from './lib/chips/chips.component';
8
- export * from './lib/avatar/avatar.component';
18
+ export * from './lib/component-library.component';
19
+ export * from './lib/datepicker/datepicker.component';
20
+ export * from './lib/form-input/form-input.component';
21
+ export * from './lib/form-select/form-select.component';
9
22
  export * from './lib/grid-cell/grid-cell.component';
10
23
  export * from './lib/header/header.component';
11
- export * from './lib/toast/toast.component';
12
- export * from './lib/form-select/form-select.component';
24
+ export * from './lib/icon/icon.component';
25
+ export * from './lib/left-nav/left-nav.component';
26
+ export * from './lib/progress-bar/progress-bar.component';
27
+ export * from './lib/radio-button/radio-button.component';
28
+ export * from './lib/scrolling-cards/scrolling-cards.component';
29
+ export * from './lib/spinner/spinner.component';
13
30
  export * from './lib/stepper/stepper.component';
14
- export * from './lib/tool-tip/tool-tip.component';
15
- export * from './lib/datepicker/datepicker.component';
16
31
  export * from './lib/tabs/tabs.component';
17
- export * from './interfaces/grid-interface';
32
+ export * from './lib/toast/toast.component';
33
+ export * from './lib/tool-tip/tool-tip.component';
34
+ // Services
35
+ export * from './lib/component-library.service';
36
+ export * from './lib/icon/icon.service';
37
+ // Interfaces
18
38
  export * from './interfaces/avatar-interface';
19
39
  export * from './interfaces/button-interface';
40
+ export * from './interfaces/card-carousel-interface';
20
41
  export * from './interfaces/chip-interface';
42
+ export * from './interfaces/grid-interface';
43
+ export * from './interfaces/guide-card-interface';
44
+ export * from './interfaces/option-interface';
21
45
  export * from './interfaces/select-interface';
22
46
  export * from './interfaces/tab-interface';
23
- export * from './lib/icon/icon.component';
24
- export * from './lib/left-nav/left-nav.component';
25
- export * from './lib/form-input/form-input.component';
26
- export * from './lib/card/card.component';
27
- export * from './lib/card/card-icon/card-icon.component';
28
- export * from './lib/card/card-footer-actions/card-footer-actions.component';
29
- export * from './lib/card/card-title-actions/card-title-actions.component';
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBR0gsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDREQUE0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb21wb25lbnQtbGlicmFyeVxuICovXG5cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50LWxpYnJhcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQtbGlicmFyeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyaWQtY2VsbC9ncmlkLWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sLXRpcC90b29sLXRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2dyaWQtaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9hdmF0YXItaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9idXR0b24taW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jaGlwLWludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvc2VsZWN0LWludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvdGFiLWludGVyZmFjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGVmdC1uYXYvbGVmdC1uYXYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQtaWNvbi9jYXJkLWljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZC1mb290ZXItYWN0aW9ucy9jYXJkLWZvb3Rlci1hY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQtdGl0bGUtYWN0aW9ucy9jYXJkLXRpdGxlLWFjdGlvbnMuY29tcG9uZW50JzsiXX0=
47
+ export * from './interfaces/toast-interface';
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsd0JBQXdCO0FBR3hCLGFBQWE7QUFDYixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELFdBQVc7QUFDWCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUJBQXlCLENBQUM7QUFFeEMsYUFBYTtBQUNiLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvbXBvbmVudC1saWJyYXJ5XG4gKi9cblxuLy8gLi4uIGV4aXN0aW5nIGNvZGUgLi4uXG5cblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC9jYXJkLWJvZHkvY2FyZC1ib2R5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQtY3VzdG9tLWhlYWRlci9jYXJkLWN1c3RvbS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZC1mb290ZXItYWN0aW9ucy9jYXJkLWZvb3Rlci1hY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2NhcmQtaWNvbi9jYXJkLWljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhcmQvY2FyZC10aXRsZS1hY3Rpb25zL2NhcmQtdGl0bGUtYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXJkL2d1aWRlLWNhcmQvZ3VpZGUtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FyZC1jYXJvdXNlbC9jYXJkLWNhcm91c2VsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50LWxpYnJhcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZC1jZWxsL2dyaWQtY2VsbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sZWZ0LW5hdi9sZWZ0LW5hdi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2Nyb2xsaW5nLWNhcmRzL3Njcm9sbGluZy1jYXJkcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYnMvdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rvb2wtdGlwL3Rvb2wtdGlwLmNvbXBvbmVudCc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQtbGlicmFyeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaWNvbi5zZXJ2aWNlJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2F2YXRhci1pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2J1dHRvbi1pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2NhcmQtY2Fyb3VzZWwtaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9jaGlwLWludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvZ3JpZC1pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2d1aWRlLWNhcmQtaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9vcHRpb24taW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9zZWxlY3QtaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy90YWItaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC1pbnRlcmZhY2UnO1xuIl19
@@ -16,13 +16,29 @@ export const customEmailValidator = (control) => {
16
16
  const email = control.value;
17
17
  // Replace the regular expression with the pattern you want to use.
18
18
  const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
19
- if (emailPattern.test(email)) {
19
+ if (emailPattern.test(email) && isWorkEmail(email)) {
20
20
  return null; // Valid email
21
21
  }
22
22
  else {
23
- return { invalid: "Please use a work email; personal emails (e.g., @gmail, @outlook) are not accepted." }; // Invalid email
23
+ return {
24
+ invalid: 'Please use a work email; personal emails (e.g., @gmail, @outlook) are not accepted.',
25
+ }; // Invalid email
24
26
  }
25
27
  };
28
+ const isWorkEmail = (email) => {
29
+ const invalidEmailHosts = ['gmail', 'yahoo', 'hotmail'];
30
+ if (email) {
31
+ let [userName, domainName] = email.split('@');
32
+ for (let i = 0; i < invalidEmailHosts.length; i++) {
33
+ let re = new RegExp(`.*${invalidEmailHosts[i]}\..*`);
34
+ if (re.test(domainName)) {
35
+ return false;
36
+ }
37
+ }
38
+ return true;
39
+ }
40
+ return false;
41
+ };
26
42
  /*
27
43
  export function workEmailValidation(): AsyncValidatorFn {
28
44
  return (control: AbstractControl): Observable<ValidationErrors | null> => {
@@ -78,4 +94,4 @@ export function getValidationMessage(errors) {
78
94
  }
79
95
  return 'Invalid input';
80
96
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxTQUFrQjtJQUNuRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRSxJQUFJLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7Z0JBQy9DLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQXdCLEVBQW9DLEVBQUU7SUFDL0YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixtRUFBbUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsbURBQW1ELENBQUM7SUFFekUsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsQ0FBQyxjQUFjO0lBQy9CLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxFQUFFLE9BQU8sRUFBRSxxRkFBcUYsRUFBRSxDQUFDLENBQUMsZ0JBQWdCO0lBQy9ILENBQUM7QUFDTCxDQUFDLENBQUE7QUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFXO0lBQzVDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sV0FBVyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sV0FBVyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1FBQ3pFLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sdUJBQXVCLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxxQkFBcUIsQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLDRCQUE0QixDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxlQUFlLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFzeW5jVmFsaWRhdG9yRm4sIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVOdW1iZXJWYWxpZGF0b3IoZGVwZW5kZW50Pzogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBkZXBlbmRlbnRGb3JtQ29udHJvbCA9IGRlcGVuZGVudCA/IGNvbnRyb2wucGFyZW50Py5nZXQoZGVwZW5kZW50KSA6IG51bGw7XG4gICAgICAgIGlmIChkZXBlbmRlbnRGb3JtQ29udHJvbCAmJiAhIWRlcGVuZGVudEZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0b3InLCBkZXBlbmRlbnRGb3JtQ29udHJvbC52YWx1ZSk7XG5cbiAgICAgICAgICAgIGlmIChkZXBlbmRlbnRGb3JtQ29udHJvbC52YWx1ZVswXS5pZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmICghL15cXCsxWzItOV1cXGR7Mn1bMi05XVxcZHs2fSQvLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZDogJ2ludmFsaWQgcGhvbmUgbnVtYmVyJyB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBjdXN0b21FbWFpbFZhbGlkYXRvciA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZW1haWwgPSBjb250cm9sLnZhbHVlO1xuICAgIC8vIFJlcGxhY2UgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRoIHRoZSBwYXR0ZXJuIHlvdSB3YW50IHRvIHVzZS5cbiAgICBjb25zdCBlbWFpbFBhdHRlcm4gPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQvO1xuXG4gICAgaWYgKGVtYWlsUGF0dGVybi50ZXN0KGVtYWlsKSkge1xuICAgICAgICByZXR1cm4gbnVsbDsgLy8gVmFsaWQgZW1haWxcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4geyBpbnZhbGlkOiBcIlBsZWFzZSB1c2UgYSB3b3JrIGVtYWlsOyBwZXJzb25hbCBlbWFpbHMgKGUuZy4sIEBnbWFpbCwgQG91dGxvb2spIGFyZSBub3QgYWNjZXB0ZWQuXCIgfTsgLy8gSW52YWxpZCBlbWFpbFxuICAgIH1cbn1cbi8qXG5leHBvcnQgZnVuY3Rpb24gd29ya0VtYWlsVmFsaWRhdGlvbigpOiBBc3luY1ZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+ID0+IHtcbiAgICAgICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7IC8vIE5vIHZhbHVlIHRvIHZhbGlkYXRlXG4gICAgICAgIH1cblxuICAgICAgICAhY29udHJvbC5wZW5kaW5nICYmIGNvbnRyb2wubWFya0FzUGVuZGluZygpO1xuICAgICAgICAvLyAhY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAvLyByZXR1cm4gb2YoeyBpbnZhbGlkOiAnRW50ZXIgeW91ciB3b3JrIGVtYWlsJyB9KTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9iKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29udHJvbC52YWx1ZSA9PT0gJ3NhaXJhakBnbWFpbC5jb20nKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2IubmV4dChudWxsKVxuICAgICAgICAgICAgICAgIHJldHVybiBvYi5uZXh0KHsgaW52YWxpZDogJ1RoaXMgaXMgbm90IGEgd29ya2VtYWlsJyB9KTtcbiAgICAgICAgICAgIH0sIDUwMClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG9mKGNvbnRyb2wudmFsdWUpLnBpcGUoXG4gICAgICAgICAgICBkZWxheSg1MDApLCAvLyBTaW11bGF0ZSBuZXR3b3JrIGRlbGF5XG5cbiAgICAgICAgICAgIG1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgaW52YWxpZDogJ1RoaXMgaXMgbm90IGEgd29ya2VtYWlsJyB9KS8vZXhpc3RpbmdVc2VybmFtZXMuaW5jbHVkZXModXNlcm5hbWUpID8geyB1c2VybmFtZVRha2VuOiB0cnVlIH0gOiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC8vIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpIC8vIEhhbmRsZSBhbnkgZXJyb3JzXG4gICAgICAgICk7XG4gICAgfTtcbn0qL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRpb25NZXNzYWdlKGVycm9yczogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICAgIGlmIChlcnJvcnNbJ21pbmxlbmd0aCddKSB7XG4gICAgICAgICAgICByZXR1cm4gYG1pbmltdW0gJHtlcnJvcnNbJ21pbmxlbmd0aCddWydyZXF1aXJlZExlbmd0aCddfSByZXF1aXJlZGA7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydtYXhsZW5ndGgnXSkge1xuICAgICAgICAgICAgcmV0dXJuIGBtYXhpbXVtICR7ZXJyb3JzWydtYXhsZW5ndGgnXVsncmVxdWlyZWRMZW5ndGgnXX0gY2hhcmFjdGVyc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0lucHV0IGNhbm5vdCBiZSBlbXB0eSc7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydpbnZhbGlkJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBlcnJvcnNbJ2ludmFsaWQnXTtcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvcnNbJ2VtYWlsJ10pIHtcbiAgICAgICAgICAgIHJldHVybiAnRW50ZXIgYSB2YWxpZCBlbWFpbCc7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydwYXR0ZXJuJ10pIHtcbiAgICAgICAgICAgIHJldHVybiAnRW50ZXIgYSB2YWxpZCBwaG9uZSBudW1iZXInO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdJbnZhbGlkIGlucHV0JztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJ0ludmFsaWQgaW5wdXQnO1xufSJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxTQUFrQjtJQUNuRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRSxJQUFJLG9CQUFvQixJQUFJLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7Z0JBQy9DLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNoQyxPQUF3QixFQUNVLEVBQUU7SUFDcEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixtRUFBbUU7SUFFbkUsTUFBTSxZQUFZLEdBQUcsbURBQW1ELENBQUM7SUFFekUsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLENBQUMsY0FBYztJQUM3QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU87WUFDTCxPQUFPLEVBQ0wscUZBQXFGO1NBQ3hGLENBQUMsQ0FBQyxnQkFBZ0I7SUFDckIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUNKLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUU7SUFDMUMsTUFBTSxpQkFBaUIsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEUsSUFBRyxLQUFLLEVBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxRQUFRLEVBQUcsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFHLENBQUMsRUFBRSxFQUFDLENBQUM7WUFDbEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckQsSUFBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFDLENBQUM7Z0JBQ3RCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQTtBQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQVc7SUFDNUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxXQUFXLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7UUFDdkUsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxXQUFXLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7UUFDekUsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsT0FBTyx1QkFBdUIsQ0FBQztRQUNuQyxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLHFCQUFxQixDQUFDO1FBQ2pDLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU8sNEJBQTRCLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLGVBQWUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwaG9uZU51bWJlclZhbGlkYXRvcihkZXBlbmRlbnQ/OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGRlcGVuZGVudEZvcm1Db250cm9sID0gZGVwZW5kZW50ID8gY29udHJvbC5wYXJlbnQ/LmdldChkZXBlbmRlbnQpIDogbnVsbDtcbiAgICAgICAgaWYgKGRlcGVuZGVudEZvcm1Db250cm9sICYmICEhZGVwZW5kZW50Rm9ybUNvbnRyb2wudmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ3ZhbGlkYXRvcicsIGRlcGVuZGVudEZvcm1Db250cm9sLnZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKGRlcGVuZGVudEZvcm1Db250cm9sLnZhbHVlWzBdLmlkID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEvXlxcKzFbMi05XVxcZHsyfVsyLTldXFxkezZ9JC8udGVzdChjb250cm9sLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpbnZhbGlkOiAnaW52YWxpZCBwaG9uZSBudW1iZXInIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IGN1c3RvbUVtYWlsVmFsaWRhdG9yID0gKFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbFxuICApOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZW1haWwgPSBjb250cm9sLnZhbHVlO1xuICAgIC8vIFJlcGxhY2UgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB3aXRoIHRoZSBwYXR0ZXJuIHlvdSB3YW50IHRvIHVzZS5cbiAgICBcbiAgICBjb25zdCBlbWFpbFBhdHRlcm4gPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQvO1xuICBcbiAgICBpZiAoZW1haWxQYXR0ZXJuLnRlc3QoZW1haWwpICYmIGlzV29ya0VtYWlsKGVtYWlsKSkge1xuICAgICAgcmV0dXJuIG51bGw7IC8vIFZhbGlkIGVtYWlsXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgJ1BsZWFzZSB1c2UgYSB3b3JrIGVtYWlsOyBwZXJzb25hbCBlbWFpbHMgKGUuZy4sIEBnbWFpbCwgQG91dGxvb2spIGFyZSBub3QgYWNjZXB0ZWQuJyxcbiAgICAgIH07IC8vIEludmFsaWQgZW1haWxcbiAgICB9XG4gIH07XG5jb25zdCBpc1dvcmtFbWFpbCA9IChlbWFpbDogc3RyaW5nKTogYm9vbGVhbj0+e1xuICAgIGNvbnN0IGludmFsaWRFbWFpbEhvc3RzOiBzdHJpbmdbXSA9IFsnZ21haWwnLCAneWFob28nLCAnaG90bWFpbCddO1xuICAgIGlmKGVtYWlsKXtcbiAgICAgIGxldCBbdXNlck5hbWUgLCBkb21haW5OYW1lXSA9IGVtYWlsLnNwbGl0KCdAJyk7XG4gICAgICBmb3IobGV0IGkgPSAwIDsgaSA8IGludmFsaWRFbWFpbEhvc3RzLmxlbmd0aCA7IGkrKyl7XG4gICAgICAgIGxldCByZSA9IG5ldyBSZWdFeHAoYC4qJHtpbnZhbGlkRW1haWxIb3N0c1tpXX1cXC4uKmApO1xuICAgICAgICBpZihyZS50ZXN0KGRvbWFpbk5hbWUpKXsgXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4vKlxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtFbWFpbFZhbGlkYXRpb24oKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiA9PiB7XG4gICAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpOyAvLyBObyB2YWx1ZSB0byB2YWxpZGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgIWNvbnRyb2wucGVuZGluZyAmJiBjb250cm9sLm1hcmtBc1BlbmRpbmcoKTtcbiAgICAgICAgLy8gIWNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgLy8gcmV0dXJuIG9mKHsgaW52YWxpZDogJ0VudGVyIHlvdXIgd29yayBlbWFpbCcgfSk7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYikgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgPT09ICdzYWlyYWpAZ21haWwuY29tJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iLm5leHQobnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm4gb2IubmV4dCh7IGludmFsaWQ6ICdUaGlzIGlzIG5vdCBhIHdvcmtlbWFpbCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBvZihjb250cm9sLnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgZGVsYXkoNTAwKSwgLy8gU2ltdWxhdGUgbmV0d29yayBkZWxheVxuXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZih7IGludmFsaWQ6ICdUaGlzIGlzIG5vdCBhIHdvcmtlbWFpbCcgfSkvL2V4aXN0aW5nVXNlcm5hbWVzLmluY2x1ZGVzKHVzZXJuYW1lKSA/IHsgdXNlcm5hbWVUYWtlbjogdHJ1ZSB9IDogbnVsbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAvLyBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSAvLyBIYW5kbGUgYW55IGVycm9yc1xuICAgICAgICApO1xuICAgIH07XG59Ki9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0aW9uTWVzc2FnZShlcnJvcnM6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgICBpZiAoZXJyb3JzWydtaW5sZW5ndGgnXSkge1xuICAgICAgICAgICAgcmV0dXJuIGBtaW5pbXVtICR7ZXJyb3JzWydtaW5sZW5ndGgnXVsncmVxdWlyZWRMZW5ndGgnXX0gcmVxdWlyZWRgO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1snbWF4bGVuZ3RoJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBgbWF4aW11bSAke2Vycm9yc1snbWF4bGVuZ3RoJ11bJ3JlcXVpcmVkTGVuZ3RoJ119IGNoYXJhY3RlcnNgO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1sncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgcmV0dXJuICdJbnB1dCBjYW5ub3QgYmUgZW1wdHknO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1snaW52YWxpZCddKSB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3JzWydpbnZhbGlkJ107XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyb3JzWydlbWFpbCddKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0VudGVyIGEgdmFsaWQgZW1haWwnO1xuICAgICAgICB9IGVsc2UgaWYgKGVycm9yc1sncGF0dGVybiddKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0VudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnSW52YWxpZCBpbnB1dCc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICdJbnZhbGlkIGlucHV0Jztcbn0iXX0=