vcomply-workflow-engine 3.0.278 → 3.0.279

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 (32) hide show
  1. package/esm2020/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +2 -2
  2. package/esm2020/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +310 -123
  3. package/esm2020/lib/add-multiple-risk/add-multiple-risk.component.mjs +128 -64
  4. package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +2 -2
  5. package/esm2020/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +2 -2
  6. package/esm2020/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +2 -2
  7. package/esm2020/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +2 -2
  8. package/esm2020/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +2 -2
  9. package/esm2020/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +2 -2
  10. package/esm2020/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +2 -2
  11. package/esm2020/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +26 -11
  12. package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +2 -2
  13. package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +2 -2
  14. package/esm2020/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +21 -8
  15. package/esm2020/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +2 -2
  16. package/esm2020/lib/sharedComponents/frequency/frequency.service.mjs +5 -3
  17. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +113 -23
  18. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +60 -21
  19. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +53 -43
  20. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +64 -25
  21. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +63 -20
  22. package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +65 -23
  23. package/esm2020/lib/workflow-compliance/workflow-compliance.component.mjs +2 -2
  24. package/esm2020/lib/workflow-policy/workflow-policy.component.mjs +2 -2
  25. package/esm2020/lib/workflow-risk/workflow-risk.component.mjs +365 -131
  26. package/fesm2015/vcomply-workflow-engine.mjs +1304 -537
  27. package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
  28. package/fesm2020/vcomply-workflow-engine.mjs +1320 -541
  29. package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
  30. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +1 -1
  31. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
  32. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as moment from 'moment';
2
+ import moment from 'moment/moment';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../frequency.service";
5
5
  import * as i2 from "../frequency-top/frequency-top.component";
@@ -222,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
222
222
  }], frequencyDetails: [{
223
223
  type: Output
224
224
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcXVhcnRlcmx5L2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFPakMsTUFBTSxPQUFPLDJCQUEyQjtJQTBCdEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QjdDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsc0JBQWlCLEdBQUcsVUFBVSxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsNEJBQXVCLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNyQyw4QkFBeUIsR0FBRyxJQUFJLElBQUksQ0FDbEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FDbEQsQ0FBQztRQUNGLGdDQUEyQixHQUFHLEVBQUUsQ0FBQztRQUNqQyxrQ0FBNkIsR0FBRyxDQUFDLENBQUM7UUFDbEMsbUJBQWMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEQsbUJBQWMsR0FBa0IsRUFBRSxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUUxQyxhQUFRLEdBQWdDLGdCQUFnQixDQUFDO1FBRWxFLHFCQUFnQixHQUFRLGVBQWUsQ0FBQztRQUU5QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRUksQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGlCQUFpQjtZQUNwQixZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUQsSUFDRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQ3hEO1lBQ0EsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxJQUFJLENBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FDcEMsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDakQsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxFQUFFO1lBQ3JDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FDekIsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsRUFDOUIsc0JBQXNCLENBQ3ZCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLElBQUksZUFBZSxFQUFFO1lBQ25ELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUM7U0FDeEM7YUFBTSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLEVBQUU7WUFDNUMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvQixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxDQUFDO2dCQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDN0MsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQ3hELE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztnQkFDeEMsTUFBTTtTQUNUO1FBQ0QsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNO2dCQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxFQUFFLHNCQUFzQixDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNuRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDL0MsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDcEM7UUFDRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksYUFBYSxHQUNmLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEtBQUssQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxhQUFhLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTztZQUN4QixDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxHQUFHLGFBQWEsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxjQUFjLENBQUMsY0FBc0I7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FDVCx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLGNBQWMsS0FBSyxDQUFDLEVBQ3BCLE9BQU8sY0FBYyxDQUN0QixDQUFDO1FBQ0YsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXJCLElBQUksY0FBYyxLQUFLLENBQUMsRUFBRTtZQUN4QixXQUFXO2dCQUNULGVBQWU7b0JBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7b0JBQzNDLE1BQU07b0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQzFCO2FBQU0sSUFBSSxjQUFjLEtBQUssQ0FBQyxFQUFFO1lBQy9CLFdBQVc7Z0JBQ1QsZUFBZTtvQkFDZixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztvQkFDM0MsTUFBTTtvQkFDTixJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDMUI7YUFBTSxJQUFJLGNBQWMsS0FBSyxDQUFDLEVBQUU7WUFDL0IsV0FBVztnQkFDVCxlQUFlO29CQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUMzQyxNQUFNO29CQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUMxQjthQUFNLElBQUksY0FBYyxLQUFLLEVBQUUsSUFBSSxjQUFjLEtBQUssRUFBRSxFQUFFO1lBQ3pELFdBQVc7Z0JBQ1QsY0FBYztvQkFDZCxjQUFjO29CQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUMzQyxNQUFNO29CQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUMxQjthQUFNLElBQUksY0FBYyxLQUFLLEVBQUUsRUFBRTtZQUNoQyxXQUFXO2dCQUNULGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztvQkFDM0MsTUFBTTtvQkFDTixJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDMUI7YUFBTSxJQUFJLGNBQWMsS0FBSyxFQUFFLEVBQUU7WUFDaEMsV0FBVztnQkFDVCxjQUFjO29CQUNkLGNBQWM7b0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7b0JBQzNDLE1BQU07b0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQzFCO2FBQU0sSUFBSSxjQUFjLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLFdBQVc7Z0JBQ1QsY0FBYztvQkFDZCxjQUFjO29CQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUMzQyxNQUFNO29CQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUMxQjtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7d0hBaE9VLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDBOQ1R4QyxtMUNBc0NBOzJGRDdCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UseUJBQXlCO3VHQUsxQixJQUFJO3NCQUFaLEtBQUs7Z0JBaUJHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5UXVhcnRlcmx5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgcXVhcnRlcmx5SW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIHF1YXJ0ZXJseUlucHV0ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgcXVhcnRlcmx5RmFpbGVkID0gNTtcclxuICBxdWFydGVybHlXaW5kb3cgPSA3O1xyXG4gIHNlbGVjdGVkUXVhcnRlcmx5ID0gMTtcclxuICBxdWFydGVybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKCk7XHJcbiAgcXVhcnRlcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxyXG4gICAgdGhpcy5xdWFydGVybHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgcXVhcnRlcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gMTA7XHJcbiAgcXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIHF1YXJ0ZXJseUdyb3VwID0gWzAsIDMsIDYsIDksIDEsIDQsIDcsIDEwLCAyLCA1LCA4LCAxMV07XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHF1YXJ0ZXJseUFycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuXHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnF1YXJ0ZXJseU1vbnRoKV07XHJcbiAgICBjb25zdCBpbmRleE9mTW9udGggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobmV3IERhdGUoKS5nZXRNb250aCgpKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPVxyXG4gICAgICBpbmRleE9mTW9udGggPCA0ID8gMCA6IGluZGV4T2ZNb250aCA+IDMgJiYgaW5kZXhPZk1vbnRoIDwgOCA/IDEgOiAyO1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuZnJlcXVlbmN5RGF0YSA9PT4nLCB0aGlzLmZyZXF1ZW5jeURhdGEpO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gN1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnNvbGUubG9nKCdwYXR0ZXJuSW5mbyA9PT4nLCBwYXR0ZXJuSW5mbyk7XHJcbiAgICBjb25zdCBtb250aCA9IHBhcnNlSW50KHBhdHRlcm5JbmZvWzJdLnNwbGl0KCcsJykubWFwKE51bWJlcilbMF0pO1xyXG4gICAgY29uc29sZS5sb2coJ21vbnRlICAgJywgbW9udGgpO1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobW9udGggLSAxKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPSBpbmRleCA8IDQgPyAwIDogaW5kZXggPiAzICYmIGluZGV4IDwgOCA/IDEgOiAyO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUlucHV0ID0gcGF0dGVybkluZm9bMV07XHJcbiAgICBpZiAoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwXHJcbiAgICApO1xyXG4gICAgdGhpcy5xdWFydGVybHlGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZlbnQgPT0+JywgZXZlbnQpO1xyXG4gICAgdGhpcy5xdWFydGVybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coJ3RpbWUgZXZlbnQgPT4nLCBldmVudCk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZlbnQgPT0+JywgZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudD09PicsIGV2ZW50KTtcclxuXHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tIC8gMTAwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdlbmQgZGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdlbmRCeURhdGUnLCBlbmRCeURhdGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRRdWFydGVybHlGcmVxdWVuY3koKSB7XHJcbiAgICBsZXQgbW9udGhTZXF1ZW5jZSA9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPT09IDBcclxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoMCwgNClcclxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPT09IDFcclxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoNCwgOClcclxuICAgICAgICA6IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoOCk7XHJcbiAgICBtb250aFNlcXVlbmNlID0gbW9udGhTZXF1ZW5jZS5tYXAoKGVsZSkgPT4gZWxlICsgMSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDcgKyAnficgKyB0aGlzLnF1YXJ0ZXJseUlucHV0ICsgJ34nICsgbW9udGhTZXF1ZW5jZSArICd+JyArICcwJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3F1YXJ0ZXJseSc7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkQWZ0ZXIgPSB0aGlzLnF1YXJ0ZXJseUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLnF1YXJ0ZXJseVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXHJcbiAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWxcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyKFxyXG4gICAgICBOdW1iZXIodGhpcy5xdWFydGVybHlJbnB1dClcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgY29uc29sZS5sb2coJyB0aGlzLmZyZXF1ZW5jeUluZm8gPT0+JywgdGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyKHF1YXJ0ZXJseUlucHV0OiBudW1iZXIpIHtcclxuICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAnIHRoaXMucGxhY2Vob2xkZXIgPT0+JyxcclxuICAgICAgcXVhcnRlcmx5SW5wdXQsXHJcbiAgICAgIHF1YXJ0ZXJseUlucHV0ID09PSAyLFxyXG4gICAgICB0eXBlb2YgcXVhcnRlcmx5SW5wdXRcclxuICAgICk7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgICBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzJuZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnM3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5QXJyYXlbdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseV0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDIxIHx8IHF1YXJ0ZXJseUlucHV0ID09PSAzMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICduZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICdyZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICd0aCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZygnIHRoaXMucGxhY2Vob2xkZXJlZGUgPT0+JywgcGxhY2Vob2xkZXIpO1xyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1xdWFydGVybHkgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1xdWFydGVybHlcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCIzXCJcclxuICAgIFtpbnB1dFRpbWVdPVwicXVhcnRlcmx5SW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJxdWFydGVybHlJbnB1dFwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIzXCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdFxyXG4gICAgW3JhZGlvTGlzdF09XCJxdWFydGVybHlBcnJheVwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFF1YXJ0ZXJseVwiXHJcbiAgICAoc2VsZWN0ZWRSYWRpbyk9XCJzZWxlY3RlZE1vbnRoKCRldmVudClcIlxyXG4gICAgW25hbWVdPVwiJ3F1YXJ0ZXInXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdD5cclxuICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgW2lkXT1cIjNcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICBbcGFnZU5hbWVdPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIlxyXG4gICAgW2NvbXBsZXRlZFZhbHVlXT1cInF1YXJ0ZXJseVdpbmRvd1wiXHJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicXVhcnRlcmx5RmFpbGVkXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJxdWFydGVybHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJxdWFydGVybHlMaWZlQ3ljbGVFbmRUaW1lXCJcclxuICAgIFtvY2N1cnJhbmNlXT1cInF1YXJ0ZXJseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktcXVhcnRlcmx5L2ZyZXF1ZW5jeS1xdWFydGVybHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXF1YXJ0ZXJseS9mcmVxdWVuY3ktcXVhcnRlcmx5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT25DLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLHNCQUFpQixHQUFHLFVBQVUsQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLDRCQUF1QixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDckMsOEJBQXlCLEdBQUcsSUFBSSxJQUFJLENBQ2xDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQ2xELENBQUM7UUFDRixnQ0FBMkIsR0FBRyxF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QWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFJSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktcXVhcnRlcmx5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXF1YXJ0ZXJseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5UXVhcnRlcmx5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgcXVhcnRlcmx5SW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIHF1YXJ0ZXJseUlucHV0ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgcXVhcnRlcmx5RmFpbGVkID0gNTtcclxuICBxdWFydGVybHlXaW5kb3cgPSA3O1xyXG4gIHNlbGVjdGVkUXVhcnRlcmx5ID0gMTtcclxuICBxdWFydGVybHlMaWZlQ3ljbGVTdGFydCA9IG5ldyBEYXRlKCk7XHJcbiAgcXVhcnRlcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKFxyXG4gICAgdGhpcy5xdWFydGVybHlMaWZlQ3ljbGVTdGFydC5nZXRUaW1lKCkgKyA4NjQwMDAwMFxyXG4gICk7XHJcbiAgcXVhcnRlcmx5TGlmZWN5Y2xlT2NjdXJhbmNlID0gMTA7XHJcbiAgcXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAyO1xyXG4gIHF1YXJ0ZXJseUdyb3VwID0gWzAsIDMsIDYsIDksIDEsIDQsIDcsIDEwLCAyLCA1LCA4LCAxMV07XHJcbiAgZnJlcXVlbmN5SW5mbzogYW55O1xyXG4gIHF1YXJ0ZXJseUFycmF5OiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuXHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnF1YXJ0ZXJseU1vbnRoKV07XHJcbiAgICBjb25zdCBpbmRleE9mTW9udGggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobmV3IERhdGUoKS5nZXRNb250aCgpKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPVxyXG4gICAgICBpbmRleE9mTW9udGggPCA0ID8gMCA6IGluZGV4T2ZNb250aCA+IDMgJiYgaW5kZXhPZk1vbnRoIDwgOCA/IDEgOiAyO1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuZnJlcXVlbmN5RGF0YSA9PT4nLCB0aGlzLmZyZXF1ZW5jeURhdGEpO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gN1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnNvbGUubG9nKCdwYXR0ZXJuSW5mbyA9PT4nLCBwYXR0ZXJuSW5mbyk7XHJcbiAgICBjb25zdCBtb250aCA9IHBhcnNlSW50KHBhdHRlcm5JbmZvWzJdLnNwbGl0KCcsJykubWFwKE51bWJlcilbMF0pO1xyXG4gICAgY29uc29sZS5sb2coJ21vbnRlICAgJywgbW9udGgpO1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnF1YXJ0ZXJseUdyb3VwLmluZGV4T2YobW9udGggLSAxKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPSBpbmRleCA8IDQgPyAwIDogaW5kZXggPiAzICYmIGluZGV4IDwgOCA/IDEgOiAyO1xyXG4gICAgY29uc3QgbGlmZWN5Y2xlSW5mbyA9IHRoaXMuZnJlcXVlbmN5RGF0YS5saWZlY3ljbGUuc3BsaXQoJ35+Jyk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZFRpbWU7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YS53aW5kb3c7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUlucHV0ID0gcGF0dGVybkluZm9bMV07XHJcbiAgICBpZiAoTnVtYmVyKGxpZmVjeWNsZUluZm9bMV0pID4gMCkge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseUxpZmVjeWNsZU9jY3VyYW5jZSA9IE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUgKiAxMDAwXHJcbiAgICApO1xyXG4gICAgdGhpcy5xdWFydGVybHlGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGEuZmFpbGVkO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMucXVhcnRlcmx5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZWRGaXJzdChldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZlbnQgPT0+JywgZXZlbnQpO1xyXG4gICAgdGhpcy5xdWFydGVybHlJbnB1dCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5nZXRRdWFydGVybHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgY29uc29sZS5sb2coJ3RpbWUgZXZlbnQgPT4nLCBldmVudCk7XHJcbiAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRNb250aChldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZlbnQgPT0+JywgZXZlbnQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseSA9IHBhcnNlSW50KGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICB0aGlzLmdldFF1YXJ0ZXJseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgbGlmZWN5Y2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudD09PicsIGV2ZW50KTtcclxuXHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9IGV2ZW50LmVuZHNCeSArICd+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+ficgKyBldmVudC5lbmRhZnRlcjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHRoaXMubGlmZWN5Y2xlRGV0YWlscyA9ICcwMDAwLTAwLTAwfn4wJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChldmVudC5zdGFydEZyb20udG9TdHJpbmcoKS5sZW5ndGggPiAxMCkge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tIC8gMTAwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdlbmQgZGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gMCkge1xyXG4gICAgICBlbmRCeURhdGUgPSBldmVudC5lbmRzQnlcclxuICAgICAgICA/IG1vbWVudChldmVudC5lbmRzQnkgKyAnIDAwOjAwOjAwJywgJ0RELU1NTS1ZWVlZIEhIOm1tOnNzJykudW5peCgpXHJcbiAgICAgICAgOiBlbmRCeURhdGU7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdlbmRCeURhdGUnLCBlbmRCeURhdGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IGVuZEJ5RGF0ZTtcclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLnF1YXJ0ZXJseVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWFydGVybHlGYWlsZWQgPSBldmVudC52YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0UXVhcnRlcmx5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRRdWFydGVybHlGcmVxdWVuY3koKSB7XHJcbiAgICBsZXQgbW9udGhTZXF1ZW5jZSA9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPT09IDBcclxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoMCwgNClcclxuICAgICAgICA6IHRoaXMuc2VsZWN0ZWRRdWFydGVybHkgPT09IDFcclxuICAgICAgICA/IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoNCwgOClcclxuICAgICAgICA6IHRoaXMucXVhcnRlcmx5R3JvdXAuc2xpY2UoOCk7XHJcbiAgICBtb250aFNlcXVlbmNlID0gbW9udGhTZXF1ZW5jZS5tYXAoKGVsZSkgPT4gZWxlICsgMSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDcgKyAnficgKyB0aGlzLnF1YXJ0ZXJseUlucHV0ICsgJ34nICsgbW9udGhTZXF1ZW5jZSArICd+JyArICcwJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ3F1YXJ0ZXJseSc7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uZmFpbGVkQWZ0ZXIgPSB0aGlzLnF1YXJ0ZXJseUZhaWxlZDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby53aW5kb3cgPSB0aGlzLnF1YXJ0ZXJseVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4yNEhyID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnRpbWVGcm9tMTJoVG8yNGgoXHJcbiAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWxcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ubGlmZWN5Y2xlRGV0YWlscyA9IHRoaXMubGlmZWN5Y2xlRGV0YWlscztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5zdGFydEZyb20gPSB0aGlzLnN0YXJ0RGF0ZTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5yZXBvcnRJZCA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyKFxyXG4gICAgICBOdW1iZXIodGhpcy5xdWFydGVybHlJbnB1dClcclxuICAgICk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeURldGFpbHMuZW1pdCh0aGlzLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgY29uc29sZS5sb2coJyB0aGlzLmZyZXF1ZW5jeUluZm8gPT0+JywgdGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyKHF1YXJ0ZXJseUlucHV0OiBudW1iZXIpIHtcclxuICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAnIHRoaXMucGxhY2Vob2xkZXIgPT0+JyxcclxuICAgICAgcXVhcnRlcmx5SW5wdXQsXHJcbiAgICAgIHF1YXJ0ZXJseUlucHV0ID09PSAyLFxyXG4gICAgICB0eXBlb2YgcXVhcnRlcmx5SW5wdXRcclxuICAgICk7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgICBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDEpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICcxc3Qgb2YgZXZlcnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlBcnJheVt0aGlzLnNlbGVjdGVkUXVhcnRlcmx5XSArXHJcbiAgICAgICAgJyBieSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUludGVydmFsO1xyXG4gICAgfSBlbHNlIGlmIChxdWFydGVybHlJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJzJuZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAzKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID1cclxuICAgICAgICAnM3JkIG9mIGV2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5QXJyYXlbdGhpcy5zZWxlY3RlZFF1YXJ0ZXJseV0gK1xyXG4gICAgICAgICcgYnkgJyArXHJcbiAgICAgICAgdGhpcy5xdWFydGVybHlJbnRlcnZhbDtcclxuICAgIH0gZWxzZSBpZiAocXVhcnRlcmx5SW5wdXQgPT09IDIxIHx8IHF1YXJ0ZXJseUlucHV0ID09PSAzMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICdzdCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICduZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID09PSAyMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICdyZCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHF1YXJ0ZXJseUlucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgcXVhcnRlcmx5SW5wdXQgK1xyXG4gICAgICAgICd0aCBvZiBldmVyeSAnICtcclxuICAgICAgICB0aGlzLnF1YXJ0ZXJseUFycmF5W3RoaXMuc2VsZWN0ZWRRdWFydGVybHldICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMucXVhcnRlcmx5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZygnIHRoaXMucGxhY2Vob2xkZXJlZGUgPT0+JywgcGxhY2Vob2xkZXIpO1xyXG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZyZXF1ZW5jeS1xdWFydGVybHkgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1xdWFydGVybHlcIj5cclxuICA8YXBwLWZyZXF1ZW5jeS10b3BcclxuICAgIFtpZF09XCIzXCJcclxuICAgIFtpbnB1dFRpbWVdPVwicXVhcnRlcmx5SW50ZXJ2YWxcIlxyXG4gICAgW29jY3VycmVuY2VGaXJzdF09XCJxdWFydGVybHlJbnB1dFwiXHJcbiAgICBbZnJlcXVlbmN5VHlwZV09XCIzXCJcclxuICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgKHZhbHVlQ2hhbmdlZEZpcnN0KT1cInZhbHVlQ2hhbmdlZEZpcnN0KCRldmVudClcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgPjwvYXBwLWZyZXF1ZW5jeS10b3A+XHJcbiAgPGFwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdFxyXG4gICAgW3JhZGlvTGlzdF09XCJxdWFydGVybHlBcnJheVwiXHJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZFF1YXJ0ZXJseVwiXHJcbiAgICAoc2VsZWN0ZWRSYWRpbyk9XCJzZWxlY3RlZE1vbnRoKCRldmVudClcIlxyXG4gICAgW25hbWVdPVwiJ3F1YXJ0ZXInXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gID48L2FwcC1mcmVxdWVuY3ktcmFkaW8tbGlzdD5cclxuICA8YXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZVxyXG4gICAgW2lkXT1cIjNcIlxyXG4gICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICBbcGFnZU5hbWVdPVwiJ3F1YXJ0ZXJseSdcIlxyXG4gICAgW2lzRGVhY3RpdmF0ZWRdPVwiZmFsc2VcIlxyXG4gICAgW2NvbXBsZXRlZFZhbHVlXT1cInF1YXJ0ZXJseVdpbmRvd1wiXHJcbiAgICBbbm90Q29tcGxldGVkVmFsdWVdPVwicXVhcnRlcmx5RmFpbGVkXCJcclxuICAgIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiXHJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJxdWFydGVybHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJxdWFydGVybHlMaWZlQ3ljbGVFbmRUaW1lXCJcclxuICAgIFtvY2N1cnJhbmNlXT1cInF1YXJ0ZXJseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cInF1YXJ0ZXJseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as moment from 'moment';
2
+ import moment from 'moment/moment';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
5
  import * as i2 from "@angular/common";
@@ -19,14 +19,15 @@ export class FrequencyTopComponent {
19
19
  this.dateObjectData = new Date();
20
20
  this.timeData = '11:59 PM';
21
21
  }
22
- ngOnInit() {
23
- }
22
+ ngOnInit() { }
24
23
  enterValueFirst(event, actionType) {
25
24
  if (this.id !== 0 && this.id !== 1 && this.id !== 5) {
26
25
  this.enterValue(this.occurrenceFirst, actionType);
27
26
  return;
28
27
  }
29
- if (!Number.isNaN(Number(this.occurrenceFirst)) && this.occurrenceFirst !== 0 && Number(this.occurrenceFirst) > 0) {
28
+ if (!Number.isNaN(Number(this.occurrenceFirst)) &&
29
+ this.occurrenceFirst !== 0 &&
30
+ Number(this.occurrenceFirst) > 0) {
30
31
  this.occurrenceFirst = Number(this.occurrenceFirst);
31
32
  this.valueChangedFirst.emit({
32
33
  type: actionType,
@@ -39,7 +40,10 @@ export class FrequencyTopComponent {
39
40
  }
40
41
  }
41
42
  enterValue(event, actionType) {
42
- if (!Number.isNaN(Number(event)) && event !== 0 && Number(event) > 0 && Number(event) < 32) {
43
+ if (!Number.isNaN(Number(event)) &&
44
+ event !== 0 &&
45
+ Number(event) > 0 &&
46
+ Number(event) < 32) {
43
47
  this.occurrenceFirst = Number(event);
44
48
  this.valueChangedFirst.emit({
45
49
  type: actionType,
@@ -60,7 +64,13 @@ export class FrequencyTopComponent {
60
64
  if (typeof this.dateObjectData == 'object') {
61
65
  this.dateObjectData = moment(this.dateObjectData).toDate();
62
66
  }
63
- let timeStamp = moment(this.dateObjectData.getDate() + '-' + (this.dateObjectData.getMonth() + 1) + '-' + this.dateObjectData.getFullYear() + ' ' + this.timeData, 'DD-MM-YYYY hh:mm a').unix();
67
+ let timeStamp = moment(this.dateObjectData.getDate() +
68
+ '-' +
69
+ (this.dateObjectData.getMonth() + 1) +
70
+ '-' +
71
+ this.dateObjectData.getFullYear() +
72
+ ' ' +
73
+ this.timeData, 'DD-MM-YYYY hh:mm a').unix();
64
74
  if (Date.now() / 1000 > timeStamp) {
65
75
  this.nextDisable.emit(true);
66
76
  }
@@ -74,7 +84,10 @@ export class FrequencyTopComponent {
74
84
  }
75
85
  }
76
86
  enterYearDay(event) {
77
- if (!Number.isNaN(Number(this.yearlyDay)) && this.yearlyDay !== 0 && Number(this.yearlyDay) > 0 && Number(this.yearlyDay) < 32) {
87
+ if (!Number.isNaN(Number(this.yearlyDay)) &&
88
+ this.yearlyDay !== 0 &&
89
+ Number(this.yearlyDay) > 0 &&
90
+ Number(this.yearlyDay) < 32) {
78
91
  //this.yearlyDay = Number(event.target.value);
79
92
  this.yearlyDateChanged.emit(this.yearlyDay);
80
93
  }
@@ -109,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
109
122
  }], mode: [{
110
123
  type: Input
111
124
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXRvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXRvcC9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVFLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFNakMsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEM7UUFmUyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixPQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0NBQW9DO1FBQzVDLGNBQVMsR0FBRyxVQUFVLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7UUFDckQsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEMsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNELFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsbUJB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RyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0UsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG4gIGltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuICBpbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuICBAQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS10b3AnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXRvcC5jb21wb25lbnQubGVzcyddXHJcbiAgfSlcclxuICBleHBvcnQgY2xhc3MgRnJlcXVlbmN5VG9wQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG9jY3VycmVuY2VGaXJzdCA9IDA7XHJcbiAgICBASW5wdXQoKSBpZCA9IDA7IC8vIDAgPSBEYWlseSwgMTogd2Vla2x5LCA1OiBBbm51YWxseVxyXG4gICAgQElucHV0KCkgaW5wdXRUaW1lID0gJzExOjU5IFBNJztcclxuICAgIEBJbnB1dCgpIGZyZXF1ZW5jeVR5cGUgPSAwOyAvLyAwID0gZGF5cywgMSA9IHdlZWtzICYgMiA9IHllYXJzXHJcbiAgICBASW5wdXQoKSB5ZWFybHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICBcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWRGaXJzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgbmV4dERpc2FibGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIHRpbWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSB5ZWFybHlEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuICAgIFxyXG4gICAgdG9kYXlEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGRhdGVPYmplY3REYXRhID0gbmV3IERhdGUoKTtcclxuICAgIHRpbWVEYXRhID0gJzExOjU5IFBNJztcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIH1cclxuICBcclxuICAgIGVudGVyVmFsdWVGaXJzdChldmVudDphbnksIGFjdGlvblR5cGU6c3RyaW5nKSB7XHJcbiAgICAgIGlmKHRoaXMuaWQgIT09IDAgJiYgdGhpcy5pZCAhPT0gMSAmJiB0aGlzLmlkICE9PSA1KSB7XHJcbiAgICAgICAgdGhpcy5lbnRlclZhbHVlKHRoaXMub2NjdXJyZW5jZUZpcnN0LGFjdGlvblR5cGUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIU51bWJlci5pc05hTihOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpKSAmJiB0aGlzLm9jY3VycmVuY2VGaXJzdCAhPT0gMCAmJiBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpID4gMCkge1xyXG4gICAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZEZpcnN0LmVtaXQoe1xyXG4gICAgICAgICAgdHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgICAgIHZhbHVlOiBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpLFxyXG4gICAgICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGVudGVyVmFsdWUoZXZlbnQ6IGFueSwgYWN0aW9uVHlwZTogYW55KSB7XHJcbiAgICAgIGlmICghTnVtYmVyLmlzTmFOKE51bWJlcihldmVudCkpICYmIGV2ZW50ICE9PSAwICYmIE51bWJlcihldmVudCkgPiAwICYmIE51bWJlcihldmVudCkgPCAzMikge1xyXG4gICAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKGV2ZW50KTsgXHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgICAgICB2YWx1ZTogTnVtYmVyKGV2ZW50KSxcclxuICAgICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBnZXRUb2RheSgpOiBzdHJpbmcge1xyXG4gICAgICByZXR1cm4gbW9tZW50KERhdGUubm93KCkpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpPy5zcGxpdCgnICcpWzBdO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVGltZUNoYW5nZWQoZXZlbnQ6c3RyaW5nKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy50aW1lRGF0YSA9IGV2ZW50O1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kYXRlT2JqZWN0RGF0YSA9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG1vbWVudCh0aGlzLmRhdGVPYmplY3REYXRhKS50b0RhdGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRpbWVTdGFtcCA9IG1vbWVudChcclxuICAgICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICsgJy0nICsgKHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0TW9udGgoKSArIDEpICsgJy0nICsgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRGdWxsWWVhcigpICsgJyAnICsgdGhpcy50aW1lRGF0YSxcclxuICAgICAgICAgICdERC1NTS1ZWVlZIGhoOm1tIGEnXHJcbiAgICAgICAgKS51bml4KCk7XHJcbiAgICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gdGltZVN0YW1wKSB7XHJcbiAgICAgICAgICB0aGlzLm5leHREaXNhYmxlLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubmV4dERpc2FibGUuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGltZUNoYW5nZWQuZW1pdChldmVudCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGVudGVyWWVhckRheShldmVudDogYW55KSB7XHJcbiAgICAgIGlmICghTnVtYmVyLmlzTmFOKE51bWJlcih0aGlzLnllYXJseURheSkpICYmIHRoaXMueWVhcmx5RGF5ICE9PSAwICYmIE51bWJlcih0aGlzLnllYXJseURheSkgPiAwICYmIE51bWJlcih0aGlzLnllYXJseURheSkgPCAzMikge1xyXG4gICAgICAgIC8vdGhpcy55ZWFybHlEYXkgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICB0aGlzLnllYXJseURhdGVDaGFuZ2VkLmVtaXQoXHJcbiAgICAgICAgICB0aGlzLnllYXJseURheVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy55ZWFybHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICBcclxuICB9XHJcbiAgXHJcblxyXG4iLCI8ZGl2ICpuZ0lmPVwibW9kZSAhPT0gJ3BvbGljeSdcIiBjbGFzcz1cImZyZXF1ZW5jeS10b3BcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+RFVFIERBVEUgRlJFUVVFTkNZOjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10b3AtYm94IHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj57e2lkID09PSAwIHx8IGlkID09PSAxIHx8IGlkID09PSA1ID8gJ0V2ZXJ5JyA6ICdEYXknfX08L2Rpdj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIFtpZF09XCInb2NjdXJyZW5jZScgKyBpZFwiIFsobmdNb2RlbCldPVwib2NjdXJyZW5jZUZpcnN0XCIgY2xhc3M9XCJjb3VudE51bVwiIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIwXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiIChmb2N1c291dCkgPSBcImVudGVyVmFsdWVGaXJzdCgkZXZlbnQsICdvY2N1cnJlbmNlRmlyc3QnKVwiID5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMFwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+e3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICdkYXlzJyA6ICdkYXknIH19IGJ5PC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDFcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPnt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAnd2Vla3MnIDogJ3dlZWsnIH19IGJ5PC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlkICE9PSAwICYmIGlkICE9PSAxICYmIGlkICE9PSA1XCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPnt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAneWVhcnMnIDogJ3llYXInIH19IG9uIGRheTwvZGl2PlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJjb3VudE51bVwiIHR5cGU9XCJudW1iZXJcIiBbaWRdPVwiJ29jY3VycmVuY2UtZGF5JyArIGlkXCIgWyhuZ01vZGVsKV09XCJ5ZWFybHlEYXlcIiAoZm9jdXNvdXQpPVwiZW50ZXJZZWFyRGF5KCRldmVudClcIiAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+Ynk8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyLWdyb3VwIHZ4LWQtZmxleFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXRcIiBwbGFjZWhvbGRlcj1cIjExOjU5IFBNXCIgcmVhZG9ubHkgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9jay1pY29uIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj48aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOTU1OzwvaT48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG48IS0tIEZvciBQb2xpY3kgLS0+XHJcblxyXG48ZGl2ICpuZ0lmPVwibW9kZSA9PT0gJ3BvbGljeSdcIiBjbGFzcz1cImZyZXF1ZW5jeS10b3BcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+RFVFIERBVEUgRlJFUVVFTkNZOjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10b3AtYm94IHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj57e2lkID09PSAwIHx8IGlkID09PSAxIHx8IGlkID09PSA1ID8gJ0V2ZXJ5JyA6ICdEYXknfX08L2Rpdj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIFtpZF09XCInb2NjdXJyZW5jZScgKyBpZFwiIFsobmdNb2RlbCldPVwib2NjdXJyZW5jZUZpcnN0XCIgY2xhc3M9XCJjb3VudE51bVwiIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIwXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiIChmb2N1c291dCkgPSBcImVudGVyVmFsdWVGaXJzdCgkZXZlbnQsICdvY2N1cnJlbmNlRmlyc3QnKVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAwXCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ2RheXMnIDogJ2RheScgfX0gYnk8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMVwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+e3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICd3ZWVrcycgOiAnd2VlaycgfX0gYnk8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaWQgIT09IDAgJiYgaWQgIT09IDEgJiYgaWQgIT09IDVcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPmJ5PC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+e3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICd5ZWFycycgOiAneWVhcicgfX0gb24gZGF5PC9kaXY+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImNvdW50TnVtXCIgdHlwZT1cIm51bWJlclwiIFtpZF09XCInb2NjdXJyZW5jZS1kYXknICsgaWRcIiBbKG5nTW9kZWwpXT1cInllYXJseURheVwiIChmb2N1c291dCk9XCJlbnRlclllYXJEYXkoJGV2ZW50KVwiICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIi8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyLWdyb3VwIHZ4LWQtZmxleFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXRcIiB0eXBlPVwidGV4dFwiIFtpZF09XCIndGltZS1waWNrZXItaW5wdXQtdG9wJytpZFwiIFsobmdNb2RlbCldPVwiaW5wdXRUaW1lXCIgcmVhZG9ubHkgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRpbWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9jay1pY29uIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj48aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOTU1OzwvaT48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXRvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktdG9wL2ZyZXF1ZW5jeS10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXRvcC9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7O0FBTW5DLE1BQU0sT0FBTyxxQkFBcUI7SUFnQmhDO1FBZlMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsT0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLG9DQUFvQztRQUM1QyxjQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1FBQ3JELGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhDLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzRCxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdB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QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS10b3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktdG9wLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lUb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG9jY3VycmVuY2VGaXJzdCA9IDA7XHJcbiAgQElucHV0KCkgaWQgPSAwOyAvLyAwID0gRGFpbHksIDE6IHdlZWtseSwgNTogQW5udWFsbHlcclxuICBASW5wdXQoKSBpbnB1dFRpbWUgPSAnMTE6NTkgUE0nO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeVR5cGUgPSAwOyAvLyAwID0gZGF5cywgMSA9IHdlZWtzICYgMiA9IHllYXJzXHJcbiAgQElucHV0KCkgeWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWRGaXJzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5leHREaXNhYmxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdGltZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB5ZWFybHlEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZTogYW55ID0gJyc7XHJcblxyXG4gIHRvZGF5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZSgpO1xyXG4gIHRpbWVEYXRhID0gJzExOjU5IFBNJztcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgZW50ZXJWYWx1ZUZpcnN0KGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuaWQgIT09IDAgJiYgdGhpcy5pZCAhPT0gMSAmJiB0aGlzLmlkICE9PSA1KSB7XHJcbiAgICAgIHRoaXMuZW50ZXJWYWx1ZSh0aGlzLm9jY3VycmVuY2VGaXJzdCwgYWN0aW9uVHlwZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpKSAmJlxyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpLFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbnRlclZhbHVlKGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcihldmVudCkpICYmXHJcbiAgICAgIGV2ZW50ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcihldmVudCkgPiAwICYmXHJcbiAgICAgIE51bWJlcihldmVudCkgPCAzMlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gTnVtYmVyKGV2ZW50KTtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZWRGaXJzdC5lbWl0KHtcclxuICAgICAgICB0eXBlOiBhY3Rpb25UeXBlLFxyXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoZXZlbnQpLFxyXG4gICAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VG9kYXkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk/LnNwbGl0KCcgJylbMF07XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMudGltZURhdGEgPSBldmVudDtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGVPYmplY3REYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG1vbWVudCh0aGlzLmRhdGVPYmplY3REYXRhKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAgICctJyArXHJcbiAgICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICAgJy0nICtcclxuICAgICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgdGhpcy50aW1lRGF0YSxcclxuICAgICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gdGltZVN0YW1wKSB7XHJcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZS5lbWl0KHRydWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmV4dERpc2FibGUuZW1pdChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50aW1lQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbnRlclllYXJEYXkoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcih0aGlzLnllYXJseURheSkpICYmXHJcbiAgICAgIHRoaXMueWVhcmx5RGF5ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcih0aGlzLnllYXJseURheSkgPiAwICYmXHJcbiAgICAgIE51bWJlcih0aGlzLnllYXJseURheSkgPCAzMlxyXG4gICAgKSB7XHJcbiAgICAgIC8vdGhpcy55ZWFybHlEYXkgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgdGhpcy55ZWFybHlEYXRlQ2hhbmdlZC5lbWl0KHRoaXMueWVhcmx5RGF5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMueWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJtb2RlICE9PSAncG9saWN5J1wiIGNsYXNzPVwiZnJlcXVlbmN5LXRvcFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5EVUUgREFURSBGUkVRVUVOQ1k6PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRvcC1ib3ggdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPnt7aWQgPT09IDAgfHwgaWQgPT09IDEgfHwgaWQgPT09IDUgPyAnRXZlcnknIDogJ0RheSd9fTwvZGl2PlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW2lkXT1cIidvY2N1cnJlbmNlJyArIGlkXCIgWyhuZ01vZGVsKV09XCJvY2N1cnJlbmNlRmlyc3RcIiBjbGFzcz1cImNvdW50TnVtXCIgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIgKGZvY3Vzb3V0KSA9IFwiZW50ZXJWYWx1ZUZpcnN0KCRldmVudCwgJ29jY3VycmVuY2VGaXJzdCcpXCIgPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAwXCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ2RheXMnIDogJ2RheScgfX0gYnk8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMVwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+e3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICd3ZWVrcycgOiAnd2VlaycgfX0gYnk8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaWQgIT09IDAgJiYgaWQgIT09IDEgJiYgaWQgIT09IDVcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPmJ5PC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+e3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/ICd5ZWFycycgOiAneWVhcicgfX0gb24gZGF5PC9kaXY+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImNvdW50TnVtXCIgdHlwZT1cIm51bWJlclwiIFtpZF09XCInb2NjdXJyZW5jZS1kYXknICsgaWRcIiBbKG5nTW9kZWwpXT1cInllYXJseURheVwiIChmb2N1c291dCk9XCJlbnRlclllYXJEYXkoJGV2ZW50KVwiICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIi8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItZ3JvdXAgdngtZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dFwiIHBsYWNlaG9sZGVyPVwiMTE6NTkgUE1cIiByZWFkb25seSAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsb2NrLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPjxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPiYjeGU5NTU7PC9pPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuXHJcbjwhLS0gRm9yIFBvbGljeSAtLT5cclxuXHJcbjxkaXYgKm5nSWY9XCJtb2RlID09PSAncG9saWN5J1wiIGNsYXNzPVwiZnJlcXVlbmN5LXRvcFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5EVUUgREFURSBGUkVRVUVOQ1k6PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRvcC1ib3ggdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPnt7aWQgPT09IDAgfHwgaWQgPT09IDEgfHwgaWQgPT09IDUgPyAnRXZlcnknIDogJ0RheSd9fTwvZGl2PlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW2lkXT1cIidvY2N1cnJlbmNlJyArIGlkXCIgWyhuZ01vZGVsKV09XCJvY2N1cnJlbmNlRmlyc3RcIiBjbGFzcz1cImNvdW50TnVtXCIgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIgKGZvY3Vzb3V0KSA9IFwiZW50ZXJWYWx1ZUZpcnN0KCRldmVudCwgJ29jY3VycmVuY2VGaXJzdCcpXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDBcIiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPnt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyAnZGF5cycgOiAnZGF5JyB9fSBieTwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAxXCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3dlZWtzJyA6ICd3ZWVrJyB9fSBieTwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpZCAhPT0gMCAmJiBpZCAhPT0gMSAmJiBpZCAhPT0gNVwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+Ynk8L2Rpdj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHRcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3llYXJzJyA6ICd5ZWFyJyB9fSBvbiBkYXk8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiY291bnROdW1cIiB0eXBlPVwibnVtYmVyXCIgW2lkXT1cIidvY2N1cnJlbmNlLWRheScgKyBpZFwiIFsobmdNb2RlbCldPVwieWVhcmx5RGF5XCIgKGZvY3Vzb3V0KT1cImVudGVyWWVhckRheSgkZXZlbnQpXCIgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIwXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiLz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPmJ5PC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItZ3JvdXAgdngtZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgW2lkXT1cIid0aW1lLXBpY2tlci1pbnB1dC10b3AnK2lkXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRpbWVcIiByZWFkb25seSAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGltZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNsb2NrLWljb24gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPjxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPiYjeGU5NTU7PC9pPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as moment from 'moment';
2
+ import moment from 'moment/moment';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../frequency.service";
5
5
  import * as i2 from "../frequency-top/frequency-top.component";
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
207
207
  }], frequencyDetails: [{
208
208
  type: Output
209
209
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFPakMsTUFBTSxPQUFPLHdCQUF3QjtJQTBCbkMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QjdDLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsbUJBQWMsR0FBRyxVQUFVLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIseUJBQW9CLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQywyQkFBc0IsR0FBRyxJQUFJLElBQUksQ0FDL0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FDL0MsQ0FBQztRQUNGLDZCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUM5QiwrQkFBMEIsR0FBRyxDQUFDLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxDQUFDLElBQUks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QyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLFdBQVc7Z0JBQ1QsUUFBUTtvQkFDUixJQUFJLENBQUMsV0FBVztvQkFDaEIsS0FBSztvQkFDTCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDdEIsTUFBTTtvQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7cUhBak5VLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHVOQ1RyQyxrM0NBd0NBOzJGRC9CYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3VHQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uL2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktd2Vla2x5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5V2Vla2x5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgd2Vla2x5SW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIHdlZWtseUlucHV0ID0gMTtcclxuICB3ZWVrbHlGYWlsZWQgPSAyO1xyXG4gIHdlZWtseVdpbmRvdyA9IDI7XHJcbiAgd2Vla2x5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIHdlZWtseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcclxuICApO1xyXG4gIHdlZWtseUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIHdlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBzZWxlY3RlZFdlZWtseSA9IFtuZXcgRGF0ZSgpLmdldERheSgpID09IDAgPyA2IDogbmV3IERhdGUoKS5nZXREYXkoKSAtIDFdO1xyXG4gIHdlZWtseURlYWN0aXZhdGVkVmFsdWUgPSAxMDtcclxuICBkYXlBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRheUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWUpXTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuZnJlcXVlbmN5RGF0YSA9PT4nLCB0aGlzLmZyZXF1ZW5jeURhdGEpO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gMlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkgPSBwYXR0ZXJuSW5mb1sxXVxyXG4gICAgICAuc3BsaXQoJywnKVxyXG4gICAgICAubWFwKChlbGU6IGFueSkgPT4gTnVtYmVyKGVsZSkgLSAxKTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy53ZWVrbHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy53ZWVrbHlJbnB1dCA9IHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy53ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGUgPVxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnRGcm9tID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoXHJcbiAgICAgICh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUpICogMTAwMFxyXG4gICAgKTtcclxuICAgIHRoaXMud2Vla2x5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIHRoaXMud2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKCd0aW1lIGV2ZW50ID0+JywgZXZlbnQpO1xyXG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudCA9PT4nLCBldmVudCk7XHJcbiAgICB0aGlzLndlZWtseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25EYXlTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZuZXQnLCBldmVudCk7XHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2Vla2x5LnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuZmlsdGVyKFxyXG4gICAgICAgIChlbGUpID0+IGVsZSAhPT0gZXZlbnQuaW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2V2ZW50PT0+JywgZXZlbnQpO1xyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzdGFydCAxMTExJyk7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzdGFydCAxMTExMjIyMicpO1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdzdHJhdCBkYXRlID09PT0+JywgdGhpcy5zdGFydERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coJ2VuZCBkYXRlJywgZW5kQnlEYXRlKTtcclxuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XHJcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeVxyXG4gICAgICAgID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KClcclxuICAgICAgICA6IGVuZEJ5RGF0ZTtcclxuICAgICAgY29uc29sZS5sb2coJ2VuZEJ5RGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRfdGltZV91dGMgPSBlbmRCeURhdGU7XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2RlYWN0aXZhdGVkJykge1xyXG4gICAgICB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy53ZWVrbHlXaW5kb3cgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud2Vla2x5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2Vla2x5RnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoXHJcbiAgICAgIE51bWJlcih0aGlzLndlZWtseUlucHV0KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgMiArXHJcbiAgICAgICd+JyArXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IGVsZSArIDEpLmpvaW4oJywnKSArXHJcbiAgICAgICd+JyArXHJcbiAgICAgICcwJyArXHJcbiAgICAgICd+JyArXHJcbiAgICAgIHRoaXMud2Vla2x5SW5wdXQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICd3ZWVrJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMud2Vla2x5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMud2Vla2x5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID8/IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gdGhpcy53ZWVrbHlEZWFjdGl2YXRlZFZhbHVlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGNvbnNvbGUubG9nKCcgdGhpcy5mcmVxdWVuY3lJbmZvID09PicsIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFjZWhvbGRlcih3ZWVrbHlJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIHdlZWtseUlucHV0ID0gTnVtYmVyKHdlZWtseUlucHV0KTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZERheSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXlOYW1lW2VsZV07XHJcbiAgICB9KTtcclxuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5ICcgKyBzZWxlY3RlZERheS5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy53ZWVrbHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5IGFsdGVybmF0ZSAnICtcclxuICAgICAgICBzZWxlY3RlZERheS5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdFdmVyeSAzcmQgJyArIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHdlZWtseUlucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMud2Vla2x5SW5wdXQgK1xyXG4gICAgICAgICd0aCAnICtcclxuICAgICAgICBzZWxlY3RlZERheS5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXdlZWtseSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXdlZWtseVwiPlxyXG4gIDxhcHAtZnJlcXVlbmN5LXRvcFxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW2lucHV0VGltZV09XCJ3ZWVrbHlJbnRlcnZhbFwiXHJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cIndlZWtseUlucHV0XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjFcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LXRvcD5cclxuICA8YXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0XHJcbiAgICBbaWRdPVwiMVwiXHJcbiAgICBbbGlzdEFycmF5XT1cImRheUFycmF5XCJcclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkV2Vla2x5XCJcclxuICAgIChzZWxlY3RlZENoZWNrYm94KT1cIm9uRGF5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XHJcbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgIFtpZF09XCIxXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgW3BhZ2VOYW1lXT1cIid3ZWVrbHknXCJcclxuICAgIFtkZWFjdGl2YXRlVmFsdWVdPVwid2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZVwiXHJcbiAgICBbaXNEZWFjdGl2YXRlZF09XCJ0cnVlXCJcclxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJ3ZWVrbHlXaW5kb3dcIlxyXG4gICAgW25vdENvbXBsZXRlZFZhbHVlXT1cIndlZWtseUZhaWxlZFwiXHJcbiAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJ3ZWVrbHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJ3ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lXCJcclxuICAgIFtvY2N1cnJhbmNlXT1cIndlZWtseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cIndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS9mcmVxdWVuY3ktd2Vla2x5L2ZyZXF1ZW5jeS13ZWVrbHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LXdlZWtseS9mcmVxdWVuY3ktd2Vla2x5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT25DLE1BQU0sT0FBTyx3QkFBd0I7SUEwQm5DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekI3QyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXhCLG1CQUFjLEdBQUcsVUFBVSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHlCQUFvQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEMsMkJBQXNCLEdBQUcsSUFBSSxJQUFJLENBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQy9DLENBQUM7UUFDRiw2QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUks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RyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN4RTtRQUNELElBQUksV0FBVyxHQUFHLENBQUMsRUFBRTtZQUNuQixXQUFXO2dCQUNULFFBQVE7b0JBQ1IsSUFBSSxDQUFDLFdBQVc7b0JBQ2hCLEtBQUs7b0JBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLE1BQU07b0JBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7O3FIQWpOVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1TkNUckMsazNDQXdDQTsyRkQvQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjt1R0FLdkIsSUFBSTtzQkFBWixLQUFLO2dCQW1CRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeVNlcnZpY2UgfSBmcm9tICcuLi9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktd2Vla2x5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LXdlZWtseS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5V2Vla2x5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgd2Vla2x5SW50ZXJ2YWwgPSAnMTE6NTkgcG0nO1xyXG4gIHdlZWtseUlucHV0ID0gMTtcclxuICB3ZWVrbHlGYWlsZWQgPSAyO1xyXG4gIHdlZWtseVdpbmRvdyA9IDI7XHJcbiAgd2Vla2x5TGlmZUN5Y2xlU3RhcnQgPSBuZXcgRGF0ZSgpO1xyXG4gIHdlZWtseUxpZmVDeWNsZUVuZFRpbWUgPSBuZXcgRGF0ZShcclxuICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlU3RhcnQuZ2V0VGltZSgpICsgODY0MDAwMDBcclxuICApO1xyXG4gIHdlZWtseUxpZmVjeWNsZU9jY3VyYW5jZSA9IDEwO1xyXG4gIHdlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICBzZWxlY3RlZFdlZWtseSA9IFtuZXcgRGF0ZSgpLmdldERheSgpID09IDAgPyA2IDogbmV3IERhdGUoKS5nZXREYXkoKSAtIDFdO1xyXG4gIHdlZWtseURlYWN0aXZhdGVkVmFsdWUgPSAxMDtcclxuICBkYXlBcnJheTogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG5cclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgbGlmZWN5Y2xlRGV0YWlsczogYW55ID0gJzAwMDAtMDAtMDB+fjAnO1xyXG5cclxuICBASW5wdXQoKSBwYWdlVHlwZTogJ3Jlc3BvbnNpYmlsaXR5JyB8ICdwb2xpY3knID0gJ3Jlc3BvbnNpYmlsaXR5JztcclxuICBASW5wdXQoKSBzdGFydERhdGUgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTtcclxuICBASW5wdXQoKSBmcmVxdWVuY3lEYXRhOiBhbnk7XHJcblxyXG4gIEBPdXRwdXQoKSBmcmVxdWVuY3lEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJlcXVlbmN5U2VydmljZTogRnJlcXVlbmN5U2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRheUFycmF5ID0gWy4uLm5ldyBTZXQodGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRheU5hbWUpXTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mbyA9IE9iamVjdC5hc3NpZ24odGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmZyZXF1ZW5jeUluZm8pO1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuZnJlcXVlbmN5RGF0YSA9PT4nLCB0aGlzLmZyZXF1ZW5jeURhdGEpO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybiAhPSAnJyAmJlxyXG4gICAgICBwYXJzZUludCh0aGlzLmZyZXF1ZW5jeURhdGEucGF0dGVybi5zcGxpdCgnficpWzBdKSA9PT0gMlxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZUZyZXF1ZW5jeSgpIHtcclxuICAgIGNvbnN0IHBhdHRlcm5JbmZvID0gdGhpcy5mcmVxdWVuY3lEYXRhLnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkgPSBwYXR0ZXJuSW5mb1sxXVxyXG4gICAgICAuc3BsaXQoJywnKVxyXG4gICAgICAubWFwKChlbGU6IGFueSkgPT4gTnVtYmVyKGVsZSkgLSAxKTtcclxuICAgIGNvbnN0IGxpZmVjeWNsZUluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlLnNwbGl0KCd+ficpO1xyXG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IHRoaXMuZnJlcXVlbmN5RGF0YS5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy53ZWVrbHlXaW5kb3cgPSB0aGlzLmZyZXF1ZW5jeURhdGEud2luZG93O1xyXG4gICAgdGhpcy53ZWVrbHlJbnB1dCA9IHBhdHRlcm5JbmZvWzNdO1xyXG4gICAgaWYgKE51bWJlcihsaWZlY3ljbGVJbmZvWzFdKSA+IDApIHtcclxuICAgICAgdGhpcy53ZWVrbHlMaWZlY3ljbGVPY2N1cmFuY2UgPSBOdW1iZXIobGlmZWN5Y2xlSW5mb1sxXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydERhdGUgPVxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnRGcm9tID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGU7XHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUoXHJcbiAgICAgICh0aGlzLmZyZXF1ZW5jeURhdGEuc3RhcnREYXRlID8/IHRoaXMuZnJlcXVlbmN5RGF0YS5zdGFydERhdGUpICogMTAwMFxyXG4gICAgKTtcclxuICAgIHRoaXMud2Vla2x5RmFpbGVkID0gdGhpcy5mcmVxdWVuY3lEYXRhLmZhaWxlZDtcclxuICAgIHRoaXMud2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZSA9IHRoaXMuZnJlcXVlbmN5RGF0YS5jb250aW51b3VzX2ZhaWxlZF9kYXlzO1xyXG4gICAgaWYgKGxpZmVjeWNsZUluZm9bMF0gIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICBjb25zdCBkYXRlU2VsZWN0ZWQgPSBtb21lbnQoXHJcbiAgICAgICAgbGlmZWN5Y2xlSW5mb1swXSArICcgMTE6NTkgcG0nLFxyXG4gICAgICAgICdERC1NTU1NLVlZWVkgSEg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIHRoaXMud2Vla2x5TGlmZUN5Y2xlRW5kVGltZSA9IG5ldyBEYXRlKGRhdGVTZWxlY3RlZCAqIDEwMDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5mcmVxdWVuY3lEYXRhLmxpZmVjeWNsZTtcclxuICAgIGlmICh0aGlzLmZyZXF1ZW5jeURhdGEubGlmZWN5Y2xlID09ICcwMDAwLTAwLTAwfn4wJykge1xyXG4gICAgICB0aGlzLndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlID0gMjtcclxuICAgIH0gZWxzZSBpZiAobGlmZWN5Y2xlSW5mb1swXSAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgIHRoaXMud2Vla2x5U2VsZXRlZExpZmVjeWNsZVR5cGUgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53ZWVrbHlTZWxldGVkTGlmZWN5Y2xlVHlwZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKCd0aW1lIGV2ZW50ID0+JywgZXZlbnQpO1xyXG4gICAgdGhpcy53ZWVrbHlJbnRlcnZhbCA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRXZWVrbHlGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIHZhbHVlQ2hhbmdlZEZpcnN0KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudCA9PT4nLCBldmVudCk7XHJcbiAgICB0aGlzLndlZWtseUlucHV0ID0gZXZlbnQudmFsdWU7XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25EYXlTZWxlY3RlZChldmVudDogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZXZuZXQnLCBldmVudCk7XHJcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2Vla2x5LnB1c2goZXZlbnQuaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuZmlsdGVyKFxyXG4gICAgICAgIChlbGUpID0+IGVsZSAhPT0gZXZlbnQuaW5kZXhcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2Vla2x5RnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBsaWZlY3ljbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coJ2V2ZW50PT0+JywgZXZlbnQpO1xyXG5cclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIDA6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gZXZlbnQuZW5kc0J5ICsgJ35+MCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICB0aGlzLmxpZmVjeWNsZURldGFpbHMgPSAnMDAwMC0wMC0wMH5+JyArIGV2ZW50LmVuZGFmdGVyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgdGhpcy5saWZlY3ljbGVEZXRhaWxzID0gJzAwMDAtMDAtMDB+fjAnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LnN0YXJ0RnJvbS50b1N0cmluZygpLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzdGFydCAxMTExJyk7XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID0gTWF0aC5mbG9vcihldmVudC5zdGFydEZyb20gLyAxMDAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzdGFydCAxMTExMjIyMicpO1xyXG4gICAgICB0aGlzLnN0YXJ0RGF0ZSA9IE1hdGguZmxvb3IoZXZlbnQuc3RhcnRGcm9tKTtcclxuICAgIH1cclxuICAgIGxldCBlbmRCeURhdGUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCArIDg2NDAwMDAwKTtcclxuICAgIGNvbnNvbGUubG9nKCdzdHJhdCBkYXRlID09PT0+JywgdGhpcy5zdGFydERhdGUpO1xyXG4gICAgY29uc29sZS5sb2coJ2VuZCBkYXRlJywgZW5kQnlEYXRlKTtcclxuICAgIGlmIChldmVudC50eXBlID09PSAwKSB7XHJcbiAgICAgIGVuZEJ5RGF0ZSA9IGV2ZW50LmVuZHNCeVxyXG4gICAgICAgID8gbW9tZW50KGV2ZW50LmVuZHNCeSArICcgMDA6MDA6MDAnLCAnREQtTU1NLVlZWVkgSEg6bW06c3MnKS51bml4KClcclxuICAgICAgICA6IGVuZEJ5RGF0ZTtcclxuICAgICAgY29uc29sZS5sb2coJ2VuZEJ5RGF0ZScsIGVuZEJ5RGF0ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLndlZWtseUxpZmVDeWNsZVN0YXJ0ID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUgKiAxMDAwKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRfdGltZV91dGMgPSBlbmRCeURhdGU7XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25WYWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2RlYWN0aXZhdGVkJykge1xyXG4gICAgICB0aGlzLndlZWtseURlYWN0aXZhdGVkVmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ2NvbXBsZXRlZCcpIHtcclxuICAgICAgdGhpcy53ZWVrbHlXaW5kb3cgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud2Vla2x5RmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFdlZWtseUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2Vla2x5RnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdlZWtseSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkuc29ydCgobjEsIG4yKSA9PiBuMSAtIG4yKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wbGFjZWhvbGRlciA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoXHJcbiAgICAgIE51bWJlcih0aGlzLndlZWtseUlucHV0KVxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5wYXR0ZXJuID1cclxuICAgICAgMiArXHJcbiAgICAgICd+JyArXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IGVsZSArIDEpLmpvaW4oJywnKSArXHJcbiAgICAgICd+JyArXHJcbiAgICAgICcwJyArXHJcbiAgICAgICd+JyArXHJcbiAgICAgIHRoaXMud2Vla2x5SW5wdXQ7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8uY2FzZSA9ICd3ZWVrJztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5mYWlsZWRBZnRlciA9IHRoaXMud2Vla2x5RmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMud2Vla2x5V2luZG93O1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjEyaHIgPSB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy53ZWVrbHlJbnRlcnZhbFxyXG4gICAgKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5saWZlY3ljbGVEZXRhaWxzID0gdGhpcy5saWZlY3ljbGVEZXRhaWxzO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnN0YXJ0RnJvbSA9XHJcbiAgICAgIHRoaXMuc3RhcnREYXRlID8/IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnJlcG9ydElkID0gMDtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jb250aW51b3VzX2ZhaWxlZF9kYXlzID0gdGhpcy53ZWVrbHlEZWFjdGl2YXRlZFZhbHVlO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGNvbnNvbGUubG9nKCcgdGhpcy5mcmVxdWVuY3lJbmZvID09PicsIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFjZWhvbGRlcih3ZWVrbHlJbnB1dDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIHdlZWtseUlucHV0ID0gTnVtYmVyKHdlZWtseUlucHV0KTtcclxuXHJcbiAgICBjb25zdCBzZWxlY3RlZERheSA9IHRoaXMuc2VsZWN0ZWRXZWVrbHkubWFwKChlbGUpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXlOYW1lW2VsZV07XHJcbiAgICB9KTtcclxuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMSkge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5ICcgKyBzZWxlY3RlZERheS5qb2luKCcsICcpICsgJyBieSAnICsgdGhpcy53ZWVrbHlJbnRlcnZhbDtcclxuICAgIH1cclxuICAgIGlmICh3ZWVrbHlJbnB1dCA9PT0gMikge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5IGFsdGVybmF0ZSAnICtcclxuICAgICAgICBzZWxlY3RlZERheS5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICBpZiAod2Vla2x5SW5wdXQgPT09IDMpIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPVxyXG4gICAgICAgICdFdmVyeSAzcmQgJyArIHNlbGVjdGVkRGF5LmpvaW4oJywgJykgKyAnIGJ5ICcgKyB0aGlzLndlZWtseUludGVydmFsO1xyXG4gICAgfVxyXG4gICAgaWYgKHdlZWtseUlucHV0ID4gMykge1xyXG4gICAgICBwbGFjZWhvbGRlciA9XHJcbiAgICAgICAgJ0V2ZXJ5ICcgK1xyXG4gICAgICAgIHRoaXMud2Vla2x5SW5wdXQgK1xyXG4gICAgICAgICd0aCAnICtcclxuICAgICAgICBzZWxlY3RlZERheS5qb2luKCcsICcpICtcclxuICAgICAgICAnIGJ5ICcgK1xyXG4gICAgICAgIHRoaXMud2Vla2x5SW50ZXJ2YWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+ZnJlcXVlbmN5LXdlZWtseSB3b3JrcyE8L3A+IC0tPlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXdlZWtseVwiPlxyXG4gIDxhcHAtZnJlcXVlbmN5LXRvcFxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW2lucHV0VGltZV09XCJ3ZWVrbHlJbnRlcnZhbFwiXHJcbiAgICBbb2NjdXJyZW5jZUZpcnN0XT1cIndlZWtseUlucHV0XCJcclxuICAgIFtmcmVxdWVuY3lUeXBlXT1cIjFcIlxyXG4gICAgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAodmFsdWVDaGFuZ2VkRmlyc3QpPVwidmFsdWVDaGFuZ2VkRmlyc3QoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LXRvcD5cclxuICA8YXBwLWZyZXF1ZW5jeS1jaGVja2JveC1saXN0XHJcbiAgICBbaWRdPVwiMVwiXHJcbiAgICBbbGlzdEFycmF5XT1cImRheUFycmF5XCJcclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkV2Vla2x5XCJcclxuICAgIChzZWxlY3RlZENoZWNrYm94KT1cIm9uRGF5U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWNoZWNrYm94LWxpc3Q+XHJcbiAgPGFwcC1mcmVxdWVuY3ktZHVlLWRhdGVcclxuICAgIFtpZF09XCIxXCJcclxuICAgIFttb2RlXT1cIm1vZGVcIlxyXG4gICAgW3BhZ2VOYW1lXT1cIid3ZWVrbHknXCJcclxuICAgIFtkZWFjdGl2YXRlVmFsdWVdPVwid2Vla2x5RGVhY3RpdmF0ZWRWYWx1ZVwiXHJcbiAgICBbaXNEZWFjdGl2YXRlZF09XCJ0cnVlXCJcclxuICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJ3ZWVrbHlXaW5kb3dcIlxyXG4gICAgW25vdENvbXBsZXRlZFZhbHVlXT1cIndlZWtseUZhaWxlZFwiXHJcbiAgICBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIlxyXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWR1ZS1kYXRlPlxyXG4gIDxhcHAtZnJlcXVlbmN5LWxpZmVjeWNsZVxyXG4gICAgW2lkXT1cIjFcIlxyXG4gICAgW3N0YXJ0RGF0ZV09XCJ3ZWVrbHlMaWZlQ3ljbGVTdGFydFwiXHJcbiAgICBbZW5kRGF0ZV09XCJ3ZWVrbHlMaWZlQ3ljbGVFbmRUaW1lXCJcclxuICAgIFtvY2N1cnJhbmNlXT1cIndlZWtseUxpZmVjeWNsZU9jY3VyYW5jZVwiXHJcbiAgICBbc2VsZWN0ZWRMaWZlY3ljbGVUeXBlXT1cIndlZWtseVNlbGV0ZWRMaWZlY3ljbGVUeXBlXCJcclxuICAgIChzZWxlY3RlZE9jY3VyYW5jZSk9XCJsaWZlY3ljbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbW9kZV09XCJtb2RlXCJcclxuICA+PC9hcHAtZnJlcXVlbmN5LWxpZmVjeWNsZT5cclxuPC9kaXY+XHJcbiJdfQ==